:root{--bg:#0e0e10;--bg-elev:#161618;--text:#ededed;--text-muted:#9a9a9a;--text-subtle:#5f5f5f;--border:#242427;--border-strong:#ededed;--hover:#1c1c1f;--warn:#ff8c70}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;font-size:15px;line-height:1.5}body{min-height:100vh;margin:0}button,input,select{font:inherit;color:inherit}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(100% - 32px,1180px);margin:0 auto;padding:28px 0 80px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;padding-bottom:18px;display:flex}.brand{letter-spacing:0;color:var(--text);white-space:nowrap;font-size:19px;font-weight:600;text-decoration:none}.brand strong{font-weight:600}.search-controls{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.field-control{border:1px solid var(--border);background:var(--bg);height:34px;color:var(--text-muted);border-radius:4px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.field-control:focus-within{border-color:var(--text)}.field-control svg{flex-shrink:0}.field-control input{color:var(--text);background:0 0;border:0;outline:0;min-width:0}.field-control input::placeholder{color:var(--text-subtle)}.field-control input{width:14ch}.field-control.date-control input{width:13ch}.primary-button{border:1px solid var(--text);background:var(--text);height:34px;color:var(--bg);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:0 14px;font-weight:500;display:inline-flex}.primary-button:hover:not(:disabled){background:#fff;border-color:#fff}.primary-button:disabled{opacity:.6;cursor:wait}.primary-button .spinner{animation:1s linear infinite spin}.filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 0;display:flex}.filter-group{align-items:center;gap:8px;display:inline-flex}.filter-label,.select-control span,.sort-control span{color:var(--text-muted);font-size:13px}.segmented{border:1px solid var(--border);border-radius:4px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--border);background:var(--bg);min-width:36px;height:28px;color:var(--text);cursor:pointer;padding:0 10px;font-size:13px}.segmented button:last-child{border-right:0}.segmented button:hover{background:var(--hover)}.segmented button.is-active{background:var(--text);color:var(--bg)}.select-control{border:1px solid var(--border);background:var(--bg);border-radius:4px;align-items:center;gap:6px;height:28px;padding:0 8px;display:inline-flex}.select-control svg{color:var(--text-muted)}.select-control select{appearance:none;color:var(--text);cursor:pointer;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'><path d='M1 1l3 3 3-3' stroke='%239a9a9a' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>") right 0 center no-repeat;border:0;outline:0;padding-right:16px;font-size:13px}.checkbox-control{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.checkbox-control input{accent-color:var(--text);margin:0}.view-toggle{color:var(--text-subtle);align-items:center;gap:6px;margin-left:auto;font-size:13px;display:inline-flex}.content-grid{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:28px;margin-top:18px;display:grid}.results-column{min-width:0}.results-summary{justify-content:space-between;align-items:center;gap:16px;padding:12px 0 6px;display:flex}.results-summary p{color:var(--text-muted);margin:0;font-size:13px}.warning-line{color:var(--warn);align-items:center;gap:6px;margin:6px 0 0;font-size:13px;display:flex}.sort-control{align-items:center;gap:6px;display:inline-flex}.sort-control select{appearance:none;color:var(--text);cursor:pointer;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'><path d='M1 1l3 3 3-3' stroke='%23ededed' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>") right 0 center no-repeat;border:0;padding-right:16px;font-size:13px}.theater-group{border-top:1px solid var(--border);padding:18px 0 6px}.theater-heading{justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.theater-heading h2{color:var(--text);margin:0;font-size:16px;font-weight:600}.theater-heading p{color:var(--text-muted);margin:2px 0 0;font-size:13px}.theater-heading>span:last-child{color:var(--text-subtle);white-space:nowrap;font-size:13px}.showtime-list{display:grid}.showtime-row{border:0;border-top:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text);background:0 0;border-radius:3px;grid-template-columns:80px minmax(0,1fr) 100px 64px 72px 14px;align-items:center;gap:12px;margin:0 -8px;padding:10px 8px;font-size:14px;display:grid}.showtime-row:first-of-type{border-top:0}.showtime-row:hover,.showtime-row.is-selected{background:var(--hover)}.showtime-row time{font-variant-numeric:tabular-nums;font-weight:500}.movie-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.format-tag,.auditorium{color:var(--text-muted);white-space:nowrap;font-size:12px}.showtime-row strong{color:var(--text-muted);white-space:nowrap;font-size:13px;font-weight:500}.showtime-row.is-selected strong{color:var(--text);font-weight:600}.row-arrow{color:var(--text-subtle)}.detail-panel{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-self:start;max-height:calc(100vh - 48px);padding:22px;position:sticky;top:24px;overflow:auto}.panel-close{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:4px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.panel-close:hover{background:var(--hover)}.detail-empty{color:var(--text-muted);text-align:center;place-items:center;min-height:360px;padding:40px 16px;font-size:14px;display:grid}.detail-empty p{margin:0}.detail-header{padding-right:36px}.detail-header>p:first-of-type{color:var(--text-muted);margin:0;font-size:13px}.detail-header h2{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:10px;margin:6px 0 10px;font-size:22px;font-weight:600;line-height:1.25;display:flex}.detail-header h2 time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}.detail-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.detail-tags span{color:var(--text-muted);border:1px solid var(--border);border-radius:3px;padding:2px 7px;font-size:12px}.seat-count{flex-wrap:wrap;align-items:baseline;gap:8px;margin:14px 0 0;font-size:14px;display:flex}.seat-count>span:first-child{display:none}.seat-count strong{color:var(--text);font-weight:600}.seat-count em{color:var(--text-muted);flex-basis:100%;margin-top:2px;font-size:13px;font-style:normal}.seat-legend{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:14px;margin:16px 0;padding:12px 0;font-size:12px;display:flex}.seat-legend span{align-items:center;gap:6px;display:inline-flex}.seat-legend i{border-radius:50%;width:12px;height:12px;display:inline-block}.seat-legend i.available{background:var(--bg);border:1.5px solid var(--text)}.seat-legend i.selected{background:var(--text)}.seat-legend i.occupied{background:var(--text-subtle)}.seat-legend i.wheelchair{background:var(--bg);border:1.5px dashed var(--text-muted)}.seat-map-shell{place-items:center;min-height:320px;padding-top:6px;display:grid}.seat-loading{color:var(--text-muted);place-items:center;gap:8px;padding:30px 0;font-size:13px;display:grid}.empty-state{text-align:center;border:1px dashed var(--border);border-radius:6px;gap:6px;margin-top:24px;padding:36px 24px;display:grid}.empty-state h2{margin:0;font-size:16px;font-weight:600}.empty-state p{color:var(--text-muted);max-width:360px;margin:0;font-size:13px}.seat-map{width:min(100%,540px)}.screen-arc{border-top:2px solid var(--text);border-radius:50% 50% 0 0;height:18px;margin:0 22px}.screen-label,.front-label,.seat-map-note{text-align:center;color:var(--text-muted);letter-spacing:.06em;margin:0;font-size:11px}.screen-label{text-transform:uppercase;margin-top:6px}.front-label{color:var(--text-subtle);text-transform:uppercase;margin-top:4px}.seat-rows{gap:3px;margin-top:16px;display:grid}.seat-row{align-items:center;gap:3px;display:grid}.row-label{color:var(--text-subtle);text-align:center;font-size:11px}.seat-dot{aspect-ratio:1;background:var(--bg);border:1.4px solid var(--text);border-radius:50%;min-width:0}.seat-dot.occupied{background:var(--text-subtle);border-color:var(--text-subtle)}.seat-dot.wheelchair,.seat-dot.companion{background:var(--bg);border:1.4px dashed var(--text-muted)}.seat-dot.is-gap{background:0 0;border:0}.seat-map-note{letter-spacing:0;margin-top:16px;font-size:12px}.details-link{border:1px solid var(--text);height:38px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;gap:8px;margin-top:20px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.details-link:hover{background:var(--text);color:var(--bg)}.results-skeleton{gap:0;margin-top:6px;display:grid}.skeleton-card{border-top:1px solid var(--border);gap:8px;padding:14px 0;display:grid}.skeleton-card:first-child{border-top:0}.skeleton-card span{background:linear-gradient(90deg,#1a1a1d,#232327,#1a1a1d) 0 0/200% 100%;border-radius:3px;height:14px;animation:1.4s infinite shimmer}.skeleton-card span:first-child{width:35%;height:18px}.skeleton-card span:nth-child(2){width:70%}.skeleton-card span:nth-child(3){width:55%}@media (width<=1000px){.content-grid{grid-template-columns:1fr}.detail-panel{max-height:none;position:static}}@media (width<=720px){.topbar{flex-direction:column;align-items:stretch;gap:12px}.search-controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-control{width:auto}.field-control input,.field-control.date-control input{width:100%;min-width:0}.primary-button{grid-column:1/-1;justify-content:center}.filter-bar{gap:10px}.view-toggle{display:none}.showtime-row{grid-template-columns:68px minmax(0,1fr) 64px 14px;gap:10px}.format-tag,.auditorium{display:none}.detail-panel{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}
