@font-face{font-family:Aileron;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/aileron-400-fSEPttx5.woff2)format("woff2")}@font-face{font-family:Aileron;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/aileron-600-DSJmGUFl.woff2)format("woff2")}@font-face{font-family:Aileron;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/aileron-700-DbBNTczo.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f1f1;--surface:#fff;--surface-2:#ebebeb;--surface-3:#e0e0e0;--text:#000;--muted:#5c5c5c;--border:#d6d6d6;--grid-line:#ececec;--grid-hour:#cfcfcf;--head-bg:#e6e6e6;--head-border:#bdbdbd;--accent:#61d09c;--accent-text:#000;--accent-ink:#13744a;--focus:#13744a;--pressed-bg:#000;--pressed-text:#61d09c;--going-bg:#61d09c;--going-border:#2e9a68;--going-text:#000;--going-muted:#0e4a30;--maybe-bg:#fff6e1;--maybe-border:#c38414;--maybe-text:#643d17;--maybe-badge:#f5b845;--maybe-badge-text:#000;--maybe-ink:#955816;--danger:#cc3336;--info:#2971c6;--mark-ring:#8a8a8a;--card-bg:#fff;--hatch-a:#efefef;--hatch-b:#e5e5e5;--now:#c5349e;--shadow:0 1px 2px #0000000f, 0 1px 3px #00000014;--shadow-lg:0 12px 32px #0000002e;--track-col:172px;--lane-h:96px;--time-col:48px;--head-h:52px;--lane-w-min:150px;--hover-ring:color-mix(in srgb, var(--text) 45%, transparent);--panel-w:min(440px, 40vw);--radius:8px;--font:"Aileron", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#121212;--surface-2:#1c1c1c;--surface-3:#262626;--text:#f1f1f1;--muted:#a3a3a3;--border:#2e2e2e;--grid-line:#1a1a1a;--grid-hour:#333;--head-bg:#1a1a1a;--head-border:#3a3a3a;--accent:#61d09c;--accent-text:#000;--accent-ink:#61d09c;--focus:#61d09c;--pressed-bg:#61d09c;--pressed-text:#000;--going-bg:#61d09c;--going-border:#8fe0b9;--going-text:#000;--going-muted:#0e4a30;--maybe-bg:#342305;--maybe-border:#f5b845;--maybe-text:#f9e6bb;--maybe-badge:#f5b845;--maybe-ink:#f5b845;--danger:#f2716a;--info:#6fa7ee;--mark-ring:#6b6b6b;--card-bg:#181818;--hatch-a:#141414;--hatch-b:#1a1a1a;--now:#e56bbf;--shadow:0 1px 2px #0006;--shadow-lg:0 12px 32px #0000008c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#121212;--surface-2:#1c1c1c;--surface-3:#262626;--text:#f1f1f1;--muted:#a3a3a3;--border:#2e2e2e;--grid-line:#1a1a1a;--grid-hour:#333;--head-bg:#1a1a1a;--head-border:#3a3a3a;--accent:#61d09c;--accent-text:#000;--accent-ink:#61d09c;--focus:#61d09c;--pressed-bg:#61d09c;--pressed-text:#000;--going-bg:#61d09c;--going-border:#8fe0b9;--going-text:#000;--going-muted:#0e4a30;--maybe-bg:#342305;--maybe-border:#f5b845;--maybe-text:#f9e6bb;--maybe-badge:#f5b845;--maybe-ink:#f5b845;--danger:#f2716a;--info:#6fa7ee;--mark-ring:#6b6b6b;--card-bg:#181818;--hatch-a:#141414;--hatch-b:#1a1a1a;--now:#e56bbf;--shadow:0 1px 2px #0006;--shadow-lg:0 12px 32px #0000008c}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font:14px/1.4 var(--font);-webkit-font-smoothing:antialiased;accent-color:var(--accent-ink);flex-direction:column;margin:0;display:flex}h1,h2,h3{margin:0;line-height:1.2}code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-size:.92em}a{color:var(--accent-ink)}.muted{color:var(--muted)}.error{color:var(--danger)}[hidden]{display:none!important}button,select,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:0 0}.btn.ghost:hover{background:var(--surface-2)}.btn.small{height:26px;padding:0 8px;font-size:12px}.btn.warn{border-color:var(--maybe-border);background:var(--maybe-bg);color:var(--maybe-text)}.btn:disabled{opacity:.5;cursor:default}a.btn{color:inherit;text-decoration:none}.btn.primary{color:var(--accent-text)}.btn.file{position:relative;overflow:hidden}.btn.file input{opacity:0;cursor:pointer;position:absolute;inset:0}select,input[type=search]{border:1px solid var(--border);background:var(--surface);border-radius:7px;height:32px;padding:0 8px}input::placeholder{color:var(--muted);opacity:1}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:7px;display:inline-flex;overflow:hidden}.segmented button{cursor:pointer;background:0 0;border:0;height:30px;padding:0 10px}.segmented.icons button{min-width:34px;font-size:15px}.segmented button+button{border-left:1px solid var(--border)}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--pressed-bg);color:var(--pressed-text)}.segmented:has(button:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.segmented button:focus-visible{outline:none}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px 8px;display:flex}.topbar h1{letter-spacing:-.01em;font-size:20px}.title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.brand-mark{fill:currentColor;flex:none;width:22px;height:22px}.brand-mark .g{fill:var(--accent)}.title-row .btn{color:var(--muted)}.title-row .btn .mode{background:var(--surface-2);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px}body.controls-hidden #event-meta,body.controls-hidden .toolbar,body.controls-hidden #status .chip:not(.warn):not(.danger){display:none}body.controls-hidden #status:not(:has(.chip.warn,.chip.danger)){display:none}body.controls-hidden .topbar{padding-bottom:4px}.topbar p{margin:2px 0 0}.status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;display:inline-flex}button.chip{cursor:pointer}button.chip:hover{background:var(--surface-2)}span.chip{color:var(--muted);background:0 0;border-color:#0000}.chip .dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.chip.ok .dot{background:var(--accent)}.chip.warn{border-color:var(--maybe-border);background:var(--maybe-bg);color:var(--maybe-text)}.chip.danger{border-color:var(--danger);color:var(--danger)}.chip .going{color:var(--accent-ink);font-weight:700}.chip .maybe{color:var(--maybe-ink);font-weight:700}.chip .skip{color:var(--muted);font-weight:700}.toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:6px 16px 10px;display:flex}.tool{align-items:center;gap:8px;display:flex}.tool>label:first-child,.tool .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.tool.grow{flex:200px;position:relative}.tool.grow input{width:100%}.tool.grow input.has-count{padding-right:92px}.search-count{pointer-events:none;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.tool.actions{flex-wrap:wrap;min-width:0;max-width:100%;margin-left:auto}#zoom.fitted{filter:grayscale();opacity:.55}#zoom-menu-btn{width:32px;padding:0;font-size:16px}.menu{border:1px solid var(--border);background:var(--surface);min-width:150px;color:var(--text);box-shadow:var(--shadow-lg);border-radius:8px;margin:0;padding:4px;position:fixed;inset:auto}.menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;width:100%;height:32px;padding:0 12px 0 28px;display:flex;position:relative}.menu button:hover,.menu button:focus-visible{background:var(--surface-2)}.menu button[aria-checked=true]:before{content:"✓";color:var(--accent-ink);font-weight:700;position:absolute;left:10px}.menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}#zoom{width:110px}.banner{border-radius:var(--radius);background:var(--maybe-bg);color:var(--maybe-text);border:1px solid var(--maybe-border);flex-wrap:wrap;align-items:center;gap:12px;margin:8px 16px 0;padding:8px 12px;display:flex}.workspace{flex:1 0 auto;height:0;min-height:0;display:flex}.grid-wrap{flex:1;min-width:0;min-height:0;padding:10px 16px 0;position:relative}.scroller{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);outline:none;height:100%;overflow:auto}.grid{width:max-content;min-width:100%;position:relative}.axis{z-index:6;background:var(--head-bg);border-bottom:1px solid var(--head-border);display:flex;position:sticky;top:0}.axis .corner{z-index:2;flex:0 0 var(--track-col);width:var(--track-col);background:var(--head-bg);border-right:1px solid var(--head-border);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;font-size:11px;position:sticky;left:0}.axis .time-labels{height:32px;position:relative}.axis .time-label{border-left:1px solid color-mix(in srgb, var(--head-border) 45%, transparent);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding:9px 0 0 4px;font-size:11px;position:absolute;top:0;bottom:0}.axis .time-label.hour{color:var(--text);border-left-color:var(--head-border);font-weight:600}.rows{position:relative}.trow{border-bottom:1px solid var(--border);display:flex}.trow:last-child{border-bottom:0}.track-head{z-index:4;flex:0 0 var(--track-col);width:var(--track-col);background:var(--head-bg);border-right:1px solid var(--head-border);flex-direction:column;justify-content:center;gap:3px;padding:10px 12px;display:flex;position:sticky;left:0}.track-head strong,.vtrack-head strong{text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.track-head span,.vtrack-head span{color:var(--muted);font-size:11px}.trow:not(:last-child) .track-head{box-shadow:0 1px 0 var(--head-border)}.track{background-image:repeating-linear-gradient(to right, var(--grid-hour) 0 1px, transparent 1px calc(var(--grid-major) * var(--ppm))), repeating-linear-gradient(to right, var(--grid-line) 0 1px, transparent 1px calc(var(--grid-step) * var(--ppm)));background-position:var(--grid-offset,0) 0;background-repeat:no-repeat;position:relative}.spanning{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0}.spanning-card{pointer-events:auto;cursor:pointer;background:repeating-linear-gradient(135deg, var(--hatch-a) 0 8px, var(--hatch-b) 8px 16px);border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);justify-content:center;align-items:flex-start;padding:0;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.spanning-card span{writing-mode:vertical-rl;text-orientation:sideways;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-height:100%;padding:10px 0;font-size:11px;font-weight:600;overflow:hidden;transform:rotate(180deg)}.spanning-card.wide span{writing-mode:horizontal-tb;white-space:normal;text-align:center;padding:12px 8px;transform:none}.now-line{background:var(--now);z-index:3;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.now-line:before{content:"now";color:var(--now);font-size:10px;font-weight:700;position:absolute;top:-1px;left:4px}.vhead{z-index:6;height:var(--head-h);background:var(--head-bg);border-bottom:1px solid var(--head-border);display:flex;position:sticky;top:0}.vhead .corner{z-index:2;flex:0 0 var(--time-col);width:var(--time-col);background:var(--head-bg);border-right:1px solid var(--head-border);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:flex-end;padding:8px 6px;font-size:11px;display:flex;position:sticky;left:0}.vtrack-head{border-right:1px solid var(--head-border);flex-direction:column;flex:none;justify-content:center;gap:2px;padding:7px 12px;display:flex;overflow:hidden}.vtrack-head strong,.vtrack-head span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vbody{display:flex;position:relative}.vtimes{z-index:4;flex:0 0 var(--time-col);width:var(--time-col);background:var(--head-bg);border-right:1px solid var(--head-border);position:sticky;left:0}.vtimes .time-label{border-top:1px solid color-mix(in srgb, var(--head-border) 45%, transparent);text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;padding:2px 6px 0 0;font-size:11px;position:absolute;left:0;right:0}.vtimes .time-label.hour{color:var(--text);border-top-color:var(--head-border);font-weight:600}.grid.vertical .track{border-right:1px solid var(--border);background-image:repeating-linear-gradient(to bottom, var(--grid-hour) 0 1px, transparent 1px calc(var(--grid-major) * var(--ppm))), repeating-linear-gradient(to bottom, var(--grid-line) 0 1px, transparent 1px calc(var(--grid-step) * var(--ppm)));background-position:0 var(--grid-offset,0);flex:none}.grid.vertical .spanning-card{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center;bottom:auto;left:0;right:0}.grid.vertical .spanning-card.wide span{white-space:nowrap;padding:0 8px}.grid.vertical .now-line{height:2px;bottom:auto}.grid.vertical .now-line:before{top:-14px}.card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow);cursor:pointer;z-index:1;flex-direction:column;gap:3px;padding:6px 8px;transition:opacity .15s,box-shadow .15s,transform .15s;display:flex;position:absolute;overflow:hidden}.card .time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;padding-right:26px;font-size:11px;overflow:hidden}.card .title{-webkit-line-clamp:var(--clamp,3);overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.card .who{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:auto;font-size:11px;overflow:hidden}.card.compact{padding:5px 5px 5px 6px}.card.compact .title{overflow-wrap:anywhere;font-size:11.5px}.card.compact .title:before{content:"";float:right;width:20px;height:18px}.mark-btn{border:1px dashed var(--mark-ring);background:var(--surface);cursor:pointer;width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;padding:0;font-size:14px;font-weight:700;line-height:1;display:grid;position:absolute;top:4px;right:4px}.mark-btn:hover{color:var(--text);border-style:solid}.card.compact .mark-btn{width:20px;height:20px;font-size:12px;top:3px;right:3px}@media (pointer:coarse){.mark-btn,.card.compact .mark-btn{width:30px;height:30px;font-size:15px}.mark-btn:after{content:"";position:absolute;inset:-7px}.card .time{padding-right:34px}.card:not(.compact) .title:before{content:"";float:right;width:28px;height:12px}.card.compact .title:before{width:30px;height:26px}}.card.going{background:var(--going-bg);border-color:var(--going-border);color:var(--going-text);border-width:2px}.card.going .time,.card.going .who{color:var(--going-muted)}.card.going .title{font-weight:700}.card.going .mark-btn{background:var(--going-text);color:var(--going-bg);border:0}.card.maybe{background:var(--maybe-bg);border:2px dashed var(--maybe-border);color:var(--maybe-text)}.card.maybe .time,.card.maybe .who{color:var(--maybe-text);opacity:.8}.card.maybe .mark-btn{background:var(--maybe-badge);color:var(--maybe-badge-text);border:0}.card.skip{box-shadow:none}.card.skip>.title{color:var(--muted);font-weight:500}.card.skip .mark-btn{background:var(--muted);color:var(--surface);border:0}.card.common,.card.placeholder{background:repeating-linear-gradient(135deg, var(--hatch-a) 0 8px, var(--hatch-b) 8px 16px);box-shadow:none}.card.common .title,.card.placeholder .title{color:var(--muted);text-transform:none;font-weight:500}.clash-icon{background:var(--surface);width:22px;height:22px;color:var(--danger);box-shadow:inset 0 0 0 1.5px var(--danger);font-variant-emoji:text;border-radius:50%;place-items:center;font-size:12px;font-weight:700;line-height:1;display:grid;position:absolute;top:4px;right:30px}.card.compact .clash-icon{width:20px;height:20px;font-size:11px;top:3px;right:26px}.card.clash .time{padding-right:52px}.card.compact.clash .title:before{width:44px}@media (pointer:coarse){.clash-icon,.card.compact .clash-icon{width:30px;height:30px;font-size:14px;right:38px}.card.clash .time{padding-right:72px}.card.clash:not(.compact) .title:before{width:64px}.card.compact.clash .title:before{width:66px}}.grid.view-highlight .card:not(.on-path){opacity:.32}.grid.view-path .card:not(.on-path){visibility:hidden}.grid .card.search-miss{opacity:.18}.grid .card{--ring:var(--focus)}.grid .card.going{--ring:var(--going-text)}.grid .card.search-hit{box-shadow:inset 0 0 0 1px var(--accent), var(--shadow)}.grid .card:hover{box-shadow:inset 0 0 0 2px var(--hover-ring), var(--shadow-lg);z-index:2;transform:translateY(-1px)}.grid .card:focus-visible{box-shadow:inset 0 0 0 2px var(--ring), var(--shadow-lg);z-index:2;outline:none}.grid .card.selected{box-shadow:inset 0 0 0 3px var(--ring), var(--shadow-lg);z-index:2}.grid .card.maybe:focus-visible,.grid .card.maybe.selected{border-style:solid;border-color:var(--focus);outline:2px dashed var(--maybe-border);outline-offset:-4px}.grid .card.maybe:focus-visible{box-shadow:var(--shadow-lg)}.grid .card.maybe.selected{box-shadow:inset 0 0 0 1px var(--focus), var(--shadow-lg);outline-offset:-5px}.grid .spanning-card:hover{box-shadow:inset 0 0 0 2px var(--hover-ring)}.grid .spanning-card:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.grid .spanning-card.selected{box-shadow:inset 0 0 0 3px var(--focus)}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 16px 12px;font-size:12px;display:flex}.lg:before{content:"";vertical-align:-1px;border:1px solid var(--border);background:var(--surface);border-radius:3px;width:16px;height:11px;margin-right:6px;display:inline-block}.lg-going:before{background:var(--going-bg);border:2px solid var(--going-border)}.lg-maybe:before{background:var(--maybe-bg);border:2px dashed var(--maybe-border)}.lg-skip:before{background:var(--muted);border-color:var(--muted)}.lg-clash{align-items:center;gap:6px;display:inline-flex}.lg-clash:before{content:"⚠";background:var(--surface);width:16px;height:16px;color:var(--danger);box-shadow:inset 0 0 0 1.5px var(--danger);font-variant-emoji:text;border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:inline-grid}.legend .hint{margin-left:auto}.empty{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);place-content:center;gap:12px;padding:24px;display:grid;position:absolute;inset:10px 16px 0}.empty h2{font-size:18px}.empty .row{justify-content:center}body.no-program .toolbar .tool:not(.actions):not(.admin),body.no-program .legend{display:none}.tooltip{z-index:50;pointer-events:none;background:var(--text);max-width:380px;color:var(--bg);box-shadow:var(--shadow-lg);border-radius:8px;padding:8px 10px;font-size:12px;position:fixed}.tooltip strong{margin:2px 0 4px;font-size:13px;display:block}.tooltip .t-meta{opacity:.75}.tooltip .t-who{opacity:.9}.tooltip .t-desc{opacity:.85;margin-top:6px;line-height:1.45}.tooltip .t-tag{margin-top:4px;font-weight:700;display:block}.panel{flex:0 0 var(--panel-w);width:var(--panel-w);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;margin:10px 16px 0 0;display:flex;position:relative;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);padding:16px 48px 12px 18px;position:relative}.panel-head h2{margin-top:4px;font-size:18px}.panel .close{position:absolute;top:10px;right:10px}.panel-head h2:focus{outline:none}.panel-head h2:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.panel-nav{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:-3px 0 10px;display:flex}.nav-group{align-items:center;gap:6px;min-width:0;display:inline-flex}.nav-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:9em;font-size:11px;overflow:hidden}.panel-nav .segmented button{min-width:32px;height:26px;padding:0 8px}.panel-nav .segmented button:not(:disabled):hover{background:var(--surface-2)}.panel-nav button:disabled{opacity:.4;cursor:default}.panel-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:14px 18px 32px;display:flex;overflow:auto}.panel-body>*{flex-shrink:0}.panel-body h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;font-size:12px}.panel .desc{white-space:pre-line;line-height:1.5}.mark-control{display:flex}.mark-control button{white-space:nowrap;flex:1;height:36px;padding:0 6px}.mark-control button[data-status=going][aria-checked=true]{background:var(--going-bg);color:var(--going-text)}.mark-control button[data-status=maybe][aria-checked=true]{background:var(--maybe-badge);color:var(--maybe-badge-text)}.mark-control button[data-status=skip][aria-checked=true],.tag.skip{background:var(--muted);color:var(--surface)}.note{border-radius:7px;padding:8px 10px;font-size:13px}.note.danger{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid var(--danger)}.note.info{background:color-mix(in srgb, var(--info) 10%, transparent);border:1px solid var(--info)}.list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.list.clashes{gap:0}.list.clashes>li+li{margin-top:36px}.list button.link{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:7px;align-items:baseline;gap:8px;width:100%;padding:6px 8px;display:flex}.list button.link:hover{background:var(--surface-2)}.list .tag{border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.list button.link .tag{flex:none;margin-left:auto}.list .where{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:11px;display:block}.tag.going{background:var(--going-bg);color:var(--going-text)}.tag.maybe{background:var(--maybe-badge);color:var(--maybe-badge-text)}.list .when{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.person{grid-template-columns:56px 1fr;gap:10px;display:grid}.person .ph{object-fit:cover;background:var(--surface-3);width:56px;height:56px;color:var(--muted);border-radius:50%;place-items:center;font-weight:700;display:grid}.person .bio{white-space:pre-line;margin-top:4px;font-size:13px;line-height:1.45}.person+.person{margin-top:18px}.person .links{flex-wrap:wrap;gap:8px;margin-top:4px;font-size:12px;display:flex}.dialog{border:1px solid var(--border);background:var(--surface);width:min(560px,100vw - 32px);color:var(--text);box-shadow:var(--shadow-lg);border-radius:12px;padding:0}.dialog.wide{width:min(760px,100vw - 32px)}.dialog::backdrop{background:#0009}.dialog-inner{flex-direction:column;gap:12px;max-height:calc(100vh - 64px);padding:16px 18px 18px;display:flex;overflow:auto}.dialog header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog h2{font-size:17px}.dialog h3{margin:4px 0 6px;font-size:14px}.dialog section p,.dialog ol{margin:0 0 8px;line-height:1.5}.dialog ol{padding-left:20px}.dialog ol li{margin-bottom:6px}.dialog header p{margin:2px 0 0;font-size:13px}.dialog:has(.dialog-sections) header{border-bottom:1px solid var(--border);padding-bottom:14px}.dialog-sections{padding-top:4px}.dialog-sections>section+section{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.dialog .dialog-sections h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 12px;font-size:12px}.dialog .dialog-sections p{max-width:64ch;margin:0;line-height:1.5}.dialog .dialog-sections p+.row,.dialog .dialog-sections p+ol{margin-top:12px}.dialog .dialog-sections p+p{margin-top:6px}.stores{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.store{grid-template-columns:8px 1fr;column-gap:12px;display:grid}.store-dot{border-radius:50%;width:8px;height:8px;margin-top:6px}.store.on .store-dot{background:var(--accent)}.store.off .store-dot{box-shadow:inset 0 0 0 1.5px var(--muted)}.store.warn .store-dot{background:var(--maybe-badge)}.store strong{margin-bottom:2px;display:block}.store p{color:var(--muted)}.store .btn.ghost{color:var(--accent-ink);border-color:#0000}.store .btn.ghost:hover{background:var(--surface-2)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.toast{z-index:60;background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:8px;max-width:calc(100vw - 32px);padding:10px 14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width<=720px){:root{--track-col:104px;--lane-h:88px;--time-col:44px;--head-h:48px;--lane-w-min:128px}.panel{z-index:40;border-radius:0;width:100vw;margin:0;position:fixed;inset:0}.topbar{padding:10px 16px 6px}.topbar h1{font-size:17px}.brand-mark{width:19px;height:19px}.toolbar{gap:8px 12px}#zoom,.tool .label,.tool>label:first-child{display:none}.tool.actions{margin-left:0}.track-head{padding:8px}.legend .hint{display:none}.dialog .btn{height:40px}#nav-track{display:none}.panel-nav .btn,.panel-nav .segmented button,.panel .close{height:36px}.panel-nav .segmented button{min-width:40px}}@media (prefers-reduced-motion:reduce){.card{transition:none}}
