.lab-shell{animation:lab-fade-in .2s var(--ease-out)}@keyframes lab-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.lab-shell{animation:none}}.lab-layout{width:100%}.lab-top{display:none}.lab-say{min-height:0}.lab-kicker{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);margin-bottom:.5rem;font-size:.75rem}.lab-sayTitle{font-family:var(--font-display);letter-spacing:-.024em;text-wrap:balance;font-size:clamp(1.625rem,1rem + 1.5vw,2.5rem);font-weight:700;line-height:1.06}.lab-sayDetail{color:var(--muted);text-wrap:pretty;max-width:34ch;margin-top:.625rem;font-size:1rem;line-height:1.45}.lab-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.25rem;display:flex}.lab-note{color:var(--muted);max-width:36ch;margin-top:.875rem;font-size:.875rem;line-height:1.45}.lab-track,.lab-cancel{display:none}.lab-close{width:2.75rem;height:2.75rem;color:inherit;background:#0a0a0d80;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.lab-pips{flex:1;gap:.375rem;max-width:14rem;display:flex}.lab-pips li{background:#ffffff47;border-radius:999px;flex:1;height:3px}.lab-pips li[data-state=done]{background:#fff}.lab-pips li[data-state=now]{background:var(--accent)}.lab-tile{aspect-ratio:4/3;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:1rem;width:100%;position:relative;overflow:hidden}.lab-tile canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.lab-tile video{opacity:0;pointer-events:none;width:2px;height:2px;position:absolute}.lab-tag{color:#f4f4f7;background:#0a0a0dc7;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;position:absolute;top:.75rem;left:.75rem}@media not (min-width:64rem){.lab-shell{z-index:70;flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.lab-shellDark{--paper:#0a0a0d;--surface:#17171e;--ink:#f4f4f7;--muted:#b6b6c2;--accent:#7d85ff;--accent-wash:#1c1e45;--hairline:#2c2c36;--on-accent:#0a0a0d;background:var(--paper);color:var(--ink)}.lab-shellLight{background:var(--paper);color:var(--ink)}.lab-shell .lab-layout{flex:1;min-height:0;display:block;position:relative}.lab-shell .lab-panel{position:absolute;inset:0}.lab-tile{aspect-ratio:auto;height:100%;box-shadow:none;border-radius:0}.lab-tag{top:calc(env(safe-area-inset-top) + 4.25rem);z-index:3;left:1.25rem}.lab-shell .lab-rail{z-index:2;pointer-events:none;max-width:none;padding:calc(env(safe-area-inset-top) + .75rem) 1.25rem calc(env(safe-area-inset-bottom) + 1.25rem);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.lab-rail>*{pointer-events:auto}.lab-top{align-items:center;gap:1rem;display:flex}.lab-instruction{margin:0 -1.25rem calc(-1 * (env(safe-area-inset-bottom) + 1.25rem));padding:3rem 1.25rem calc(env(safe-area-inset-bottom) + 1.25rem)}.lab-shellDark .lab-instruction{background:linear-gradient(#0a0a0d00,#0a0a0deb 40%)}.lab-shellLight .lab-instruction{background:var(--paper)}.lab-shellLight .lab-close{background:var(--surface)}.lab-shellLight .lab-pips li{background:var(--hairline)}.lab-shellLight .lab-pips li[data-state=done]{background:var(--ink)}.lab-sayTitle{font-size:clamp(1.5rem,1.1rem + 2vw,2rem)}.lab-sayDetail{max-width:none;font-size:.9375rem}}@media (min-width:64rem){.lab-rail{flex-direction:column;display:flex}.lab-track{border-top:1px solid var(--ink);margin-top:2rem;padding-top:.75rem;display:block}.lab-track li{min-height:2.25rem;color:var(--muted);align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.lab-track li[data-state=now]{color:var(--ink);font-weight:600}.lab-track li[data-state=done]{color:var(--ink)}.lab-trackMark{width:1rem;height:1rem;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.lab-track li[data-state=ahead] .lab-trackMark:before,.lab-track li[data-state=skipped] .lab-trackMark:before{content:"";background:var(--hairline);border-radius:999px;width:.375rem;height:.375rem}.lab-track li[data-state=now] .lab-trackMark:before{content:"";background:var(--accent);border-radius:999px;width:.625rem;height:.625rem}.lab-trackName{flex:1}.lab-trackState{font-family:var(--font-mono);color:var(--muted);font-size:.75rem;font-weight:400}.lab-track li[data-state=now] .lab-trackState{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lab-cancel{color:var(--muted);align-self:flex-start;margin-top:1rem;font-size:.875rem;display:inline-block}.lab-tile{border-radius:1.5rem}}.lab-readings{gap:.5rem;margin-top:1rem;display:grid}.lab-reading{grid-template-columns:1.75rem minmax(0,1fr) auto;align-items:center;gap:.625rem;font-size:.8125rem;display:grid}.lab-readingSwatch{border-radius:.5rem;width:1.75rem;height:1.75rem;box-shadow:inset 0 0 0 1px #7f7f8c4d}.lab-readingName{font-weight:600}.lab-readingLab{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}.lab-duelGrid{background:#0a0a0d;grid-template-rows:1fr 1fr;gap:2px;display:grid;position:absolute;inset:0}.lab-duelGrid[data-layout=wide]{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.lab-duelSide{cursor:pointer;width:100%;height:100%;transition:transform var(--dur) var(--ease-out);background:#0a0a0d;border:0;padding:0;display:block;position:relative;overflow:hidden}.lab-duelSide canvas{width:100%;height:100%;position:absolute;inset:0}.lab-duelSide:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.lab-duelSide[data-chosen=true]{z-index:2}.lab-duelPick{color:#0d0d12;background:#fffffff0;border-radius:999px;padding:.5rem .875rem;font-size:.875rem;font-weight:600;position:absolute;bottom:.75rem;right:.75rem}.lab-duelName{color:#fff;text-shadow:0 1px 3px #0009;font-size:.8125rem;font-weight:600;position:absolute;bottom:.875rem;left:.75rem}.lab-roundDots{gap:.375rem;margin-top:.875rem;display:flex}.lab-roundDots li{background:var(--hairline);border-radius:999px;width:.5rem;height:.5rem}.lab-roundDots li[data-state=done]{background:var(--ink)}.lab-roundDots li[data-state=now]{background:var(--accent)}.lab-options{gap:.5rem;display:grid}.lab-option{border:1px solid var(--hairline);background:var(--paper);min-height:3.25rem;color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out);border-radius:.75rem;align-items:center;padding:.625rem 1rem;font-size:1rem;font-weight:500;display:flex}.lab-option:hover{border-color:var(--ink)}.lab-option[data-picked=true]{border-color:var(--accent);background:var(--accent-wash)}.lab-optionPanel{background:var(--surface);padding:1rem;position:absolute;inset:0;overflow-y:auto}.lab-progressBar{background:var(--hairline);border-radius:999px;height:3px;margin-bottom:1rem;overflow:hidden}.lab-progressBar span{background:var(--accent);height:100%;transition:width var(--dur) var(--ease-out);display:block}.lab-statusTile{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.lab-statusBar{background:var(--accent);border-radius:999px;width:4rem;height:2px}@media (prefers-reduced-motion:no-preference){.lab-statusBar{animation:1.4s ease-in-out infinite lab-status-pulse}}@keyframes lab-status-pulse{50%{opacity:.3}}.lab-chooserPanel{z-index:20;border:1px solid var(--hairline);background:var(--paper);width:40rem;max-width:calc(100vw - 4rem);box-shadow:var(--shadow-lift);border-radius:.75rem;padding:1.25rem;position:absolute;top:calc(100% + .75rem);left:0}.lab-startAside{min-height:2.75rem;color:var(--muted);text-underline-offset:.2em;cursor:pointer;margin:.25rem auto 0;padding-inline:.75rem;font-size:.9375rem;text-decoration:underline;display:block}.lab-startAside:hover{color:var(--ink)}@media (min-width:64rem){.lab-startAside{margin:.5rem 0 0;padding-inline:0}}.lab-chooserRow{grid-template-columns:16rem minmax(0,1fr);align-items:center;gap:.5rem 1.25rem;margin-top:.875rem;display:grid}.lab-chooserRow p{color:var(--muted);font-size:.9375rem;line-height:1.35}.lab-chooserRow:first-of-type p{color:var(--ink)}.lab-sheet{width:100%;max-width:32rem;padding:1.25rem 1.25rem calc(env(safe-area-inset-bottom) + 1.25rem);background:var(--paper);color:var(--ink);border:0;border-radius:1rem 1rem 0 0;margin:auto auto 0}.lab-sheet::backdrop{background:#0a0a0d73}@media (prefers-reduced-motion:no-preference){.lab-sheet[open]{animation:lab-sheet-up .26s var(--ease-out)}}@keyframes lab-sheet-up{0%{opacity:0;transform:translateY(1.5rem)}}.lab-sheetChoice{margin-top:1rem}.lab-sheetChoice p{color:var(--muted);margin-top:.5rem;font-size:.875rem;line-height:1.4}.lab-duelTile{aspect-ratio:4/3}@media (min-width:64rem){.lab-shell[data-step=duels]{--lab-stage:min(calc(100dvh - 6.5rem), 50rem)}.lab-shell[data-step=duels] .lab-layout{grid-template-columns:minmax(0,1fr) minmax(0,42rem)}.lab-shell[data-step=duels] .lab-rail{max-width:24rem}}.lab-actions .btn-ghost{min-height:2.75rem;color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);text-underline-offset:.25em;padding-inline:0;font-size:.9375rem;font-weight:500;text-decoration-thickness:1.5px}.lab-actions .btn-ghost:hover:not(:disabled){color:var(--ink);background:0 0;text-decoration-color:currentColor}@media (min-width:64rem){.lab-duelGrid{grid-template-rows:1fr;grid-template-columns:1fr 1fr}}@media not (min-width:64rem){.lab-duelGrid{bottom:12.75rem;top:calc(env(safe-area-inset-top) + 3.75rem)}}.lab-quizPanel{background:var(--surface);border-radius:1rem;padding:1.25rem}@media (min-width:64rem){.lab-quizPanel{border-radius:1.5rem;padding:1.75rem}}@media not (min-width:64rem){.lab-shellLight .lab-rail{pointer-events:auto;padding-bottom:0;position:static}.lab-shellLight .lab-instruction{background:0 0;margin:1rem 0 0;padding:0 0 1rem}.lab-shellLight .lab-layout{flex-direction:column;align-items:stretch;display:flex;overflow-y:auto}.lab-shellLight .lab-panel{padding:0 1.25rem calc(env(safe-area-inset-bottom) + 1.25rem);flex:1;position:static}.lab-shellLight .lab-quizPanel{background:0 0;padding:0}}.lab-hiddenVideo{opacity:0;pointer-events:none;width:2px;height:2px;position:fixed;top:0;left:0}@media (min-width:64rem){.lab-shell{--lab-stage:min(calc(100dvh - 7.5rem), 42rem);scroll-margin-top:5.5rem}.lab-shell .lab-layout,.lab-rail{min-height:var(--lab-stage)}.lab-tile{aspect-ratio:auto;height:var(--lab-stage)}.lab-track{margin-top:auto}.lab-track[hidden]{display:none}.lab-cancel{margin-top:auto}.lab-track:not([hidden])+.lab-cancel{margin-top:1rem}.lab-instruction{padding-bottom:1.5rem}.lab-panel[data-tall]{height:var(--lab-stage)}}@media not (min-width:64rem){.lab-layout[data-bare] .lab-rail{justify-content:flex-start;padding-bottom:0;position:absolute;inset:0 0 auto}.lab-layout[data-bare] .lab-instruction{display:none}.lab-layout[data-bare] .lab-panel{top:calc(env(safe-area-inset-top) + 3.75rem);padding:0 1rem calc(env(safe-area-inset-bottom) + .75rem);z-index:3;bottom:0;left:0;right:0}.lab-shell[data-step=duels] .lab-instruction{background:var(--paper);padding-top:.75rem}.lab-roundDots{display:none}.lab-actions{margin-top:.875rem}}.lab-drapeHolder{height:100%;min-height:0}@media (min-width:64rem){.lab-drapeHolder{height:var(--lab-stage)}}.lab-leaning{color:var(--muted);align-items:center;gap:.75rem;margin-top:1rem;font-size:.875rem;display:flex}.lab-leaningBar{border-radius:999px;flex:none;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0d0d1214}.lab-leaningBar span{width:1.125rem;height:1.125rem;transition:background-color var(--dur) var(--ease-out);display:block}.lab-statusGlyph{width:5.5rem;height:5.5rem;color:var(--muted);opacity:.7}
.rev-bands{transition:opacity .42s var(--ease-out);grid-template-columns:repeat(6,1fr);display:grid;position:absolute;inset:0}.rev-bands span{transform-origin:bottom;display:block}.rev-bands[data-shown=true]{opacity:0;pointer-events:none}.rev-name{inset-inline:0;text-align:center;font-family:var(--font-display);letter-spacing:-.035em;color:#0d0d12;background:#fff;padding:1.25rem 1rem 1.375rem;font-size:clamp(2.25rem,1.5rem + 3.2vw,4rem);font-weight:800;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.rev-space{position:absolute;inset:0}@media not (min-width:64rem){.rev-space{top:calc(env(safe-area-inset-top) + 3.75rem);bottom:13rem}}@media (prefers-reduced-motion:no-preference){.rev-bands span{animation:rev-rise .56s var(--ease-out) backwards}.rev-name{animation:rev-name-in .52s .42s var(--ease-out) backwards}.rev-space{animation:rev-space-in .42s var(--ease-out)}}@keyframes rev-rise{0%{transform:scaleY(0)}}@keyframes rev-name-in{0%{opacity:0;transform:translateY(-50%)scaleX(.92)}}@keyframes rev-space-in{0%{opacity:0}}
