:root{color-scheme:dark;--bg:#10151a;--panel:#181e24;--line:#313941;--muted:#9daab5;--ink:#f1f3f2;--accent:#f4a45d;--green:#91c6aa;font:15px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{min-height:44px;border:1px solid var(--line);background:#242c34;border-radius:7px;padding:8px 12px;cursor:pointer}button:hover{background:#35404a;border-color:#788792}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input:not([type=checkbox]):not([type=range]),textarea,select{border:1px solid #4c5863;background:#10171d;border-radius:6px;padding:10px;max-width:100%}textarea{resize:vertical;width:100%;min-height:70px}label{display:block}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);vertical-align:middle}input[type=range]{accent-color:var(--accent);width:100%;min-height:30px}h1,h2,h3,p{margin:0 0 12px}h1{font-size:2.6rem;line-height:1.12;letter-spacing:-.04em}h2{font-size:1.3rem}h3{font-size:1rem}small,.muted{color:var(--muted);font-size:.82rem}a{color:var(--accent)}.primary{background:var(--accent);color:#211a14;border-color:var(--accent);font-weight:700}.primary:hover{background:#ffc18a}.brand{color:var(--ink);letter-spacing:.08em;font-size:1.05rem;white-space:nowrap;text-decoration:none}.brand b{font-size:1.55rem;color:var(--accent);letter-spacing:-.06em}.eyebrow{font-size:.75rem;letter-spacing:.16em;color:var(--accent);margin-top:36px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-card{padding:8vh 8vw;max-width:740px}.login-card form{display:grid;gap:16px;margin:30px 0 20px}.login-card label input{display:block;width:100%;margin-top:6px}.login-art{background:#202e35;display:grid;place-content:center;gap:24px;padding:8%;overflow:hidden}.login-art p{letter-spacing:.16em;font-size:.7rem;text-align:center;color:var(--muted)}.rink{height:380px;width:400px;border:2px solid #5b747f;border-radius:100px;position:relative;transform:rotate(-12deg);display:flex;align-items:center;justify-content:space-evenly;box-shadow:0 0 120px #96b8ba14}.rink i{height:100%;border-left:2px solid #5b747f}.rink i:nth-child(2){border-color:var(--accent)}.rink b{position:absolute;border:2px solid var(--accent);border-radius:50%;padding:30px;color:var(--accent);font-size:32px;background:#202e35}#app{height:100dvh;overflow:hidden;display:flex;flex-direction:column}header{height:76px;flex-shrink:0;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line);padding:12px 22px;background:#151b21}.heading{display:flex;flex-direction:column;flex:1;min-width:0}.heading strong{font-size:1.05rem}.heading span{font-size:.75rem;color:var(--muted)}.local-badge{font-size:.65rem;letter-spacing:.15em;border:1px solid #4e6256;color:var(--green);padding:5px 8px;border-radius:4px}#account{font-size:.8rem}.workspace{flex:1;display:grid;grid-template-columns:190px minmax(0,1fr) 360px;min-height:0}aside{min-height:0;display:flex;flex-direction:column;background:var(--panel)}#rail{border-right:1px solid var(--line);padding:16px 10px 12px;gap:10px}.rail-title{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;letter-spacing:.12em}.rail-title button{min-width:44px}.scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#47545e transparent;scrollbar-width:thin}#files{flex:1}.file{width:100%;display:flex;align-items:center;gap:10px;text-align:left;margin:3px 0;background:transparent;border-color:transparent;padding:10px 6px}.file .index{font-variant-numeric:tabular-nums;color:#81919e;font-size:.8rem}.file.active{background:#333f45;border-color:#63756b}.file.active .index{color:var(--accent)}.file span:last-child{min-width:0;overflow-wrap:anywhere}.file small{display:block}.rail-foot{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:5px}.rail-foot span{font-variant-numeric:tabular-nums}main{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0 18px;background:linear-gradient(140deg,#182126,#10151a 70%)}.stage-top{display:flex;align-items:center;gap:8px;min-height:52px}.stage-top span{flex:1;font-size:.8rem;color:var(--muted)}.stage-top button{background:none;border:0;font-size:.8rem}#stage{flex:1;min-height:100px;position:relative;background:#080b0d;overflow:hidden;border:1px solid #2a343b;border-radius:8px;touch-action:none;display:flex;align-items:center;justify-content:center}video{width:100%;height:100%;object-fit:contain;transform-origin:center;will-change:transform}#media-status{position:absolute;top:16px;left:16px;right:16px;padding:10px;background:#10171de8;border-radius:5px;color:#c7d2da;pointer-events:none;font-size:.85rem}#media-status:empty{display:none}.zoom-hud{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:4px;padding:4px;background:#141a20e8;border:1px solid #4a5157;border-radius:8px}.zoom-hud button{min-width:42px;background:transparent;border-color:transparent}.zoom-hud span{min-width:30px;text-align:center;font-size:.8rem}.controls{display:flex;align-items:center;gap:6px;padding:12px 0;flex-wrap:wrap}.controls button{padding:7px 10px}.controls .play{background:var(--ink);color:var(--bg);min-width:46px;font-size:1.05rem}.controls select{padding:7px;min-height:44px}.time-input{display:flex;align-items:center;font-size:.8rem;margin-right:auto;white-space:nowrap}.time-input input{width:75px;text-align:center;padding:8px!important;font-variant-numeric:tabular-nums}.time-input span{margin:0 5px;color:var(--muted)}.timeline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}.timeline-heading{display:flex;justify-content:space-between;align-items:center;font-size:.66rem;letter-spacing:.06em;color:var(--muted);gap:4px}.timeline-heading>div{display:flex;align-items:center;gap:4px}.timeline-heading button{min-height:32px;min-width:34px;padding:2px 7px}.timeline-heading span{white-space:nowrap}#segments{display:flex;gap:2px;height:16px;margin-top:9px}#segments button{min-height:14px;min-width:3px;padding:0;border-radius:2px;background:#3d4a53;border:0;overflow:hidden;font-size:0}#segments button.active{background:var(--accent)}#bubbles{height:36px;position:relative;margin:2px 16px}#bubbles button{position:absolute;transform:translateX(-50%);min-width:32px;min-height:32px;padding:2px 6px;background:#466456;border-color:#83a493;font-size:.7rem;border-radius:14px}#scrub{display:block;margin:0}.ruler{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}.selection-tools{display:flex;align-items:center;gap:5px;margin-top:6px;flex-wrap:wrap}.selection-tools button{min-height:36px;font-size:.76rem;padding:5px 9px}.selection-tools label{font-size:.76rem;margin:0 auto}.main-action{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0}.main-action>span{font-size:.72rem;color:var(--muted)}.main-action .primary{white-space:normal}.workspace.rail-closed{grid-template-columns:minmax(0,1fr) 360px}.workspace.rail-closed #rail{display:none}#notebook{border-left:1px solid var(--line)}nav{display:flex;border-bottom:1px solid var(--line);padding:6px 8px 0;gap:4px}nav button{border:0;background:none;border-radius:0;flex:1;font-size:.85rem;padding:10px 6px;border-bottom:3px solid transparent}nav button.active{border-color:var(--accent);color:var(--accent)}#panel-toolbar{padding:12px;border-bottom:1px solid var(--line)}#panel-toolbar:empty{display:none}#panel-toolbar .row{display:flex;gap:5px;flex-wrap:wrap}#panel-toolbar select{min-height:40px;width:100%;margin-bottom:6px;font-size:.8rem}#panel-content{padding:16px;flex:1}.thread-card{display:block;width:100%;text-align:left;margin-bottom:10px;background:#1c252c;border-color:#39444d;padding:13px;border-radius:8px}.thread-card strong{display:block;margin:6px 0;font-size:.95rem}.thread-card p{color:var(--muted);font-size:.85rem;margin:0}.thread-card .meta{display:flex;justify-content:space-between;gap:6px;font-size:.68rem;color:var(--muted)}.unread{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:6px}.chip{font-size:.68rem;display:inline-block;background:#304339;border:1px solid #52685a;color:#c6e3cf;padding:3px 7px;border-radius:5px;margin:5px 4px 0 0}.message{padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.message .meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;margin-bottom:7px}.message p{white-space:pre-wrap;font-size:.9rem;margin:0}.message.tagged{border-left:3px solid var(--green);padding-left:12px}.conclusion{border-left:3px solid var(--accent);background:#352e26;padding:14px;margin-top:14px}.thread-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.thread-actions button{font-size:.76rem}.tag-row{border:1px solid var(--line);padding:10px;border-radius:6px;margin:8px 0;font-size:.8rem}.tag-row small{display:block;margin:4px 0}.tag-row button{font-size:.75rem;margin-right:5px}.state{font-size:.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.empty{border:1px dashed #4c5a63;border-radius:8px;padding:20px 15px;margin-top:12px}.empty p{font-size:.87rem;color:var(--muted)}#reply-form{padding:12px;border-top:1px solid var(--line);background:#1a232a}#reply-form label{font-size:.8rem;margin-bottom:5px}#reply-form>div{display:flex;gap:8px;margin-top:8px}#reply-form select{min-width:0;flex:1;font-size:.75rem}#reply-form small{display:block;margin-top:5px}#queue-bar{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:.75rem;padding-bottom:10px}#queue-bar button{font-size:.75rem;min-height:36px}#queue-title{width:100%;color:var(--accent)}.stat{border-bottom:1px solid var(--line);padding:16px 0}.stat-head{display:flex;justify-content:space-between;align-items:center}.stat-head strong{font-size:1.6rem;color:var(--accent)}.stat-head span{font-size:.9rem}.stat-counts{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}.stat-counts button{font-size:.72rem;min-height:36px;padding:5px 8px}dialog{width:min(680px,94vw);max-height:90dvh;background:#1c252d;color:var(--ink);border:1px solid #5d6c77;border-radius:12px;padding:22px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#071016b8;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.dialog-heading h2{margin:0}.dialog-heading button{font-size:1.4rem;background:none;border:0}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#modal-body>label{margin:12px 0}#modal-body input:not([type=checkbox]),#modal-body textarea{display:block;width:100%;margin-top:5px}#modal-body select{width:100%}#modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;position:sticky;bottom:-22px;background:#1c252d;padding:12px 0}#modal-error,#login-error{color:#ffb1a7;font-size:.85rem}.favorites{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.favorites label{border:1px solid #47545d;border-radius:6px;padding:8px;font-size:.8rem}.range-row,.order-row{border-bottom:1px solid var(--line);padding:12px 0}.range-row .row,.order-row .row{display:flex;gap:8px;align-items:center}.range-row input{width:100px!important}.order-row span{flex:1}.order-row input{margin:6px 0!important}.library-card{display:block;width:100%;text-align:left;margin-bottom:14px;padding:20px;background:#25343d}.library-card h3{font-size:1.2rem}.library-card small{display:block}.library-card strong{color:var(--accent);display:block;margin-top:12px}.section-label{font-size:.7rem;letter-spacing:.12em;color:var(--muted);margin:16px 0 8px}.link-btn{background:none;border:0;color:var(--accent);padding:5px 0;text-align:left}.checks{display:grid;gap:8px}.checks label{padding:10px;background:#25313a;border-radius:6px}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:85vw;border:1px solid #697b85;border-radius:7px;padding:13px 18px;background:#263a45;box-shadow:0 6px 20px #0007;z-index:10}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1200px){.workspace{grid-template-columns:155px minmax(0,1fr) 320px}.workspace.rail-closed{grid-template-columns:minmax(0,1fr) 320px}main{padding:0 12px}.zoom-hud #reset-zoom{font-size:.75rem}.main-action>span{max-width:150px}.controls{gap:4px}#sound{font-size:.72rem}}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 320px}#rail{display:none}.workspace.show-rail #rail{display:flex;position:absolute;left:0;top:76px;bottom:0;width:250px;z-index:5;box-shadow:15px 0 30px #0008}.heading span{display:none}.main-action>span{display:none}header{gap:14px;padding:10px 14px}.controls{padding:7px 0}.selection-tools{margin-top:3px}.timeline{padding:5px 0}.main-action{padding:8px 0;justify-content:flex-end}}
@media(max-height:740px){header{height:62px}.stage-top{min-height:44px}.controls{padding:6px 0}.timeline-heading button{min-height:30px}.main-action{padding:7px 0}#bubbles{height:32px}.selection-tools button{min-height:32px}.ruler{font-size:.65rem}#reply-form textarea{min-height:50px}.workspace.show-rail #rail{top:62px}}
@media(max-width:780px){:root{font-size:14px}.workspace,.workspace.rail-closed{grid-template-columns:minmax(0,1fr) 285px}header .brand{font-size:.8rem}header .brand b{font-size:1.3rem}#account{max-width:105px;font-size:.65rem}.heading strong{font-size:.85rem}.local-badge{display:none}#sound{display:none}.controls{flex-wrap:wrap}.main-action .primary{font-size:.8rem}.time-input{margin-right:0}.zoom-hud{bottom:4px;right:4px}.timeline-heading>span{display:none}#panel-content{padding:10px}}
@media(max-width:620px){.login{display:block}.login-art{display:none}.workspace,.workspace.rail-closed{display:flex;flex-direction:column}main{flex:0 0 58%;min-height:280px}#notebook{flex:1;min-height:0;border-left:0}#stage{min-height:50px}.stage-top,.selection-tools{display:none}.timeline-heading{display:none}.timeline{padding:2px}#bubbles{height:28px}#bubbles button{min-height:28px}.main-action{padding:3px 0}.main-action .primary{min-height:36px}.controls button,.controls select{min-height:36px}.zoom-hud button{min-height:32px}#reply-form{padding:6px}.heading span{display:none}}

:root.large-text{font-size:22.5px}.large-text .workspace{grid-template-columns:minmax(0,1fr) 380px}.large-text #rail{display:none}.large-text .workspace.show-rail #rail{display:flex;position:absolute;left:0;top:76px;bottom:0;width:300px;z-index:5}.large-text .main-action>span{display:none}.large-text header{gap:12px}.large-text .heading span{display:none}.large-text .time-input input{width:100px}.large-text #queue-bar button{min-height:44px}

.timeline-heading button,.selection-tools button{min-height:44px;min-width:44px}#bubbles{height:44px}#bubbles button{min-width:44px;min-height:44px}#queue-bar button{min-height:44px}.large-text #toggle-rail{white-space:nowrap}

#selection-band{height:5px;border-radius:3px;margin:0 10px}main:fullscreen{width:100vw;height:100dvh;padding:0 24px;background:#10151a}main:fullscreen #stage{min-height:120px}

#queue-bar{padding:12px;border-top:1px solid var(--line);background:#202b32;flex-shrink:0}#queue-title{font-size:.74rem;overflow-wrap:anywhere}#queue-bar label{font-size:.72rem}#queue-bar button{font-size:.72rem}main{padding-bottom:0}

/* Quick events: fixed player tools, independently scrolling discussion panel. */
#quick-markers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:4px 0 8px;flex-shrink:0}
#quick-markers button{display:flex;align-items:center;gap:7px;text-align:left;min-height:46px;padding:5px 7px;font-size:.85rem;line-height:1.18;background:#202d33}
#quick-markers button span:last-child{overflow-wrap:normal}
.event-glyph{--event-color:#fff;display:inline-flex;position:relative;vertical-align:middle;align-items:center;justify-content:center;width:22px;height:24px;min-width:22px;color:var(--event-color);flex-shrink:0}
.event-glyph::before{content:'';position:absolute;background:var(--event-color);width:15px;height:15px;box-shadow:0 0 0 1px #0003}
.event-glyph.triangle::before{width:20px;height:19px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.event-glyph.rounded-pin::before{height:21px;border-radius:10px 10px 10px 3px;transform:rotate(-25deg)}
.event-glyph.pin::before{height:22px;width:18px;clip-path:polygon(50% 100%,0 40%,0 20%,20% 0,80% 0,100% 20%,100% 40%)}
.event-glyph.circle::before{border-radius:50%;width:17px;height:17px}
.event-glyph.square::before{border-radius:2px}
.event-glyph.line::before{height:3px;width:22px;bottom:2px}
.event-glyph b{z-index:1;font-size:18px;line-height:20px;font-weight:800;margin-top:-5px}
#bubbles button.event-bubble{background:transparent;border:1px solid #4b5b65;display:flex;align-items:center;justify-content:center;gap:0;padding:1px 3px;border-radius:6px;min-width:44px;min-height:44px}
#bubbles .event-bubble:has(.cluster-count){background:#26353d}
.event-bubble .event-glyph{min-width:12px;width:14px;transform:scale(.8)}
.event-bubble:has(.cluster-count) .event-glyph{min-width:10px;width:10px;transform:scale(.6)}
.cluster-count{font-size:13px;background:#e2e9ed;color:#182126;border-radius:8px;min-width:17px;text-align:center;position:absolute;top:-6px;right:-5px}
.timeline{position:relative;flex-shrink:0;padding:2px 0}.timeline-heading{gap:4px;letter-spacing:0}.timeline-heading select{min-height:44px;max-width:190px;font-size:.74rem;padding:4px}.timeline-heading>div{gap:0}.timeline-heading button{padding:2px;min-width:44px}#tl-scale{font-size:.7rem}#segments{margin-top:3px;height:12px}#segments button{min-height:12px}#scrub{min-height:24px}#selection-band{height:3px}#range-tools-toggle{position:absolute;right:0;bottom:0;transform:translateY(100%);z-index:2;font-size:.74rem;background:#25343e;min-height:44px}.selection-tools{position:absolute;right:0;bottom:0;transform:translateY(-40px);z-index:6;padding:10px;border:1px solid #677984;border-radius:8px;background:#18262e;box-shadow:0 5px 20px #0008}.selection-tools button{min-height:44px}
.main-action{min-height:54px;padding:5px 76px 5px 0;gap:7px;flex-shrink:0;align-items:center}.main-action .primary{font-size:.75rem;padding:5px 9px;min-height:44px;max-width:155px}#marker-feedback{display:flex;align-items:center;gap:5px;flex:1;min-width:0;font-size:.72rem;color:#d0dbdf}#marker-feedback>span{line-height:1.2;overflow-wrap:anywhere}#marker-feedback button{font-size:.72rem;min-width:44px;min-height:44px;padding:4px 7px;flex-shrink:0}.danger-zone{border-top:1px solid #785159;margin:16px 0 8px;padding-top:12px}.danger-zone button,.delete-comment{color:#ffb9bc;border-color:#77565c;background:#34272d}.delete-comment{font-size:.72rem;margin-top:8px}.event-counts>div{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:7px 0;font-size:.83rem}.event-counts>div>span:nth-child(2){flex:1}.event-counts strong{font-size:1.2rem}.checks label:has([data-marker-filter]){display:flex;gap:8px;align-items:center;min-height:48px}.checks input{flex-shrink:0}
.stage-top{min-height:44px;flex-shrink:0}.controls{padding:6px 0;flex-shrink:0}header{height:62px}#stage{min-height:90px}.large-text #quick-markers button{font-size:.75rem;min-height:54px}.large-text .main-action .primary{font-size:.65rem}.large-text #marker-feedback{font-size:.62rem}.large-text .workspace.rail-closed{grid-template-columns:minmax(0,1fr) 350px}
@media(max-width:1200px){#quick-markers button{font-size:.82rem;padding:4px;gap:4px}.main-action .primary{max-width:140px}#marker-feedback{font-size:.68rem}.large-text .workspace.rail-closed{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:900px){#quick-markers{grid-template-columns:repeat(5,minmax(0,1fr))}#quick-markers button{flex-direction:column;justify-content:center;text-align:center;gap:0;font-size:.68rem}.workspace,.workspace.rail-closed{grid-template-columns:minmax(0,1fr) 270px}.main-action .primary{max-width:110px}.main-action{padding-right:65px}.timeline-heading select{max-width:120px}#marker-feedback{flex-wrap:wrap}#marker-feedback>span{flex:1}#marker-feedback button{padding:3px}.large-text .workspace.rail-closed{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:620px){#app{min-height:100dvh;height:100dvh}.workspace,.workspace.rail-closed{display:flex;flex-direction:column}main{flex:0 0 68%;min-height:460px}.stage-top{display:flex}.timeline-heading{display:flex}.main-action{padding:2px 66px 2px 0;min-height:46px}.main-action .primary{font-size:.65rem}.main-action>span{display:none}#marker-feedback{font-size:.65rem}#quick-markers button{flex-direction:row;text-align:left;min-height:44px;font-size:.68rem}.zoom-hud{display:none}#notebook{flex:1}.controls button,.controls select{min-height:44px}#bubbles,#bubbles button{min-height:44px}.selection-tools:not([hidden]){display:flex}}
#tl-scale{min-width:30px;text-align:center}.large-text .main-action{padding-right:92px}.large-text #range-tools-toggle{max-width:90px}
@media(min-width:621px) and (max-width:900px){#quick-markers{grid-template-columns:repeat(3,minmax(0,1fr))}#quick-markers button{flex-direction:row;text-align:left;font-size:.82rem;gap:5px}#quick-markers #marker-filters{grid-column:1/-1;justify-content:center;min-height:44px}#marker-filters br{display:none}}
#bubbles button.pending-event{border-style:dashed;border-color:var(--accent);background:#423629}
/* Match sheets are independent of the playback workspace. Only their paper/list scrolls. */
#match-sheet{flex-shrink:0;font-size:.8rem;color:var(--accent);border-color:#806342}
#sheet-dialog{width:min(1180px,96vw);height:90dvh;max-height:90dvh;padding:16px;overflow:hidden}
#sheet-dialog[open]{display:flex;flex-direction:column;gap:12px}
.sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}.sheet-heading h2{margin:0}.sheet-heading p{margin:2px 0 0;color:var(--muted);font-size:.85rem}.sheet-heading>div{min-width:0;overflow-wrap:anywhere}
.sheet-content{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;min-height:0;flex:1}.sheet-sidebar{display:block;overflow:auto;border:0;padding:0 10px 0 0}.sheet-sidebar>p{font-size:.8rem}.sheet-sidebar>small{display:block;margin-top:12px;line-height:1.5}#sheet-list{display:grid;gap:8px;margin-bottom:16px}#sheet-list button{text-align:left;overflow-wrap:anywhere}#sheet-list small{display:block;font-size:.75rem}#sheet-list [aria-pressed=true]{border-color:var(--accent);background:#3c352e}
.sheet-reading{min-width:0;min-height:0;display:flex;flex-direction:column}#sheet-empty{margin:auto;max-width:400px;color:var(--muted);text-align:center}#sheet-viewer{display:flex;flex-direction:column;min-height:0;height:100%;gap:8px}#sheet-document-name{overflow-wrap:anywhere;font-size:.85rem;max-height:3em;overflow:auto}.sheet-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.sheet-toolbar label{display:flex;align-items:center;gap:6px;font-size:.85rem}#sheet-page{width:76px}.sheet-links{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:.8rem;flex-shrink:0}.sheet-links a{display:inline-flex;align-items:center;min-height:44px}.sheet-links button{font-size:inherit}#sheet-paper{overflow:auto;flex:1;min-height:0;background:#39434c;padding:12px;border-radius:6px;overscroll-behavior:contain}#sheet-image{display:block;width:100%;max-width:none;height:auto;background:white}#sheet-page-status{padding:20px;color:white}
@media(max-width:1050px){header{gap:10px}header .local-badge{display:none}.sheet-content{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:780px){#match-sheet{font-size:.75rem;max-width:135px}#sheet-dialog{padding:12px}.sheet-content{grid-template-columns:160px minmax(0,1fr);gap:10px}.sheet-links{gap:4px 12px}}
@media(max-width:580px){.sheet-content{display:flex;flex-direction:column}.sheet-sidebar{max-height:25%;flex-shrink:0}.sheet-reading{flex:1}#sheet-list{display:flex;overflow:auto}#sheet-list button{min-width:180px}#sheet-scan{display:none}}
#quick-markers [data-quick]{position:relative;padding-right:16px}
#quick-markers [data-quick][aria-pressed=true]{background:#394f50;border-color:#b3ddd2;box-shadow:inset 0 0 0 1px #b3ddd2}
.toggle-check{display:none;position:absolute;right:3px;top:2px;font-size:12px;font-style:normal;color:#e8fff9}
[aria-pressed=true]>.toggle-check{display:block}

/* Faceoffs remain factual events; neutral crossed sticks with a separate result badge. */
.event-glyph.faceoff{color:var(--event-color,#d1d5db);width:28px;min-width:28px;height:28px}
.event-glyph.faceoff::before{display:none}.event-glyph.faceoff svg{width:28px;height:28px}
.faceoff-badge{position:absolute;right:-5px;top:-5px;border-radius:8px;background:#111820;color:#f1f3f2;border:1px solid #aeb6c0;font:bold 13px/16px sans-serif;min-width:16px;text-align:center;font-style:normal}
.event-bubble .event-glyph.faceoff{min-width:28px;width:28px;transform:scale(.95)}
#marker-tools{display:flex;gap:8px;align-items:center;flex-shrink:0;min-height:50px;margin-bottom:4px}
:is(#faceoff-options,#approach-options){display:flex;align-items:center;gap:6px;flex:1;min-width:0;font-size:.78rem}
:is(#faceoff-options,#approach-options)>span{line-height:1.2;flex:1;min-width:0}:is(#faceoff-options,#approach-options) small{display:block;margin-top:3px}
:is(#faceoff-options,#approach-options) button,#marker-filters{font-size:.8rem;min-height:44px;padding:6px 10px;white-space:nowrap}
:is(#faceoff-options,#approach-options) button[aria-pressed=true],.faceoff-detail button[aria-pressed=true]{background:#454b55;border-color:#d1d5db;box-shadow:inset 0 0 0 1px #d1d5db}
.faceoff-detail button{margin:0 5px 8px 0}.faceoff-filter{display:block;margin-top:14px}.faceoff-filter select{display:block;width:100%;margin-top:5px}
.faceoff-stats{border:1px solid #59616b;border-radius:8px;padding:12px;margin-top:12px}.faceoff-stats strong{font-size:1.3rem}.faceoff-stats small{color:var(--muted)}
@media(min-width:621px) and (max-width:900px){#marker-tools{flex-wrap:wrap}:is(#faceoff-options,#approach-options){flex-basis:100%}#marker-filters{width:100%}#quick-markers [data-quick="mise-au-jeu"]{grid-column:1/-1;justify-content:center}}
@media(max-width:620px){#marker-tools{flex-wrap:wrap}:is(#faceoff-options,#approach-options){flex-basis:100%}#marker-filters{width:100%}}

/* Personal compact palette: eight favorites + two stable entry points. */
.event-glyph.drawn{width:26px;min-width:26px;height:26px;color:var(--event-color)}
.event-glyph.drawn::before{display:none}.event-glyph.drawn svg{width:26px;height:26px;fill:currentColor}
.position-badge{position:absolute;top:-5px;right:-5px;background:#142027;color:var(--event-color);border:1px solid currentColor;border-radius:8px;font:bold 14px/16px sans-serif;min-width:16px;text-align:center}
.event-bubble .event-glyph.drawn{width:24px;min-width:24px;transform:scale(.9)}
#quick-markers #other-markers,#quick-markers #customize-markers{justify-content:center;text-align:center;border-style:dashed}
.other-markers{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0 24px}
.other-markers [data-quick]{position:relative;display:flex;align-items:center;gap:12px;text-align:left;min-height:48px;padding-right:22px}
.other-markers [aria-pressed=true]{background:#394f50;border-color:#b3ddd2}
.custom-type-row,.favorite-row{display:flex;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid var(--line)}
.custom-type-row{flex-wrap:wrap}.custom-type-row>span:not(.event-glyph),.favorite-row>span:not(.event-glyph){flex:1;min-width:0;overflow-wrap:anywhere}
.custom-type-row small{display:block;color:var(--muted)}.custom-type-row button{font-size:.8rem}
.custom-fields{display:grid;grid-template-columns:100px 1fr;gap:16px}.custom-fields input[type=color]{height:48px;padding:3px!important}.custom-fields select{margin-top:5px}
#type-preview{margin:12px 0}#type-preview .event-glyph{width:36px;height:36px}#type-preview svg{width:36px;height:36px}
.favorite-choices{display:flex;flex-wrap:wrap;gap:8px}.favorite-choices button{display:flex;align-items:center;gap:7px;text-align:left}.favorite-row button{min-width:44px;padding:7px;font-size:.8rem}
@media(min-width:621px) and (max-width:900px){#quick-markers [data-quick="mise-au-jeu"]{grid-column:auto;justify-content:flex-start}#quick-markers #customize-markers{grid-column:1/-1}}
#quick-markers [data-quick]>span:not(.event-glyph){min-width:0;overflow-wrap:anywhere}
.other-markers [data-quick]>span:not(.event-glyph){min-width:0;overflow-wrap:anywhere}.favorite-choices button{max-width:100%;overflow-wrap:anywhere}

/* Successive playback stays within the existing player and fixed command area. */
#current-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#series-position{flex-shrink:0;color:var(--green);font-variant-numeric:tabular-nums}
#playback-error{position:absolute;inset:10px 10px auto;background:#241e18f5;border:1px solid #bd8955;border-radius:8px;padding:12px;max-height:calc(100% - 20px);overflow:auto;z-index:2;font-size:.85rem}
#playback-error p{margin:0 0 8px}#playback-error>div{display:flex;flex-wrap:wrap;gap:8px}

/* Timeline navigation changes only the visible time window. */
.timeline-heading{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:3px}
.timeline-heading .timeline-commands{display:flex;gap:3px;flex-wrap:wrap;flex:1}
.timeline-heading button{min-height:44px;min-width:44px;font-size:.74rem;padding:3px 6px;white-space:normal;line-height:1.15}
.timeline-heading select{max-width:155px;flex-shrink:1;min-width:100px}
#tl-follow{margin-left:auto;max-width:140px}#tl-follow[aria-pressed=false]{border-color:var(--accent);color:var(--accent)}
#tl-viewport{position:relative;padding:0 22px;touch-action:none;user-select:none;outline-offset:-2px;cursor:grab}
#tl-viewport:active{cursor:grabbing}#tl-viewport.synced{padding-left:65px}
#segments{position:relative;display:block;height:14px;margin:3px 0 0}
#segments button{position:absolute;top:0;height:14px;min-width:0;min-height:14px;border-right:2px solid var(--bg);font-size:10px;line-height:14px;white-space:nowrap;color:#ecf2f5}
#bubbles{height:auto;min-height:44px;margin:2px 0;position:relative}
.event-track{position:relative;height:44px;border-bottom:1px solid #34444b}
.track-title{position:absolute;left:-62px;width:58px;top:8px;font-size:.6rem;line-height:1.2;color:var(--muted);pointer-events:none}
#bubbles button.event-bubble{width:44px;padding:1px;transform:translateX(-50%)}
#tl-head{position:absolute;top:0;bottom:25px;width:2px;background:#f4a45d;pointer-events:none;opacity:.8;z-index:1}
#scrub{width:calc(100% + 16px);margin:0 -8px;height:24px;min-height:24px;touch-action:none}
#scrub.offscreen::-webkit-slider-thumb{visibility:hidden}#scrub.offscreen::-moz-range-thumb{visibility:hidden}
#tl-ticks{height:24px;position:relative;color:var(--muted);font-size:.65rem;font-variant-numeric:tabular-nums;pointer-events:none}
#tl-ticks span{position:absolute;white-space:nowrap;border-top:1px solid #697882;padding-top:2px}
@media(max-width:900px){.timeline-heading select{max-width:130px}.timeline-heading .timeline-commands{gap:2px}#tl-follow{max-width:110px}}
.track-title{font-size:.55rem;white-space:nowrap}

/* Only one contextual outcome row is visible. */
#approach-options[hidden],#faceoff-options[hidden]{display:none}

/* Complete palette spans the workspace. No actions are hidden in a menu. */
.workspace{grid-template-rows:minmax(0,1fr) auto}
.workspace>main,.workspace>#rail,.workspace>#notebook{grid-row:1}
.palette-dock{grid-column:1/-1;grid-row:2;min-width:0;background:#151d23;border-top:1px solid #53616c;padding:6px 12px 0}
#quick-markers{display:block;margin:0;padding:0;flex:none}
.family-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.family-card{min-width:0;border:1px solid #46545f;border-radius:8px;padding:3px;background:#1c252d;display:flex;flex-direction:column}
.family-card.family-passes{grid-column:span 2}
.family-card.has-target{border-color:#ffc078;box-shadow:inset 0 0 0 1px #ffc078;background:#302c25}
#quick-markers .family-card>[data-quick]{justify-content:center;width:100%;padding:3px 22px 3px 6px;min-height:44px;gap:5px;font-size:.78rem}
.family-options{display:flex;gap:3px;margin-top:3px;flex:1}
.family-options button{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:4px;font-size:.73rem;line-height:1.15;min-height:44px}
.family-options button>span:not(.event-glyph){overflow-wrap:normal;min-width:0}
.family-options button[aria-pressed=true],.family-detail button[aria-pressed=true]{background:#40534d;border-color:#aad4bd;box-shadow:inset 0 0 0 1px #aad4bd}
.family-card small{display:block;text-align:center;font-size:.62rem;line-height:1.25;min-height:1.3em;margin-top:3px;overflow-wrap:anywhere}
#quick-markers .event-glyph{flex-shrink:0}
.single-markers{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:5px;margin-top:5px}
#quick-markers .single-markers>[data-quick],#quick-markers #customize-markers{min-height:44px;padding:4px 20px 4px 6px;font-size:.78rem;line-height:1.2;gap:6px}
#quick-markers #customize-markers{display:block;padding:4px}
#marker-tools{margin:3px 0;min-height:44px;gap:6px;flex-wrap:nowrap}
#marker-tools button{min-height:44px;font-size:.74rem;padding:4px 8px}
#family-target-help{flex:1;font-size:.7rem;color:#ecc89f;min-width:0}
.family-detail button{display:inline-flex;align-items:center;gap:6px;margin:0 4px 6px 0;min-height:44px}
.family-filter{margin:10px 0;border:1px solid var(--line);border-radius:6px;padding:8px}
.family-filter label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.85rem}
.family-filter legend{padding:0 5px}
#stage{min-height:90px}
@media(max-width:1000px){.family-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.family-card.family-passes{grid-column:span 2}.single-markers{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}
@media(max-width:620px){.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#family-target-help{display:none}.palette-dock{padding:6px}.workspace{grid-template-rows:minmax(180px,1fr) auto}.single-markers{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Give the player more height; discussion/save actions stay in its adjacent panel. */
#notebook>.main-action{padding:5px 8px;min-height:54px;border-bottom:1px solid var(--line);flex-wrap:wrap}
#notebook>.main-action #marker-feedback{flex-basis:130px;flex-wrap:wrap}
#notebook>.main-action .primary{max-width:140px}
#range-tools-toggle{position:static;transform:none;max-width:none;white-space:nowrap}
.family-mise-au-jeu .family-options button,.family-approche-porteur .family-options button{flex-direction:column;gap:1px}
.family-mise-au-jeu .family-options .event-glyph,.family-mise-au-jeu .family-options svg{width:22px;height:22px;min-width:22px}
.family-approche-porteur .family-options .event-glyph{height:20px}
.single-markers{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
#quick-markers .family-mise-au-jeu .family-options button,#quick-markers .family-approche-porteur .family-options button{flex-direction:column}
#quick-markers .single-markers #customize-markers{grid-column:auto}
#marker-tools #marker-filters{width:auto}
#marker-tools #family-target-help{overflow-wrap:normal}
#quick-markers .single-markers>[data-quick],#quick-markers .family-card>[data-quick],#quick-markers #customize-markers{font-size:max(14px,.78rem)}
.family-options button{font-size:max(14px,.73rem)}
@media(min-width:621px) and (max-width:1000px){.family-mise-au-jeu,.family-approche-porteur{grid-column:span 2}}

/* Statistics stay in the independently scrolling notebook; marking stays visible. */
#notebook nav{display:grid;grid-template-columns:1fr 1fr;flex-shrink:0;padding:0 8px;gap:0 4px}
#notebook nav button{min-height:44px;overflow-wrap:anywhere}
.event-stat-card{border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0;background:#1c252c}
.event-stat-card h3{margin:0 0 8px;font-size:1rem}
.event-stat-rate{display:flex;align-items:center;gap:10px;margin:6px 0 10px;flex-wrap:wrap}
.event-stat-rate strong{color:var(--accent);font-size:1.4rem;font-variant-numeric:tabular-nums}
.event-stat-rate span{font-size:.8rem;flex:1;min-width:110px}
.event-stat-counts{display:flex;flex-wrap:wrap;gap:6px}
.event-stat-counts button{min-height:44px;min-width:44px;text-align:left;font-size:.85rem;white-space:normal}
.event-stat-counts strong{font-variant-numeric:tabular-nums}
#statistics-scope{border-left:3px solid var(--accent);padding-left:8px;overflow-wrap:anywhere}
#statistics-settings{min-height:44px;width:100%;text-align:left}

.statistics-title{font-size:.95rem;line-height:1.25;margin:0 0 8px}
.statistics-meta{font-size:.75rem;line-height:1.3;margin:6px 0}

#statistics-scope{display:block;margin-top:5px;padding-left:6px;font-size:.7rem;line-height:1.3;font-weight:normal;color:var(--muted)}
#statistics-settings>span{font-size:.85rem}

/* Existing JSH asset: natural ratio and alpha, no recolouring or cropping. */
.match-identity{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.team-logo{display:block;flex-shrink:0;width:72px;height:auto;object-fit:contain}
@media(max-width:1050px){.team-logo{width:56px}.match-identity{gap:8px}}
@media(max-width:780px){.team-logo{width:40px}.match-identity{gap:6px}}
/* Let long match names wrap instead of clipping against header controls. */
header{height:auto;min-height:62px}
.match-identity .heading strong{overflow-wrap:anywhere}
@media(max-width:780px){header,.large-text header{gap:6px;padding:10px}}

kbd{font:inherit;font-size:.75em;border:1px solid #65717b;border-radius:3px;padding:0 3px;white-space:nowrap;color:var(--muted)}
.family-options kbd{margin-left:2px;font-size:.65em}
.keyboard-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.keyboard-help-grid dl{display:grid;grid-template-columns:auto 1fr;gap:8px}
.keyboard-help-grid dd{margin:0;font-size:.85rem}
@media(max-width:620px){.keyboard-help-grid{grid-template-columns:1fr}}

/* Approach outcomes: shape as well as colour; labels remain visible. */
.event-glyph.triangle-down::before{width:20px;height:19px;clip-path:polygon(0 0,100% 0,50% 100%)}
.approach-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:8px 0;font-size:.85rem}
.approach-legend>span{display:inline-flex;align-items:center;gap:4px}

/* Timeline-only zoom: keep both magnifiers and the overview together. */
.timeline-zoom-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;flex-shrink:0}
.timeline-heading .timeline-zoom-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:9px;flex-shrink:0;background:#dce6ef;color:#162633;border:1px solid #f1f5f9}
.timeline-zoom-button svg{display:block;width:26px;height:26px;flex-shrink:0}
.timeline-heading .timeline-zoom-button:hover:not(:disabled){background:#fff;color:#101820;border-color:#fff}
.timeline-heading .timeline-zoom-button:disabled{opacity:1;background:#34414d;color:#afbdc9;border-color:#657888}

/* The review controls replace only the notebook navigation, never the video/palette. */
.sequence-review #notebook>nav,.sequence-review #notebook>.main-action,.sequence-review #panel-toolbar,.sequence-review #reply-form{display:none!important}
#queue-bar{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:8px}
#queue-title{font-size:.78rem;line-height:1.25}
.sequence-row{display:flex;gap:4px}
#queue-bar button{min-width:44px;min-height:44px;font-size:.72rem;padding:5px;flex:1;line-height:1.2}
#sequence-list{width:100%;min-width:0;min-height:44px;font-size:.72rem;padding:5px}
#sequence-play{background:var(--ink);color:var(--bg)}
.sequence-review #panel-content{padding:10px}

/* Score remains in the existing header, outside every scrolling panel. */
#annotated-score{align-self:flex-start;min-height:44px;padding:3px 8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;background:#101a22;border-color:#546875;max-width:100%;line-height:1.2}
#annotated-score #score-value{font-size:.95rem;color:#f7fafb;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#annotated-score small{font-size:.62rem;color:#c0cdd4}
.score-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.score-fields input{display:block;width:100%}
@media(max-width:780px){
 header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto}
 header .match-identity{grid-row:2;grid-column:1/-1}
 header .match-identity .heading{flex-direction:row;align-items:center;gap:10px}
 header #match-title{flex:1;min-width:0}
 header #annotated-score{flex:0 1 55%;min-width:180px;align-self:center}
}

/* Each marker keeps its true horizontal time, including at the window edges. */
.timeline-heading #marker-grouping{min-height:44px;min-width:135px;max-width:165px;font-size:.72rem;padding:4px}
#tl-viewport{touch-action:pan-y}
#marker-scroll{position:relative;overflow-y:auto;overflow-x:hidden;max-height:160px;min-height:44px;margin:0 -22px;padding:0 22px;scrollbar-gutter:stable;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#91a3b0 #15212a;cursor:default}
#tl-viewport.synced #marker-scroll{margin-left:-65px;padding-left:65px}
#marker-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#marker-scroll .event-track{min-height:44px}
#marker-scroll.separate-markers .event-glyph{width:24px;min-width:24px;height:24px;transform:none}
#marker-scroll.separate-markers .event-bubble{background:#18252e}
#marker-scroll.separate-markers .event-bubble::after{content:'';position:absolute;left:50%;bottom:-4px;height:3px;border-left:1px solid #8ca3af;pointer-events:none}
/* Leave room for the complete controls on compact screens with enlarged text. */
@media(max-height:800px){
 .large-text header .local-badge{display:none}
 .large-text #match-title{font-size:.8rem}
}
@media(max-width:1200px){
 .large-text .timeline-heading #timeline-mode{min-width:125px;max-width:130px;font-size:.65rem}
 .large-text .timeline-heading #marker-grouping{min-width:145px;max-width:145px;font-size:.65rem}
 .large-text .timeline-commands #tl-all{width:88px;max-width:88px}
 .large-text .timeline-commands #tl-follow{max-width:110px}
}
/* Let the image yield space before the controls in dense/enlarged layouts. */
.workspace main #stage{min-height:44px}

/* Fixed review navigation/outcomes; only the discussion body scrolls. */
.review-category{width:100%;margin-bottom:12px;text-align:left;min-height:48px}
#category-controls{display:flex;flex-direction:column;gap:5px}
#category-controls>label{display:flex;align-items:center;gap:6px;min-height:44px;line-height:1.2}
#category-outcomes .sequence-row{flex-wrap:wrap}
#category-outcomes button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:-2px;background:#35454e}
.review-target{display:block;font-size:.73rem;line-height:1.3;margin-bottom:5px}
#category-save-state{font-size:.7rem;line-height:1.25}
#category-save-state button{margin:4px 4px 0 0}
.review-error{color:#ffb1a7;display:block}
#review-comment-form{margin-bottom:12px}
#review-comment-form label{font-size:.85rem;margin-bottom:4px}
#review-comment-form textarea{min-height:70px;resize:vertical}
#queue-bar:has(#category-controls:not([hidden])) #prev-sequence,#queue-bar:has(#category-controls:not([hidden])) #next-sequence{font-weight:700;min-height:48px}
#queue-bar:has(#category-controls:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) 80px;grid-template-areas:'title title' 'navigation navigation' 'outcomes outcomes' 'mode settings' 'actions actions' 'status status' 'restart restart'}
#queue-bar:has(#category-controls:not([hidden])) #queue-title{grid-area:title}
#queue-bar:has(#category-controls:not([hidden]))>.sequence-row:nth-child(2){grid-area:navigation}
#queue-bar:has(#category-controls:not([hidden]))>.sequence-row:nth-child(3){grid-area:actions}
#queue-bar:has(#category-controls:not([hidden]))>.sequence-row:last-child{display:contents}
#queue-bar:has(#category-controls:not([hidden])) #sequence-settings{grid-area:settings}
#queue-bar:has(#category-controls:not([hidden])) #restart-sequences{grid-area:restart}
#queue-bar:has(#category-controls:not([hidden])) #sequence-list{display:none}
#category-controls:not([hidden]){display:contents}
#category-controls>label{grid-area:mode}
#category-outcomes{grid-area:outcomes}
#category-outcomes .review-target{display:none}
#category-save-state{grid-area:status}
#queue-bar #sequence-play{flex:0 0 66px}
#category-save-state{max-height:100px;overflow:auto;overscroll-behavior:contain}

/* Stacks retain exact temporal centers; only their vertical spacing changes. */
.marker-stack{position:absolute;inset:0;pointer-events:none;z-index:1}
.marker-stack.expanded{z-index:2}
#bubbles .marker-stack .event-bubble{pointer-events:auto;background:#18252e;border:1px solid #8b9aa5;box-shadow:0 2px 3px #0008}
#bubbles .marker-stack .event-bubble:hover,#bubbles .marker-stack .event-bubble:focus-visible{background:#354957;border-color:#f4a45d}
#marker-scroll.stacked-markers .event-glyph{width:24px;min-width:24px;height:24px;transform:none}
#marker-scroll.stacked-markers .event-bubble::after{content:'';position:absolute;left:50%;bottom:-4px;height:3px;border-left:1px solid #8ca3af;pointer-events:none}
