@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-color:#f9fafb;--card-bg:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--border-color:#e5e7eb;--accent-color:#2563eb;--accent-hover:#1d4ed8;--badge-bg:#f3f4f6;--badge-text:#374151;--alert-text:#dc2626}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}.app-container{max-w:1200px;flex-direction:column;gap:2rem;margin:0 auto;padding:2rem;display:flex}@media (width>=1024px){.app-container{flex-direction:row;align-items:flex-start}}.header-title{letter-spacing:-.025em;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.header-subtitle{color:var(--text-secondary);font-size:1rem}.filters-sidebar{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;flex:0 0 300px;max-height:calc(100vh - 4rem);padding:1.5rem;position:sticky;top:2rem;overflow-y:auto;box-shadow:0 1px 3px #0000000d}.filter-section{margin-bottom:1.5rem}.filter-section:last-child{margin-bottom:0}.filter-title{text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.875rem;font-weight:600;transition:color .2s;display:flex}.filter-title:hover{color:var(--text-secondary)}.filter-title.collapsed{margin-bottom:0}.filter-label{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;transition:color .2s;display:flex}.filter-label:hover{color:var(--text-primary)}.filter-checkbox{accent-color:var(--accent-color);cursor:pointer;flex-shrink:0;width:1rem;height:1rem;margin-top:.2rem}.filter-clear-btn{color:var(--accent-color);cursor:pointer;float:right;background:0 0;border:none;font-size:.75rem;font-weight:500}.filter-clear-btn:hover{text-decoration:underline}.feed-container{flex-direction:column;flex:1;gap:2rem;display:flex}.date-group{flex-direction:column;gap:1rem;display:flex}.date-header{color:var(--text-primary);border-bottom:2px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:600;display:flex}.showtime-card{background-color:var(--card-bg);border:1px solid var(--border-color);color:inherit;border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 2px #00000005}.showtime-card:hover{border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}@media (width>=640px){.showtime-card{flex-direction:row;justify-content:space-between;align-items:center}}.showtime-time-block{align-items:center;gap:1rem;min-width:120px;display:flex}.showtime-time{color:var(--text-primary);letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.showtime-details{flex-direction:column;flex:1;gap:.25rem;display:flex}.showtime-movie-title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.showtime-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.meta-item{align-items:center;gap:.25rem;display:flex}.meta-divider{color:var(--border-color)}.showtime-badges{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.badge{background-color:var(--badge-bg);color:var(--badge-text);white-space:nowrap;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-alert{color:var(--alert-text);background-color:#fee2e2}.empty-state{text-align:center;background-color:var(--card-bg);border:1px dashed var(--border-color);color:var(--text-secondary);border-radius:12px;padding:4rem 2rem}.empty-state-icon{color:var(--text-tertiary);margin:0 auto 1rem}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.125rem}.timeline-container.vertical{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;flex-direction:row;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000d}.timeline-y-axis{border-right:1px solid var(--border-color);background:var(--card-bg);flex-direction:column;min-width:60px;display:flex}.timeline-corner{border-bottom:1px solid var(--border-color);background:var(--badge-bg);height:60px}.timeline-hour-marker-y{text-align:right;height:60px;color:var(--text-tertiary);padding:.5rem;font-size:.75rem;transform:translateY(-.5rem)}.timeline-x-axis{flex:1;display:flex;overflow-x:auto}.timeline-column{border-right:1px dashed var(--border-color);flex-direction:column;flex:1;min-width:250px;display:flex}.timeline-column:last-child{border-right:none}.timeline-col-label{background:var(--badge-bg);border-bottom:1px solid var(--border-color);z-index:20;justify-content:center;align-items:center;gap:.5rem;height:60px;font-size:.875rem;font-weight:600;display:flex;position:sticky;top:0}.timeline-day-col{height:1140px;position:relative}.timeline-grid-line-x{border-top:1px solid var(--border-color);opacity:.5;height:60px}.timeline-grid-line-x:first-child{border-top:none}.timeline-block{color:#fff;cursor:pointer;border:1px solid #fff3;border-radius:4px;align-items:flex-start;padding:.35rem .5rem;font-size:.75rem;text-decoration:none;transition:box-shadow .1s,filter .1s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0000001a}.timeline-block:hover{filter:brightness(1.2);box-shadow:0 4px 6px #0000001a;z-index:50!important}.timeline-block.pinned{z-index:100!important}.pin-btn{z-index:10;color:inherit;opacity:0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:opacity .2s,background .2s;display:flex;position:absolute;top:2px;right:2px}.timeline-block:hover .pin-btn,.pin-btn.active{opacity:1}.pin-btn:hover{background:#fff3}.timeline-block-content{white-space:normal;flex-direction:column;gap:.2rem;line-height:1.2;display:flex;overflow:hidden}.timeline-block-time{opacity:.9;font-size:.7rem;font-weight:700}.timeline-block-title{font-weight:600}.timeline-block-meta{opacity:.8;font-size:.65rem}.timeline-block-tags{display:none}.timeline-block:hover .timeline-block-tags{display:inline}
