:root{--bg:oklch(17% .006 70);--panel:oklch(20.5% .006 70);--panel-2:oklch(23.5% .007 70);--surface-raised:oklch(25% .007 70);--line:oklch(29% .007 70);--line-soft:oklch(24% .006 70);--line-strong:oklch(38% .008 70);--input-border:oklch(52% .01 70);--text:oklch(93% .006 80);--text-strong:oklch(98.5% .004 80);--muted:oklch(74% .01 75);--faint:oklch(62% .01 75);--green:oklch(76% .15 150);--green-light:oklch(85% .09 150);--red:oklch(70% .17 25);--red-light:oklch(82% .09 25);--gold:oklch(84% .12 88);--amber:oklch(78% .14 70);--accent:oklch(78% .085 245);--accent-strong:oklch(46% .095 250);--accent-border:oklch(56% .095 250);--button:oklch(25% .007 70);--button-hover:oklch(29% .008 70);--button-border:oklch(35% .008 70);--current-row:oklch(78% .085 245/.13);--warn-bg:oklch(70% .17 25/.12);--stage-bg:#000;--on-accent:oklch(98.5% .004 250);--on-warning:oklch(17% .02 70);--active-bg:oklch(42% .08 70);--canvas-bg:#000;--paper:#fff;--scrim:oklch(0% 0 0/.35);--scrim-strong:oklch(0% 0 0/.55);--scrim-heavy:oklch(0% 0 0/.7);--notice-dark-bg:oklch(0% 0 0/.8);--notice-light-bg:oklch(100% 0 0/.85);--notice-light-fg:oklch(45% .1 70);--badge-bg:oklch(0% 0 0/.6);--badge-fg:oklch(98.5% .004 80);--hint-bg:oklch(20% .006 70/.88);--hint-fg:oklch(93% .006 80);--mono:"Cascadia Mono", "Cascadia Code", Consolas, "SF Mono", ui-monospace, monospace;--sans:system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--fs-1:.75rem;--fs-2:.875rem;--fs-3:1rem;--fs-4:1.25rem;--fs-5:1.75rem;--fs-6:2.75rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--lh-tight:1.15;--lh-body:1.5;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:48px;--sp-9:64px;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-full:999px;--page-width:45rem;--ease-out:cubic-bezier(.23, 1, .32, 1);--dur-fast:.14s;--dur-base:.2s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:oklch(97.5% .004 80);--panel:oklch(99.5% .002 80);--panel-2:oklch(95.5% .005 80);--surface-raised:oklch(99.5% .002 80);--line:oklch(90% .006 80);--line-soft:oklch(94% .005 80);--line-strong:oklch(80% .008 80);--input-border:oklch(64% .01 70);--text:oklch(25% .01 70);--text-strong:oklch(15% .01 70);--muted:oklch(47% .012 70);--faint:oklch(52% .012 70);--green:oklch(52% .14 150);--green-light:oklch(53% .13 150);--red:oklch(53% .19 25);--red-light:oklch(52% .17 25);--gold:oklch(55% .12 80);--amber:oklch(63% .14 65);--accent:oklch(50% .12 250);--accent-strong:oklch(50% .12 250);--accent-border:oklch(44% .12 250);--button:oklch(96.5% .004 80);--button-hover:oklch(93.5% .005 80);--button-border:oklch(84% .008 80);--current-row:oklch(50% .12 250/.1);--warn-bg:oklch(53% .19 25/.07);--stage-bg:#2d2b28;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:oklch(97.5% .004 80);--panel:oklch(99.5% .002 80);--panel-2:oklch(95.5% .005 80);--surface-raised:oklch(99.5% .002 80);--line:oklch(90% .006 80);--line-soft:oklch(94% .005 80);--line-strong:oklch(80% .008 80);--input-border:oklch(64% .01 70);--text:oklch(25% .01 70);--text-strong:oklch(15% .01 70);--muted:oklch(47% .012 70);--faint:oklch(52% .012 70);--green:oklch(52% .14 150);--green-light:oklch(53% .13 150);--red:oklch(53% .19 25);--red-light:oklch(52% .17 25);--gold:oklch(55% .12 80);--amber:oklch(63% .14 65);--accent:oklch(50% .12 250);--accent-strong:oklch(50% .12 250);--accent-border:oklch(44% .12 250);--button:oklch(96.5% .004 80);--button-hover:oklch(93.5% .005 80);--button-border:oklch(84% .008 80);--current-row:oklch(50% .12 250/.1);--warn-bg:oklch(53% .19 25/.07);--stage-bg:#2d2b28;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0}body{overflow:hidden}#app{height:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}[hidden]{display:none!important}.dim{color:var(--muted)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.green{color:var(--green)}.green-light{color:var(--green-light)}.red{color:var(--red)}.red-light{color:var(--red-light)}.gold{color:var(--gold)}.amber{color:var(--amber)}:root{accent-color:var(--accent-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-items button:focus-visible,.recent-open:focus-visible,.card .thumb:focus-visible,.demo:focus-visible{outline-offset:-2px}:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}.icon{flex:none;width:18px;height:18px;display:inline-flex}.icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.button,.actions button,.menu-items button{align-items:center;gap:var(--sp-2);font-size:var(--fs-2);line-height:var(--lh-tight);background:var(--button);color:var(--text);border:1px solid var(--button-border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);text-decoration:none;display:inline-flex}@media (hover:hover){.button:hover,.actions button:hover{background:var(--button-hover)}}.button:active,.chip:active,.icon-button:active{transform:scale(.97)}.button.primary,.actions button.primary{background:var(--accent-strong);border-color:var(--accent-border);color:var(--on-accent)}@media (hover:hover){.button.primary:hover{filter:brightness(1.1)}}.button.danger,.actions button.danger,.menu-items .danger{color:var(--red-light)}.button.ghost{background:0 0}.button.small{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-1)}.button.active,.actions button.active{background:var(--active-bg);border-color:var(--amber);color:var(--on-accent)}.confirming{border-color:var(--red)!important;color:var(--red)!important}.icon-button{border-radius:var(--r-md);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.icon-button:hover{background:var(--button-hover);color:var(--text)}}.chip{align-items:center;gap:var(--sp-1);font-size:var(--fs-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-full);border:1px solid var(--button-border);background:var(--button);color:var(--muted);cursor:pointer;white-space:nowrap;line-height:var(--lh-tight);transition:transform var(--dur-fast) var(--ease-out);display:inline-flex}@media (hover:hover){.chip:hover{color:var(--text);border-color:var(--line-strong)}}.chip .icon{width:14px;height:14px}.link{color:var(--accent);cursor:pointer;font-size:var(--fs-2);background:0 0;border:0;padding:0;text-decoration:underline}kbd{font-family:var(--mono);font-size:var(--fs-1);padding:0 var(--sp-1);border-radius:var(--r-sm);border:1px solid var(--button-border);background:var(--button);color:var(--text);border-bottom-width:2px}select,input:not([type=checkbox]):not([type=radio]),textarea{line-height:var(--lh-tight)}.welcome{--gutter:var(--sp-6);height:100%;overflow-y:auto}.welcome-top,.welcome-main,.welcome-foot{max-width:calc(var(--page-width) + 2 * var(--gutter));padding-inline:var(--gutter);margin:0 auto}.welcome-top{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-block:var(--sp-4);display:flex}.brand{align-items:center;gap:var(--sp-3);font-weight:var(--fw-semibold);font-size:var(--fs-3);display:inline-flex}.brand-mark{border-radius:var(--r-sm);background:var(--text);width:22px;height:14px;box-shadow:0 6px 0 -4px var(--text)}.welcome-prefs{gap:var(--sp-2);display:flex}.welcome-prefs select,.field select,.field input{background:var(--panel);border:1px solid var(--input-border);border-radius:var(--r-md);padding:var(--sp-2);font-size:var(--fs-2)}.welcome-main{padding-block:var(--sp-8) var(--sp-9)}.welcome h1{font-size:var(--fs-5);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.02em;text-wrap:balance;margin:0 0 var(--sp-2)}.tagline{font-size:var(--fs-3);color:var(--muted);margin:0 0 var(--sp-7);max-width:62ch;line-height:var(--lh-body);text-wrap:pretty}.dropzone{align-items:center;gap:var(--sp-2) var(--sp-3);width:100%;padding:var(--sp-5) var(--sp-6);text-align:left;border:1px dashed var(--input-border);border-radius:var(--r-lg);background:var(--panel);cursor:pointer;flex-wrap:wrap;display:flex}.dropzone .icon{width:var(--sp-5);height:var(--sp-5);color:var(--muted)}.dropzone strong{font-size:var(--fs-3);font-weight:var(--fw-semibold)}.dropzone .dim{font-size:var(--fs-2);margin-left:auto}@media (hover:hover){.dropzone:hover{border-color:var(--muted);background:var(--panel-2)}}.welcome.dragging .dropzone{border-color:var(--accent);background:var(--panel-2)}.load-status{min-height:1.4em;color:var(--muted);margin:var(--sp-3) 0 0}.load-status.error,.storage-warning{color:var(--red-light)}.recent h2,.demos h2{font-size:var(--fs-2);font-weight:var(--fw-semibold);color:var(--text);margin:var(--sp-7) 0 var(--sp-3)}.recent-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.recent-list li{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;border-bottom:1px solid var(--line);display:flex}.recent-open{align-items:center;gap:var(--sp-4);padding:var(--sp-2);margin-left:calc(-1 * var(--sp-2));text-align:left;cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;flex:1;min-width:0;display:flex}@media (hover:hover){.recent-open:hover{background:var(--panel-2)}}.recent-open img,.thumb-empty{aspect-ratio:4/3;object-fit:contain;background:var(--stage-bg);border-radius:var(--r-sm);flex:none;width:96px}.recent-text{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.recent-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-text .dim{font-size:var(--fs-2)}.steps{counter-reset:step;margin:var(--sp-8) 0 0;border-top:1px solid var(--line);padding:0;list-style:none}.steps li{counter-increment:step;gap:var(--sp-1) var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);line-height:var(--lh-body);grid-template-columns:2ch minmax(0,10rem) 1fr;align-items:baseline;display:grid}.steps li:before{content:counter(step);font-family:var(--mono);color:var(--faint)}.steps strong{font-weight:var(--fw-semibold)}.steps span{color:var(--muted);font-size:var(--fs-2)}.offline{margin-top:var(--sp-7);align-items:flex-start;gap:var(--sp-2);flex-direction:column;display:flex}.offline-note{font-size:var(--fs-2);color:var(--muted);margin:0}.demos>.dim{margin:calc(-1 * var(--sp-1)) 0 var(--sp-4);font-size:var(--fs-2)}.demo-list{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.demo{text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);transition:transform var(--dur-fast) var(--ease-out);flex-direction:column;padding:0;display:flex;overflow:hidden}@media (hover:hover){.demo:hover{border-color:var(--line-strong)}}.demo:active{transform:scale(.99)}.demo img{aspect-ratio:16/9;object-fit:contain;background:var(--stage-bg);width:100%;display:block}.demo-text{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;display:flex}.demo-text>span{color:var(--muted);font-size:var(--fs-2);line-height:var(--lh-body)}.demo-tags{gap:var(--sp-1);flex-wrap:wrap;display:flex}.demo-tags span{font-size:var(--fs-1);border:1px solid var(--line);border-radius:var(--r-full);padding:0 var(--sp-2);color:var(--muted)}.welcome-foot{font-size:var(--fs-1);padding-block:0 var(--sp-5);font-family:var(--mono)}.version{font:inherit;color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.version[aria-expanded=true],.version:focus-visible{color:var(--text)}@media (hover:hover){.version:hover{color:var(--text)}}.changelog{font-family:var(--sans);font-size:var(--fs-2);line-height:var(--lh-body);color:var(--text);max-width:72ch;margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line)}.changelog h2{font-size:var(--fs-3);font-weight:var(--fw-semibold);margin:0 0 var(--sp-2)}.changelog section+section{margin-top:var(--sp-6)}.changelog h3{font-size:var(--fs-3);font-weight:var(--fw-semibold);margin:0 0 var(--sp-2);font-family:var(--mono)}.changelog h3 .dim{font-weight:var(--fw-regular);font-size:var(--fs-1);margin-left:var(--sp-2)}.changelog h4{font-size:var(--fs-1);font-weight:var(--fw-semibold);color:var(--muted);margin:var(--sp-3) 0 var(--sp-1)}.changelog p{margin:0 0 var(--sp-2)}.changelog ul{padding-left:var(--sp-5);margin:0}.changelog li{margin-block:var(--sp-1);text-wrap:pretty}.changelog code{font-family:var(--mono);font-size:.92em}.changelog a{color:var(--accent)}.remote-door{width:16px;height:16px;margin-left:var(--sp-1);vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}.remote-door:after{content:"";border-radius:var(--r-full);background:var(--faint);opacity:.35;width:4px;height:4px}.remote-door:focus-visible:after{opacity:1;background:var(--accent)}@media (hover:hover){.remote-door:hover:after{opacity:1;background:var(--accent)}}.presenter{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.bar{background:var(--line);border-bottom:1px solid var(--line);align-items:stretch;gap:1px;display:flex}.stat{background:var(--panel);padding:var(--sp-2) var(--sp-5) var(--sp-3);justify-content:center;gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.stat .lbl{font-size:var(--fs-1);font-weight:var(--fw-medium);color:var(--muted);white-space:nowrap}.stat .num{font-size:var(--fs-5);line-height:var(--lh-tight)}.stat.big .num{font-size:var(--fs-6);font-weight:var(--fw-semibold);letter-spacing:-.02em}.stat.wide{flex:auto;min-width:220px}.progress{background:var(--line);border-radius:var(--r-sm);height:6px;margin-top:var(--sp-1);overflow:hidden}.progress>div{background:var(--green);width:0;height:100%}.progress>div[data-tone=amber]{background:var(--amber)}.progress>div[data-tone=red]{background:var(--red)}.status{background:var(--panel);padding:var(--sp-2) var(--sp-4);text-align:center;font-size:var(--fs-3);color:var(--muted);justify-content:center;align-items:center;min-width:180px;display:flex}.status.alert{color:var(--on-warning);background:var(--amber);font-weight:var(--fw-semibold)}.tools{background:var(--panel);padding:0 var(--sp-2);align-items:center;display:flex}.body{grid-template-columns:minmax(0, var(--split,68%)) 6px minmax(0, 1fr);min-height:0;display:grid}.left{grid-template-rows:minmax(0, var(--stage,55%)) 6px minmax(0, 1fr);min-height:0;padding:var(--sp-4) var(--sp-5) 0;display:grid}.stage{min-height:0;position:relative}.stage canvas,.next canvas{border-radius:var(--r-sm);width:100%;height:100%;display:block;position:absolute;inset:0}.screen-notice{text-align:center;padding:var(--sp-5);background:var(--notice-dark-bg);color:var(--amber);font-size:var(--fs-4);font-weight:var(--fw-semibold);border-radius:var(--r-sm);justify-content:center;align-items:center;display:none;position:absolute;inset:0}.screen-notice[data-screen=black],.screen-notice[data-screen=white]{display:flex}.screen-notice[data-screen=white]{background:var(--notice-light-bg);color:var(--notice-light-fg)}.splitter{z-index:1;touch-action:none;position:relative}.splitter:after{content:"";border-radius:var(--r-sm);background:var(--accent);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);position:absolute}.splitter.vertical{cursor:col-resize}.splitter.vertical:after{inset:0 2px}.splitter.horizontal{cursor:row-resize}.splitter.horizontal:after{inset:2px 0}.splitter:active:after{opacity:1}@media (hover:hover){.splitter:hover:after{opacity:1}}.notes-panel{min-height:0;padding-top:var(--sp-2);grid-template-rows:auto minmax(0,1fr);display:grid}.notes-head{gap:var(--sp-3);padding-bottom:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.notes-head .key{font-family:var(--mono);color:var(--text);font-size:var(--fs-4)}.notes-head .key.section{font-family:var(--sans);font-size:var(--fs-1);font-weight:var(--fw-medium);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:0 var(--sp-2)}.notes-head .title{font-size:var(--fs-4);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:200px;min-width:0;overflow:hidden}.notes-tag{font-size:var(--fs-1);font-weight:var(--fw-medium);color:var(--muted);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 var(--sp-2)}.notes{font-size:var(--note-size,21px);line-height:var(--lh-body);padding-bottom:var(--sp-4);outline:none;overflow-y:auto}.notes ul{margin:0;padding-left:1.1em}.notes>*{max-width:72ch}.notes li{margin:0 0 .35em}.notes li::marker{color:var(--faint)}.notes strong{color:var(--text-strong)}.notes code{font-family:var(--mono);font-size:.9em}.notes .warnings{border:1px solid color-mix(in oklch, var(--red) 40%, transparent);border-radius:var(--r-sm);background:var(--warn-bg);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);color:var(--red-light)}.notes .warnings p{margin:0 0 .2em}.notes .transition{margin-top:var(--sp-3);color:var(--accent);font-style:italic}.notes .transition:before{content:"→ ";font-style:normal}.notes .empty{color:var(--faint);font-size:.85em;font-style:italic}.notes .empty.clickable{cursor:text}@media (hover:hover){.notes .empty.clickable:hover{color:var(--muted)}}.notes-editor{resize:none;background:var(--panel);border:1px solid var(--accent-border);border-radius:var(--r-md);width:100%;height:calc(100% - 44px);min-height:120px;padding:var(--sp-3);font-size:inherit;line-height:var(--lh-body)}.notes-editor-bar{align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);font-size:var(--fs-2);display:flex}.notes-editor-bar .dim{flex:1}.target-input{background:var(--bg);border:1px solid var(--accent);width:4.6em;padding:0 var(--sp-1);text-align:right;border-radius:var(--r-sm);font-family:var(--mono)}.right{border-left:1px solid var(--line);background:var(--panel);grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.next{margin:var(--sp-7) var(--sp-4) var(--sp-4);aspect-ratio:var(--slide-ratio,16 / 10);max-height:32vh;position:relative}.next .tag{left:0;bottom:calc(100% + var(--sp-1));font-size:var(--fs-1);font-weight:var(--fw-medium);color:var(--muted);position:absolute}.next.end canvas{opacity:.3}.presenter.no-next .next{display:none}.splits{border-top:1px solid var(--line);min-height:0;overflow-y:auto}.presenter.no-splits .splits{visibility:hidden}table{border-collapse:collapse;width:100%;font-size:var(--fs-2)}thead th{background:var(--panel);color:var(--muted);font-weight:var(--fw-medium);font-size:var(--fs-1);padding:var(--sp-2) 0 var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);text-align:right;position:sticky;top:0}thead th:nth-child(2){text-align:left}th:first-child,td:first-child{padding-left:var(--sp-3)}th:last-child,td:last-child{padding-right:var(--sp-4)!important}td{padding:var(--sp-1) 0 var(--sp-1) var(--sp-3);border-bottom:1px solid var(--line-soft);text-align:right;white-space:nowrap}td.key{color:var(--muted);font-family:var(--mono)}td.tit{text-align:left;text-overflow:ellipsis;width:100%;max-width:0;overflow:hidden}tbody tr{cursor:pointer}@media (hover:hover){tbody tr:hover td{background:var(--panel-2)}}td.obj{cursor:text;color:var(--muted)}@media (hover:hover){td.obj:hover{color:var(--text);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}}td.obj.auto{font-style:italic}tr.current td{background:var(--current-row)!important}tr.current td.tit{color:var(--text-strong);font-weight:var(--fw-semibold)}tr.future td.tit{color:var(--muted)}tfoot td{background:var(--panel);border-top:1px solid var(--line);font-weight:var(--fw-semibold);padding-block:var(--sp-2);border-bottom:0;position:sticky;bottom:0}.actions{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;display:flex}.rehearsals{width:100%;font-size:var(--fs-1);color:var(--muted);line-height:var(--lh-body);margin:0}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-items{bottom:calc(100% + var(--sp-2));z-index:5;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-lg);min-width:250px;padding:var(--sp-1);flex-direction:column;display:flex;position:absolute;right:0}.menu[open] .menu-items{transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}@starting-style{.menu[open] .menu-items{opacity:0;transform:translateY(var(--sp-1))}}.menu-items button{padding:var(--sp-2) var(--sp-3);background:0 0;border:0;justify-content:flex-start}@media (hover:hover){.menu-items button:hover{background:var(--button-hover)}}.hint{font-size:var(--fs-1);color:var(--faint);padding:var(--sp-1) var(--sp-5);border-top:1px solid var(--line)}.presenter.blind .timer,.presenter.blind td.t,.presenter.blind thead th:nth-child(n+4),.presenter.blind [data-f=tacc],.presenter.blind [data-f=tdelta],.presenter.blind .rehearsals{visibility:hidden}.overlay{z-index:20;opacity:0;transition:opacity var(--dur-fast) var(--ease-out);position:fixed;inset:0}.overlay.open{opacity:1}.overlay-head{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.overlay-head h2{font-size:var(--fs-3);font-weight:var(--fw-semibold);margin:0}.overlay-head p{font-size:var(--fs-2);max-width:70ch;margin:0}.spacer{flex:1}.grid-overlay{background:var(--bg);grid-template-rows:auto minmax(0,1fr);display:grid}.grid-body{padding:var(--sp-5);gap:var(--sp-5) var(--sp-7);flex-wrap:wrap;align-content:flex-start;display:flex;overflow-y:auto}.grid-group{gap:var(--sp-3);padding-top:var(--sp-7);border-top:1px solid var(--line);flex-wrap:wrap;display:flex;position:relative}.grid-group-head{top:var(--sp-2);gap:var(--sp-2);font-size:var(--fs-1);align-items:baseline;min-width:0;display:flex;position:absolute;left:0;right:0}.grid-group-head .key{font-family:var(--mono);color:var(--text)}.grid-group-head .tit{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grid-divider{width:100%;font-size:var(--fs-1);font-weight:var(--fw-medium);color:var(--muted);border-top:1px dashed var(--button-border);padding-top:var(--sp-2)}.card{gap:var(--sp-1);flex-direction:column;width:196px;margin:0;display:flex}.card .thumb{width:196px;aspect-ratio:var(--slide-ratio,4 / 3);border-radius:var(--r-md);background:var(--canvas-bg);cursor:pointer;border:2px solid #0000;padding:0;display:block;position:relative;overflow:hidden}.card .thumb canvas{width:100%;height:100%;position:absolute;inset:0}@media (hover:hover){.card .thumb:hover{border-color:var(--line-strong)}}.card.current .thumb{border-color:var(--accent)}.card.section .thumb:after{content:"§";top:var(--sp-1);right:var(--sp-1);color:var(--badge-fg);background:var(--badge-bg);border-radius:var(--r-sm);padding:0 var(--sp-2);font-weight:var(--fw-semibold);position:absolute}.card.note .thumb,.card.hidden .thumb{opacity:.35;cursor:default}.card.note,.card.hidden,.card.section{padding:0 var(--sp-1)}.grid-body>.card{padding-top:var(--sp-7)}.card figcaption{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-1);display:flex}.card select{font-size:var(--fs-1);background:var(--panel);border:1px solid var(--input-border);border-radius:var(--r-sm);padding:0 var(--sp-1);max-width:140px}.card-actions{gap:var(--sp-1);opacity:0;min-height:22px;transition:opacity var(--dur-fast) var(--ease-out);flex-wrap:wrap;display:flex}.card:hover .card-actions,.card:focus-within .card-actions{opacity:1}@media (hover:none){.card-actions{opacity:1}}.drawer{background:var(--scrim)}.drawer>*{background:var(--surface-raised);border-left:1px solid var(--line-strong)}.drawer{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr min(420px,100%);display:grid}.drawer .overlay-head,.drawer .drawer-body{transform:translateX(var(--sp-3));transition:transform var(--dur-base) var(--ease-out);grid-column:2}.drawer.open .overlay-head,.drawer.open .drawer-body{transform:none}.drawer .overlay-head{grid-row:1}.drawer .drawer-body{padding:var(--sp-2) var(--sp-5) var(--sp-6);grid-row:2;overflow-y:auto}.drawer section{border-bottom:1px solid var(--line);padding:var(--sp-4) 0 var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.drawer h3{font-size:var(--fs-2);font-weight:var(--fw-semibold);color:var(--text);margin:0}.field{gap:var(--sp-1);font-size:var(--fs-2);flex-direction:column;display:flex}.field input.invalid{border-color:var(--red)}.field small{font-size:var(--fs-1)}.check{align-items:center;gap:var(--sp-2);font-size:var(--fs-2);cursor:pointer;display:flex}.row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.modal{background:var(--scrim-strong);padding:var(--sp-4);justify-content:center;align-items:center;display:flex}.modal-box{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:min(880px,100%);max-height:100%;transition:transform var(--dur-base) var(--ease-out);overflow-y:auto;transform:scale(.98)}.modal.open .modal-box{transform:none}.modal-box>p{padding:0 var(--sp-5) var(--sp-5);font-size:var(--fs-2);margin:0}.help-grid{gap:var(--sp-2) var(--sp-7);padding:var(--sp-4) var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.help-grid h3{font-size:var(--fs-2);font-weight:var(--fw-semibold);color:var(--text);margin:var(--sp-3) 0 var(--sp-2)}.help-grid dl{gap:var(--sp-2) var(--sp-4);font-size:var(--fs-2);grid-template-columns:minmax(0,11em) 1fr;align-items:baseline;margin:0;display:grid}.help-grid dt{gap:var(--sp-1);flex-wrap:wrap;display:flex}.help-grid dd{color:var(--muted);margin:0}.toast{left:50%;bottom:var(--sp-6);transform:translate(-50%, var(--sp-3));opacity:0;pointer-events:none;z-index:40;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);position:fixed}.toast.show{opacity:1;transform:translate(-50%)}.toast[data-kind=error]{border-color:var(--red)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=900px){body{overflow:auto}.presenter{height:auto;min-height:100%}.bar{flex-wrap:wrap}.stat.big .num{font-size:var(--fs-5)}.body{grid-template-columns:1fr}.splitter{display:none}.left{grid-template-rows:50vh auto}.right{border-left:0;border-top:1px solid var(--line)}.splits{max-height:50vh}.welcome{--gutter:var(--sp-4)}.welcome-main{padding-block:var(--sp-6) var(--sp-8)}}@media (width<=640px){.steps li{grid-template-columns:2ch 1fr}.steps li span{grid-column:2}.dropzone{padding:var(--sp-4)}}
