.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2)}@media (max-width: 380px){.avatar-grid{grid-template-columns:repeat(5,1fr)}}.avatar-option{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:0;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:50%;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,color .15s ease;box-shadow:var(--shadow-sm);color:var(--avatar-bg, var(--color-primary))}.avatar-option:hover{transform:translateY(-2px) scale(1.04);border-color:var(--avatar-bg);box-shadow:var(--shadow-card)}.avatar-option:active{transform:scale(.94)}.avatar-option.is-selected{background:var(--avatar-bg);border-color:var(--avatar-bg);color:#fff;box-shadow:0 0 0 3px var(--color-surface),0 0 0 5px var(--avatar-bg),var(--shadow-card)}.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width: 480px){.mc-grid{grid-template-columns:1fr}}.mc-option{display:flex;align-items:center;gap:var(--space-3);background:var(--option-color);border:none;border-radius:var(--radius-md);padding:16px 20px;color:#fff;font-weight:700;font-size:1.05rem;text-align:left;cursor:pointer;box-shadow:0 4px 12px #0000001a;transition:all var(--transition-fast)}.mc-option:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.mc-option:active:not(:disabled){transform:scale(.97)}.mc-option:disabled{opacity:.6}.mc-option.is-picked{box-shadow:0 0 0 4px #fff inset,0 4px 12px #0003;opacity:1}.mc-option.is-correct{box-shadow:0 0 0 4px #fff inset,0 0 0 3px var(--color-gold-deep);opacity:1;animation:lc-flash-correct .9s ease-out}.mc-option.is-wrong{box-shadow:0 0 0 4px #fff inset,0 0 0 3px var(--color-danger)}.mc-shape{font-size:1.4rem;line-height:1}.mc-result{text-align:center;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border)}.mc-result.is-correct{color:var(--color-gold-deep);background:var(--color-gold-soft);border-color:var(--color-gold-deep)}.mc-result.is-wrong{color:var(--color-danger);background:#ef444414;border-color:var(--color-danger)}.mc-points{font-size:1.5rem;font-weight:800;font-family:Nunito,sans-serif;margin-top:var(--space-1)}.installer-window{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:#fff;color:#1a1a1a}.installer-titlebar{display:flex;align-items:center;gap:var(--space-2);background:#e6e6e6;padding:10px 12px;border-bottom:1px solid #cfcfcf}.installer-dots{display:flex;gap:6px}.installer-dots span{width:10px;height:10px;border-radius:50%;background:#b5b5b5}.installer-title{font-size:.9rem;font-weight:600;color:#333}.installer-body{padding:var(--space-4)}.installer-heading{font-size:1.05rem;margin-bottom:var(--space-3);color:#111}.installer-checklist{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-direction:column;gap:10px}.installer-check-row{border:1.5px solid #e2e8f0;border-radius:var(--radius-md);padding:12px 14px;background:#fff;transition:all var(--transition-fast)}.installer-check-row:hover{border-color:#cbd5e1;background:#f8fafc}.installer-check-label{display:flex;align-items:center;gap:12px;font-size:.95rem;font-weight:500;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.installer-check-label input{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}.installer-check-row.is-answer-key{display:flex;align-items:center;justify-content:space-between;gap:10px;border-color:var(--color-success);background:#10b98114}.installer-check-row.is-answer-key .installer-check-label{color:var(--color-success)}.installer-required-badge{flex-shrink:0;background:var(--color-success);color:#fff;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.order-card{display:flex;align-items:center;gap:var(--space-3);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 16px;cursor:grab;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.order-card:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-card)}.order-index{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:800;font-family:Nunito,sans-serif;font-size:.95rem;flex-shrink:0}.order-text{flex:1;font-weight:600;color:var(--color-text)}.order-arrows{display:flex;flex-direction:column;gap:4px}.order-arrow-btn{display:flex;align-items:center;justify-content:center;width:32px;height:26px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.order-arrow-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.order-arrow-btn:disabled{opacity:.3;cursor:not-allowed}.match-diagram{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);justify-content:center;padding:var(--space-3) 0}.match-slot-wrap{display:flex;align-items:center;gap:var(--space-2)}.match-slot{position:relative;min-width:140px;min-height:64px;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-2);border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.match-slot.is-placed{border-style:solid;border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-dim);font-weight:700}.match-slot-clear{position:absolute;top:-8px;right:-8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-text-dim);color:#fff;box-shadow:var(--shadow-sm)}.match-slot.is-correct{border-style:solid;border-color:var(--color-gold-deep);color:var(--color-gold-deep);background:var(--color-gold-soft);animation:lc-flash-correct .9s ease-out;cursor:default}.match-slot.is-wrong{border-style:solid;border-color:var(--color-danger);color:var(--color-danger);background:#ef444414;cursor:default}.match-connector{font-size:.85rem;color:var(--color-text-dim);font-weight:600;white-space:nowrap}.match-pool{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.match-chip{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:10px 18px;font-weight:600;cursor:grab;box-shadow:0 4px 10px #1e2a4a40;transition:all var(--transition-fast)}.match-chip:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 14px #1e2a4a59}.match-chip.is-selected{outline:3px solid var(--color-accent)}.match-chip:active{transform:scale(.95)}.host-match-preview-stack{gap:var(--space-1)}.host-match-diagram{gap:var(--space-1);padding:var(--space-1) 0}.host-match-slot{min-height:52px;padding:6px 12px}.host-match-preview-stack .tally-bars{margin-top:0;gap:var(--space-1)}.host-match-preview-stack .tally-bar-row{padding:8px 16px}.match-success{color:var(--color-gold-deep);font-weight:700;margin:0}.match-result{text-align:center;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border)}.match-result.is-correct{color:var(--color-gold-deep);background:var(--color-gold-soft);border-color:var(--color-gold-deep)}.match-result.is-wrong{color:var(--color-danger);background:#ef444414;border-color:var(--color-danger)}.match-points{font-size:1.5rem;font-weight:800;font-family:Nunito,sans-serif;margin-top:var(--space-1)}.tagpick{--tp-ink: var(--tag-ink, #1b2233);--tp-ink-2: var(--tag-ink-2, #4a5366);--tp-muted: var(--tag-muted, #8a93a3);--tp-mono: var(--tag-font-mono, "JetBrains Mono", ui-monospace, monospace)}.tagpick-title{margin:0;line-height:1.4}.tagpick-hint{margin:0;color:var(--tp-ink-2);font-size:1rem;line-height:1.5}.tagpick-tags{display:flex;flex-wrap:wrap;gap:14px 12px;padding:4px 0}.tagpick-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.tagpick-tag{display:inline-block;background:var(--tp-ink);border:0;padding:3px;margin:0;clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.tagpick-tag>span{position:relative;display:block;background:var(--tag-yellow, #ffd43b);color:var(--tp-ink);font-family:var(--tp-mono);font-weight:700;font-size:1.12rem;line-height:1.2;white-space:pre;padding:11px 16px 11px 28px;clip-path:polygon(12.5px 0,100% 0,100% 100%,12.5px 100%,0 50%)}.tagpick-tag>span:before{content:"";position:absolute;left:10px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--tp-ink)}.tagpick-tag.is-struck>span{background:var(--tp-ink);color:#fff;text-decoration:line-through;text-decoration-thickness:2px}.tagpick-tag.is-struck>span:before{background:#fff}.tagpick-tag.is-struck>span:after{content:" ✗";text-decoration:none;display:inline-block;margin-left:6px}.tagpick-tag:disabled{cursor:default}.tagpick-tag:focus-visible{outline:3px solid var(--tp-ink);outline-offset:3px}.tagpick-count{margin:0;text-align:center;color:var(--tp-ink-2);font-size:.95rem}.tagpick-why{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--tp-ink)}.tagpick-why b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:.78rem;color:#fff;background:var(--tp-ink)}.tagpick-why.is-wrong{color:var(--tp-ink-2)}.tagpick-why.is-wrong b{background:var(--tp-muted)}@media (prefers-reduced-motion: reduce){.tagpick-tag,.tagpick-tag>span{transition:none}}.classify-list{display:flex;flex-direction:column;gap:var(--space-2)}.classify-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);transition:all var(--transition-fast)}.classify-caption{flex:1;min-width:0;font-size:.98rem;font-weight:600;color:var(--color-text);line-height:1.4}.classify-select-wrap{position:relative;flex-shrink:0;display:inline-flex;align-items:center}.classify-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-weight:700;color:var(--color-primary);background:var(--color-surface);border:1.5px solid var(--color-border-hover);border-radius:var(--radius-sm);padding:10px 34px 10px 16px;min-width:108px;cursor:pointer}.classify-select:disabled{opacity:.85;cursor:default}.classify-select-chevron{position:absolute;right:12px;pointer-events:none;color:var(--color-text-muted)}.classify-row.is-correct{border-color:var(--color-gold-deep);background:var(--color-gold-soft)}.classify-row.is-correct .classify-select{border-color:var(--color-gold-deep);color:var(--color-gold-deep)}.classify-row.is-wrong{border-color:var(--color-danger);background:#ef444414}.classify-row.is-wrong .classify-select{border-color:var(--color-danger);color:var(--color-danger)}.classify-mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.classify-row.is-correct .classify-mark{color:var(--color-gold-deep)}.classify-row.is-wrong .classify-mark{color:var(--color-danger)}.classify-success{color:var(--color-gold-deep);font-weight:700;margin:0}.host-classify-preview-stack{gap:var(--space-1)}.host-classify-list{gap:8px}.host-classify-row{padding:10px 18px}.host-classify-count{display:none}.classify-placeholder{flex-shrink:0;font-family:var(--font-num, inherit);font-size:.85rem;font-weight:700;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border-hover);border-radius:var(--radius-sm);padding:6px 14px}.classify-answer-badge{flex-shrink:0;font-family:var(--font-num, inherit);font-size:.95rem;font-weight:800;border-radius:var(--radius-pill);padding:6px 18px}.classify-answer-badge.is-int{background:var(--color-accent-soft);color:var(--color-accent-hover)}.classify-answer-badge.is-float{background:var(--color-gold-soft);color:var(--color-gold-deep)}.expr-list{display:flex;flex-direction:column;gap:var(--space-2)}.expr-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);transition:all var(--transition-fast)}.expr-line{flex:1;min-width:0;display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;color:var(--color-text)}.expr-operand,.expr-target{font-variant-numeric:tabular-nums}.expr-eq{color:var(--color-text-muted)}.expr-target{color:var(--color-accent-hover)}.expr-blank{font:inherit;min-width:62px;padding:6px 10px;border:2px dashed var(--color-border-hover);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.expr-was{margin-right:6px;opacity:.65}.expr-blank.is-filled{border-style:solid;border-color:var(--color-accent);color:var(--color-accent-hover)}.expr-blank.is-active{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.expr-blank:disabled{cursor:default}.expr-row.is-correct{border-color:var(--color-gold-deep);background:var(--color-gold-soft)}.expr-row.is-correct .expr-blank{border-color:var(--color-gold-deep);color:var(--color-gold-deep);border-style:solid}.expr-row.is-wrong{border-color:var(--color-danger);background:#ef444414}.expr-row.is-wrong .expr-blank{border-color:var(--color-danger);color:var(--color-danger);border-style:solid}.expr-mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.expr-row.is-correct .expr-mark{color:var(--color-gold-deep)}.expr-row.is-wrong .expr-mark{color:var(--color-danger)}.expr-note{flex-basis:100%;font-size:.88rem;font-weight:600;color:var(--color-text-dim)}.expr-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.expr-key{font:inherit;font-size:1.25rem;font-weight:800;padding:14px 0;border:1.5px solid var(--color-border-hover);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast)}.expr-key:active{background:var(--color-accent-soft);border-color:var(--color-accent);transform:translateY(1px)}.expr-progress{font-size:.85rem;font-weight:800;color:var(--color-text-muted)}.expr-hint{font-size:.85rem;margin:0}.expr-success{color:var(--color-gold-deep);font-weight:700;margin:0}.host-expr-stack{gap:var(--space-1)}.host-expr-row{display:grid;grid-template-columns:auto 1.1fr;grid-template-areas:"line note" "line dist";align-items:center;column-gap:clamp(16px,2vw,40px);row-gap:4px;padding:clamp(6px,.65vh,11px) clamp(16px,1.6vw,28px);background:var(--color-surface)}.host-expr-row .expr-line{grid-area:line;flex:0 0 auto;font-size:clamp(1.25rem,2.05vw,2.7rem)}.host-expr-row .expr-blank{min-width:70px;cursor:default}.host-expr-row .expr-note{grid-area:note;align-self:end;text-align:left;font-size:clamp(1.05rem,1.5vw,1.95rem)}.host-expr-row .expr-dist{grid-area:dist;align-self:start}.host-expr-stack .expr-success{font-size:clamp(1.05rem,1.5vw,1.95rem)}.expr-dist{display:flex;flex-wrap:wrap;gap:6px}.expr-dist-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 12px;border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1px solid var(--color-border);font-size:clamp(.95rem,1.35vw,1.7rem);font-weight:700;color:var(--color-text-dim)}.expr-dist-chip.is-answer{background:var(--color-gold-soft);border-color:var(--color-gold-deep);color:var(--color-gold-deep)}.expr-dist-count{font-family:var(--font-num, inherit);font-variant-numeric:tabular-nums}.host-expr-waiting{font-size:clamp(1.05rem,1.6vw,2rem);font-weight:700;color:var(--color-text-muted);text-align:center;margin:0}.numeric-expression{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:var(--space-4) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:1.6rem;font-weight:800;color:var(--color-text);font-variant-numeric:tabular-nums}.numeric-eq{color:var(--color-text-muted)}.numeric-slot{min-width:108px;padding:6px 16px;border:2px dashed var(--color-border-hover);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);text-align:center}.numeric-slot.is-filled{border-style:solid;border-color:var(--color-accent);color:var(--color-accent-hover)}.numeric-slot.is-correct{border-color:var(--color-gold-deep);color:var(--color-gold-deep);background:var(--color-gold-soft)}.numeric-slot.is-wrong{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.numeric-hint{margin:0;text-align:center;font-size:.9rem;font-weight:600;color:var(--color-text-dim)}.numeric-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.numeric-key{font:inherit;font-size:1.35rem;font-weight:800;padding:14px 0;border:1.5px solid var(--color-border-hover);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast)}.numeric-key:active{background:var(--color-accent-soft);border-color:var(--color-accent);transform:translateY(1px)}.numeric-key.is-back{grid-column:1 / -1;font-size:1.05rem;padding:10px 0;color:var(--color-danger)}.numeric-reveal{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--space-3);border-radius:var(--radius-md);font-weight:700}.numeric-reveal.is-correct{background:var(--color-gold-soft);color:var(--color-gold-deep)}.numeric-reveal.is-wrong{background:var(--color-danger-soft);color:var(--color-danger)}.numeric-reveal-mark{display:flex}.numeric-note{margin:0;font-size:.92rem;font-weight:600;line-height:1.55;color:var(--color-text-dim)}.host-numeric-stack{gap:var(--space-3)}.host-numeric-expression{font-size:clamp(2rem,4.4vw,5rem);padding:var(--space-4);background:var(--color-surface)}.host-numeric-expression .numeric-slot{min-width:160px}.host-numeric-values{display:flex;flex-direction:column;gap:8px}.host-numeric-value-row{display:grid;grid-template-columns:minmax(120px,160px) 1fr auto;align-items:center;gap:var(--space-3)}.host-numeric-value{font-family:var(--font-num, inherit);font-size:clamp(1.2rem,2.1vw,2.7rem);font-weight:800;text-align:right;color:var(--color-text-dim);font-variant-numeric:tabular-nums}.host-numeric-value-row.is-answer .host-numeric-value{color:var(--color-gold-deep)}.host-numeric-track{display:block;height:clamp(20px,1.6vw,30px);border-radius:var(--radius-pill);background:var(--color-surface-alt);overflow:hidden}.host-numeric-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--color-text-muted);transition:width var(--transition-base, .3s) ease}.host-numeric-value-row.is-answer .host-numeric-fill{background:var(--color-gold-deep)}.host-numeric-count{font-family:var(--font-num, inherit);font-size:clamp(1rem,1.55vw,1.95rem);font-weight:700;color:var(--color-text-dim);white-space:nowrap}.host-numeric-note{font-size:clamp(1.05rem,1.65vw,2.1rem);font-weight:600;line-height:1.5;color:var(--color-text-dim);text-align:center;margin:0}.play-page{padding-top:var(--space-3);background:radial-gradient(520px circle at 0% -5%,rgba(58,109,240,.07),transparent 55%),radial-gradient(420px circle at 100% 0%,rgba(246,196,69,.08),transparent 55%),var(--color-bg)}.play-header{width:100%;max-width:520px;padding:10px 16px;margin-bottom:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.play-nickname{font-size:1rem;font-weight:700;color:var(--color-text);margin-left:6px}.play-stats{gap:8px}.stat-pill{padding:4px 10px;border-radius:var(--radius-pill);font-size:.85rem;font-weight:700}.star-pill{background:var(--color-gold-soft);color:var(--color-gold-deep);gap:4px}.score-pill{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}.play-lesson-bar{width:100%;max-width:520px;margin:0 auto var(--space-3);padding:6px 14px}.play-lesson-unit{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-deep)}.play-lesson-progress{font-size:.82rem;font-weight:800;color:var(--color-text-dim)}.play-objective{align-self:flex-start;animation:lc-rise-in var(--transition-base) var(--ease-spring) both}.play-waiting-card{padding:var(--space-5) var(--space-4);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);align-items:center}.play-waiting-pulse{width:46px;height:46px;border-radius:50%;background:var(--color-accent-soft);position:relative;margin-bottom:var(--space-2)}.play-waiting-pulse:before,.play-waiting-pulse:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--color-accent);animation:lc-waiting-ring 2.2s ease-out infinite}.play-waiting-pulse:after{animation-delay:1.1s}@keyframes lc-waiting-ring{0%{transform:scale(.5);opacity:.9}to{transform:scale(1.9);opacity:0}}.play-page main>.card,.play-page main>.mc-question{animation:lc-rise-in var(--transition-base) var(--ease-spring) both}.play-speed-hint{text-align:center;font-size:.85rem;font-weight:700;color:var(--color-gold-deep);background:var(--color-gold-soft);border-radius:var(--radius-pill);padding:7px 14px;margin:0}.play-answer-result{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);animation:lc-pop-in .26s var(--ease-spring) both}.play-answer-result.is-correct{color:var(--color-gold-deep);background:var(--color-gold-soft);border-color:var(--color-gold-deep)}.play-answer-result.is-partial{color:var(--color-accent-hover);background:var(--color-accent-soft);border-color:var(--color-accent)}.play-answer-result.is-wrong{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger)}.play-answer-result strong{font-size:1.1rem}.play-answer-points{font-size:1.6rem;font-weight:900}.ssv{position:relative;min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4);text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none}.ssv-eyes h2{font-size:1.5rem;margin:6px 0}.ssv-eyes p{font-size:.82rem;margin:0}.ssv-unit{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-deep)}.ssv-meter{display:flex;gap:12px;width:100%;max-width:360px}.ssv-meter-btn{flex:1;padding:18px 12px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-surface);font-size:1.05rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);color:var(--color-text)}.ssv-meter-btn:active{transform:scale(.96)}.ssv-meter-btn.is-ok.is-active{background:var(--color-success);border-color:var(--color-success);color:#fff}.ssv-meter-btn.is-confused.is-active{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.ssv-hand{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:var(--radius-pill);border:2px solid var(--color-border);background:var(--color-surface);font-size:.98rem;font-weight:800;cursor:pointer;color:var(--color-navy);transition:transform var(--transition-fast)}.ssv-hand:active{transform:scale(.96)}.ssv-hand.is-sent{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.ssv-tray{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-elevated);z-index:20;animation:lc-pop-in .16s var(--ease-spring) both}.ssv-tray button{border:none;background:none;font-size:1.8rem;line-height:1;padding:4px;cursor:pointer}.ssv-tray-close{font-size:1rem!important;color:var(--color-text-muted)}.ssv-hearts{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:25}.ssv-hearts span{position:absolute;font-size:2.4rem;transform:translate(-50%,-50%);animation:ssv-heart 1s ease-out forwards}@keyframes ssv-heart{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}20%{opacity:1;transform:translate(-50%,-60%) scale(1.2)}to{opacity:0;transform:translate(-50%,-220%) scale(.9)}}.play-result-card{padding:var(--space-5) var(--space-4);border-radius:var(--radius-xl);border-top:4px solid var(--color-gold);align-items:center;animation:lc-pop-in .34s var(--ease-spring) both}.play-result-kicker{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-deep)}.play-result-rank{display:flex;flex-direction:column;align-items:center;gap:2px}.play-result-rank-num{font-size:clamp(2.6rem,14vw,3.6rem);font-weight:900;color:var(--color-navy);line-height:1}.play-result-stats{gap:8px;flex-wrap:wrap;justify-content:center}.play-page[data-theme=tag]{--tag-paper: #fff9db;--tag-ink: #1b2233;--tag-ink-2: #4a5366;--tag-int: #1971c2;--tag-float: #e8590c;--tag-yellow: #ffd43b;--tag-code-bg: #ffffff;--tag-muted: #8a93a3;--tag-line: #c9cfd8;--tag-font-head: "Anuphan", "IBM Plex Sans Thai Looped", system-ui, sans-serif;--tag-font-body: "IBM Plex Sans Thai Looped", "Anuphan", system-ui, sans-serif;--tag-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--color-bg: var(--tag-paper);--color-text: var(--tag-ink);--color-text-dim: var(--tag-ink-2);--color-text-muted: var(--tag-ink-2);--color-navy: var(--tag-ink);--color-primary: var(--tag-ink);--color-primary-hover: #0f1522;--color-accent: var(--tag-ink);--color-gold: var(--tag-ink);--color-gold-deep: var(--tag-ink);--color-gold-soft: var(--tag-code-bg);--color-correct: var(--tag-ink);--color-success: var(--tag-ink);--color-border: var(--tag-line);--shadow-card: none;--shadow-sm: none;--shape-0: #087f5b;--shape-1: #087f5b;--shape-2: #087f5b;--shape-3: #087f5b;--font-num: var(--tag-font-mono);background:#fff9db;color:var(--tag-ink);font-family:var(--tag-font-body)}.play-page[data-theme=tag] :is(h1,h2,h3){font-family:var(--tag-font-head);letter-spacing:0}.play-page[data-theme=tag] .card{border:2px solid var(--tag-ink);border-radius:10px;box-shadow:none}.play-page[data-theme=tag] .q-code{background:#fff;border:2px solid #96f2d7;border-left:6px solid #12b886;color:var(--tag-ink);font-family:var(--tag-font-mono)}.play-page[data-theme=tag] .mc-text{font-family:var(--tag-font-mono)}.play-page[data-theme=tag] .classify-select{font-family:var(--tag-font-mono);color:var(--tag-ink)}.play-page[data-theme=tag] .classify-answer-badge.is-int{background:var(--tag-int);color:#fff}.play-page[data-theme=tag] .classify-answer-badge.is-float{background:var(--tag-float);color:#fff}.play-page[data-theme=tag] .avatar-badge{filter:grayscale(1)}.play-page[data-theme=tag] .q-kicker{background:var(--tag-code-bg);color:var(--tag-ink-2)}.play-page[data-theme=tag] .classify-row{background:#fff;border-color:var(--tag-line)}.play-page[data-theme=tag].is-asking{--shape-0: #e21b3c;--shape-1: #1368ce;--shape-2: #d89e00;--shape-3: #26890c;background:#46178f;min-height:100dvh}.play-page[data-theme=tag].is-asking .play-header,.play-page[data-theme=tag].is-asking .play-lesson-bar,.play-page[data-theme=tag].is-asking .play-lesson-bar *{color:#fff}.play-page[data-theme=tag].is-asking .play-objective{background:#ffffff29;color:#fff;border-color:transparent}.play-page[data-theme=tag].is-asking .play-speed-hint{background:#ffffff29;color:#fff}.play-page[data-theme=tag].is-asking .card{border:0;border-radius:14px;box-shadow:0 6px #00000047}.play-page[data-theme=tag].is-asking .q-kicker{display:none}.play-page[data-theme=tag] .mc-grid{grid-template-columns:1fr 1fr;gap:12px}.play-page[data-theme=tag] .mc-option{flex-direction:column;justify-content:center;gap:8px;min-height:118px;border-radius:8px;padding:14px 10px;font-size:1.3rem;text-align:center;box-shadow:0 6px #0000004d;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.play-page[data-theme=tag] .mc-option .mc-shape{font-size:2rem}.play-page[data-theme=tag] .mc-option:hover:not(:disabled){transform:none;box-shadow:0 6px #0000004d}.play-page[data-theme=tag] .mc-option:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px #0000004d}.play-page[data-theme=tag] .mc-option:disabled{opacity:.35}.play-page[data-theme=tag] .mc-option.is-picked,.play-page[data-theme=tag] .mc-option.is-correct{opacity:1;box-shadow:0 0 0 5px #fff inset,0 6px #0000004d;animation:none}.play-page[data-theme=tag] .mc-option.is-correct:after{content:"✓";font-size:1.4rem}.play-page[data-theme=tag] .mc-option.is-wrong:after{content:"✗";font-size:1.4rem}.play-page[data-theme=tag] .mc-option:nth-child(3){color:var(--tag-ink)}.play-page[data-theme=tag].is-asking .card>p.text-dim.text-center{display:none}.play-page[data-theme=tag] .classify-row{flex-wrap:wrap}.play-page[data-theme=tag] .classify-buttons{display:inline-flex;gap:8px;flex-shrink:0}.play-page[data-theme=tag] .classify-btn{min-width:78px;padding:10px 12px;border-radius:8px;border:3px solid currentColor;background:#fff;font:800 1.1rem var(--tag-font-mono);cursor:pointer;box-shadow:0 4px #0000002e;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.play-page[data-theme=tag] .classify-btn.is-int{color:var(--tag-int)}.play-page[data-theme=tag] .classify-btn.is-float{color:var(--tag-float)}.play-page[data-theme=tag] .classify-btn.is-picked.is-int{background:var(--tag-int);border-color:var(--tag-int);color:#fff}.play-page[data-theme=tag] .classify-btn.is-picked.is-float{background:var(--tag-float);border-color:var(--tag-float);color:#fff}.play-page[data-theme=tag] .classify-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0000002e}.play-page[data-theme=tag] .classify-btn:disabled{cursor:default}.play-page[data-theme=tag] .classify-btn:disabled:not(.is-picked){opacity:.45}.play-page[data-theme=tag] .classify-btn.is-key:disabled{opacity:1;color:#fff;box-shadow:0 0 0 4px #ffd43b,0 4px #0000002e}.play-page[data-theme=tag] .classify-btn.is-key.is-int:disabled{background:var(--tag-int);border-color:var(--tag-int)}.play-page[data-theme=tag] .classify-btn.is-key.is-float:disabled{background:var(--tag-float);border-color:var(--tag-float)}.play-page[data-theme=tag] .classify-btn.is-key:after{content:" ✓"}.play-page[data-theme=tag].is-asking .btn-primary{background:#26890c;border-color:#26890c;font-size:1.15rem;padding:14px;box-shadow:0 5px #1b6008}.play-page[data-theme=tag].is-asking .btn-primary:disabled{background:#8a93a3;border-color:#8a93a3;box-shadow:0 5px #5c6370}.play-waiting{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;color:#fff;text-align:center;font-size:1.05rem}.play-waiting strong{font-family:var(--tag-font-head);font-size:1.9rem}.play-waiting-dots{display:inline-flex;gap:8px;margin-bottom:6px}.play-waiting-dots i{width:12px;height:12px;border-radius:50%;background:#fff;animation:play-wait 1s infinite ease-in-out}.play-waiting-dots i:nth-child(2){animation-delay:.15s}.play-waiting-dots i:nth-child(3){animation-delay:.3s}@keyframes play-wait{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.play-page[data-theme=tag] .play-answer-result{border:0;border-radius:14px;padding:22px 16px;gap:6px;box-shadow:0 6px #00000047}.play-page[data-theme=tag] .play-answer-result strong{font-family:var(--tag-font-head);font-size:2rem}.play-page[data-theme=tag] .play-answer-result.is-correct{background:#26890c;color:#fff}.play-page[data-theme=tag] .play-answer-result.is-correct strong:before{content:"✓ "}.play-page[data-theme=tag] .play-answer-result.is-wrong{background:#e21b3c;color:#fff}.play-page[data-theme=tag] .play-answer-result.is-wrong strong:before{content:"✗ "}.play-page[data-theme=tag] .play-answer-result.is-partial{background:#ffd43b;color:#1b2233}.play-page[data-theme=tag] .play-answer-points{font-size:1.5rem;background:#0000002e;border-radius:999px;padding:2px 16px}.play-page[data-theme=tag] .play-answer-result.is-partial .play-answer-points{background:#00000014}.play-answer-rank{font-size:1.05rem}.play-answer-rank b{font-size:1.3rem}@media (prefers-reduced-motion: reduce){.play-waiting-dots i{animation:none;opacity:1}}.join-page[data-theme=tag]{--tag-ink: #1b2233;--tag-ink-2: #4a5366;--color-text: var(--tag-ink);--color-text-dim: var(--tag-ink-2);background:#fff9db;color:var(--tag-ink);font-family:IBM Plex Sans Thai Looped,Anuphan,system-ui,sans-serif}.join-page[data-theme=tag] .join-orb{display:none}.join-page[data-theme=tag] :is(h1,h2){font-family:Anuphan,IBM Plex Sans Thai Looped,system-ui,sans-serif;letter-spacing:0}.join-page[data-theme=tag] .join-card-accent{border:3px solid var(--tag-ink);border-radius:16px;box-shadow:0 6px #1b22332e;padding-top:calc(var(--space-4) + 10px)}.join-page[data-theme=tag] .join-card-accent:before{height:10px;background:#fab005}.join-page[data-theme=tag] .lesson-intro-unit{background:#ffd43b;color:var(--tag-ink);border:2px solid var(--tag-ink);border-radius:6px;letter-spacing:0;text-transform:none;font-size:.85rem}.join-page[data-theme=tag] .lesson-intro-objectives{background:#fff;border:2px solid #ffe066}.join-page[data-theme=tag] .lesson-intro-objectives-label{letter-spacing:0;text-transform:none;font-size:.85rem;color:var(--tag-ink-2)}.join-page[data-theme=tag] .lesson-intro-objectives li:nth-child(1)::marker{color:#087f5b;font-weight:800}.join-page[data-theme=tag] .lesson-intro-objectives li:nth-child(2)::marker{color:#862e9c;font-weight:800}.join-page[data-theme=tag] .btn-primary{background:#ffd43b;border:3px solid var(--tag-ink);color:var(--tag-ink);border-radius:12px;box-shadow:0 5px 0 var(--tag-ink);font-weight:700}.join-page[data-theme=tag] .btn-primary:hover:not(:disabled){background:#fcc419}.join-page[data-theme=tag] .btn-primary:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--tag-ink)}.join-page[data-theme=tag] .text-accent{color:var(--tag-ink)}.join-page[data-theme=tag] #nickname{background:#ffd43b;border:3px solid var(--tag-ink);border-radius:6px;color:var(--tag-ink);font-family:JetBrains Mono,IBM Plex Sans Thai Looped,ui-monospace,monospace;font-weight:700;font-size:1.15rem}.join-page[data-theme=tag] #nickname::placeholder{color:#1b22338c;font-family:IBM Plex Sans Thai Looped,system-ui,sans-serif;font-weight:500}.join-page{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4) var(--space-3);overflow:hidden;background:radial-gradient(560px circle at 10% -8%,rgba(30,42,74,.14),transparent 60%),radial-gradient(480px circle at 105% 0%,rgba(58,109,240,.12),transparent 55%),radial-gradient(420px circle at 90% 105%,rgba(246,196,69,.09),transparent 55%),var(--color-bg)}.join-orb{position:absolute;display:block;border-radius:50%;pointer-events:none;opacity:.55;z-index:0}.join-orb-a{width:90px;height:90px;top:-2%;left:-12%;background:radial-gradient(circle at 32% 32%,#a5b4fc,transparent 72%);animation:join-drift 7s ease-in-out infinite}.join-orb-b{width:56px;height:56px;top:10%;right:-10%;background:radial-gradient(circle at 32% 32%,#7dd3fc,transparent 72%);animation:join-drift 9s ease-in-out infinite reverse}.join-orb-c{width:50px;height:50px;bottom:6%;left:-9%;background:radial-gradient(circle at 32% 32%,#fcd34d,transparent 72%);animation:join-drift 8s ease-in-out infinite}@keyframes join-drift{0%,to{transform:translate(0)}50%{transform:translate(10px,-16px)}}.join-card-wrap{position:relative;z-index:1;width:100%}.join-card-accent{position:relative;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated)}.join-card-accent:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent),#f6c445)}.join-card{padding:var(--space-5)}.join-pin-field label{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:.88rem}.join-pin-field .join-pin-input{width:100%;text-align:center;font-family:Kanit,monospace;font-size:clamp(1.4rem,5vw,2rem);font-weight:800;letter-spacing:.26em;text-transform:uppercase;padding:15px 12px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-primary)}.join-pin-field .join-pin-input::placeholder{color:var(--color-text-muted);letter-spacing:.18em;font-weight:700;opacity:.55}.join-pin-field .join-pin-input:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 4px #1e2a4a29}.join-cta.btn-primary{border-radius:999px;padding:13px 22px;font-size:1rem;background:linear-gradient(120deg,var(--color-primary),var(--color-accent));box-shadow:0 10px 24px -8px #1e2a4a73}.join-cta.btn-primary:hover{background:linear-gradient(120deg,var(--color-primary-hover),var(--color-accent));box-shadow:0 14px 28px -8px #1e2a4a80}.join-cta svg{transition:transform var(--transition-fast)}.join-cta:hover svg{transform:translate(3px)}@media (max-width: 480px){.page{padding:var(--space-3)}}.lesson-intro{padding:var(--space-5) var(--space-4);animation:lc-rise-in var(--transition-slow) var(--ease-spring) both}.lesson-intro-head{text-align:left}.lesson-intro-unit{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-deep);background:var(--color-gold-soft);padding:4px 12px;border-radius:var(--radius-pill);margin-bottom:var(--space-2)}.lesson-intro-title{font-size:clamp(1.3rem,5vw,1.7rem);line-height:1.3;margin:0 0 6px}.lesson-intro-sub{font-size:.9rem;margin:0}.lesson-intro-meta{gap:10px;flex-wrap:wrap;font-size:.82rem;font-weight:700}.lesson-intro-teacher{color:var(--color-text-dim)}.lesson-intro-count{color:var(--color-navy);background:var(--color-surface-alt);padding:3px 10px;border-radius:var(--radius-pill)}.lesson-intro-objectives{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);text-align:left}.lesson-intro-objectives-label{display:block;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:8px}.lesson-intro-objectives ol{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:8px}.lesson-intro-objectives li{font-size:.92rem;font-weight:600;color:var(--color-text);line-height:1.4}.lesson-intro-objectives li::marker{color:var(--color-gold-deep);font-weight:800}.teacher-brand{display:flex;align-items:center;gap:10px;padding:0 var(--space-1)}.teacher-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--color-navy);color:var(--color-gold);font-family:var(--font-num);font-weight:900;font-size:.9rem;letter-spacing:.02em}.teacher-brand-name{font-weight:800;font-size:1rem;color:var(--color-text)}.teacher-room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.teacher-room-item{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 16px;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.teacher-room-item:hover{border-color:var(--color-border-hover);background:var(--color-surface);box-shadow:var(--shadow-sm)}.teacher-room-code{font-family:var(--font-num);font-weight:800;font-size:1.15rem;letter-spacing:.5px;color:var(--color-navy)}.btn-sm{padding:6px 12px;font-size:.82rem}.status-pill{font-size:.75rem;padding:3px 10px;border-radius:var(--radius-pill);font-weight:700}.status-pill.is-online{background:#1f9d5724;color:var(--color-success)}.status-pill.is-offline{background:var(--color-surface-hover);color:var(--color-text-dim)}.teacher-room-reset{color:var(--color-text-dim)}.teacher-room-reset:hover{color:var(--color-danger);border-color:#e0514a59}.teacher-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#141d3380;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-3)}.teacher-modal{width:100%;max-width:420px;animation:lc-pop-in .2s var(--ease-spring) both}.teacher-modal h2{font-size:1.15rem;margin:0}.teacher-modal-check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);font-size:.9rem;font-weight:600;cursor:pointer}.teacher-modal-check input{margin-top:2px;accent-color:var(--color-danger)}.btn-close{background:transparent;border:none;color:var(--color-text-dim);cursor:pointer;padding:4px;display:inline-flex;border-radius:var(--radius-sm)}.teacher-code-input{font-size:1.6rem!important;letter-spacing:.6em;text-align:center;font-family:inherit}.page-wide{width:100%;max-width:900px;margin:0 auto}.history-session{border:1.5px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast)}.history-session.is-open{border-color:var(--color-accent)}.history-session-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:none;cursor:pointer;text-align:left;font:inherit}.history-session-head:hover{background:var(--color-surface-alt)}.history-session-when{display:flex;flex-direction:column;gap:2px;min-width:0}.history-session-when strong{font-size:1rem;color:var(--color-text)}.history-session-when span{font-size:.88rem}.history-session-stats{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.history-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-surface-alt);font-size:.82rem;font-weight:700;color:var(--color-text-dim)}.history-session-body{padding:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface-alt)}.history-table{width:100%;border-collapse:collapse;font-size:.92rem}.history-table th{text-align:left;font-size:.8rem;font-weight:800;color:var(--color-text-muted);padding:6px 10px}.history-table td{padding:8px 10px;border-top:1px solid var(--color-border);color:var(--color-text)}.history-table td.num{font-family:var(--font-num, inherit);font-variant-numeric:tabular-nums}.history-name{font-weight:700}.history-seen-chip{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-gold-soft);color:var(--color-gold-deep);font-size:.75rem;font-weight:700;cursor:help}@media (max-width: 640px){.history-session-head{flex-direction:column;align-items:flex-start}.history-session-stats{justify-content:flex-start}}.menti-container{width:100%;margin-top:var(--space-2)}.menti-top-bar{padding:4px 2px;align-items:center;margin-bottom:var(--space-3)}.menti-total-count{font-size:.9rem;font-weight:600;color:var(--color-text-dim)}.menti-view-toggle{background:#f1f5f9;padding:3px;border-radius:var(--radius-md);gap:2px}.menti-toggle-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;color:var(--color-text-dim);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.menti-toggle-btn:hover{color:var(--color-text)}.menti-toggle-btn.is-active{background:#fff;color:var(--color-primary);box-shadow:0 1px 3px #00000014}.menti-empty-state{padding:var(--space-5) var(--space-4);background:#f8fafc;border:1.5px dashed var(--color-border);border-radius:var(--radius-xl);align-items:center}.menti-radar-spinner{position:relative;width:54px;height:54px;margin:0 auto var(--space-2);display:flex;align-items:center;justify-content:center}.menti-radar-dot{width:10px;height:10px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 12px #1e2a4a80}.menti-radar-circle{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--color-primary);border-radius:50%;animation:mentiPulse 2.4s cubic-bezier(.215,.61,.355,1) infinite;opacity:0}.menti-radar-circle.delay-1{animation-delay:1.2s}@keyframes mentiPulse{0%{transform:scale(.2);opacity:.9}50%{opacity:.4}to{transform:scale(1.4);opacity:0}}.menti-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:var(--space-1) 0;max-height:58vh;overflow-y:auto}.menti-card{position:relative;background:#fff;padding:16px 20px;border-radius:var(--radius-lg);border:1.5px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;min-height:75px;opacity:0;animation:mentiCardAppear .35s cubic-bezier(.16,1,.3,1) forwards;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.menti-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-dim)}@keyframes mentiCardAppear{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.menti-card-text{font-size:clamp(1.1rem,1.4vw,1.3rem);font-weight:600;color:var(--color-text);line-height:1.45;margin:0;word-break:break-word}.menti-card-footer{margin-top:8px;display:flex}.menti-count-pill{display:inline-flex;align-items:center;background:#f1f5f9;color:var(--color-primary);font-weight:700;font-size:.8rem;padding:2px 8px;border-radius:999px}.menti-word-cloud{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4);background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-xl);min-height:200px}.menti-word-chip{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 16px;font-weight:700;color:var(--color-text);box-shadow:0 1px 4px #0000000a;opacity:0;animation:mentiCardAppear .3s ease forwards;transition:all var(--transition-fast)}.menti-word-chip:hover{transform:scale(1.04);border-color:var(--color-primary);color:var(--color-primary)}.menti-cloud-count{color:var(--color-primary);font-size:.85em;margin-left:4px}.host-page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg)}.live-dot{width:8px;height:8px;background:var(--color-success);border-radius:50%;box-shadow:0 0 6px #1f9d5799}.host-main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;overflow-y:auto;padding:var(--space-3) var(--space-4);position:relative;background:radial-gradient(600px circle at 6% -12%,rgba(30,42,74,.08),transparent 55%),radial-gradient(520px circle at 100% -6%,rgba(58,109,240,.07),transparent 55%),radial-gradient(480px circle at 94% 104%,rgba(246,196,69,.06),transparent 55%),var(--color-bg)}.lobby-container{width:100%;max-width:1100px;margin:0 auto;gap:var(--space-4)}.lobby-hero{position:relative;overflow:hidden;padding:var(--space-4) var(--space-5);background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:var(--radius-xl)}.lobby-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent),#f6c445)}.lobby-hero-grid{display:flex;align-items:center;justify-content:center;gap:var(--space-5);flex-wrap:wrap}.lobby-qr-card{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none}.lobby-qr-card:hover{border-color:var(--color-primary);background:#fff;box-shadow:0 8px 24px -4px #1e2a4a33;transform:translateY(-2px)}.lobby-qr-frame{background:#fff;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.lobby-qr-caption{margin-top:10px;font-size:.85rem;font-weight:700;color:var(--color-primary);gap:6px}.lobby-info-column{display:flex;flex-direction:column;align-items:center;text-align:center}.lobby-instruction{font-size:clamp(1.05rem,1.4vw,1.3rem);color:var(--color-text-dim);margin-bottom:var(--space-2)}.lobby-url{color:var(--color-primary);font-weight:700}.lobby-pin-display{display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#1e2a4a12,#3a6df012);border:2px solid rgba(30,42,74,.18);border-radius:var(--radius-lg);padding:16px 44px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.lobby-pin-display:hover{border-color:var(--color-primary);background:linear-gradient(135deg,#1e2a4a1f,#3a6df01f);box-shadow:0 8px 24px -4px #1e2a4a33;transform:translateY(-2px)}.lobby-pin-label{font-size:.82rem;letter-spacing:2px;font-weight:800;color:var(--color-text-muted)}.lobby-pin-value{font-size:clamp(2.6rem,5.5vw,4.8rem);font-family:Nunito,ui-monospace,monospace;font-weight:900;letter-spacing:6px;line-height:1.1;margin:4px 0;color:var(--color-primary);background:linear-gradient(120deg,var(--color-primary),var(--color-accent));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.lobby-pin-hint{font-size:.85rem;color:var(--color-text-dim);font-weight:600}.lobby-header-row{align-items:baseline;padding:0 var(--space-1)}.lobby-title{font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:0}.lobby-count-pill{background:linear-gradient(120deg,var(--color-primary),var(--color-accent));color:#fff;font-size:.95rem;padding:2px 12px;border-radius:999px;font-weight:700;box-shadow:0 3px 8px #1e2a4a4d}.lobby-ready-hint{font-size:.9rem;color:var(--color-text-dim)}.lobby-empty-state{padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(135deg,#1e2a4a0a,#3a6df00a);border:1px dashed var(--color-border);box-shadow:var(--shadow-sm);align-items:center}.radar-spinner{position:relative;width:72px;height:72px;margin:0 auto var(--space-3);display:flex;align-items:center;justify-content:center}.radar-center-dot{width:10px;height:10px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 10px #1e2a4a80}.radar-circle{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--color-primary);border-radius:50%;animation:radarPulse 2.8s cubic-bezier(.215,.61,.355,1) infinite;opacity:0}.radar-circle.delay-1{animation-delay:.9s;border-color:var(--color-accent)}.radar-circle.delay-2{animation-delay:1.8s;border-color:#f6c445}@keyframes radarPulse{0%{transform:scale(.2);opacity:.9}50%{opacity:.4}to{transform:scale(1.5);opacity:0}}.lobby-players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;padding:var(--space-1) 0;max-height:48vh;overflow-y:auto}.lobby-player-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 14px;background:#fff;border:1px solid var(--color-border);border-top:3px solid var(--player-color, var(--color-border));border-radius:var(--radius-md);font-weight:600;text-align:center;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);animation:cardFadeIn .25s ease-out both;overflow:hidden}.lobby-player-card:hover{background:#fff;border-color:#ef444466;transform:translateY(-2px);box-shadow:0 6px 18px #ef44441f}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lobby-player-card.is-offline{opacity:.5}.lobby-avatar-wrap{position:relative;margin-bottom:8px;transition:transform var(--transition-fast)}.player-status-badge{position:absolute;bottom:0;right:-2px;width:10px;height:10px;border-radius:50%;border:2px solid #ffffff}.player-status-badge.online{background:var(--color-success)}.player-status-badge.offline{background:var(--color-text-muted)}.lobby-player-name{font-size:1rem;font-weight:700;color:var(--color-text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-card-hover-actions{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffffff0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:all var(--transition-fast)}.lobby-player-card:hover .lobby-card-hover-actions{opacity:1;pointer-events:auto}.btn-lobby-kick{display:inline-flex;align-items:center;gap:6px;background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:var(--radius-sm);padding:8px 16px;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #dc262626;transition:all var(--transition-fast)}.btn-lobby-kick:hover{background:#dc2626;color:#fff;border-color:#dc2626;box-shadow:0 4px 12px #dc26264d;transform:scale(1.05)}.btn-lobby-kick:active{transform:scale(.96)}.host-question{width:100%;max-width:1050px;background:#fff;padding:var(--space-5) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-card);min-height:280px;display:flex;flex-direction:column;justify-content:center}.host-question-text{font-size:var(--font-projector-question);text-align:center;margin:var(--space-4) 0;font-weight:800;letter-spacing:0;line-height:1.34}.host-answered-count{font-size:var(--font-projector-meta);font-weight:700;color:var(--color-text-dim)}.host-empty h1{font-size:var(--font-projector-question);letter-spacing:0;line-height:1.34}.host-live-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-2)}.host-live-option-card{display:flex;align-items:center;gap:var(--space-3);background:var(--option-color);border-radius:var(--radius-md);padding:clamp(16px,2.2vw,26px) clamp(18px,2.5vw,28px);color:#fff;font-weight:700;font-size:clamp(1.05rem,1.4vw,1.35rem);box-shadow:0 4px 14px #0000001f;transition:all var(--transition-fast)}.host-live-option-shape{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1}.host-live-option-text{flex:1;line-height:1.3}.host-preview-caption{font-size:.95rem}.host-checkbox-preview .installer-window{max-width:560px;margin:0 auto;width:100%;box-shadow:var(--shadow-card)}.host-checkbox-preview .installer-heading,.host-checkbox-preview .installer-check-label{font-size:1.1rem}.host-order-list{max-width:720px;margin:0 auto;width:100%}.host-order-card{cursor:default;font-size:1.1rem;padding:16px 20px}.host-order-card:hover{transform:none;border-color:var(--color-border);box-shadow:var(--shadow-sm)}.host-order-card.is-preview{background:#f8fafc;border-style:dashed}.host-order-card.is-correct-final{border-color:var(--color-success);background:#10b98114}.host-order-card.is-correct-final .order-index{background:var(--color-success)}.host-order-check{color:var(--color-success);flex-shrink:0}.host-match-diagram{padding:var(--space-3) 0 var(--space-4)}.host-match-slot{min-width:190px;min-height:76px;font-size:1.05rem;cursor:default}.host-match-connector{font-size:.95rem}.host-match-pool{padding-bottom:var(--space-2)}.host-match-chip{display:inline-flex;cursor:default;font-size:1rem}.host-match-chip:hover{transform:none;background:var(--color-primary);box-shadow:0 4px 10px #1e2a4a40}.tally-bars{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.tally-bar-row{display:grid;grid-template-columns:minmax(180px,340px) 1fr 8ch;align-items:center;gap:var(--space-3);font-size:var(--font-projector-meta);padding:12px 18px;background:#f8fafc;border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.tally-bar-label{display:flex;align-items:center;gap:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tally-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.correct-badge{background:var(--color-success);color:#fff;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px;flex-shrink:0}.tally-bullet{width:12px;height:12px;border-radius:3px;flex-shrink:0}.tally-bar-track{height:clamp(14px,1.8vw,24px);background:#e2e8f0;border-radius:999px;overflow:hidden}.tally-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.tally-bar-row.is-correct{border-color:var(--color-success);background:#10b9811a;box-shadow:0 2px 8px #10b98126}.tally-bar-row.is-correct .tally-bar-label{color:var(--color-success)}.tally-bar-count{text-align:right;font-weight:800;font-family:Nunito,ui-monospace,monospace}.word-cloud{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:center;padding:var(--space-3)}.word-chip{background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 14px;font-weight:700;color:var(--color-text);box-shadow:var(--shadow-sm)}.qr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-3)}.qr-modal-card{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-elevated);animation:modalPopIn .2s ease-out}@keyframes modalPopIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.qr-modal-header{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.qr-modal-header h2{font-size:1.2rem;font-weight:700;margin-bottom:0}.qr-modal-frame{background:#fff;padding:20px;border-radius:var(--radius-lg);border:2px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;margin:var(--space-2) auto;box-shadow:var(--shadow-card)}.qr-modal-pin-box{background:#f8fafc;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:10px 20px;display:inline-flex;flex-direction:column;align-items:center}.qr-modal-pin-label{font-size:.75rem;letter-spacing:1.5px;font-weight:800;color:var(--color-text-muted)}.qr-modal-pin-value{font-size:2.2rem;font-family:Nunito,ui-monospace,monospace;font-weight:900;letter-spacing:4px;color:var(--color-primary);line-height:1.1}.player-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;justify-content:flex-end}.player-drawer-modal{width:100%;max-width:420px;height:100%;border-radius:0;border-left:1px solid var(--color-border);display:flex;flex-direction:column;animation:slideInRight .2s ease-out;background:#fff;box-shadow:var(--shadow-elevated)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.drawer-header h2{font-size:1.1rem;margin-bottom:0;font-weight:700}.btn-close{background:transparent;border:none;color:var(--color-text-dim);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-close:hover{background:var(--color-surface-alt);color:var(--color-text)}.drawer-player-list{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4);gap:var(--space-2)}.drawer-player-item{padding:10px 12px;background:#f8fafc;border-radius:var(--radius-md);border:1px solid var(--color-border)}.drawer-meta{font-size:.8rem;margin-top:2px;gap:6px}.status-pill{font-size:.75rem;padding:2px 8px;border-radius:999px;font-weight:600}.status-pill.is-online{background:#10b9811f;color:var(--color-success)}.status-pill.is-offline{background:#94a3b82e;color:var(--color-text-dim)}.btn-sm{padding:4px 10px;font-size:.82rem}.btn-danger-outline{background:transparent;border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.btn-danger-outline:hover{background:var(--color-danger);color:#fff}@media (min-width: 769px) and (max-width: 1200px){.host-question-text{font-size:clamp(22px,2.6vw,34px)}.lobby-players-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.host-question{gap:var(--space-4);animation:lc-rise-in var(--transition-slow) var(--ease-spring) both}.host-objective{align-self:center;max-width:100%;font-size:clamp(.85rem,1.1vw,1.05rem);padding:8px 18px 8px 14px}.host-objective-label{font-weight:800;flex-shrink:0}.host-objective-label:after{content:"·";margin:0 6px;opacity:.55}.host-objective-text{font-weight:600}.host-question-text{margin:0}.host-live-options-grid{margin-top:0}.host-live-option-card{border:2px solid rgba(255,255,255,.14)}.host-answer-progress{position:relative;height:34px;border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1px solid var(--color-border);overflow:hidden;display:flex;align-items:center;justify-content:center}.host-answer-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--color-navy),#2c3d68);transition:width var(--transition-slow) var(--ease-spring)}.host-answer-progress-label{position:relative;font-size:.82rem;font-weight:800;color:var(--color-text);background:var(--color-surface);padding:3px 14px;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.tally-bar-row.is-correct{border-color:var(--color-gold-deep);background:var(--color-gold-soft);box-shadow:0 2px 10px -2px var(--color-gold-glow);animation:lc-flash-correct .9s ease-out}.tally-bar-row.is-correct .tally-bar-label{color:var(--color-gold-deep)}.correct-badge{background:var(--color-gold);color:var(--color-navy-deep)}.host-order-card.is-correct-final{border-color:var(--color-gold-deep);background:var(--color-gold-soft)}.host-order-card.is-correct-final .order-index{background:var(--color-gold-deep)}.host-order-check{color:var(--color-gold-deep)}.host-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px var(--space-4);background:var(--color-surface-navy);color:var(--color-on-navy);z-index:10}.host-header-id{display:flex;align-items:center;gap:12px;min-width:0}.host-brand-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:#ffffff14;color:var(--color-gold);font-family:var(--font-num);font-weight:900;font-size:.82rem}.host-header-lesson{display:flex;flex-direction:column;min-width:0;line-height:1.25}.host-header-unit{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold)}.host-header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;color:var(--color-on-navy)}.host-header-status{display:flex;align-items:center;gap:10px;flex-shrink:0}.host-answered-tag{font-size:.9rem;font-weight:800;color:var(--color-on-navy);background:#ffffff1a;padding:5px 12px;border-radius:var(--radius-pill)}.host-phase-tag{font-size:.82rem;font-weight:700;color:var(--color-on-navy-dim)}.host-count-btn{display:inline-flex;align-items:center;gap:7px;background:#ffffff1a;color:var(--color-on-navy);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);padding:5px 12px;font-size:.88rem;font-weight:700;cursor:pointer;transition:background var(--transition-fast)}.host-count-btn:hover{background:#ffffff2e}.host-count-btn .live-dot{box-shadow:0 0 6px #1f9d57e6}.host-progress-rail{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.host-progress-segments{display:flex;gap:4px;flex:1;min-width:0}.host-progress-seg{flex:1;height:8px;min-width:6px;border:none;padding:0;border-radius:var(--radius-pill);background:var(--color-surface-hover);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.host-progress-seg:hover:not(:disabled){transform:scaleY(1.5)}.host-progress-seg.is-done{background:var(--color-navy)}.host-progress-seg.is-current{background:var(--color-gold);box-shadow:0 0 0 3px var(--color-gold-soft)}.host-progress-count{flex-shrink:0;font-size:.85rem;font-weight:800;color:var(--color-text-dim)}.host-console{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 16px -8px #141d331f}.host-console-tools{position:relative;flex-shrink:0}.host-tool-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-dim);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.host-tool-btn:hover,.host-tool-btn.is-open{background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-border-hover)}.host-tools-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.host-tools-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:41;min-width:240px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);padding:6px;display:flex;flex-direction:column;gap:2px;animation:lc-pop-in .16s var(--ease-spring) both}.host-tools-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;color:var(--color-text);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.host-tools-menu button:hover{background:var(--color-surface-alt)}.host-tools-menu button svg{color:var(--color-text-muted);flex-shrink:0}.host-tools-menu button.is-danger{color:var(--color-danger)}.host-tools-menu button.is-danger svg{color:var(--color-danger)}.host-tools-menu button.is-danger:hover{background:var(--color-danger-soft)}.host-tools-menu button:disabled{opacity:.5;cursor:not-allowed}.host-console-actions{display:flex;align-items:center;gap:8px}.host-console-next{min-width:160px}@media (max-width: 768px){.host-console-prev span{display:none}.host-console-next{min-width:0}.host-header-title{max-width:46vw}}.lobby-lesson-banner{text-align:center;animation:lc-rise-in var(--transition-slow) var(--ease-spring) both}.lobby-lesson-unit{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold-deep);background:var(--color-gold-soft);padding:5px 16px;border-radius:var(--radius-pill);margin-bottom:var(--space-2)}.lobby-lesson-title{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.25;margin:0 0 6px}.lobby-lesson-sub{color:var(--color-text-dim);font-size:clamp(.9rem,1.3vw,1.05rem);margin:0}.lobby-hero:before{background:linear-gradient(90deg,var(--color-navy),var(--color-accent) 55%,var(--color-gold))}.lobby-pin-display{background:var(--color-navy);border-color:var(--color-navy-deep)}.lobby-pin-display:hover{background:var(--color-navy-deep);border-color:var(--color-gold)}.lobby-pin-label{color:var(--color-gold)}.lobby-pin-value{color:var(--color-on-navy);background:none;-webkit-text-fill-color:var(--color-on-navy);font-family:var(--font-num)}.lobby-pin-hint{color:var(--color-on-navy-dim)}.lobby-count-pill{background:var(--color-navy);box-shadow:0 3px 8px -2px var(--color-primary-glow)}.lobby-player-card:hover{border-color:var(--color-border-hover);box-shadow:0 8px 20px -8px var(--color-primary-glow)}.lobby-card-hover-actions{background:#ffffffeb}.btn-lobby-kick{background:var(--color-surface);color:var(--color-text-dim);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.btn-lobby-kick:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}@media (max-width: 768px){.host-question-text{font-size:clamp(20px,5vw,26px)}.tally-bar-row{grid-template-columns:120px 1fr 3ch;font-size:.85rem}.lobby-players-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.lobby-player-card{padding:14px 8px}.lobby-hero-grid{flex-direction:column;gap:var(--space-3)}}.leaderboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-3);z-index:50}.leaderboard-panel{width:100%;max-width:640px;max-height:90vh;overflow-y:auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-elevated)}.leaderboard-header{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.leaderboard-header h2{font-size:1.3rem;font-weight:700;margin-bottom:0}.leaderboard-trophy-icon{color:#f59e0b}.podium{display:flex;align-items:flex-end;justify-content:center;gap:12px;min-height:220px;padding:var(--space-3) var(--space-2) 0}.podium-slot{display:flex;flex-direction:column;align-items:center;flex:1;max-width:33%;opacity:0;transform:translateY(16px);transition:all .35s cubic-bezier(.34,1.56,.64,1)}.podium-slot.is-visible{opacity:1;transform:translateY(0)}.podium-avatar-wrap{position:relative;margin-bottom:8px}.podium-rank-badge{position:absolute;top:-4px;right:-6px;width:22px;height:22px;border-radius:50%;font-size:.8rem;font-weight:800;font-family:Nunito,sans-serif;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid #ffffff;box-shadow:var(--shadow-sm)}.podium-rank-badge.rank-1{background:#f59e0b}.podium-rank-badge.rank-2{background:#64748b}.podium-rank-badge.rank-3{background:#b9860f}.podium-name{font-weight:700;font-size:.95rem;text-align:center;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text)}.podium-score{color:var(--color-primary);font-weight:800;font-size:1rem;font-family:Nunito,ui-monospace,monospace}.podium-pts-label{font-size:.75rem;color:var(--color-text-dim);font-weight:600}.podium-block{margin-top:8px;width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;font-weight:800;font-size:1.15rem;color:#fff;box-shadow:0 4px 12px #00000014}.podium-slot-1 .podium-block{height:110px;background:linear-gradient(180deg,#f59e0b,#b9860f)}.podium-slot-2 .podium-block{height:80px;background:linear-gradient(180deg,#94a3b8,#64748b)}.podium-slot-3 .podium-block{height:60px;background:linear-gradient(180deg,#fb923c,#ea580c)}.podium-pillar-rank{font-size:.9rem;font-family:Nunito,sans-serif;letter-spacing:1px}.leaderboard-rest{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.leaderboard-row{background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;transition:all var(--transition-fast)}.leaderboard-row:hover{background:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.leaderboard-rank-num{font-size:.9rem;font-weight:800;font-family:Nunito,sans-serif;color:var(--color-text-muted);width:22px}.leaderboard-name{font-size:.95rem;font-weight:600;margin-left:4px;color:var(--color-text)}.leaderboard-score-wrap{gap:12px}.star-tag{font-size:.82rem;color:#b45309;background:#fef3c7;padding:2px 8px;border-radius:var(--radius-sm);gap:4px;font-weight:700}.leaderboard-points{font-family:Nunito,ui-monospace,monospace;font-size:1rem;min-width:44px;text-align:right;color:var(--color-text)}.btn-star-award{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;color:var(--color-text-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.btn-star-award:hover{background:var(--color-primary-dim);color:var(--color-primary);border-color:var(--color-primary)}.leaderboard-overlay{background:#141d338c}.leaderboard-overlay.is-celebration{background:radial-gradient(1200px circle at 50% 0%,#f6c44538,#141d339e 60%)}.leaderboard-panel{animation:lc-pop-in .34s var(--ease-spring) both;border-top:4px solid var(--color-gold)}.leaderboard-header h2{letter-spacing:0;line-height:1.35}.leaderboard-trophy-icon{color:var(--color-gold-deep)}.podium-score{color:var(--color-navy)}.podium-pts-label{color:var(--color-text-dim);font-weight:700}.podium-stars{font-size:.78rem;font-weight:800;color:var(--color-gold-deep);gap:3px;margin-top:2px}.podium-rank-badge.rank-1{background:var(--color-gold-deep)}.podium-rank-badge.rank-2{background:#7c88a3}.podium-rank-badge.rank-3{background:#b98a3e}.podium-slot-1 .podium-block{background:linear-gradient(180deg,var(--color-gold),var(--color-gold-deep))}.podium-slot-1 .podium-pillar-rank{color:var(--color-navy-deep)}.podium-slot-2 .podium-block{background:linear-gradient(180deg,#aab4c8,#7c88a3)}.podium-slot-3 .podium-block{background:linear-gradient(180deg,#d8ab6b,#b98a3e)}.podium-slot-1 .podium-avatar-wrap{animation:lc-float-soft 3s ease-in-out infinite}.leaderboard-row{border-radius:var(--radius-md)}.leaderboard-points{color:var(--color-navy)}.star-tag{color:var(--color-gold-deep);background:var(--color-gold-soft)}.hand-hero-root{width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vh,24px)}.hand-hero-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.hand-hero-title{font-size:clamp(2rem,3.4vw,3rem);font-weight:900;color:var(--color-navy);margin:0;text-align:center;letter-spacing:0}.hand-hero-subtitle{font-size:clamp(1rem,1.35vw,1.25rem);color:var(--color-text-dim);margin:0;font-weight:600}.hand-hero-card{width:100%;background:#0f172a;border-radius:clamp(20px,2.5vw,32px);overflow:hidden;box-shadow:0 25px 50px -12px #0f172a66;border:1px solid rgba(255,255,255,.12);position:relative}.hand-video-stage{position:relative;width:100%;aspect-ratio:16 / 9;max-height:600px;min-height:440px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#1e293b,#090d16)}.hand-video-feed{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);opacity:0;transition:opacity .3s ease}.hand-video-feed.is-active{opacity:1}.hand-canvas-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hand-glass-hud{position:absolute;top:20px;left:20px;z-index:10;display:inline-flex;align-items:center;gap:12px;background:#0f172abf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(255,255,255,.2);padding:10px 22px;border-radius:var(--radius-pill);box-shadow:0 10px 30px #00000059;color:#fff}.hud-count-value{font-size:clamp(2rem,3.2vw,2.8rem);font-weight:900;color:#38bdf8;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(56,189,248,.6)}.hud-count-unit{font-size:1.15rem;font-weight:800;color:#94a3b8}.hud-gesture-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);padding:6px 14px;border-radius:var(--radius-pill);font-size:1.05rem;font-weight:800;color:#fff}.hand-btn-close-cam{position:absolute;top:20px;right:20px;z-index:10;background:#0f172aa6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);color:#f1f5f9;font-size:.85rem;font-weight:700;padding:8px 16px;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast)}.hand-btn-close-cam:hover{background:#ef4444d9;border-color:#ef4444;color:#fff;transform:scale(1.04)}.hand-cam-start-box{position:relative;z-index:5;text-align:center;align-items:center;gap:16px}.cam-pulse-icon{width:80px;height:80px;border-radius:50%;background:#38bdf81f;border:2px solid rgba(56,189,248,.5);display:flex;align-items:center;justify-content:center;color:#38bdf8;box-shadow:0 0 35px #38bdf840;animation:pulseCamera 2.5s infinite ease-in-out}@keyframes pulseCamera{0%,to{transform:scale(1);box-shadow:0 0 25px #38bdf833}50%{transform:scale(1.06);box-shadow:0 0 45px #38bdf866}}.btn-hero-start{font-size:1.15rem;padding:16px 36px;border-radius:var(--radius-pill);font-weight:800;box-shadow:0 12px 28px -6px #2563eb8c;transition:all var(--transition-fast)}.btn-hero-start:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 16px 35px -6px #2563ebbf}.hand-error-text{color:#fca5a5;font-size:.95rem;margin:0}.animate-pop{animation:popScale .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes popScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.remove-player-btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-dim);font:inherit;font-size:.82rem;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer}.remove-player-btn:hover,.remove-player-btn:focus-visible{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.remove-player-btn.is-armed{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.stop.camtags{display:grid;grid-template-columns:minmax(0,64fr) minmax(0,36fr);gap:clamp(24px,2.6vw,56px);align-items:center;min-height:100%}.camtags-video-col{min-width:0;display:flex;align-items:center;justify-content:center}.camtags-stage{position:relative;width:100%;overflow:hidden;border-radius:14px;border:4px solid var(--tag-ink);background:#1f2147}.camtags-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;transform:scaleX(-1)}.camtags[data-mode=sim] .camtags-video{display:none}.camtags-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.camtags-bones line{stroke:#ffffffd9;stroke-width:.55;stroke-linecap:round}.camtags-bones circle{fill:#fff}.camtags-ruler{stroke:#ff8a4c;stroke-width:1.1;stroke-linecap:round}.camtags-tag{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:.35em;font-size:clamp(1.4rem,2vw,2.8rem);white-space:nowrap;transition:left 90ms linear,top 90ms linear,opacity .2s;pointer-events:none}.camtags-tag.is-gap.is-right{transform:translateY(-50%)}.camtags-tag.is-gap.is-left{transform:translate(-100%,-50%)}.camtags-tag.is-absent{opacity:.35}.camtags-tag .nt{font-size:.82em}.camtags-type{font-size:.62em;background:#fff;border-radius:4px;padding:.1em .4em}.camtags-status,.camtags-demo-chip{position:absolute;margin:0;color:#fff;font-family:var(--tag-font-body);font-weight:600}.camtags-status{top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:clamp(1.3rem,1.6vw,2.2rem)}.camtags-demo-chip{left:16px;bottom:14px;font-size:clamp(1rem,1vw,1.35rem);background:#ffffff24;border:1px solid rgba(255,255,255,.4);border-radius:6px;padding:4px 12px}.camtags-panel{display:flex;flex-direction:column;gap:clamp(18px,2.4vh,40px);min-width:0}.camtags-title{font-size:clamp(2.1rem,3vw,4rem)}.camtags-code{font-size:clamp(1.35rem,1.75vw,2.4rem);line-height:1.7}.camtags-comment{font-weight:600}.camtags-question{margin:0;font-family:var(--tag-font-head);font-weight:700;font-size:clamp(1.7rem,2.3vw,3.1rem);line-height:1.45}.camtags-rule{margin:0;font-family:var(--tag-font-head);font-weight:700;font-size:clamp(1.9rem,2.6vw,3.5rem);line-height:1.4}.camtags-rule .op{color:var(--tag-ink-2)}.camtags-rule-gap{display:inline-block;width:1em}.camtags-preview{display:grid;place-items:center;min-height:100%}@media (prefers-reduced-motion: reduce){.camtags-tag{transition:none}}.tg-nametag .stop-content,.tg-typeof .stop-content{justify-content:flex-start}.tg-bind-stage{--row: 2.6em;--gap: 1.3em;position:relative;display:grid;grid-auto-rows:var(--row);row-gap:var(--gap);padding-left:9.5em;font-size:clamp(2rem,3vw,4rem)}.tg-bind-row{display:flex;align-items:center;gap:.6em;transition:opacity .3s ease-out}.tg-bind-row.is-hidden{visibility:hidden}.tg-bind-row.is-old{opacity:.3}.tg-bind-tag{position:absolute;left:0;top:calc(var(--at) * (var(--row) + var(--gap)));height:var(--row);width:9.2em;display:flex;align-items:center;transition:top .6s cubic-bezier(.3,.7,.2,1)}.tg-bind-tag .nt{font-size:.8em;flex-shrink:0}.tg-bind-string{flex:1;height:0;border-top:.07em dashed var(--tag-ink);margin:0 .2em}.tg-nametag-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,4vw,90px);align-items:center;margin-top:clamp(8px,2vh,40px)}.tg-code{font-size:clamp(1.8rem,2.6vw,3.4rem);line-height:1.8}.tg-code-line.is-hidden{visibility:hidden}.tg-code-line.is-now{font-weight:800}.tg-rule{margin-top:clamp(24px,4vh,64px);background:#fff;border:3px solid var(--tag-ink);border-left:clamp(12px,1.1vw,20px) solid var(--sec);border-radius:10px;padding:clamp(14px,1.6vh,26px) clamp(18px,1.6vw,32px);transition:opacity .3s ease-out}.tg-rule.is-hidden{visibility:hidden;opacity:0}.tg-rule-head{margin:0 0 .5em;font-family:var(--tag-font-head);font-weight:700;font-size:clamp(1.7rem,2.3vw,3.1rem);line-height:1.4}.tg-rule-eg{display:flex;align-items:center;flex-wrap:wrap;gap:.8em 1.2em;font-size:clamp(1.35rem,1.7vw,2.3rem)}.tg-rule-code{padding:.35em .8em}.tg-rule-note{color:var(--tag-ink-2);line-height:1.45}.tg-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,56px);align-items:stretch}.tg-rule-card{display:flex;flex-direction:column;border-top:clamp(12px,1.1vw,20px) solid var(--sec)!important;gap:clamp(18px,3vh,48px);min-height:min(56vh,640px);background:#fff;border:3px solid var(--tag-ink);border-radius:10px;padding:clamp(22px,2vw,44px)}.tg-rule-card-head{margin:0;font-size:clamp(1.85rem,2.35vw,3.2rem);font-weight:700;line-height:1.4}.deck-root[data-theme=tag] .code-panel.tg-rule-card-code{font-size:clamp(1.3rem,1.55vw,2.1rem);line-height:1.65;white-space:pre-wrap}.tg-rule-card-fix{display:flex;align-items:center;gap:.6em;margin-top:auto;font-size:clamp(1.7rem,2vw,2.7rem)}.tg-fix-label{color:var(--tag-ink-2);font-size:.8em;font-weight:600}.tg-tick{display:inline-grid;place-items:center;width:1.4em;height:1.4em;border-radius:50%;background:var(--tag-ink);color:#fff;font-size:.8em}.tg-cm-halves{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,120px);align-items:end}.tg-cm-half{display:flex;flex-direction:column;gap:clamp(18px,2.6vh,44px)}.tg-counted{display:flex;gap:clamp(14px,1.4vw,30px);height:clamp(110px,10vw,200px);align-items:center}.tg-counted-unit{display:grid;place-items:center;width:clamp(88px,7.4vw,150px);aspect-ratio:1;border-radius:12px;background:var(--tag-int);color:#fff;font-family:var(--tag-font-mono);font-weight:800;font-size:clamp(2.6rem,3.6vw,5rem)}.tg-cm-half{background:#fff;border:3px solid var(--tag-ink);border-radius:12px;padding:clamp(20px,2vw,40px)}.tg-ruler{width:100%;max-width:760px;height:clamp(110px,10vw,200px);color:var(--tag-ink)}.tg-ruler-num{font-family:var(--tag-font-mono);font-weight:700;font-size:20px;fill:var(--tag-ink-2)}.tg-ruler-mark{fill:var(--tag-float)}.tg-ruler-markline{stroke:var(--tag-float);stroke-width:5}.tg-cm-label{margin:0;font-size:clamp(1.45rem,1.9vw,2.6rem);font-weight:600;line-height:1.45}.tg-chip{display:flex;align-items:center;flex-wrap:wrap;gap:.45em;font-size:clamp(2rem,2.8vw,3.8rem)}.tg-chip .nt{font-size:.85em}.tg-chip .type-word{font-size:.7em;margin-left:.3em}.tg-typeof-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,4vw,96px);align-items:start;margin-top:clamp(8px,2vh,40px)}.tg-typeof-code{font-size:clamp(1.6rem,2.3vw,3.1rem);line-height:1.75}.tg-typeof-code .is-int{color:var(--tag-int);font-weight:800}.tg-typeof-code .is-float{color:var(--tag-float);font-weight:800}.tg-typeof-note{margin:.9em 0 0;font-size:clamp(1.4rem,1.8vw,2.4rem);font-weight:600;line-height:1.45}.tg-typeof-right{transition:opacity .3s ease-out}.tg-typeof-right.is-hidden{visibility:hidden;opacity:0}.tg-typeof-stage{font-size:clamp(1.8rem,2.6vw,3.5rem);padding-left:7.8em}.tg-typeof-stage .tg-bind-tag{width:7.6em}.tg-typeof-said{font-family:var(--tag-font-mono);font-weight:600;font-size:.62em;color:var(--tag-ink);white-space:nowrap}.tg-typeof-said .out{color:var(--tag-ink-2)}.tg-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(26px,4vh,64px)}.tg-summary-list li{background:#fff;border:3px solid var(--tag-ink);border-left:clamp(12px,1.1vw,20px) solid var(--li-color, var(--sec));border-radius:10px;padding:clamp(14px,1.6vh,26px) clamp(18px,1.6vw,32px);display:grid;grid-template-columns:clamp(280px,21vw,440px) 1fr;align-items:center;gap:clamp(24px,3vw,64px)}.tg-summary-list li:nth-child(1),.tg-summary-list li:nth-child(2){--li-color: #12b886}.tg-summary-list li:nth-child(3){--li-color: #be4bdb}.tg-summary-pic{display:flex;align-items:center;gap:.5em;font-size:clamp(1.6rem,2.1vw,2.9rem)}.tg-summary-pic .nt{font-size:.85em}.tg-mini-string{width:1.6em;border-top:.07em dashed var(--tag-ink)}.tg-summary-text{font-size:clamp(1.55rem,2vw,2.7rem);font-weight:600;line-height:1.45}@media (max-width: 1500px){.tg-summary-list li{grid-template-columns:1fr;gap:clamp(10px,1.6vh,18px)}}.tg-cover{display:grid;grid-template-columns:1.3fr .8fr;gap:clamp(40px,5vw,110px);align-items:center;width:100%;max-width:1760px;min-height:100%;margin:0 auto}.tg-cover-left{display:flex;flex-direction:column;gap:clamp(32px,4.2vh,70px);min-width:0;max-width:50vw}.tg-cover-head{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.tg-cover-unit{position:relative;display:inline-block;padding:.3em 1em .3em 1.9em;margin-bottom:clamp(18px,2.4vh,36px);background:var(--tag-yellow);border:3px solid var(--tag-ink);border-radius:6px;font-family:var(--tag-font-head);font-size:clamp(1.2rem,1.5vw,2rem);font-weight:700;color:var(--tag-ink);transform:rotate(-2deg)}.tg-cover-unit:before{content:"";position:absolute;left:.55em;top:50%;width:.62em;height:.62em;margin-top:-.31em;border-radius:50%;border:2px solid var(--tag-ink);background:var(--tag-paper)}.tg-cover-title{margin:0 0 clamp(14px,1.8vh,26px);font-family:var(--tag-font-head);font-size:clamp(2.9rem,4.5vw,6.2rem);font-weight:800;line-height:1.28;color:var(--tag-ink);white-space:pre-line;word-break:keep-all}.tg-cover-sub{margin:0 0 clamp(10px,1.4vh,20px);font-size:clamp(1.32rem,1.55vw,2.2rem);line-height:1.6;color:var(--tag-ink-2)}.tg-cover-teacher{margin:0;font-size:clamp(1.32rem,1.45vw,2.03rem);font-weight:700;color:var(--tag-ink)}.tg-cover-hang{align-self:start;justify-self:center;width:clamp(320px,26vw,560px);margin-top:calc(-1*clamp(32px,4vw,90px))}.tg-cover-swing{transform-origin:50% 0;animation:tg-cover-swing 3.2s ease-in-out .25s both}.tg-cover-strap{display:block;position:relative;z-index:1;width:100%;height:clamp(90px,15vh,190px);overflow:visible;pointer-events:none}.tg-cover-strap line{stroke:#fff;stroke-width:clamp(8px,.7vw,14px);vector-effect:non-scaling-stroke}.tg-cover-swing .stop-cover-join{width:100%;margin-top:calc(-1*(clamp(18px,1.5vw,30px) + clamp(9px,.7vw,14px)));box-shadow:10px 12px #0a1e3c59}.deck-root[data-theme=tag] .deck-stage[data-kind=cover]{overflow-x:hidden;background:linear-gradient(104deg,transparent 0 59.4%,var(--tag-int) 59.4% 100%)}@keyframes tg-cover-swing{0%{transform:rotate(9deg)}18%{transform:rotate(-6.5deg)}36%{transform:rotate(4.5deg)}54%{transform:rotate(-2.6deg)}72%{transform:rotate(1.4deg)}88%{transform:rotate(-.5deg)}to{transform:rotate(0)}}.stop-cover-names{padding-top:12px}.stop-cover-name{position:relative}.deck-root[data-theme=tag] .stop-cover-name:not(.is-more){animation:tg-name-drop .62s cubic-bezier(.3,1.4,.5,1) both;transform-origin:14px 0}@keyframes tg-name-drop{0%{opacity:0;transform:translateY(-18px) rotate(-9deg)}to{opacity:1;transform:none}}.stop-cover-remove{position:absolute;top:-11px;right:-9px;opacity:0;transition:opacity .12s}.stop-cover-name:hover .stop-cover-remove,.stop-cover-remove:focus-visible,.stop-cover-remove.is-armed{opacity:1}@media (hover: none){.stop-cover-remove{opacity:1}}@media (prefers-reduced-motion: reduce){.tg-cover-swing,.deck-root[data-theme=tag] .stop-cover-name{animation:none}.tg-bind-tag,.tg-bind-row,.tg-rule,.tg-typeof-right{transition:none}}.deck-root[data-theme=tag]{--tag-paper: #f6f7f9;--tag-ink: #1b2233;--tag-ink-2: #4a5366;--tag-int: #1971c2;--tag-float: #e8590c;--tag-yellow: #ffd43b;--tag-code-bg: #ffffff;--tag-muted: #8a93a3;--tag-line: #c9cfd8;--tag-font-head: "Anuphan", "IBM Plex Sans Thai Looped", system-ui, sans-serif;--tag-font-body: "IBM Plex Sans Thai Looped", "Anuphan", system-ui, sans-serif;--tag-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--color-text: var(--tag-ink);--color-text-dim: var(--tag-ink-2);--color-text-muted: var(--tag-ink-2);--color-navy: var(--tag-ink);--color-primary: var(--tag-ink);--color-accent: var(--tag-ink);--color-gold: var(--tag-ink);--color-gold-deep: var(--tag-ink);--color-gold-soft: var(--tag-code-bg);--color-correct: var(--tag-ink);--color-correct-deep: var(--tag-ink);--color-surface: #ffffff;--color-border: var(--tag-line);--shadow-card: none;--shadow-elevated: none;--shadow-sm: none;--shape-0: var(--sec-deep);--shape-1: var(--sec-deep);--shape-2: var(--sec-deep);--shape-3: var(--sec-deep);--sec: #fab005;--sec-soft: #fff9db;--sec-mid: #ffe066;--sec-deep: #e67700;--font-display: var(--tag-font-head);--font-num: var(--tag-font-mono);--font-mono: var(--tag-font-mono);background:var(--sec-soft);color:var(--tag-ink);font-family:var(--tag-font-body);transition:background .4s ease-out}.deck-root[data-theme=tag]:has(.deck-stage[data-part="1"]){--sec: #12b886;--sec-soft: #e6fcf5;--sec-mid: #96f2d7;--sec-deep: #087f5b}.deck-root[data-theme=tag]:has(.deck-stage[data-part="2"]){--sec: #be4bdb;--sec-soft: #f8f0fc;--sec-mid: #eebefa;--sec-deep: #862e9c}.deck-root[data-theme=tag] .tag-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.deck-root[data-theme=tag] .tag-backdrop-band{position:absolute;left:0;right:0;top:0;height:clamp(10px,1vh,18px);background:var(--sec)}.deck-root[data-theme=tag] .tag-backdrop-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.deck-root[data-theme=tag] .tag-backdrop-tag{fill:var(--sec);opacity:.09}.deck-root[data-theme=tag] .tag-backdrop-hole{fill:var(--sec-soft)}.deck-root[data-theme=tag] :is(h1,h2,h3,.stop-title,.stop-cover-title,.pq-question){font-family:var(--tag-font-head);letter-spacing:0}.deck-root[data-theme=tag] .stop-kicker{background:none;padding:0;color:var(--tag-ink-2);letter-spacing:0;text-transform:none;font-family:var(--tag-font-body);font-weight:600;font-size:clamp(1.15rem,1.25vw,1.8rem)}.deck-root[data-theme=tag] .stop-title{font-weight:700;color:var(--tag-ink)}.deck-root[data-theme=tag] .nt{display:inline-block;background:var(--tag-ink);padding:.12em;clip-path:polygon(.62em 0,100% 0,100% 100%,.62em 100%,0 50%);font-family:var(--tag-font-mono);font-weight:700;line-height:1.2;vertical-align:middle;white-space:nowrap}.deck-root[data-theme=tag] .nt>span{position:relative;display:block;background:var(--tag-yellow);color:var(--tag-ink);padding:.32em .6em .32em 1.15em;clip-path:polygon(.52em 0,100% 0,100% 100%,.52em 100%,0 50%)}.deck-root[data-theme=tag] .nt>span:before{content:"";position:absolute;left:.42em;top:50%;width:.26em;height:.26em;margin-top:-.13em;border-radius:50%;background:var(--tag-ink)}.deck-root[data-theme=tag] .nt.is-absent{opacity:.35}.deck-root[data-theme=tag] .nt.is-struck{background:var(--tag-muted)}.deck-root[data-theme=tag] .nt.is-struck>span{background:#f1f3f5;color:var(--tag-muted);text-decoration:line-through;text-decoration-thickness:.08em}.deck-root[data-theme=tag] .nt.is-struck>span:before{background:var(--tag-muted)}.deck-root[data-theme=tag] .val{display:inline-block;font-family:var(--tag-font-mono);font-weight:800;line-height:1.2;color:#fff;background:var(--tag-ink);padding:.18em .45em;border-radius:.14em;vertical-align:middle;white-space:nowrap}.deck-root[data-theme=tag] .val.is-int{background:var(--tag-int)}.deck-root[data-theme=tag] .val.is-float{background:var(--tag-float)}.deck-root[data-theme=tag] .val .dot{font-size:1.3em;line-height:0;color:#ffe1cf}.deck-root[data-theme=tag] .type-word{font-family:var(--tag-font-mono);font-weight:800}.deck-root[data-theme=tag] .type-word.is-int{color:var(--tag-int)}.deck-root[data-theme=tag] .type-word.is-float{color:var(--tag-float)}.deck-root[data-theme=tag] .code-panel{background:var(--tag-code-bg);border:2px solid var(--sec-mid);border-left:.4em solid var(--sec);border-radius:8px;padding:.9em 1.1em;font-family:var(--tag-font-mono);font-weight:500;line-height:1.7;white-space:pre;color:var(--tag-ink)}.deck-root[data-theme=tag] .code-panel .op,.deck-root[data-theme=tag] .code-panel .out{color:var(--tag-ink-2)}.deck-root[data-theme=tag] .code-panel .is-int{color:var(--tag-int);font-weight:800}.deck-root[data-theme=tag] .code-panel .is-float{color:var(--tag-float);font-weight:800}.deck-root[data-theme=tag] .stop-cover-title{font-weight:700;color:var(--tag-ink)}.deck-root[data-theme=tag] .stop-cover-sub{color:var(--tag-ink-2)}.deck-root[data-theme=tag] .stop-cover-teacher{color:var(--tag-ink);font-weight:600}.deck-root[data-theme=tag] .stop-cover-roster-count{color:var(--tag-ink);font-weight:800}.deck-root[data-theme=tag] .stop-cover-name{border:2px solid var(--tag-ink);border-radius:6px;font-family:var(--tag-font-body);font-weight:600;animation:none}.deck-root[data-theme=tag] .avatar-badge{filter:grayscale(1)}.deck-root[data-theme=tag] .stop-cover-join{position:relative;background:#fff;border:4px solid var(--tag-ink);border-radius:10px;padding-top:clamp(56px,4.6vw,92px);transition:none}.deck-root[data-theme=tag] .stop-cover-join:before{content:"";position:absolute;top:clamp(18px,1.5vw,30px);left:50%;width:clamp(18px,1.4vw,28px);height:clamp(18px,1.4vw,28px);margin-left:calc(clamp(18px,1.4vw,28px)/-2);border-radius:50%;border:3px solid var(--tag-ink);background:var(--tag-paper)}.deck-root[data-theme=tag] .stop-cover-join:hover{transform:none}.deck-root[data-theme=tag] .stop-cover-qr{padding:0;border-radius:0}.deck-root[data-theme=tag] .stop-cover-pin{color:var(--tag-ink)}.deck-root[data-theme=tag] .stop-cover-pin-label{color:var(--tag-ink-2);letter-spacing:0;text-transform:none;font-size:clamp(1.05rem,1.1vw,1.5rem);font-weight:600;font-family:var(--tag-font-body)}.deck-root[data-theme=tag] .stop-cover-pin-value{letter-spacing:.04em;font-weight:800}.deck-root[data-theme=tag] .stop-cover-pin-alt{color:var(--tag-ink-2);font-size:clamp(.95rem,.9vw,1.2rem)}.deck-root[data-theme=tag] .stop-obj-card{border:3px solid var(--tag-ink);border-radius:10px;transition:none}.deck-root[data-theme=tag] .stop-obj-card:hover{transform:none}.deck-root[data-theme=tag] .stop-obj-icon{background:var(--tag-ink);color:#fff;border-radius:10px}.deck-root[data-theme=tag] .stop-obj-num{color:var(--tag-ink-2);opacity:1;font-weight:800}.deck-root[data-theme=tag] .stop-obj-card h2{color:var(--tag-ink);font-weight:700}.deck-root[data-theme=tag] .stop-obj-card p{color:var(--tag-ink-2)}.deck-root[data-theme=tag] .deck-stage:has(.stop-divider){background:none}.deck-root[data-theme=tag] .stop-divider h1{color:var(--tag-ink)}.deck-root[data-theme=tag] .stop-outro p{color:var(--tag-ink-2)}.deck-root[data-theme=tag] .stop-outro-credit{color:var(--tag-ink-2);opacity:1;font-size:clamp(.95rem,.9vw,1.2rem)}.deck-root[data-theme=tag]{--color-success: var(--tag-ink)}.deck-root[data-theme=tag] .pq-code{font-size:clamp(1.5rem,2.1vw,2.8rem);padding:.7em 1.1em;border-radius:8px;background:var(--tag-code-bg)}.deck-root[data-theme=tag] .correct-badge{background:var(--tag-ink);color:#fff;font-size:clamp(.95rem,1vw,1.3rem);font-family:var(--tag-font-body);padding:3px 12px;box-shadow:none;animation:none}.deck-root[data-theme=tag] .correct-badge:before{content:"✓ "}.deck-root[data-theme=tag] .tally-bar-row.is-correct .tally-bar-label{color:var(--tag-ink)}.deck-root[data-theme=tag] .tally-bar-row:not(.is-correct) .tally-bar-fill{opacity:.4}.deck-root[data-theme=tag] .host-tagpick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vh,64px) clamp(28px,3vw,64px);width:min(100%,1500px);margin:0 auto;text-align:left}.deck-root[data-theme=tag] .host-tagpick-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.5em}.deck-root[data-theme=tag] .host-tagpick .nt{font-size:clamp(1.7rem,2.3vw,3.1rem)}.deck-root[data-theme=tag] .host-tagpick-why{display:inline-flex;align-items:center;gap:.45em;font-size:clamp(1.25rem,1.45vw,1.95rem);font-weight:600;line-height:1.35}.deck-root[data-theme=tag] .host-tagpick-why b{display:inline-grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;background:var(--tag-ink);color:#fff;font-size:.8em;flex-shrink:0}.deck-root[data-theme=tag] .host-tagpick-cell.is-bad .host-tagpick-why b{background:var(--tag-muted)}.deck-root[data-theme=tag] .host-tagpick-count{font-size:clamp(1.1rem,1.2vw,1.6rem);color:var(--tag-ink-2)}.deck-root[data-theme=tag] .host-classify-list{gap:clamp(10px,1.4vh,18px);width:min(100%,1400px);margin:0 auto}.deck-root[data-theme=tag] .host-classify-row{padding:clamp(12px,1.4vh,20px) clamp(18px,1.6vw,30px);background:#fff;border:2px solid var(--tag-line);border-radius:8px;gap:clamp(12px,1.2vw,24px)}.deck-root[data-theme=tag] .host-classify-row .classify-caption{font-size:clamp(1.35rem,1.65vw,2.2rem);font-weight:600;text-align:left}.deck-root[data-theme=tag] .classify-placeholder{font-family:var(--tag-font-mono);font-size:clamp(1.1rem,1.2vw,1.6rem);color:var(--tag-ink-2);background:none;border:2px dashed var(--tag-line)}.deck-root[data-theme=tag] .classify-answer-badge{font-family:var(--tag-font-mono);font-size:clamp(1.3rem,1.5vw,2rem);border-radius:6px;padding:4px 16px;color:#fff;min-width:4.2em;text-align:center}.deck-root[data-theme=tag] .classify-answer-badge.is-int{background:var(--tag-int);color:#fff}.deck-root[data-theme=tag] .classify-answer-badge.is-float{background:var(--tag-float);color:#fff}.deck-root[data-theme=tag] .host-classify-count{display:inline;font-size:clamp(1.05rem,1.15vw,1.55rem);color:var(--tag-ink-2);flex-shrink:0}.deck-root[data-theme=tag] .classify-success{font-size:clamp(1.2rem,1.4vw,1.9rem);color:var(--tag-ink)}.deck-root[data-theme=tag] .stop-cover-join{background:var(--tag-yellow)}.deck-root[data-theme=tag] .stop-cover-join:before{background:var(--sec-soft)}.deck-root[data-theme=tag] .stop-cover-qr{background:#fff;padding:clamp(12px,1vw,20px);border:3px solid var(--tag-ink);border-radius:8px}.deck-root[data-theme=tag] .stop-cover-name{background:#fff}.deck-root[data-theme=tag] .stop-obj-card{border-top-width:clamp(12px,1.1vw,20px)}.deck-root[data-theme=tag] .stop-obj-card:nth-child(1){border-top-color:#12b886}.deck-root[data-theme=tag] .stop-obj-card:nth-child(1) .stop-obj-icon{background:#12b886}.deck-root[data-theme=tag] .stop-obj-card:nth-child(2){border-top-color:#be4bdb}.deck-root[data-theme=tag] .stop-obj-card:nth-child(2) .stop-obj-icon{background:#be4bdb}.deck-root[data-theme=tag] .host-live-option-card{border-radius:12px}.deck-root[data-theme=tag] .pq-progress-fill{background:var(--sec)!important}.deck-root[data-theme=tag] .objective-chip{background:#fff;border:2px solid var(--sec-mid)}.deck-root[data-theme=tag] .host-classify-row{border-color:var(--sec-mid)}.deck-root[data-theme=tag] .stop-results .leaderboard-panel{border-top-color:#fab005}.deck-root[data-theme=tag] .stop-results .leaderboard-trophy-icon{color:#e67700}.deck-root[data-theme=tag] .stop-results .podium-slot-1 .podium-block{background:linear-gradient(180deg,#ffd43b,#fab005)}.deck-root[data-theme=tag] .stop-results .podium-slot-1 .podium-pillar-rank{color:var(--tag-ink)}.deck-root[data-theme=tag] .stop-results .podium-rank-badge.rank-1{background:#e67700}.deck-root[data-theme=tag] .stop-results .podium-slot-1 .podium-avatar-wrap{color:#e67700;background:#fff3bf}.deck-root[data-theme=tag] .stop-results .podium-stars,.deck-root[data-theme=tag] .stop-results .star-tag{color:#e67700}.deck-root[data-theme=tag] .stop-results .avatar-badge{filter:none}.deck-root[data-theme=tag]:has(.deck-stage[data-kind=quiz]){--sec: #46178f;--sec-soft: #46178f;--sec-mid: #ffffff;--sec-deep: #2a0d5e;--shape-0: #e21b3c;--shape-1: #1368ce;--shape-2: #d89e00;--shape-3: #26890c;--color-success: #26890c}.deck-root[data-theme=tag]:has(.deck-stage[data-kind=quiz]) .tag-backdrop-tag{fill:#fff;opacity:.06}.deck-root[data-theme=tag]:has(.deck-stage[data-kind=quiz]) .tag-backdrop-hole{fill:#46178f}.deck-root[data-theme=tag]:has(.deck-stage[data-kind=quiz]) .tag-backdrop-band{background:#ffd43b}.deck-root[data-theme=tag]:has(.deck-stage[data-kind=quiz]) .deck-footer,.deck-root[data-theme=tag]:has(.deck-stage[data-kind=quiz]) .deck-footer .num{color:#fffc}.deck-root[data-theme=tag] .stop-quiz .pq{gap:clamp(12px,1.7vh,34px)}.deck-root[data-theme=tag] .stop-quiz .objective-chip{background:#ffffff29;color:#fff;border:0}.deck-root[data-theme=tag] .stop-quiz .pq-question{background:#fff;color:var(--tag-ink);border-radius:12px;padding:.35em 1.1em;box-shadow:0 8px #00000047;max-width:min(100%,1600px)}.deck-root[data-theme=tag] .stop-quiz .pq-code{border:0;border-left:.4em solid #ffd43b;box-shadow:0 8px #00000047}.deck-root[data-theme=tag] .stop-quiz .pq-hint{color:#ffffffd9}.deck-root[data-theme=tag] .stop-quiz .pq-fastest{background:#fff;color:var(--tag-ink)}.deck-root[data-theme=tag] .stop-quiz .host-live-option-card{border-radius:10px;box-shadow:0 8px #00000047;min-height:clamp(84px,11vh,150px)}.deck-root[data-theme=tag] .stop-quiz .host-live-option-text{font-family:var(--tag-font-mono);font-size:clamp(1.6rem,2.2vw,3rem)}.deck-root[data-theme=tag] .stop-quiz .host-live-option-shape{font-size:clamp(1.8rem,2.4vw,3.2rem)}.deck-root[data-theme=tag] .stop-quiz .host-live-option-card:nth-child(3),.deck-root[data-theme=tag] .stop-quiz .host-live-option-card:nth-child(3) .host-live-option-text,.deck-root[data-theme=tag] .stop-quiz .host-live-option-card:nth-child(3) .host-live-option-shape{color:var(--tag-ink)}.deck-root[data-theme=tag] .stop-quiz .pq-body:has(.tally-bars,.host-tagpick,.host-classify-list){background:#fff;border-radius:16px;padding:clamp(14px,1.6vw,36px);box-shadow:0 8px #00000047;width:min(100%,1600px)}.deck-root[data-theme=tag] .stop-quiz .tally-bar-fill{min-width:6px}.deck-root[data-theme=tag] .stop-quiz .host-classify-list{gap:clamp(6px,.8vh,10px)}.deck-root[data-theme=tag] .stop-quiz .host-classify-row{padding-top:clamp(6px,.8vh,12px);padding-bottom:clamp(6px,.8vh,12px)}@media (max-height: 820px){.deck-root[data-theme=tag] .stop-quiz .pq{gap:10px}.deck-root[data-theme=tag] .stop-quiz .pq-question{font-size:clamp(1.6rem,5.4vh,2.6rem)}.deck-root[data-theme=tag] .stop-quiz .pq-code{font-size:clamp(1.1rem,3vh,1.5rem);padding:.5em .9em}.deck-root[data-theme=tag] .stop-quiz .objective-chip{font-size:.85rem}.deck-root[data-theme=tag] .stop-quiz .tally-bar-row{padding-top:4px;padding-bottom:4px}.deck-root[data-theme=tag] .stop-quiz .host-tagpick{gap:14px 24px}.deck-root[data-theme=tag] .stop-quiz .host-classify-row .classify-caption{font-size:1.15rem}.deck-root[data-theme=tag] .stop-quiz .classify-answer-badge{font-size:1.1rem;padding:2px 12px}.deck-root[data-theme=tag] .stop-quiz .classify-success{font-size:1.05rem;margin:0}.deck-root[data-theme=tag] .stop-quiz .pq-body:has(.tally-bars,.host-tagpick,.host-classify-list){padding:12px 18px}}.deck-root[data-theme=tag] .pq-clock-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(20px,3vw,64px);width:min(100%,1600px)}.deck-root[data-theme=tag] .pq-clock-mid{display:flex;justify-content:center}.deck-root[data-theme=tag] .pq-timer{width:clamp(110px,9vw,180px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#fff;color:#46178f;font-size:clamp(2.8rem,4vw,5.2rem);font-weight:800;box-shadow:0 8px #00000047}.deck-root[data-theme=tag] .pq-timer.is-low{background:#ffd43b;color:var(--tag-ink)}.deck-root[data-theme=tag] .pq-answers{display:flex;flex-direction:column;align-items:center;color:#fff;min-width:clamp(110px,9vw,180px)}.deck-root[data-theme=tag] .pq-answers-num{font-size:clamp(3rem,4.4vw,5.6rem);font-weight:800;line-height:1}.deck-root[data-theme=tag] .pq-answers-label{font-size:clamp(1.15rem,1.3vw,1.8rem);font-weight:600}.deck-root[data-theme=tag] .stop-quiz:has(.pq-clock-row) .pq-progress{display:none}.deck-root[data-theme=tag] .deck-footer{color:var(--tag-ink-2);font-family:var(--tag-font-body);font-size:.85rem}.deck-root[data-theme=tag] .deck-footer .num{color:var(--tag-ink)}@media (prefers-reduced-motion: reduce){.deck-root[data-theme=tag] *{transition:none!important;animation:none!important}}.deck-root{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;overflow:hidden;background:linear-gradient(160deg,var(--deck-wash-1) 0%,var(--deck-wash-2) 100%);display:flex;flex-direction:column;--deck-wash-1: #f5f7fc;--deck-wash-2: #eceff8;--deck-glow-a: rgba(246, 196, 69, .14);--deck-glow-b: rgba(58, 109, 240, .08);transition:background .45s ease-out}.deck-root:has(.deck-stage[data-kind=cover]){--deck-wash-1: #fffdf5;--deck-wash-2: #f0f1fb;--deck-glow-a: rgba(246, 196, 69, .3)}.deck-root:has(.deck-stage[data-kind=objectives]){--deck-wash-1: #f3f8ff;--deck-wash-2: #e9eefb;--deck-glow-b: rgba(58, 109, 240, .16)}.deck-root:has(.deck-stage[data-kind=hook]){--deck-wash-1: #fbf6ff;--deck-wash-2: #eceaf9;--deck-glow-a: rgba(124, 92, 191, .16);--deck-glow-b: rgba(124, 92, 191, .12)}.deck-root:has(.deck-stage[data-kind=step]){--deck-wash-1: #f7f9fd;--deck-wash-2: #eef1f8}.deck-root:has(.deck-stage[data-kind=select-type]){--deck-wash-1: #f2fbf8;--deck-wash-2: #e8f2f3;--deck-glow-a: rgba(23, 162, 162, .16);--deck-glow-b: rgba(23, 162, 162, .1)}.deck-root:has(.deck-stage[data-kind=pipeline]){--deck-wash-1: #f4f7fd;--deck-wash-2: #e8edf8}.deck-root:has(.deck-stage[data-kind=quiz]){--deck-wash-1: #eef2fb;--deck-wash-2: #e2e8f6;--deck-glow-b: rgba(58, 109, 240, .2)}.deck-root:has(.deck-stage[data-kind=glossary]){--deck-wash-1: #fdfaf3;--deck-wash-2: #f1eee6;--deck-glow-a: rgba(185, 134, 15, .18)}.deck-root:has(.deck-stage[data-kind=results]){--deck-wash-1: #fffbef;--deck-wash-2: #f6efdc;--deck-glow-a: rgba(246, 196, 69, .34)}.deck-bg-art{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.deck-bg-glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}.deck-bg-glow-gold{width:clamp(700px,46vw,980px);height:clamp(700px,46vw,980px);right:-140px;bottom:-200px;background:radial-gradient(circle,var(--deck-glow-a) 0%,rgba(246,196,69,.03) 60%,transparent 80%);transition:background .45s ease-out}.deck-bg-glow-blue{width:clamp(600px,40vw,860px);height:clamp(600px,40vw,860px);left:-120px;top:-120px;background:radial-gradient(circle,var(--deck-glow-b) 0%,rgba(30,42,74,.02) 60%,transparent 80%);transition:background .45s ease-out}.deck-bg-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.deck-bg-crossmarks{color:var(--color-navy);opacity:.07;stroke-width:1.5}.deck-bg-watermark-tl{opacity:.045}.deck-bg-watermark-br{opacity:.085}.deck-bg-circuits{opacity:.85}.deck-stage{position:relative;z-index:1;flex:1;min-height:0;display:flex;align-items:stretch;justify-content:center;padding:clamp(32px,4vw,90px) clamp(32px,6vw,96px) clamp(44px,6vh,76px);overflow-y:auto;will-change:transform,opacity;backface-visibility:hidden}.deck-stage[data-direction=forward]{animation:lc-deck-slide-forward .26s cubic-bezier(.22,1,.36,1) both}.deck-stage[data-direction=backward]{animation:lc-deck-slide-backward .26s cubic-bezier(.22,1,.36,1) both}.deck-stage .stop-hd{animation:lc-deck-fade-down .68s cubic-bezier(.22,1,.36,1) 60ms both;will-change:transform,opacity}.deck-stage .stop-obj-card:nth-child(1),.deck-stage .stop-step-card:nth-child(1),.deck-stage .stop-steps-card:nth-child(1),.deck-stage .stop-pipe-card.stage-1,.deck-stage .stop-slip-col{animation:lc-deck-card-rise .72s cubic-bezier(.22,1,.36,1) .12s both;will-change:transform,opacity}.deck-stage .stop-obj-card:nth-child(2),.deck-stage .stop-step-card:nth-child(2),.deck-stage .stop-steps-card:nth-child(2),.deck-stage .stop-pipe-card.stage-2,.deck-stage .stop-hook-form,.deck-stage .stop-hook-guess{animation:lc-deck-card-rise .72s cubic-bezier(.22,1,.36,1) .2s both;will-change:transform,opacity}.deck-stage .stop-obj-card:nth-child(3),.deck-stage .stop-step-card:nth-child(3),.deck-stage .stop-steps-card:nth-child(3),.deck-stage .stop-pipe-card.stage-3,.deck-stage .stop-hook-warn{animation:lc-deck-card-rise .72s cubic-bezier(.22,1,.36,1) .28s both;will-change:transform,opacity}.deck-stage .stop-steps-card:nth-child(4){animation:lc-deck-card-rise .72s cubic-bezier(.22,1,.36,1) .36s both;will-change:transform,opacity}.deck-stage .stop-rule-card:nth-child(1){animation:lc-deck-card-rise .64s cubic-bezier(.22,1,.36,1) 80ms both}.deck-stage .stop-rule-card:nth-child(2){animation:lc-deck-card-rise .64s cubic-bezier(.22,1,.36,1) .14s both}.deck-stage .stop-rule-card:nth-child(3){animation:lc-deck-card-rise .64s cubic-bezier(.22,1,.36,1) .2s both}.deck-stage .stop-rule-card:nth-child(4){animation:lc-deck-card-rise .64s cubic-bezier(.22,1,.36,1) .26s both}.deck-stage .stop-rule-card:nth-child(5){animation:lc-deck-card-rise .64s cubic-bezier(.22,1,.36,1) .32s both}.deck-stage .stop-pipe-arrow,.deck-stage .stop-hook-arrow{animation:lc-deck-arrow-in .7s cubic-bezier(.22,1,.36,1) .24s both;will-change:transform,opacity}.deck-stage .stop-step-aside{animation:lc-deck-aside-in .75s cubic-bezier(.22,1,.36,1) .16s both;will-change:transform,opacity}.deck-stage .stop-glossary-item:nth-child(1){animation:lc-deck-card-rise .68s cubic-bezier(.22,1,.36,1) 90ms both}.deck-stage .stop-glossary-item:nth-child(2){animation:lc-deck-card-rise .68s cubic-bezier(.22,1,.36,1) .16s both}.deck-stage .stop-glossary-item:nth-child(3){animation:lc-deck-card-rise .68s cubic-bezier(.22,1,.36,1) .23s both}.deck-stage .stop-glossary-item:nth-child(4){animation:lc-deck-card-rise .68s cubic-bezier(.22,1,.36,1) .3s both}.deck-stage .stop-glossary-item:nth-child(5){animation:lc-deck-card-rise .68s cubic-bezier(.22,1,.36,1) .37s both}@keyframes lc-deck-slide-forward{0%{opacity:0;transform:translate3d(44px,0,0) scale(.99)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes lc-deck-slide-backward{0%{opacity:0;transform:translate3d(-44px,0,0) scale(.99)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes lc-deck-fade-down{0%{opacity:0;transform:translate3d(0,-12px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes lc-deck-card-rise{0%{opacity:0;transform:translate3d(0,18px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes lc-deck-aside-in{0%{opacity:0;transform:translate3d(24px,12px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes lc-deck-arrow-in{0%{opacity:0;transform:translate3d(-10px,0,0) scale(.94)}to{opacity:1;transform:translateZ(0) scale(1)}}.deck-stage[data-kind=cover],.deck-stage[data-kind=quiz],.deck-stage[data-kind=results]{align-items:center;align-items:safe center}.stop{width:100%;max-width:1760px;margin:0 auto}.stop-fill{min-height:100%;display:flex;flex-direction:column}.stop-hd{flex-shrink:0;margin-bottom:clamp(18px,2.5vh,54px)}.stop-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3vh,48px);min-height:0}.stop-content>.stop-obj-grid,.stop-content>.stop-step-body,.stop-content>.stop-glossary{flex:1;min-height:0;max-height:min(84vh,1200px)}.stop-content>.stop-steps-row,.stop-content>.stop-pipeline{flex:0 0 auto;margin:auto 0}.stop-content>.stop-optable-wrap{flex:0 1 auto;min-height:0}.stop-pad{padding:clamp(9px,2vw,36px) 0}.stop-kicker{display:inline-block;font-size:clamp(.943rem,1vw,1.58rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-deep);background:var(--color-gold-soft);padding:5px 16px;border-radius:var(--radius-pill);margin-bottom:var(--space-3)}.stop-title{font-size:clamp(2.3rem,4vw,5.1rem);line-height:1.3;letter-spacing:0;margin:0}.stop-title-badge{display:inline-block;margin-left:14px;font-size:.45em;font-weight:800;vertical-align:middle;padding:4px 12px;border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-text-dim)}.stop-title-badge.is-warn{background:var(--color-danger-soft);color:var(--color-danger)}.stop-note{display:inline-flex;align-items:center;gap:8px;font-size:clamp(1.03rem,1.2vw,1.65rem);color:var(--color-danger);font-weight:600;margin-bottom:var(--space-4)}.stop-note svg{color:var(--color-gold-deep)}.stop-cover{display:grid;grid-template-columns:1.35fr .8fr;gap:clamp(46px,6vw,132px);align-items:center;width:100%;max-width:1760px;min-height:100%;margin:0 auto}.stop-cover-left{display:flex;flex-direction:column;gap:clamp(37px,4.5vh,78px);min-width:0}.stop-cover-head{display:flex;flex-direction:column;min-width:0}.stop-cover-head .stop-kicker{align-self:flex-start;margin-bottom:clamp(16px,2vh,30px)}.stop-cover-title{font-size:clamp(2.76rem,3.8vw,5.1rem);line-height:1.32;letter-spacing:0;color:var(--color-navy);font-weight:800;margin:0 0 clamp(14px,1.8vh,20px);white-space:pre-line;word-break:keep-all}.stop-cover-sub{font-size:clamp(1.32rem,1.5vw,2.1rem);color:var(--color-text-dim);line-height:1.6;margin:0 0 clamp(12px,1.5vh,18px);max-width:95%}.stop-cover-teacher{font-size:clamp(1.32rem,1.45vw,2.03rem);font-weight:700;color:var(--color-navy);margin:0}.stop-cover-roster{display:flex;flex-direction:column;gap:14px;min-width:0}.stop-cover-roster-head{display:flex;align-items:baseline;gap:12px}.stop-cover-roster-count{font-size:clamp(2.53rem,3.2vw,4.5rem);font-weight:900;color:var(--color-navy);line-height:1}.stop-cover-roster-head .text-dim{font-size:clamp(1.15rem,1.2vw,1.72rem);font-weight:600}.stop-cover-names{display:flex;flex-wrap:wrap;gap:10px;max-height:32vh;overflow-y:auto;align-content:flex-start}.stop-cover-name{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--player-color, var(--color-border));border-radius:var(--radius-pill);font-size:clamp(1.01rem,1.1vw,1.58rem);font-weight:700;color:var(--color-text);box-shadow:var(--shadow-sm);animation:lc-pop-in .2s var(--ease-spring) both}.stop-cover-name.is-more{padding:6px 16px;color:var(--color-text-muted);border-left-color:var(--color-border)}.stop-cover-join{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.2vh,33px);background:var(--color-navy);border:none;border-top:5px solid var(--color-gold);border-radius:var(--radius-xl);padding:clamp(32px,3.2vw,63px);width:clamp(299px,24vw,510px);cursor:pointer;box-shadow:var(--shadow-elevated);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stop-cover-join:hover{transform:translateY(-4px);box-shadow:0 30px 65px -15px #141d3366}.stop-cover-qr{background:#fff;padding:clamp(16px,1.5vw,30px);border-radius:var(--radius-lg);width:100%}.stop-cover-pin{display:flex;flex-direction:column;align-items:center;color:var(--color-on-navy);gap:4px;width:100%}.stop-cover-pin-label{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold)}.stop-cover-pin-value{font-size:clamp(2.76rem,4vw,5.1rem);font-weight:900;letter-spacing:.1em;line-height:1.1}.stop-cover-pin-alt{font-size:.85rem;color:var(--color-on-navy-dim);margin-top:4px}.stop-objectives{width:100%;max-width:1760px;margin:0 auto}.stop-objectives .stop-hd{margin-bottom:clamp(28px,3.5vh,66px)}.stop-objectives .stop-title{font-size:clamp(2.88rem,4vw,5.4rem);font-weight:800}.stop-obj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(32px,4vw,81px);width:100%}.stop-content>.stop-obj-grid{max-height:min(68vh,860px)}.stop-obj-card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;background:var(--color-surface);border:1.5px solid var(--color-border);border-top:5px solid var(--color-navy);border-radius:var(--radius-xl);padding:clamp(41px,4.2vw,81px);box-shadow:var(--shadow-card);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stop-obj-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevated)}.stop-obj-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(28px,3.2vh,57px)}.stop-obj-icon{width:clamp(83px,6.5vw,138px);height:clamp(83px,6.5vw,138px);border-radius:clamp(21px,1.8vw,36px);display:flex;align-items:center;justify-content:center;background:var(--color-navy);color:var(--color-gold)}.stop-obj-num{font-size:clamp(3.68rem,4.8vw,6.75rem);font-weight:900;color:var(--color-text-muted);opacity:.55;line-height:1}.stop-obj-card h2{font-size:clamp(2.24rem,2.7vw,4.05rem);font-weight:800;color:var(--color-navy);margin:0 0 clamp(14px,1.8vh,22px);line-height:1.38}.stop-obj-card p{font-size:clamp(1.44rem,1.65vw,2.33rem);color:var(--color-text-dim);line-height:1.75;margin:0;white-space:pre-line;word-break:keep-all}.stop-overview{max-width:1760px}.stop-steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(21px,2.4vw,45px);width:100%}.stop-step-card{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-top:5px solid var(--color-navy);border-radius:var(--radius-xl);padding:clamp(32px,2.8vw,57px) clamp(20px,2vw,26px);text-align:center;box-shadow:var(--shadow-card);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);min-height:clamp(437px,48vh,675px)}.stop-step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated)}.stop-step-card.is-warn{border-top-color:var(--color-danger);background:linear-gradient(180deg,#fffbfb 0%,var(--color-surface) 100%)}.stop-step-card-head{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:32px;margin-bottom:clamp(16px,1.8vh,30px)}.stop-step-badge{font-size:clamp(2.07rem,2.4vw,3.6rem);font-weight:900;color:var(--color-navy);opacity:.28;line-height:1}.stop-step-tag{font-size:.82rem;font-weight:700;color:var(--color-text-muted);background:var(--color-surface-alt);padding:4px 12px;border-radius:var(--radius-pill);letter-spacing:.02em}.stop-step-warn-pill{font-size:.82rem;font-weight:800;color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;padding:4px 12px;border-radius:var(--radius-pill);letter-spacing:.02em}.stop-step-icon{width:clamp(80px,5.8vw,126px);height:clamp(80px,5.8vw,126px);border-radius:clamp(21px,1.8vw,36px);display:flex;align-items:center;justify-content:center;background:var(--color-navy);color:var(--color-gold);margin:0 auto clamp(16px,2.2vh,22px) auto;box-shadow:0 8px 20px -4px #0f172a33;transition:transform var(--transition-fast);flex-shrink:0}.stop-step-card:hover .stop-step-icon{transform:scale(1.06)}.stop-step-card.is-warn .stop-step-icon{background:#dc2626;color:#fff;box-shadow:0 8px 20px -4px #dc26264d}.stop-step-card h3{font-size:clamp(1.67rem,1.85vw,2.78rem);font-weight:800;color:var(--color-navy);margin:0 0 clamp(10px,1.4vh,14px) 0;line-height:1.38}.stop-step-card p{font-size:clamp(1.21rem,1.25vw,1.83rem);color:var(--color-text-dim);line-height:1.55;margin:0}.stop-step-hint{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:clamp(1.01rem,1.05vw,1.5rem);font-weight:700;background:#0f172a0d;color:var(--color-navy);border:1px solid rgba(15,23,42,.08)}.stop-step-card.is-warn .stop-step-hint{background:#fef2f2;color:#dc2626;border-color:#fecaca}.stop-step{max-width:1860px;width:100%}.stop-step-body{display:grid;grid-template-columns:1fr 1.22fr;gap:clamp(41px,4.5vw,96px);align-items:center}.stop-step-text{min-width:0;align-self:center}.stop-step-headline{font-size:clamp(2.01rem,2.5vw,3.6rem);font-weight:800;margin:0 0 16px;color:var(--color-navy)}.stop-step-lead{font-size:clamp(1.32rem,1.45vw,2.1rem);color:var(--color-text-dim);line-height:1.6;margin:0 0 var(--space-4)}.stop-point-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(21px,2.6vh,39px)}.stop-point-list li{display:flex;gap:clamp(21px,2vw,36px);align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(23px,2.4vh,39px) clamp(22px,2.2vw,30px);box-shadow:0 6px 18px -4px #0f172a14;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stop-point-list li:hover{transform:translate(4px);box-shadow:var(--shadow-card)}.stop-point-list li.is-warn{border-color:#fca5a5;border-left:6px solid #dc2626;background:#fff8f8}.stop-point-icon{flex-shrink:0;width:clamp(71px,4.8vw,111px);height:clamp(71px,4.8vw,111px);border-radius:clamp(18px,1.5vw,30px);display:flex;align-items:center;justify-content:center;background:var(--color-navy);color:var(--color-gold);box-shadow:0 8px 20px -4px #0f172a2e}.stop-point-list li.is-warn .stop-point-icon{background:#fee2e2;color:#dc2626;border:1.5px solid #fca5a5;box-shadow:0 8px 20px -4px #dc262638}.stop-point-content{display:flex;flex-direction:column;gap:6px;min-width:0}.stop-point-list li strong{display:block;font-size:clamp(1.67rem,1.85vw,2.92rem);font-weight:800;color:var(--color-navy);line-height:1.38}.stop-point-list li.is-warn strong{color:#dc2626}.stop-point-body{display:block;font-size:clamp(1.31rem,1.4vw,2.03rem);color:var(--color-text-dim);line-height:1.55}.stop-callout{margin-top:clamp(25px,2.8vh,48px);background:var(--color-danger-soft);border-left:6px solid var(--color-danger);border-radius:var(--radius-lg);padding:clamp(23px,2.4vw,45px)}.stop-callout strong{color:var(--color-danger);display:block;margin-bottom:10px;font-size:clamp(1.44rem,1.6vw,2.47rem);font-weight:800}.stop-callout p{margin:0;color:var(--color-text-dim);font-size:clamp(1.26rem,1.4vw,2.03rem);line-height:1.6}.stop-rule-grid{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:clamp(18px,2vw,39px);width:100%;height:100%}.stop-rule-card{flex:0 1 calc(33.333% - 26px);min-width:320px;max-width:560px;display:flex;flex-direction:column;background:var(--color-surface);border:1.5px solid var(--color-border);border-top:5px solid var(--color-navy);border-radius:var(--radius-lg);padding:clamp(23px,2.2vw,42px);box-shadow:var(--shadow-card)}.stop-rule-card.is-warn{border-top-color:var(--color-danger)}.stop-rule-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(12px,1.4vh,24px)}.stop-rule-icon{width:clamp(51px,3.8vw,78px);height:clamp(51px,3.8vw,78px);border-radius:clamp(14px,1.2vw,24px);display:flex;align-items:center;justify-content:center;background:var(--color-navy);color:var(--color-gold);flex-shrink:0}.stop-rule-card.is-warn .stop-rule-icon{background:#dc2626;color:#fff}.stop-rule-num{font-size:clamp(2.07rem,2.2vw,3.3rem);font-weight:900;color:var(--color-text-muted);opacity:.35;line-height:1}.stop-rule-card h3{font-size:clamp(1.38rem,1.5vw,2.1rem);font-weight:800;color:var(--color-navy);margin:0 0 6px;line-height:1.38}.stop-rule-card.is-warn h3{color:#dc2626}.stop-rule-card p{margin:0;font-size:clamp(1.21rem,1.2vw,1.72rem);font-family:var(--font-num);font-weight:700;color:var(--color-text-dim);line-height:1.4}.stop-shot{margin:0;align-self:center;width:100%;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 32px 80px -20px #141d3373;background:var(--color-navy-deep)}.stop-shot img{display:block;width:100%;height:auto}.stop-terminal{align-self:center;width:100%;background:var(--color-navy-deep);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 32px 80px -20px #141d338c}.stop-terminal-bar{display:flex;align-items:center;gap:10px;padding:15px 22px;background:#26314f}.stop-terminal-bar>span:not(.stop-terminal-title){width:13px;height:13px;border-radius:50%;background:#ffffff38}.stop-terminal-bar>span:first-child{background:#ff5f57}.stop-terminal-bar>span:nth-child(2){background:#febc2e}.stop-terminal-bar>span:nth-child(3){background:#28c840}.stop-terminal-title{margin-left:10px;font-size:.95rem;font-family:var(--font-mono);font-weight:700;color:var(--color-on-navy-dim)}.stop-terminal pre{margin:0;padding:clamp(41px,4vw,84px) clamp(32px,3.5vw,48px);font-family:var(--font-mono);font-size:clamp(1.61rem,2.2vw,3.45rem);line-height:2.2}.stop-terminal .t-in{color:#eef2fb}.stop-terminal .t-prompt{color:#7dd3fc;font-weight:700}.stop-terminal .t-out{color:#4ade80;font-weight:700}.stop-shot.frame-plain{box-shadow:0 24px 50px -18px #141d3359;background:none}.stop-shot-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;background:#2b3653}.stop-shot-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.stop-shot-dot:nth-child(1){background:#ff5f57}.stop-shot-dot:nth-child(2){background:#febc2e}.stop-shot-dot:nth-child(3){background:#28c840}.stop-shot-url{margin-left:10px;flex:1;min-width:0;background:#ffffff1a;color:var(--color-on-navy-dim);border-radius:var(--radius-pill);padding:4px 14px;font-size:.82rem;font-family:var(--font-num);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-installer{align-self:center;width:100%;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 32px 80px -20px #141d3366}.stop-installer-bar{background:linear-gradient(#3f5893,#34497b);color:#fff;padding:16px 24px;font-weight:700;font-size:clamp(1.21rem,1.35vw,1.95rem);display:flex;align-items:center;gap:10px}.stop-installer-icon{display:inline-flex;align-items:center;justify-content:center}.stop-installer-body{padding:clamp(30px,3.2vw,63px);display:flex;flex-direction:column;gap:clamp(21px,2.4vh,39px)}.stop-installer-body label{display:flex;align-items:center;gap:16px;font-size:clamp(1.26rem,1.4vw,2.07rem);line-height:1.4;position:relative}.stop-installer-body .box{flex-shrink:0;width:28px;height:28px;border:2px solid var(--color-border-hover);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:900}.stop-installer-body .box.checked{background:var(--color-gold);border-color:var(--color-gold-deep);color:var(--color-navy-deep)}.stop-installer-body .is-on{font-weight:800;color:var(--color-gold-deep)}.stop-installer-body .is-on .box.checked{box-shadow:0 0 0 4px var(--color-gold-soft)}.stop-installer-flag{margin-left:auto;font-size:.92rem;font-weight:800;color:var(--color-navy-deep);background:var(--color-gold);padding:5px 16px;border-radius:var(--radius-pill)}.stop-installer-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:14px}.btn-fake{background:var(--color-navy);color:#fff;padding:12px 28px;border-radius:var(--radius-sm);font-weight:700;font-size:1.05rem}.btn-fake.ghost{background:var(--color-surface-alt);color:var(--color-text-dim);border:1px solid var(--color-border)}.stop-hook{max-width:1860px}.stop-hook-flow{display:grid;grid-template-columns:.9fr auto 1.1fr;align-items:stretch;gap:clamp(21px,2.2vw,54px)}.stop-slip-col{display:flex;flex-direction:column;align-items:center;gap:clamp(12px,1.4vh,24px);min-width:0}.stop-slip-photo{margin:0;max-height:min(58vh,720px);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card)}.stop-slip-photo img{display:block;width:100%;height:100%;max-height:min(58vh,720px);object-fit:contain;object-position:top}.stop-slip-caption{margin:0;text-align:center;font-size:clamp(1.17rem,1.25vw,1.8rem);font-weight:700;color:var(--color-text-dim)}.stop-hook-guess{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(16px,1.8vh,30px);background:var(--color-surface-alt);border:1.5px dashed var(--color-border-hover);border-radius:var(--radius-xl);padding:clamp(32px,3.4vh,66px) clamp(24px,2.4vw,36px)}.stop-hook-guess-icon{display:flex;align-items:center;justify-content:center;width:clamp(64px,4.4vw,102px);height:clamp(64px,4.4vw,102px);border-radius:50%;background:var(--color-gold-soft);color:var(--color-gold-deep)}.stop-hook-guess p{margin:0;font-size:clamp(1.38rem,1.55vw,2.25rem);font-weight:700;line-height:1.5;color:var(--color-navy);max-width:34ch}.stop-hook-guess .btn-fake{border:none;cursor:pointer;font-size:clamp(1.26rem,1.3vw,1.88rem);padding:13px 32px}.stop-hook-arrow{align-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:180px;text-align:center;color:var(--color-gold-deep);font-size:clamp(1.17rem,1.25vw,1.8rem);font-weight:800;line-height:1.35}.stop-hook-form{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.stop-hook-form-head{display:flex;flex-direction:column;gap:4px;padding:clamp(14px,1.7vh,27px) clamp(20px,2vw,28px);background:var(--color-surface-alt);border-bottom:1.5px solid var(--color-border)}.stop-hook-form-head strong{font-size:clamp(1.38rem,1.5vw,2.25rem);color:var(--color-navy);line-height:1.35}.stop-hook-form-head span{font-size:clamp(1.17rem,1.2vw,1.77rem);color:var(--color-text-dim)}.stop-hook-fields{display:flex;flex-direction:column;gap:clamp(14px,1.8vh,27px);padding:clamp(21px,2.2vh,39px) clamp(20px,2vw,28px)}.stop-hook-field{display:grid;grid-template-columns:1fr auto;column-gap:clamp(14px,1.4vw,30px);row-gap:4px;background:var(--color-surface-alt);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(14px,1.8vh,27px) clamp(16px,1.6vw,24px)}.stop-hook-field-label{grid-column:1;font-size:clamp(1.24rem,1.3vw,1.92rem);font-weight:700;color:var(--color-text-dim)}.stop-hook-field-value{grid-column:1;font-size:clamp(1.84rem,2.3vw,3.3rem);color:var(--color-navy);line-height:1.2}.stop-hook-chip{grid-column:2;grid-row:1 / span 2;align-self:center;padding:7px 20px;border-radius:var(--radius-pill);font-family:var(--font-num);font-size:clamp(1.24rem,1.3vw,1.95rem);font-weight:800}.stop-hook-chip.is-float{background:var(--color-gold-soft);color:var(--color-gold-deep)}.stop-hook-chip.is-int{background:var(--color-accent-soft);color:var(--color-accent-hover)}.stop-hook-field-note{grid-column:1 / -1;font-size:clamp(1.17rem,1.2vw,1.77rem);color:var(--color-text-dim)}.stop-hook-warn{display:flex;align-items:center;gap:clamp(18px,1.8vw,39px);background:var(--color-danger-soft);border-left:6px solid var(--color-danger);border-radius:var(--radius-lg);padding:clamp(16px,2vh,33px) clamp(20px,2.2vw,30px)}.stop-hook-warn-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:clamp(60px,4vw,96px);height:clamp(60px,4vw,96px);border-radius:clamp(16px,1.4vw,27px);background:var(--color-surface);border:1.5px solid #f4b4b0;color:var(--color-danger)}.stop-hook-warn-text{min-width:0}.stop-hook-warn-text strong{display:block;margin-bottom:4px;font-size:clamp(1.49rem,1.6vw,2.47rem);font-weight:800;color:var(--color-danger);line-height:1.35}.stop-hook-warn-text p{margin:0;font-size:clamp(1.24rem,1.3vw,1.92rem);line-height:1.5;color:var(--color-text-dim)}.stop-hook-demo{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:clamp(12px,1vw,24px);white-space:nowrap}.stop-hook-demo .was{font-size:clamp(1.38rem,1.7vw,2.47rem);color:var(--color-text-muted);text-decoration:line-through}.stop-hook-demo .to{font-size:clamp(1.38rem,1.6vw,2.4rem);font-weight:800;color:var(--color-danger)}.stop-hook-demo .now{font-size:clamp(1.72rem,2.2vw,3.15rem);color:var(--color-danger)}.stop-hook-demo .loss{padding:6px 16px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:clamp(1.09rem,1.15vw,1.68rem);font-weight:800}.stop-select-type{max-width:1760px}.stop-select-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,3vw,66px);width:100%;height:100%}.stop-select-col{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-top:5px solid var(--color-navy);border-radius:var(--radius-xl);padding:clamp(25px,2.6vw,48px);box-shadow:var(--shadow-card)}.stop-select-col h3{margin:0 0 6px;font-size:clamp(1.55rem,1.7vw,2.47rem);font-weight:800;color:var(--color-navy);line-height:1.38}.stop-select-col>p{margin:0 0 clamp(14px,2vh,20px);font-size:clamp(1.17rem,1.2vw,1.72rem);color:var(--color-text-dim)}.stop-select-demo{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}.stop-select-replay{margin-top:clamp(14px,1.8vh,27px);display:inline-flex;align-items:center;gap:8px;padding:clamp(9px,1vh,15px) clamp(20px,1.6vw,30px);border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1.5px solid var(--color-border);color:var(--color-text-dim);font-weight:700;font-size:clamp(.98rem,1.05vw,1.4rem);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.stop-select-replay:hover{background:var(--color-navy);color:#fff;border-color:var(--color-navy)}.stop-demo-caption{margin:10px 0 0;font-size:clamp(1.02rem,1.05vw,1.4rem);font-weight:600;color:var(--color-text-muted)}.stop-count-demo{display:flex;flex-direction:column;align-items:center}.stop-count-icons{display:flex;gap:clamp(10px,1vw,18px);margin-bottom:clamp(16px,2vh,30px);color:var(--color-navy)}.stop-count-icon{opacity:0;animation:lc-count-pop .48s cubic-bezier(.34,1.56,.64,1) both}@keyframes lc-count-pop{0%{opacity:0;transform:translateY(10px) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}.stop-count-readout{display:flex;align-items:baseline;gap:8px}.stop-count-readout .num{font-size:clamp(3.2rem,4.2vw,6.2rem);font-weight:900;color:var(--color-accent-hover);line-height:1}.stop-count-unit{font-size:clamp(1.21rem,1.3vw,1.88rem);font-weight:700;color:var(--color-text-dim)}.stop-measure-demo{display:flex;flex-direction:column;align-items:center}.stop-measure-figure{display:flex;align-items:flex-end;gap:clamp(18px,2vw,39px);color:var(--color-navy);margin-bottom:clamp(16px,2vh,30px)}.stop-measure-track{position:relative;width:clamp(24px,1.8vw,38px);height:clamp(140px,24vh,380px);border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1.5px solid var(--color-border);overflow:hidden}.stop-measure-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,var(--color-gold),var(--color-gold-deep));border-radius:var(--radius-pill)}.stop-measure-readout{display:flex;align-items:baseline;gap:8px}.stop-measure-readout .num{font-size:clamp(3.2rem,4.2vw,6.2rem);font-weight:900;color:var(--color-gold-deep);line-height:1;font-variant-numeric:tabular-nums}.stop-divider{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.deck-root:has(.stop-divider) .deck-stage,.deck-stage:has(.stop-divider){background:var(--color-navy)}.stop-divider-part{font-size:clamp(1.03rem,1.2vw,1.72rem);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold)}.stop-divider h1{font-size:clamp(2.76rem,5.5vw,6.75rem);color:var(--color-on-navy);margin:0;line-height:1.3;letter-spacing:0}.stop-outro p{color:var(--color-on-navy-dim);font-size:clamp(1.15rem,1.5vw,1.95rem);max-width:40ch}.stop-outro-credit{color:var(--color-on-navy-dim);opacity:.6;font-size:.8rem;margin-top:var(--space-4)}.stop-pipeline-slide{max-width:1860px;width:100%}.stop-pipe-note-row{display:flex;margin-bottom:clamp(16px,2.2vh,36px)}.stop-note{display:inline-flex;align-items:center;gap:10px;font-size:clamp(1.17rem,1.25vw,1.83rem);font-weight:700;color:var(--color-gold-deep);background:var(--color-gold-soft);border:1.5px solid rgba(185,134,15,.25);padding:8px 20px;border-radius:var(--radius-pill);margin:0}.stop-pipeline{display:flex;align-items:stretch;gap:clamp(12px,1.6vw,36px);width:100%}.stop-pipe-card{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:var(--radius-xl);padding:clamp(32px,2.8vw,57px) clamp(22px,2.2vw,32px);background:var(--color-surface);border:1.5px solid var(--color-border);border-top:5px solid var(--color-navy);box-shadow:var(--shadow-card);transition:transform var(--transition-fast),box-shadow var(--transition-fast);min-height:clamp(437px,46vh,660px)}.stop-pipe-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated)}.stop-pipe-card.stage-1{border-top-color:var(--color-navy)}.stop-pipe-card.stage-2{border-top-color:var(--color-gold-deep);background:linear-gradient(180deg,#fffdf8 0%,var(--color-surface) 100%)}.stop-pipe-card.stage-3{border-top-color:#10b981;background:linear-gradient(180deg,#f8fdfb 0%,var(--color-surface) 100%)}.stop-pipe-card-head{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:28px;margin-bottom:14px}.stop-pipe-badge{font-size:clamp(2.07rem,2.4vw,3.6rem);font-weight:900;color:var(--color-navy);opacity:.28;line-height:1}.stop-pipe-tag{font-size:.82rem;font-weight:700;color:var(--color-text-muted);background:var(--color-surface-alt);padding:4px 12px;border-radius:var(--radius-pill);letter-spacing:.02em}.stop-pipe-card.stage-2 .stop-pipe-tag{color:var(--color-gold-deep);background:var(--color-gold-soft)}.stop-pipe-card.stage-3 .stop-pipe-tag{color:#059669;background:#ecfdf5}.stop-pipe-icon{width:clamp(80px,5.5vw,126px);height:clamp(80px,5.5vw,126px);border-radius:clamp(21px,1.8vw,36px);display:flex;align-items:center;justify-content:center;background:var(--color-navy);color:var(--color-gold);margin:0 auto clamp(16px,2vh,22px) auto;box-shadow:0 8px 20px -4px #0f172a33;transition:transform var(--transition-fast);flex-shrink:0}.stop-pipe-card:hover .stop-pipe-icon{transform:scale(1.06)}.stop-pipe-card.stage-2 .stop-pipe-icon{background:var(--color-gold-deep);color:#fff;box-shadow:0 8px 20px -4px #b9860f59}.stop-pipe-card.stage-3 .stop-pipe-icon{background:#059669;color:#fff;box-shadow:0 8px 20px -4px #05966959}.stop-pipe-card h3{font-size:clamp(1.67rem,1.9vw,2.78rem);font-weight:800;color:var(--color-navy);margin:0 0 10px;line-height:1.38}.stop-pipe-card p{font-size:clamp(1.21rem,1.25vw,1.83rem);color:var(--color-text-dim);line-height:1.55;margin:0}.stop-pipe-role{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:clamp(1.01rem,1.05vw,1.5rem);font-weight:700;background:#0f172a0d;color:var(--color-navy);border:1px solid rgba(15,23,42,.08)}.stop-pipe-card.stage-2 .stop-pipe-role{background:var(--color-gold-soft);color:var(--color-gold-deep);border-color:#b9860f33}.stop-pipe-card.stage-3 .stop-pipe-role{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.stop-pipe-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-navy);flex-shrink:0;padding:0 4px}.stop-pipe-arrow span{font-size:clamp(1.01rem,1.08vw,1.58rem);font-weight:800;color:var(--color-navy);background:var(--color-surface);padding:6px 16px;border-radius:var(--radius-pill);border:1.5px solid var(--color-border);box-shadow:var(--shadow-sm);white-space:nowrap}.stop-pipe-arrow svg{color:var(--color-navy);filter:drop-shadow(0 2px 4px rgba(15,23,42,.1))}.stop-glossary{display:flex;flex-direction:column;gap:clamp(10px,1.3vh,18px);justify-content:center}.stop-term{display:flex;align-items:center;gap:clamp(18px,2vw,39px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(14px,1.4vw,26px) clamp(18px,2.4vw,32px);font-size:clamp(1.13rem,1.35vw,1.92rem);line-height:1.4;box-shadow:var(--shadow-sm)}.stop-term-text strong{margin-right:.5em}.stop-term-icon{flex-shrink:0;width:clamp(48px,3vw,64px);height:clamp(48px,3vw,64px);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--color-accent-soft);color:var(--color-navy)}.stop-hand-demo{max-width:1700px;width:100%}.stop-quiz{max-width:1560px}.pq{display:flex;flex-direction:column;gap:clamp(23px,3.5vh,66px);align-items:center;text-align:center}.pq-objective-text{font-weight:600}.pq-question{font-size:clamp(2.07rem,3.6vw,4.8rem);line-height:1.34;margin:0;letter-spacing:0}.pq-body{width:100%}.pq-hint{font-size:clamp(1.03rem,1.2vw,1.65rem);margin:0}.pq-fastest{display:inline-flex;align-items:center;gap:2px;font-size:clamp(1.09rem,1.3vw,1.8rem);font-weight:700;color:var(--color-gold-deep);background:var(--color-gold-soft);border:1px solid rgba(185,134,15,.28);border-radius:var(--radius-pill);padding:8px 20px;margin:0;animation:lc-pop-in .3s var(--ease-spring) both}.pq-fastest strong{color:var(--color-navy)}.pq-progress{position:relative;width:min(760px,90%);height:clamp(34px,3.4vh,48px);border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1px solid var(--color-border);overflow:hidden;display:flex;align-items:center;justify-content:center}.pq-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--color-navy),#2c3d68);transition:width var(--transition-slow) var(--ease-spring)}.pq-progress-label{position:relative;font-size:clamp(.95rem,1.15vw,1.35rem);font-weight:800;background:var(--color-surface);padding:5px 20px;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.pq .objective-chip{font-size:clamp(1.02rem,1.15vw,1.45rem);padding:9px 22px 9px 18px;gap:12px;line-height:1.45}.pq .objective-chip:before{width:11px;height:11px}.deck-stage .host-live-option-card{padding:clamp(20px,2.4vw,34px) clamp(22px,2.6vw,38px);font-size:clamp(1.3rem,1.7vw,2.15rem);border-radius:var(--radius-lg);gap:clamp(16px,1.6vw,26px)}.deck-stage .host-live-option-shape{font-size:clamp(1.7rem,2.4vw,2.9rem)}.deck-stage .host-live-options-grid{gap:clamp(16px,1.8vw,28px)}.stop-results{max-width:880px}.stop-results .leaderboard-overlay{position:static;inset:auto;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;min-height:0}.deck-footer{position:absolute;left:clamp(20px,4vw,48px);bottom:clamp(16px,2.2vh,33px);display:flex;align-items:center;gap:10px;font-size:.74rem;font-weight:700;letter-spacing:.04em;color:var(--color-text-muted);z-index:8;pointer-events:none}.deck-footer .num{color:var(--color-text-dim);font-weight:800}.deck-footer span:not(:last-child):after{content:"·";margin-left:10px;opacity:.5}.deck-edge{position:absolute;top:64px;bottom:88px;width:7%;border:none;background:transparent;cursor:pointer;z-index:5}.deck-edge-left{left:0}.deck-edge-right{right:0}.deck-edge:hover{background:linear-gradient(to var(--dir, right),rgba(20,29,51,.05),transparent)}.deck-edge-left:hover{--dir: right}.deck-edge-right:hover{--dir: left}.deck-chrome{position:absolute;left:50%;bottom:18px;transform:translate(-50%,20px);display:flex;align-items:center;gap:6px;padding:7px 10px;background:var(--color-navy);border-radius:var(--radius-pill);box-shadow:var(--shadow-elevated);opacity:0;pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-base);z-index:30}.deck-chrome.is-visible{opacity:1;transform:translate(-50%);pointer-events:auto}.deck-chrome-btn{width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--color-on-navy-dim);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.deck-chrome-btn:hover:not(:disabled){background:#ffffff1f;color:#fff}.deck-chrome-btn:disabled{opacity:.3;cursor:default}.deck-chrome-sep{width:1px;height:22px;background:#ffffff2e;margin:0 4px}.deck-chrome-progress{display:flex;align-items:center;gap:10px;padding:0 8px;color:var(--color-on-navy)}.deck-chrome-progress .num{font-size:.82rem;font-weight:800}.deck-chrome-bar{width:120px;height:4px;border-radius:2px;background:#fff3;overflow:hidden}.deck-chrome-bar div{height:100%;background:var(--color-gold);transition:width var(--transition-base)}.deck-quiz-controls{position:absolute;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-elevated);z-index:25}.deck-quiz-open{font-size:1rem;padding:12px 28px}.deck-quiz-status{font-size:.9rem;font-weight:800;color:var(--color-text-dim)}.deck-quiz-status.is-done{color:var(--color-gold-deep);display:inline-flex;align-items:center;gap:6px}.deck-hands{position:absolute;top:18px;right:18px;z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;box-shadow:var(--shadow-card);max-width:260px;animation:lc-pop-in .2s var(--ease-spring) both}.deck-hands-head{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.85rem;color:var(--color-navy);margin-bottom:6px}.deck-hands-list{display:flex;flex-wrap:wrap;gap:5px}.deck-hand-name{font-size:.8rem;font-weight:700;background:var(--color-accent-soft);color:var(--color-accent-hover);padding:3px 9px;border-radius:var(--radius-pill)}.deck-meter{position:absolute;left:18px;bottom:18px;z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;box-shadow:var(--shadow-card);width:220px}.deck-meter-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--color-surface-hover);margin-bottom:6px}.deck-meter-ok{background:var(--color-success)}.deck-meter-confused{background:var(--color-warning)}.deck-meter-label{font-size:.78rem;font-weight:800;color:var(--color-text-dim)}.deck-reactions{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:15}.deck-reaction{position:absolute;bottom:8%;font-size:clamp(2.3rem,4vw,4.8rem);animation:deck-float-up 3s ease-out forwards}@keyframes deck-float-up{0%{transform:translateY(0) scale(.4);opacity:0}15%{transform:translateY(-10%) scale(1.1);opacity:1}to{transform:translateY(-72vh) scale(.9);opacity:0}}.deck-check{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--color-navy-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;animation:lc-fade-in .16s ease-out both}.deck-check h2{color:var(--color-on-navy);font-size:clamp(2.3rem,4vw,5.1rem);margin:0}.deck-check p{color:var(--color-on-navy-dim)}.deck-check-close{position:absolute;top:24px;right:24px;width:46px;height:46px;border-radius:50%;border:none;background:#ffffff24;color:#fff;cursor:pointer}.deck-check-bars{display:flex;gap:var(--space-4);margin-top:var(--space-3)}.deck-check-bar{min-width:200px;padding:28px 36px;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:6px}.deck-check-bar .num{font-size:clamp(2.88rem,6vw,6.75rem);font-weight:900;line-height:1}.deck-check-bar span:last-child{font-weight:700}.deck-check-bar.is-ok{background:#1f9d5733;color:#6ee7a8}.deck-check-bar.is-confused{background:#d9832433;color:#fcd34d}.deck-overview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#141d33bf;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:lc-fade-in .14s ease-out both}.deck-overview-panel{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-4);width:100%;max-width:640px;max-height:82vh;overflow-y:auto;box-shadow:var(--shadow-elevated)}.deck-overview-panel h2{font-size:1.15rem;margin:0 0 var(--space-3)}.deck-overview-panel ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.deck-overview-panel button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-size:.9rem;color:var(--color-text)}.deck-overview-panel button:hover{background:var(--color-surface-alt)}.deck-overview-panel button.is-current{background:var(--color-navy);color:#fff}.deck-overview-num{font-family:var(--font-num);font-weight:800;color:var(--color-text-muted);width:26px;flex-shrink:0}.deck-overview-panel button.is-current .deck-overview-num{color:var(--color-gold)}.deck-overview-kind{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.stop-cover{grid-template-columns:1fr;grid-template-areas:"main" "join" "roster"}.stop-obj-grid,.stop-step-body{grid-template-columns:1fr}.stop-steps-row{grid-template-columns:1fr 1fr}.stop-pipeline{flex-direction:column}.stop-pipe-arrow svg{transform:rotate(90deg)}.stop-hook-flow{grid-template-columns:1fr;justify-items:stretch}.stop-hook-arrow{flex-direction:row;max-width:none}.stop-hook-arrow svg{transform:rotate(90deg)}.stop-hook-warn{flex-wrap:wrap}.stop-hook-demo{margin-left:0}.stop-select-cols{grid-template-columns:1fr}.stop-rule-card{flex-basis:100%;max-width:420px}}.qr-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-navy-deep);background-image:radial-gradient(1200px circle at 50% -10%,rgba(58,109,240,.35),transparent 60%);animation:lc-fade-in .16s ease-out both}@keyframes lc-fade-in{0%{opacity:0}to{opacity:1}}.qr-stage-close{position:absolute;top:var(--space-4);right:var(--space-4);display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:none;background:#ffffff24;color:#fff;cursor:pointer;transition:background var(--transition-fast)}.qr-stage-close:hover{background:#ffffff42}.qr-stage-inner{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(28px,5vw,108px);background:#fff;border-radius:var(--radius-xl);padding:clamp(28px,4vw,84px);box-shadow:0 40px 90px -30px #0009;border-top:5px solid var(--color-gold);max-width:1240px;animation:lc-pop-in .22s var(--ease-spring) both}.qr-stage-code{flex-shrink:0;width:clamp(253px,34vw,600px);background:#fff;padding:clamp(14px,1.5vw,30px);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.qr-stage-detail{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.qr-stage-kicker{display:inline-flex;align-items:center;gap:8px;font-size:clamp(1.03rem,1.4vw,1.72rem);font-weight:800;color:var(--color-text-dim)}.qr-stage-pin{display:flex;flex-direction:column;gap:2px}.qr-stage-pin-label{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-deep)}.qr-stage-pin-value{font-size:clamp(3.45rem,9vw,9.75rem);font-weight:900;line-height:1;letter-spacing:.06em;color:var(--color-navy)}.qr-stage-alt{font-size:clamp(1.09rem,1.4vw,1.8rem);color:var(--color-text-dim);margin:0}.qr-stage-alt strong{color:var(--color-navy)}@media (max-width: 720px){.qr-stage-inner{flex-direction:column;text-align:center}.qr-stage-detail{align-items:center}}.stop-bill{max-width:1860px}.stop-bill-flow{display:grid;grid-template-columns:.85fr 1.15fr;align-items:stretch;gap:clamp(21px,2.4vw,56px)}.stop-bill-card{display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,1.6vh,26px);padding:clamp(20px,2.4vw,44px);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);text-align:center}.stop-bill-head{display:flex;flex-direction:column;gap:6px}.stop-bill-head strong{font-size:clamp(1.2rem,1.9vw,2.4rem);color:var(--color-navy)}.stop-bill-head span{font-size:clamp(1.05rem,1.45vw,1.8rem);color:var(--color-text-muted)}.stop-bill-total{font-size:clamp(3rem,6vw,6.4rem);font-weight:900;line-height:1;color:var(--color-navy);display:flex;align-items:baseline;justify-content:center;gap:12px}.stop-bill-unit{font-size:clamp(1.1rem,1.7vw,2.2rem);font-weight:700;color:var(--color-text-dim)}.stop-bill-people{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;color:var(--color-accent-hover)}.stop-bill-person{display:inline-flex;padding:8px;border-radius:var(--radius-pill);background:var(--color-accent-soft)}.stop-bill-people-label{font-size:clamp(1.05rem,1.5vw,1.9rem);font-weight:700;color:var(--color-text-dim)}.stop-bill-results{display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,1.4vh,20px)}.stop-bill-prompt{margin:0;font-size:clamp(1.15rem,2vw,2.6rem);font-weight:700;line-height:1.5;color:var(--color-text-dim);text-align:center}.stop-bill-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(14px,1.6vw,28px);padding:clamp(14px,1.6vw,26px) clamp(16px,1.8vw,32px);border-radius:var(--radius-lg);background:var(--color-surface);border:2px solid var(--color-border);animation:billIn .35s ease both}@keyframes billIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.stop-bill-result.is-warn{border-color:var(--color-warning);background:#fff8ee}.stop-bill-result.is-good{border-color:var(--color-gold-deep);background:var(--color-gold-soft)}.stop-bill-op{font-size:clamp(1.6rem,2.9vw,3.6rem);font-weight:900;color:var(--color-navy);min-width:2.4ch;text-align:center}.stop-bill-result-text{display:flex;flex-direction:column;gap:4px;min-width:0}.stop-bill-expr{font-size:clamp(1.15rem,1.9vw,2.4rem);font-weight:800;color:var(--color-text)}.stop-bill-note{font-size:clamp(1.05rem,1.45vw,1.8rem);color:var(--color-text-dim)}.stop-bill-value{font-size:clamp(1.5rem,2.7vw,3.4rem);font-weight:900;color:var(--color-navy);font-variant-numeric:tabular-nums}.stop-bill-result.is-warn .stop-bill-value{color:var(--color-warning)}.stop-bill-closing{margin:0;text-align:center;font-size:clamp(1.1rem,1.8vw,2.3rem);font-weight:700;color:var(--color-navy)}.stop-trace-body{display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,2.4vh,40px)}.stop-trace-main{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1.6vh,24px)}.stop-trace-history{display:flex;flex-direction:column;align-items:center;gap:4px}.stop-trace-history-line{font-size:clamp(1.25rem,2vw,2.6rem);font-weight:700;color:var(--color-text-dim);text-decoration:line-through;text-decoration-color:var(--color-border-hover)}.stop-trace-line{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:clamp(8px,1vw,18px);font-size:clamp(2.4rem,5vw,5.4rem);font-weight:900;color:var(--color-navy);line-height:1.1}.stop-trace-token{padding:4px 10px;border-radius:var(--radius-sm);transition:all var(--transition-base, .3s) ease}.stop-trace-token.is-focus{background:var(--color-gold-soft);color:var(--color-gold-deep);box-shadow:0 0 0 3px var(--color-gold)}.stop-trace-line.is-final .stop-trace-token{background:var(--color-navy);color:var(--color-on-navy);box-shadow:none}.stop-trace-note{margin:0;font-size:clamp(1.2rem,2.2vw,2.8rem);font-weight:700;color:var(--color-text-dim);text-align:center}.stop-trace-note.is-final{color:var(--color-navy)}.stop-trace-wrong{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(14px,1.6vw,28px);padding:clamp(14px,1.6vw,26px) clamp(16px,1.8vw,32px);border-radius:var(--radius-lg);border:2px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger);transition:opacity var(--transition-base, .3s) ease}.stop-trace-wrong.is-dim{opacity:0;visibility:hidden}.stop-trace-wrong strong{display:block;font-size:clamp(1.15rem,1.8vw,2.2rem)}.stop-trace-wrong p{margin:4px 0 0;font-size:clamp(1.05rem,1.5vw,1.9rem);color:var(--color-text-dim)}.stop-trace-wrong-value{font-size:clamp(1.6rem,2.7vw,3.4rem);font-weight:900;text-decoration:line-through}.stop-optable-wrap{display:flex;justify-content:center}.stop-optable-table{width:100%;max-width:1500px;border-collapse:separate;border-spacing:0 4px}.stop-optable-table th{font-size:clamp(1.05rem,1.45vw,1.8rem);font-weight:800;color:var(--color-text-muted);text-align:left;padding:0 clamp(14px,1.4vw,26px) 4px}.stop-optable-table td{background:var(--color-surface);border-top:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);padding:clamp(6px,.75vh,12px) clamp(14px,1.4vw,26px);font-size:clamp(1.08rem,1.6vw,2rem);font-weight:700;color:var(--color-text)}.stop-optable-table td:first-child{border-left:1.5px solid var(--color-border);border-radius:var(--radius-md) 0 0 var(--radius-md)}.stop-optable-table td:last-child{border-right:1.5px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0}.stop-optable-op{font-size:clamp(1.4rem,2.3vw,2.9rem);font-weight:900;color:var(--color-navy)}.stop-optable-result{color:var(--color-accent-hover);font-weight:900}.stop-optable-note{display:block;font-size:clamp(1.05rem,1.35vw,1.7rem);font-weight:600;color:var(--color-text-dim)}.stop-optable-table tr.is-highlight td{background:var(--color-gold-soft);border-color:var(--color-gold-deep)}.stop-optable-table tr.is-highlight .stop-optable-result{color:var(--color-gold-deep)}.stop-optable .stop-hd{margin-bottom:clamp(10px,1.6vh,30px)}.stop-optable .stop-content{gap:clamp(10px,1.6vh,26px)}.stop-optable-callout{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:0 auto;max-width:1500px;padding:clamp(8px,.9vw,16px) clamp(16px,1.8vw,30px);border-radius:var(--radius-lg);background:var(--color-surface-alt);border-left:5px solid var(--color-accent)}.stop-optable-callout strong{font-size:clamp(1.1rem,1.6vw,2rem);color:var(--color-navy)}.stop-optable-callout p{margin:0;font-size:clamp(1.05rem,1.5vw,1.9rem);color:var(--color-text-dim)}.stop-prec-grid{display:flex;flex-direction:column;gap:clamp(8px,1.2vh,16px)}.stop-prec-tier{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:clamp(14px,1.6vw,30px);padding:clamp(10px,1.2vh,18px) clamp(16px,1.8vw,30px);border-radius:var(--radius-lg);background:var(--color-surface);border:1.5px solid var(--color-border)}.stop-prec-tier.is-first{border-color:var(--color-gold-deep);background:var(--color-gold-soft)}.stop-prec-rank{width:clamp(38px,3.6vw,72px);height:clamp(38px,3.6vw,72px);display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--color-navy);color:var(--color-on-navy);font-size:clamp(1.1rem,1.8vw,2.2rem);font-weight:900}.stop-prec-ops{display:flex;gap:8px;flex-wrap:wrap}.stop-prec-op{padding:4px 14px;border-radius:var(--radius-sm);background:var(--color-surface-alt);border:1.5px solid var(--color-border-hover);font-size:clamp(1.25rem,2.1vw,2.7rem);font-weight:900;color:var(--color-navy)}.stop-prec-label{font-size:clamp(1.1rem,1.7vw,2.1rem);font-weight:700;color:var(--color-text-dim)}.stop-prec-label em{display:block;font-style:normal;font-size:clamp(1rem,1.4vw,1.75rem);color:var(--color-text-muted)}.stop-prec-rules{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.4vw,24px)}.stop-prec-rule{display:flex;flex-direction:column;gap:6px;padding:clamp(12px,1.4vw,22px) clamp(16px,1.8vw,28px);border-radius:var(--radius-lg);background:var(--color-surface-alt);border-left:5px solid var(--color-accent)}.stop-prec-rule strong{font-size:clamp(1.1rem,1.6vw,2rem);color:var(--color-navy)}.stop-prec-rule span{font-size:clamp(1.05rem,1.55vw,1.95rem);font-weight:700;color:var(--color-accent-hover)}.deck-substeps{display:inline-flex;align-items:center;gap:6px}.deck-substep-dot{width:11px;height:11px;border-radius:50%;background:var(--color-border-hover);transition:background var(--transition-fast),transform var(--transition-fast)}.deck-substep-dot.is-done{background:var(--color-gold-deep);transform:scale(1.15)}@media (max-width: 900px){.stop-bill-flow,.stop-prec-rules{grid-template-columns:1fr}}@media (max-height: 800px){.stop-optable-table td{padding-top:4px;padding-bottom:4px}.stop-optable-note{font-size:.95rem}}.deck-projector-controls{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;z-index:30;opacity:.45;transition:opacity .18s ease-out}.deck-projector-controls:hover{opacity:1}.deck-projector-start{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;padding:9px 18px}.deck-projector-exit{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-dim);cursor:pointer}.deck-projector-exit:hover{background:var(--color-surface-hover)}.deck-offline-dot{position:absolute;right:12px;bottom:12px;width:9px;height:9px;border-radius:50%;background:var(--color-danger);box-shadow:0 0 0 3px #e0514a2e;z-index:30;animation:lc-deck-offline 1.6s ease-in-out infinite}@keyframes lc-deck-offline{0%,to{opacity:.35}50%{opacity:1}}.deck-root.is-preview{cursor:default}.deck-root.is-preview .deck-stage,.deck-root.is-preview .deck-stage[data-direction=forward],.deck-root.is-preview .deck-stage[data-direction=backward]{animation:none}.deck-root.is-preview *{pointer-events:none!important}.stop-preview-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:auto;color:var(--color-text-muted);text-align:center}.stop-preview-stub p{font-size:1.4rem;font-weight:800;color:var(--color-text-dim);margin:0}.stop-preview-stub span{font-size:1rem}.bgm{opacity:.075}.bgm-logo{opacity:.2}.stop-known{margin-bottom:clamp(18px,1.8vh,30px)}.stop-known-label{display:block;font-size:clamp(1.01rem,1.1vw,1.5rem);font-weight:800;color:var(--color-text-muted);margin-bottom:clamp(8px,.9vh,14px)}.stop-known-row{display:flex;gap:clamp(10px,.9vw,18px);flex-wrap:wrap}.stop-known-chip{display:inline-flex;align-items:baseline;gap:clamp(7px,.6vw,12px);padding:clamp(7px,.7vh,12px) clamp(14px,1.2vw,22px);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-size:clamp(1.03rem,1.15vw,1.6rem);font-weight:700;color:var(--color-text-dim)}.stop-known-chip b{font-size:clamp(1.32rem,1.5vw,2.1rem);color:var(--color-navy)}.stop-known-chip em{font-style:normal;font-weight:600;color:var(--color-text-muted)}.stop-focus-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.6vw,30px);flex:1;min-height:0}.stop-focus-card{display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,1.6vh,26px);padding:clamp(24px,2.6vw,48px) clamp(20px,2.2vw,40px);background:var(--color-surface);border:1.5px solid var(--color-border);border-top:5px solid var(--color-gold);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:opacity .3s ease-out,transform .3s cubic-bezier(.22,1,.36,1)}.stop-focus-card.is-hidden{opacity:0;transform:translateY(26px)}.stop-focus-card.is-shown{opacity:1;transform:none}.stop-focus-head{display:flex;align-items:baseline;gap:clamp(10px,.9vw,18px)}.stop-focus-head b{font-size:clamp(2.53rem,3.4vw,4.6rem);font-weight:900;line-height:1;color:var(--color-gold-deep)}.stop-focus-head span{font-size:clamp(1.32rem,1.5vw,2.1rem);font-weight:800;color:var(--color-text)}.stop-units{display:flex;align-items:flex-end;gap:clamp(9px,.8vw,16px);min-height:clamp(44px,4.6vh,72px)}.stop-units-group{display:flex;gap:clamp(3px,.25vw,5px)}.stop-units-group i{width:clamp(14px,1.15vw,24px);height:clamp(38px,4vh,62px);border-radius:4px;background:var(--color-gold);transition:background .32s ease-out,opacity .32s ease-out}.stop-units-group.is-dim i{background:var(--color-border-hover);opacity:.55}.stop-units-group.is-part.is-split i{background:repeating-linear-gradient(-45deg,var(--color-gold) 0 5px,var(--color-gold-soft) 5px 10px)}.stop-units-group.is-part.is-dim i{background:var(--color-border-hover)}.stop-focus-sum{display:flex;align-items:baseline;gap:clamp(7px,.6vw,12px);font-size:clamp(1.32rem,1.5vw,2.1rem);font-weight:700;color:var(--color-text-dim)}.stop-focus-eq{color:var(--color-text-muted)}.stop-focus-sum strong{font-size:clamp(2.07rem,2.6vw,3.5rem);font-weight:900;color:var(--color-navy)}.stop-focus-gloss{margin:0;font-size:clamp(1.03rem,1.2vw,1.65rem);line-height:1.55;color:var(--color-text-dim)}.stop-optable-closing{margin:clamp(16px,1.8vh,28px) 0 0;font-size:clamp(1.03rem,1.2vw,1.65rem);font-weight:700;color:var(--color-text-dim);animation:lc-fade-up .46s ease-out both}@keyframes lc-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stop-bill-ask{align-self:center;margin:auto;font-size:clamp(5rem,9vw,12rem);font-weight:900;line-height:1;color:var(--color-border-hover);animation:lc-bill-ask 2.6s ease-in-out infinite}@keyframes lc-bill-ask{0%,to{opacity:.55;transform:scale(1) rotate(-3deg)}50%{opacity:1;transform:scale(1.07) rotate(3deg)}}.stop-bill-result.is-new{animation:lc-bill-land .34s cubic-bezier(.22,1,.36,1) both}@keyframes lc-bill-land{0%{opacity:0;transform:translate(42px) scale(.96)}to{opacity:1;transform:none}}.stop-bill-result.is-new .stop-bill-value{animation:lc-bill-pop .42s cubic-bezier(.34,1.56,.64,1) 90ms both}@keyframes lc-bill-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.stop-bill-ask,.stop-bill-result.is-new,.stop-bill-result.is-new .stop-bill-value{animation:none}}.stop-trace-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:clamp(24px,3vw,64px);flex:1;min-height:0}.stop-trace-main{align-items:flex-start;text-align:left}.stop-trace-line,.stop-trace-note{text-align:left}.stop-trace-history{align-items:flex-start}.stop-trace-history-line{display:flex;align-items:baseline;gap:clamp(10px,1vw,20px)}.stop-trace-history-line em{font-style:normal;font-size:clamp(1.01rem,1.05vw,1.45rem);color:var(--color-text-muted)}.stop-trace-wrong{flex-direction:column;align-items:flex-start;text-align:left;gap:clamp(12px,1.4vh,22px);padding:clamp(24px,2.6vw,44px);border-radius:var(--radius-xl)}.stop-trace-wrong-value{align-self:flex-end}.stop-prec-grid{display:flex;flex-direction:column;gap:clamp(10px,1.1vh,18px)}.stop-prec-tier{width:fit-content;min-width:clamp(320px,34vw,640px);padding-right:clamp(28px,3vw,60px)}.stop-prec-tier:nth-child(2){margin-left:clamp(30px,4vw,90px)}.stop-prec-tier:nth-child(3){margin-left:clamp(60px,8vw,180px)}.stop-prec-tier:nth-child(4){margin-left:clamp(90px,12vw,270px)}.stop-prec-tier.is-first{box-shadow:var(--shadow-card)}.stop-prec-rules{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.6vw,30px)}.stop-trace-history-line{text-decoration:none}.stop-trace-history-line>.num{text-decoration:line-through}.stop-trace-history-line>.num{font-size:clamp(1.45rem,1.9vw,2.6rem)}.stop-trace-line{font-size:clamp(2.07rem,2.9vw,4rem)}.stop-trace-line.is-final{font-size:clamp(3.2rem,4.6vw,6.4rem)}.bgm-op{font-weight:800}.stop-focus-card{justify-content:space-evenly;padding:clamp(26px,2.8vw,52px) clamp(22px,2.4vw,44px)}.stop-focus-head b{font-size:clamp(3.2rem,4.6vw,6.4rem)}.stop-focus-head span{font-size:clamp(1.5rem,1.85vw,2.6rem)}.stop-units{min-height:clamp(60px,7.5vh,118px)}.stop-units-group i{width:clamp(20px,1.75vw,38px);height:clamp(56px,7vh,112px);border-radius:6px}.stop-focus-sum{font-size:clamp(1.5rem,1.85vw,2.6rem)}.stop-focus-sum strong{font-size:clamp(2.76rem,3.7vw,5.1rem)}.stop-focus-gloss{font-size:clamp(1.15rem,1.4vw,1.95rem)}.stop-known-chip{font-size:clamp(1.15rem,1.3vw,1.8rem)}.stop-known-chip b{font-size:clamp(1.5rem,1.7vw,2.4rem)}.stop-optable-closing{font-size:clamp(1.15rem,1.35vw,1.9rem)}.stop-trace-main{gap:clamp(14px,1.8vh,30px)}.stop-trace-history{gap:clamp(12px,1.5vh,26px)}.stop-trace-history-line>.num{font-size:clamp(1.9rem,2.5vw,3.4rem)}.stop-trace-history-line em{font-size:clamp(1.15rem,1.3vw,1.8rem)}.stop-trace-line{font-size:clamp(2.53rem,3.4vw,4.8rem)}.stop-trace-line.is-final{font-size:clamp(4.5rem,6.4vw,9rem)}.stop-trace-note,.stop-trace-wrong strong{font-size:clamp(1.32rem,1.6vw,2.2rem)}.stop-trace-wrong p{font-size:clamp(1.15rem,1.35vw,1.9rem)}.stop-trace-wrong-value{font-size:clamp(2.53rem,3.2vw,4.4rem)}.stop-quiz{max-width:1760px;min-height:100%;display:flex;flex-direction:column;justify-content:center}.stop-quiz .pq{flex:1;justify-content:center;width:100%}.pq-question{max-width:1600px;margin-inline:auto}.stop-optable-closing{margin-bottom:clamp(6px,1vh,16px)}.pq[data-phase=revealed]{gap:clamp(16px,2.2vh,40px)}.stop-results:has(.leaderboard-rest li:nth-child(9)){max-width:1760px}.stop-results .leaderboard-overlay{overflow:visible}.stop-results .leaderboard-panel{max-width:1760px;max-height:none;overflow:visible}.stop-results .leaderboard-rest{display:block;column-gap:clamp(16px,1.6vw,32px)}.stop-results .leaderboard-rest:has(li:nth-child(9)){columns:2}.stop-results .leaderboard-rest:has(li:nth-child(19)){columns:3}.stop-results .leaderboard-row{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:8px}.stop-results .podium{max-width:1000px;margin-inline:auto;width:100%}.stop-prec .stop-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;gap:clamp(20px,2.4vw,52px)}.stop-prec-grid{justify-content:center;gap:clamp(12px,1.4vh,22px)}.stop-prec-tier{width:auto;min-width:0;padding-right:clamp(18px,1.8vw,34px)}.stop-prec-tier:nth-child(2){margin-left:clamp(14px,1.5vw,30px)}.stop-prec-tier:nth-child(3){margin-left:clamp(28px,3vw,60px)}.stop-prec-tier:nth-child(4){margin-left:clamp(42px,4.5vw,90px)}.stop-prec-rules{grid-template-columns:1fr;align-content:center;gap:clamp(18px,2.2vh,36px)}.stop-prec-rule{padding:clamp(20px,2.2vw,40px) clamp(18px,2vw,36px)}.stop-prec-rule strong{font-size:clamp(1.32rem,1.6vw,2.2rem)}.stop-prec-rule .num{font-size:clamp(1.5rem,1.9vw,2.6rem)}.stop-prec .stop-content>*{min-height:0}.stop-prec-grid{display:flex;flex-direction:column}.stop-prec-tier{flex:1;align-items:center}.stop-prec-rules{display:grid;grid-auto-rows:1fr;align-content:stretch}.stop-prec-rule{display:flex;flex-direction:column;justify-content:center}.stop-trace-body{align-items:stretch}.stop-trace-main{display:flex;flex-direction:column;justify-content:space-between;flex:1;min-height:0;gap:clamp(12px,1.6vh,28px)}.stop-trace-history{display:flex;flex-direction:column;justify-content:space-evenly;flex:1;min-height:0}.stop-trace-history-line>.num{font-size:clamp(2.3rem,3vw,4.2rem)}.stop-trace-history-line em{font-size:clamp(1.32rem,1.5vw,2.1rem)}.stop-trace-line.is-final{font-size:clamp(5.2rem,7.4vw,10.5rem)}.stop-trace-note{font-size:clamp(1.5rem,1.8vw,2.5rem)}.stop-trace-wrong{justify-content:center;flex:1;padding:clamp(28px,3vw,56px)}.stop-trace-wrong strong{font-size:clamp(1.5rem,1.8vw,2.5rem)}.stop-trace-wrong p{font-size:clamp(1.32rem,1.5vw,2.1rem)}.stop-trace-wrong-value{font-size:clamp(3.2rem,4.2vw,5.8rem)}.stop-trace-body{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.stop-trace-wrong{justify-content:center;gap:clamp(14px,1.8vh,30px)}.stop-trace-wrong>div{display:flex;flex-direction:column;gap:clamp(8px,1vh,16px)}.stop-trace-wrong-value{align-self:flex-end;margin:0}.stop-trace-wrong{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.stop-trace-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(20px,2.6vh,44px)}.stop-trace-main{align-items:center;text-align:center;flex:0 1 auto;width:100%}.stop-trace-history{align-items:center;flex:0 1 auto;gap:clamp(10px,1.4vh,24px)}.stop-trace-history-line{justify-content:center}.stop-trace-line,.stop-trace-note{text-align:center}.stop-trace-line.is-final{font-size:clamp(6rem,9vw,13rem)}.stop-trace-wrong{flex-direction:row;align-items:center;justify-content:center;gap:clamp(14px,1.4vw,26px);flex:0 0 auto;width:auto;max-width:min(1100px,92%);margin-inline:auto;padding:clamp(10px,1.1vh,18px) clamp(18px,1.8vw,32px);background:transparent;border:0;border-left:4px solid var(--color-danger);border-radius:0;text-align:left}.stop-trace-wrong>div{flex-direction:column;gap:2px}.stop-trace-wrong strong{font-size:clamp(1.15rem,1.3vw,1.8rem)}.stop-trace-wrong p{font-size:clamp(1.03rem,1.15vw,1.6rem);margin:0}.stop-trace-wrong-value{align-self:center;margin:0;font-size:clamp(1.9rem,2.3vw,3.2rem);opacity:.85}.stop-trace-wrong-icon svg{width:clamp(22px,1.8vw,32px);height:auto}.stop-trace-history{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:baseline;column-gap:clamp(14px,1.4vw,28px);row-gap:clamp(10px,1.4vh,24px)}.stop-trace-history-line{display:contents}.stop-trace-history-line>.num{text-align:right}.stop-trace-history-line em{text-align:left}.control-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);font-size:.85rem;overflow:hidden}.control-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 6px;border-bottom:1px solid var(--color-border-subtle)}.control-lesson{display:flex;align-items:baseline;gap:10px;min-width:0}.control-lesson strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-unit{font-size:.72rem;font-weight:800;letter-spacing:.04em;color:var(--color-text-muted);text-transform:uppercase}.control-top-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.control-code{font-size:1.05rem;font-weight:900;letter-spacing:.08em;color:var(--color-accent)}.control-offline{padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-danger-soft);color:var(--color-danger);font-weight:800;font-size:.78rem}.control-projector-url{margin:0;padding:4px 16px 8px;font-size:.72rem;color:var(--color-text-muted)}.control-projector-url code{font-size:.72rem;color:var(--color-text-dim);-webkit-user-select:all;user-select:all}.control-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(230px,1fr) minmax(230px,.95fr);gap:12px;padding:0 16px 12px}.control-col{min-height:0;display:flex;flex-direction:column;gap:12px}.control-col-slides,.control-col-notes{justify-content:flex-start}.control-col-slides{gap:10px}.control-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:12px 14px;min-height:0;display:flex;flex-direction:column}.control-card h2{margin:0 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.control-empty{color:var(--color-text-muted);font-style:italic;margin:0}.control-preview{margin:0;flex:0 0 auto;display:flex;flex-direction:column;gap:5px}.control-preview figcaption{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.control-preview-frame{width:100%;aspect-ratio:16 / 9;position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-alt);display:flex;align-items:center;justify-content:center}.control-preview-frame iframe{position:absolute;top:0;left:0;border:0;display:block}.control-preview-empty{color:var(--color-text-muted);font-style:italic}.control-notes{flex:1 1 auto;min-height:0;overflow-y:auto}.control-notes.is-empty{flex:0 0 auto}.control-notes p{margin:0;font-size:.92rem;line-height:1.65;white-space:pre-wrap}.control-quiz{align-items:stretch;text-align:center}.control-big-btn{width:100%;font-size:1rem;padding:14px 18px}.control-answered{margin:2px 0 0;font-size:2.6rem;font-weight:900;line-height:1;color:var(--color-accent)}.control-answered span{font-size:1.3rem;color:var(--color-text-muted)}.control-answered-label{margin:0 0 10px;font-size:.78rem;color:var(--color-text-muted)}.control-revealed{margin:0;font-weight:800;color:var(--color-gold-deep)}.control-meter{display:flex;height:10px;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface-alt)}.control-meter-ok{background:var(--color-success)}.control-meter-confused{background:var(--color-warning)}.control-meter-label{margin:7px 0 0;font-size:.8rem;color:var(--color-text-dim)}.control-hands{margin:8px 0 0;display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--color-gold-deep)}.control-roster{flex:1;min-height:0}.control-roster ul{list-style:none;margin:0;padding:0;overflow-y:auto;min-height:0}.control-roster li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--color-border-subtle)}.control-roster li.is-offline{opacity:.45}.control-roster-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-roster-stars{font-size:.78rem;color:var(--color-gold-deep)}.control-star-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-gold-deep);cursor:pointer}.control-star-btn:hover{background:var(--color-gold-soft)}.control-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--color-border);background:var(--color-surface)}.control-count{font-size:1.15rem;font-weight:900;min-width:76px;text-align:center}.control-substep{padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-gold-soft);color:var(--color-gold-deep);font-size:.82rem;font-weight:800;white-space:nowrap}.control-bar-sep{width:1px;height:20px;background:var(--color-border);margin:0 4px}.control-bar-hint{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--color-text-muted);font-size:.78rem}.control-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-dim);cursor:pointer}.control-icon-btn:hover:not(:disabled){background:var(--color-surface-hover)}.control-icon-btn:disabled{opacity:.35;cursor:default}.control-icon-btn.is-on{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-gold)}.control-slides-drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#141d3373;display:flex;align-items:stretch;justify-content:flex-end;z-index:50}.control-slides-panel{width:min(520px,90vw);background:var(--color-surface);padding:18px 20px;overflow-y:auto;box-shadow:var(--shadow-elevated)}.control-slides-panel h2{margin:0 0 12px;font-size:1rem}.control-slides-panel ol{list-style:none;margin:0;padding:0}.control-slides-panel button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-align:left;font-size:.85rem;cursor:pointer}.control-slides-panel button:hover{background:var(--color-surface-alt)}.control-slides-panel button.is-current{background:var(--color-accent-soft);font-weight:800}.control-slides-num{min-width:26px;font-weight:800;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.control-too-narrow{text-align:center;max-width:30rem;margin:auto}.control-too-narrow h1{font-size:1.3rem}:root{--color-bg: #f3f5fb;--color-surface: #ffffff;--color-surface-alt: #eceff8;--color-surface-hover: #e2e7f4;--color-surface-navy: #1e2a4a;--color-border: #e0e4f0;--color-border-subtle: #eef1f8;--color-border-hover: #c6cde0;--color-text: #16203a;--color-text-dim: #4a5578;--color-text-muted: #8a93ad;--color-on-navy: #eef2fb;--color-on-navy-dim: #9fb0d0;--color-navy: #1e2a4a;--color-navy-deep: #141d33;--color-primary: #1e2a4a;--color-primary-hover: #16203a;--color-primary-dim: rgba(30, 42, 74, .07);--color-primary-glow: rgba(30, 42, 74, .22);--color-accent: #3a6df0;--color-accent-hover: #2f5bd0;--color-accent-soft: #e9f0fe;--color-gold: #f6c445;--color-gold-deep: #b9860f;--color-gold-soft: #fdf3d6;--color-gold-glow: rgba(224, 169, 46, .4);--color-correct: var(--color-gold);--color-correct-deep: var(--color-gold-deep);--color-danger: #e0514a;--color-danger-soft: #fdecea;--color-success: #1f9d57;--color-warning: #d98324;--shape-0: #e0514a;--shape-1: #3567d6;--shape-2: #7c5cbf;--shape-3: #17a2a2;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 30px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 40px;--space-6: 64px;--font-body: clamp(15px, .8vw + 12px, 17px);--font-h1: clamp(23px, 2.5vw + 10px, 38px);--font-h2: clamp(18px, 1.8vw + 8px, 26px);--font-display: "Kanit", "IBM Plex Sans", system-ui, sans-serif;--font-num: "Nunito", ui-monospace, "SF Mono", monospace;--font-projector-question: clamp(30px, 3.6vw, 56px);--font-projector-meta: clamp(16px, 1.5vw, 24px);--font-projector-timer: clamp(38px, 4.8vw, 88px);--shadow-sm: 0 1px 2px rgba(20, 29, 51, .06), 0 1px 3px rgba(20, 29, 51, .05);--shadow-card: 0 6px 24px -6px rgba(20, 29, 51, .1), 0 2px 8px -2px rgba(20, 29, 51, .06);--shadow-elevated: 0 24px 50px -18px rgba(20, 29, 51, .2), 0 0 1px rgba(20, 29, 51, .08);--shadow-gold: 0 10px 28px -8px var(--color-gold-glow);--transition-fast: .15s ease-out;--transition-base: .22s ease-out;--transition-slow: .4s ease-out;--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:Kanit,IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,p{margin:0 0 var(--space-3)}h1{font-size:var(--font-h1);font-weight:800;color:var(--color-text);letter-spacing:0;line-height:1.35}h2{font-size:var(--font-h2);font-weight:700;color:var(--color-text);letter-spacing:0;line-height:1.4}button{font-family:inherit}a{color:var(--color-accent);text-decoration:none;font-weight:600;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}.page{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:var(--space-4) var(--space-3);background:var(--color-bg)}.page-narrow{width:100%;max-width:480px;margin:0 auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);padding:11px 20px;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);color:var(--color-text);background:var(--color-surface-alt);-webkit-user-select:none;user-select:none}.btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff;border-color:transparent;box-shadow:0 6px 16px -4px var(--color-primary-glow)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 10px 22px -6px var(--color-primary-glow);transform:translateY(-1px)}.btn-gold{background:var(--color-gold);color:var(--color-navy-deep);border-color:transparent;box-shadow:var(--shadow-gold)}.btn-gold:hover{background:#f2b92c;transform:translateY(-1px)}.btn-block{width:100%}.btn-sm{padding:6px 12px;font-size:.82rem;border-radius:var(--radius-sm)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#cf423c}.btn-ghost{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:var(--color-surface-alt);border-color:var(--color-border-hover)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3);text-align:left}.field label{font-weight:700;color:var(--color-text-dim);font-size:.88rem}.field input,.field textarea{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:11px 14px;color:var(--color-text);font-size:.95rem;font-family:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.field input:focus,.field textarea:focus{border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px var(--color-accent-soft)}.field.has-error input{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:.82rem;font-weight:600}.avatar-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--avatar-bg, var(--color-primary));color:#fff;flex-shrink:0;box-shadow:0 2px 8px #141d332e}.avatar-badge-sm{width:30px;height:30px}.avatar-badge-md{width:38px;height:38px}.avatar-badge-lg{width:54px;height:54px}.avatar-badge-xl{width:74px;height:74px}.objective-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 10px;border-radius:var(--radius-pill);background:var(--color-gold-soft);border:1px solid rgba(185,134,15,.28);color:var(--color-gold-deep);font-size:.82rem;font-weight:700;line-height:1.35}.objective-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-gold-deep);flex-shrink:0}.objective-chip.is-reflection{background:var(--color-accent-soft);border-color:#3a6df047;color:var(--color-accent-hover)}.objective-chip.is-reflection:before{background:var(--color-accent-hover)}.q-code{margin:0;padding:12px 16px;border-radius:var(--radius-sm);background:#e9ecf1;color:var(--color-text);font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-weight:500;font-size:1.05rem;line-height:1.65;white-space:pre;overflow-x:auto;text-align:left}.q-kicker{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-hover);background:var(--color-accent-soft);padding:3px 11px;border-radius:var(--radius-pill)}.text-dim{color:var(--color-text-dim)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-gold{color:var(--color-gold-deep)}.text-center{text-align:center}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-2)}.row-between{display:flex;align-items:center;justify-content:space-between}.grow{flex:1}.num{font-family:var(--font-num);font-weight:800;font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes lc-pop-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes lc-rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lc-flash-correct{0%{box-shadow:0 0 0 0 var(--color-gold-glow)}40%{box-shadow:0 0 0 12px #f6c44500}to{box-shadow:0 0 #f6c44500}}@keyframes lc-float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (min-width: 481px){.page-narrow{max-width:520px}}@media (min-width: 769px){.page-narrow{max-width:580px}}
