:root{--bg:#0d0d1a;--bg-raise:#1a1a2c;--bg-raise-2:#2a2a44;--text:#f0f0f5;--text-mut:#8b8ba3;--text-dim:#5a5a75;--line:#26263c;--radius:12px;--pad:12px;--gap:8px;--tap:44px}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}body{max-width:480px;margin:0 auto;padding:0 12px 48px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.4;overflow-x:hidden}h1{text-align:center;letter-spacing:.04em;margin:16px 0 4px;font-size:18px;font-weight:600}.month{text-align:left;color:var(--text);letter-spacing:.01em;margin:20px 0 10px;font-size:27px;font-weight:700;line-height:1.1}.month .month-year{color:var(--text-dim);font-size:19px;font-weight:500}.month-next{color:var(--text-mut);border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:23px}.month-next .month-year{font-size:17px}.section-label{color:var(--text-mut);letter-spacing:.12em;text-transform:uppercase;border-top:1px solid var(--line);margin:20px 0 8px;padding-top:12px;font-size:12px}.fixture-banner{text-align:center;border-bottom-style:solid;border-bottom-width:3px;margin:0 -12px 8px;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.35}.fixture-banner span{font-weight:500;display:block}.chips{z-index:5;background:var(--bg);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;margin:0 -12px;padding:8px 12px;display:flex;position:sticky;top:0;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{min-height:30px;font:inherit;background:var(--bg-raise);color:var(--text-mut);white-space:nowrap;cursor:pointer;border:0;border-radius:8px;flex:none;align-items:center;padding:4px 11px;font-size:12px;font-weight:600;transition:filter .15s,opacity .15s;display:inline-flex;position:relative}.chip:before{content:"";height:var(--tap);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.chip-all{background:var(--text);color:var(--bg)}.chip .chip-x{display:none}.chip.is-active .chip-x{display:inline}.chips.is-filtering .chip:not(.is-active){filter:saturate(.15)brightness(.6)}.filter-banner{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 10px;padding:6px 10px;font-size:12px;display:flex}.filter-banner[hidden]{display:none}.filter-clear{background:var(--bg-raise-2);min-height:32px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:3px 10px;font-size:12px}.timeline{margin:0;padding:0;list-style:none}.empty{color:var(--text-mut);background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);margin:4px 0 0;padding:14px;font-size:13px;line-height:1.5}.empty a{color:var(--text)}.card{min-height:var(--tap);border-radius:var(--radius);margin-bottom:var(--gap);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.card.has-ribbon{min-height:88px}.card:focus-visible{outline:2px solid var(--text);outline-offset:2px}.card .date{text-align:center;flex:none;min-width:32px}.card .wd{text-transform:uppercase;letter-spacing:.06em;font-size:12px;display:block}.card .day{font-size:20px;font-weight:700;line-height:1.1;display:block}.card .body{flex:1;min-width:0;padding-right:30px}.card .title{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700;line-height:1.3}.card .meta{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;font-weight:500}.card .cover{letter-spacing:.01em;white-space:nowrap;border-radius:999px;margin-right:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.card .special{letter-spacing:.01em;white-space:nowrap;background:0 0;border:1px solid;border-radius:999px;margin-right:6px;padding:0 7px;font-size:11px;font-weight:700;display:inline-block}.ribbon{pointer-events:none;border-radius:0 0 6px 6px;justify-content:center;align-items:center;width:20px;display:flex;position:absolute;top:0;bottom:14px;right:14px}.ribbon.is-quiet{background:0 0;border:1px solid;border-top:0}.ribbon span{writing-mode:vertical-rl;letter-spacing:.08em;font-size:11px;font-weight:600;line-height:1}.ribbon.is-quiet span{letter-spacing:.02em;font-size:10px}.next-month .card{filter:saturate(.55);transform:scale(.98)}html.motion-on .next-month.can-collapse:not(.is-expanded):not(.preview-filtered) .timeline>li:nth-child(n+4){display:none}html.motion-on .next-month.can-collapse:not(.is-expanded):not(.preview-filtered) .timeline>li:nth-child(3){position:relative}html.motion-on .next-month.can-collapse:not(.is-expanded):not(.preview-filtered) .timeline>li:nth-child(3):after{content:"";background:linear-gradient(to bottom, transparent, var(--bg) 96%);pointer-events:none;height:50%;position:absolute;bottom:0;left:0;right:0}.preview-more{background:var(--bg-raise-2);color:var(--text);font:inherit;min-height:var(--tap);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;padding:8px 20px;font-size:13px;font-weight:600;display:none}html.motion-on .next-month.can-collapse:not(.is-expanded):not(.preview-filtered) .preview-more{width:fit-content;margin:0 auto var(--gap);justify-content:center;align-items:center;display:flex}.preview-more:focus-visible{outline:2px solid var(--text);outline-offset:2px}.scene h2{font-weight:600}.scene-map-wrap{background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 8px;position:relative}.scene-map{width:100%;height:auto;display:block}.map-streets path{stroke:var(--line);stroke-width:3px;stroke-linecap:round;fill:none}.map-block{opacity:var(--block-o,1);transition:opacity .26s}.map-block.is-empty{--block-o:.55}.map-block.is-empty rect{fill:var(--bg-raise-2)}.map-block.is-empty text{fill:var(--text-mut)}.map-block.is-dim{--block-o:.16}.map-hit{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;margin:0;padding:0;position:absolute}.map-hit:focus-visible{outline:2px solid var(--text);outline-offset:3px}.map-extra{color:var(--text-mut);margin:0 0 4px;font-size:12px;line-height:1.5}.poster-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raise);color:var(--text);text-align:center;margin:24px 0 0;padding:14px;text-decoration:none;display:block}.poster-link strong{font-size:14px;display:block}.poster-link span{color:var(--text-mut);font-size:12px}.poster-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}footer{border-top:1px solid var(--line);color:var(--text-dim);text-align:center;margin-top:32px;padding-top:16px;font-size:12px}footer p{margin:6px 0}footer a{min-height:32px;color:var(--text-mut);line-height:32px;display:inline-block}.empty-filter{color:var(--text-mut);background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;padding:12px 14px;font-size:13px;display:flex}.empty-filter p{margin:0}.sheet-backdrop{z-index:10;background:#06060e99;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop[hidden]{display:none}.sheet{background:var(--bg-raise);border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:88vh;margin:0 auto;padding:16px 16px 28px;animation:.16s ease-out sheet-rise;position:relative;overflow-y:auto}@keyframes sheet-rise{0%{opacity:.6;transform:translateY(24px)}}.sheet-grabber{background:var(--text-dim);border-radius:2px;width:36px;height:4px;margin:0 auto 12px;display:block}.sheet h2{overflow-wrap:anywhere;margin:0 32px 4px 0;font-size:16px;font-weight:700;line-height:1.3}.sheet-meta{color:var(--text-mut);margin:0 0 14px;font-size:13px}.sheet-detail{grid-template-columns:auto 1fr;gap:7px 12px;margin:0 0 14px;font-size:13px;display:grid}.sheet-detail[hidden]{display:none}.sheet-detail dt{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:11px;font-weight:700;line-height:1.5}.sheet-detail dd{color:var(--text);overflow-wrap:anywhere;margin:0;line-height:1.5}.sheet-links{flex-direction:column;gap:8px;display:flex}.sheet-link{min-height:var(--tap);background:var(--bg-raise-2);color:var(--text);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:11px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.sheet-close{min-width:var(--tap);min-height:var(--tap);color:var(--text-mut);font:inherit;cursor:pointer;background:0 0;border:0;font-size:16px;position:absolute;top:8px;right:8px}.sheet-close:focus-visible,.sheet-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}html.sheet-open,html.sheet-open body{overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-reduced-motion:no-preference){.motion-on .timeline>li{opacity:0;transition:opacity .32s,transform .32s;transform:translateY(10px)}.motion-on .timeline>li.in-view{opacity:1;transform:none}.motion-on .scene-map:not(.in-view) .map-block{opacity:0}.card[data-tonight=true]{animation:2.6s ease-in-out infinite card-pulse}@keyframes card-pulse{50%{transform:scale(1.015)}}}
