*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--bg:#f3f2f8;--surface:#fff;--surface-2:#f8f7fb;--ink:#1b1b22;--muted:#76767f;--line:#e6e5ee;--accent:#6d3bf5;--accent-2:#9a5cff;--accent-soft:#efe9ff;--accent-fg:#fff;--warn:#e0492f;--hl:#d68a00;--radius:9px;--shadow-sm:0 1px 2px #1412280f;--shadow-md:0 10px 30px #14122829;--sidebar-w:320px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg:#121217;--surface:#1c1c23;--surface-2:#23232c;--ink:#ededf3;--muted:#9a9aa7;--line:#2e2e39;--accent:#9b78ff;--accent-2:#b794ff;--accent-soft:#2a2350;--warn:#ff6f57;--hl:#ffc14d;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 34px #0000008c}}:root[data-theme=dark]{--bg:#121217;--surface:#1c1c23;--surface-2:#23232c;--ink:#ededf3;--muted:#9a9aa7;--line:#2e2e39;--accent:#9b78ff;--accent-2:#b794ff;--accent-soft:#2a2350;--warn:#ff6f57;--hl:#ffc14d;--shadow-sm:0 1px 2px #0006;--shadow-md:0 12px 34px #0000008c}.app{background:var(--bg);height:100dvh;color:var(--ink);flex-direction:column;font-size:14px;display:flex}.toolbar{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);z-index:10;flex-wrap:wrap;align-items:center;gap:10px;padding:11px 16px;display:flex}.brand{white-space:nowrap;align-items:center;gap:8px;display:flex}.brand__dot{background:linear-gradient(135deg, var(--accent), var(--accent-2));width:12px;height:12px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%}.brand__name{letter-spacing:.2px;font-size:14px}.toolbar__spacer{flex:1}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:2px;display:inline-flex}.seg__btn{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:5px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s;position:relative}.seg__btn:hover{color:var(--ink)}.seg__btn--on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s}.chip:hover{border-color:var(--accent)}.chip--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip--warn{border-color:var(--warn);color:var(--warn);cursor:default}.chip--accent{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);cursor:default}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);font:inherit;cursor:pointer;padding:6px 14px;font-size:13px;font-weight:500;transition:filter .12s,border-color .12s}.btn:hover{border-color:var(--accent)}.btn--primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-fg);border-color:#0000}.btn--primary:hover{filter:brightness(1.06)}.lineup-toggle{display:none;position:relative}.lineup-clash-dot{background:var(--warn);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-3px}.theme-toggle{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.theme-toggle svg{fill:currentColor;width:17px;height:17px}.ghlink{width:32px;height:32px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;transition:color .12s,background .12s;display:inline-flex}.ghlink:hover{color:var(--ink);background:var(--surface-2)}.ghlink svg{fill:currentColor;width:18px;height:18px}.hash-warn{z-index:60;color:#fff;background:var(--warn);box-shadow:var(--shadow-md);align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex;position:fixed;top:0;left:0;right:0}.hash-warn .icon-btn{color:#fff;flex:none}.hash-warn .icon-btn:hover{color:#fff;background:#ffffff2e}.search{flex:0 220px;align-items:center;gap:6px;min-width:0;display:flex}.search-toggle{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:none}.search-toggle svg{width:17px;height:17px}.search__field{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);flex:1;align-items:center;gap:6px;min-width:0;padding:0 8px;display:flex}.search__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search__icon{color:var(--muted);flex:none;display:inline-flex}.search__icon svg{width:16px;height:16px}.search__input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:none;flex:1;padding:6px 0;font-size:13px}.search__input:focus{outline:none}.search__input::-webkit-search-cancel-button{display:none}.search__count{background:var(--surface);color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border:none;border-radius:6px;flex:none;align-items:center;gap:3px;padding:2px 6px;font-size:11px;display:inline-flex}.search__count:hover:not(:disabled){color:var(--accent);background:var(--accent-soft)}.search__count:disabled{cursor:default;opacity:.55}.search__count-arrow{font-size:12px;line-height:1}.search__clear{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:17px;line-height:1}.search__clear:hover{color:var(--ink)}.seg__icon{align-items:center;display:none}.seg__icon svg{width:16px;height:16px}.tab-dot{background:var(--hl);border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:4px}.body{flex:1;min-height:0;display:flex}.grid-region{flex:1;min-width:0;min-height:0;display:flex}.tt-empty{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex:1;justify-content:center;align-items:center;margin:14px;padding:40px;display:flex}.splash{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px;display:flex}.tt{background:var(--surface);border:1px solid var(--line);min-height:0;box-shadow:var(--shadow-sm);border-radius:14px;flex:1;margin:14px;display:grid;position:relative;overflow:auto}.tt__corner{z-index:4;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:0;left:0}.tt__top{z-index:3;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.tt__left{z-index:3;background:var(--surface);border-right:1px solid var(--line);position:sticky;left:0}.tt__plot{position:relative}.tt__time{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;padding:8px 6px;font-size:11px;position:absolute;top:0}.tt__time--left{top:auto;left:0}.tt__stage{letter-spacing:.2px;text-transform:capitalize;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:0 10px;font-size:11px;font-weight:600;display:flex;position:absolute;overflow:hidden}.tt__stage--left{border-top:1px solid var(--line);width:100%;left:0}.tt__stage--top{border-left:1px solid var(--line);height:100%;top:0}.tt__grid{background:var(--line);opacity:.45;position:absolute}.tt--h .tt__grid{width:1px;top:0;bottom:0}.tt--v .tt__grid{height:1px;left:0;right:0}.block{font:inherit;text-align:left;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;gap:3px;padding:5px 10px;font-size:12px;font-weight:600;line-height:1.25;transition:transform 80ms,box-shadow .12s,border-color .12s;display:flex;position:absolute;overflow:hidden}.block:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);z-index:2;transform:translateY(-1px)}.block--sel{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-fg);border-color:#0000}.block--clash{outline:2px solid var(--warn);outline-offset:-2px}.block.block--match{box-shadow:0 0 0 3px var(--hl);z-index:6}.block--dim{opacity:.3}@keyframes blockJump{0%{box-shadow:0 0 0 3px var(--hl)}35%{box-shadow:0 0 0 8px var(--hl)}to{box-shadow:0 0 0 3px var(--hl)}}.block.block--jump{box-shadow:0 0 0 3px var(--hl);z-index:8;animation:.45s 2 blockJump}.block__top{align-items:center;gap:4px;min-width:0;display:flex}.block__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.block__note{opacity:.85;flex:none}.block__clash{flex:none;font-size:11px;line-height:1}.block__time{font-variant-numeric:tabular-nums;opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;display:flex}.sidebar__weekends{border-bottom:1px solid var(--line);display:flex}.wktab{background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border:none;border-bottom:2px solid #0000;flex:1;padding:11px 0;font-size:13px;font-weight:600}.wktab:hover{color:var(--ink)}.wktab--on{color:var(--accent);border-bottom-color:var(--accent)}.sidebar__head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:14px 16px;display:flex}.sidebar__head h2{margin:0;font-size:15px}.lineup-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lineup-name-input{min-width:0;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--accent);border-radius:6px;flex:1;padding:4px 8px;font-size:15px;font-weight:700}.lineup-name-input:focus{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.sidebar__close{display:none}.sidebar__list{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 10px;overflow:auto}.empty{color:var(--muted);text-align:center;padding:28px 16px;font-size:13px;line-height:1.5}.daygroup{margin-bottom:10px}.daygroup+.daygroup{border-top:1px solid var(--line);margin-top:10px;padding-top:12px}.daygroup__title{width:100%;color:var(--muted);font:inherit;letter-spacing:.6px;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:6px;font-size:11px;font-weight:700;display:flex}.daygroup__title:hover{background:var(--surface-2);color:var(--ink)}.daygroup__title.is-active{color:var(--accent)}.daygroup__count{background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:11px}.li{border:1px solid #0000;border-radius:9px;align-items:flex-start;gap:9px;padding:8px;display:flex}.li+.li{margin-top:4px}.li:hover{background:var(--surface-2)}.li--clash{border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.li__time{font-variant-numeric:tabular-nums;color:var(--accent);flex:none;width:38px;padding-top:1px;font-size:11px;font-weight:700}.li__main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.li__name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.li__stage{color:var(--muted);text-transform:capitalize;font-size:11px}.li__note{color:var(--muted);margin-top:2px;font-size:11px;font-style:italic}.li__actions{flex:none;gap:2px;display:flex}.sidebar__foot{border-top:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.sidebar__source{color:var(--muted);align-self:flex-start;align-items:center;gap:7px;font-size:12px;text-decoration:none;display:inline-flex}.sidebar__source:hover{color:var(--ink)}.sidebar__source svg{fill:currentColor;width:15px;height:15px}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f0d1e73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);max-height:90dvh;box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;gap:13px;padding:18px;display:flex;overflow:auto}.sheet__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.sheet__actions{gap:8px;display:flex}.banner--warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:var(--radius);padding:9px 11px;font-size:13px}.field{flex-direction:column;gap:5px;display:flex}textarea,.url{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);resize:vertical;padding:9px 10px;font-size:13px}textarea:focus,.url:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.copy-row{gap:6px;display:flex}.copy-row .url{resize:none;flex:1}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:16px;line-height:1}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.muted{color:var(--muted)}.small{font-size:12px}.warn-text{color:var(--warn)}.scrim{display:none}@media (width<=720px){.app{flex-direction:column-reverse}.toolbar{border-top:1px solid var(--line);border-bottom:none;justify-content:center;gap:6px;padding:8px 10px}.brand,.toolbar__spacer{display:none}.lineup-toggle{display:inline-block}.ghlink,.chip--warn{display:none}.tt{margin:8px}.seg__btn{padding:5px 9px}.seg__label{display:none}.seg__icon{display:inline-flex}.toolbar{position:relative}.search{flex:none}.search-toggle{display:inline-flex}.search:not(.search--open) .search__field{display:none}.search--open .search__field{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:7px 10px;display:flex;position:absolute;bottom:calc(100% + 8px);left:10px;right:10px}.scrim{z-index:40;opacity:0;pointer-events:none;background:#0f0d1e66;transition:opacity .2s;display:block;position:fixed;inset:0}.scrim--on{opacity:1;pointer-events:auto}.sidebar{z-index:45;border-left:1px solid var(--line);width:min(360px,88vw);box-shadow:var(--shadow-md);transition:transform .22s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.sidebar--open{transform:translate(0)}.sidebar__close{display:inline-block}.app--lineup-open .tt{touch-action:none;overflow:hidden}}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.sidebar{transition:none}}
