.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)}.match-success{color:var(--color-gold-deep);font-weight:700}.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)}.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-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}.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:IBM Plex Sans Thai Looped,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)}.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:-.02em}.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:-.02em}.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:-.02em}.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:-.02em}.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)}}.deck-root{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;overflow:hidden;background:var(--color-bg);display:flex;flex-direction:column}.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;animation:lc-bg-glow-pulse 16s ease-in-out infinite}.deck-bg-glow-gold{width:700px;height:700px;right:-120px;bottom:-180px;background:radial-gradient(circle,rgba(246,196,69,.14) 0%,rgba(246,196,69,.03) 60%,transparent 80%)}.deck-bg-glow-blue{width:600px;height:600px;left:-100px;top:-100px;background:radial-gradient(circle,rgba(58,109,240,.08) 0%,rgba(30,42,74,.02) 60%,transparent 80%)}.deck-bg-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;animation:lc-bg-drift 22s ease-in-out infinite}.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(28px,4vw,60px) 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 .78s cubic-bezier(.22,1,.36,1) both}.deck-stage[data-direction=backward]{animation:lc-deck-slide-backward .78s 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{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{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{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-pipe-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)}}@keyframes lc-bg-drift{0%,to{transform:translateZ(0)}50%{transform:translate3d(-12px,-8px,0)}}@keyframes lc-bg-glow-pulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:.82;transform:scale(1.05)}}.deck-stage[data-kind=cover],.deck-stage[data-kind=quiz],.deck-stage[data-kind=results]{align-items:center}.stop{width:100%;max-width:1340px;margin:0 auto}.stop-fill{min-height:100%;display:flex;flex-direction:column}.stop-hd{flex-shrink:0;margin-bottom:clamp(16px,2.5vh,36px)}.stop-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,3vh,32px);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(72vh,720px)}.stop-content>.stop-steps-row,.stop-content>.stop-pipeline{flex:0 0 auto;margin:auto 0}.stop-pad{padding:clamp(8px,2vw,24px) 0}.stop-kicker{display:inline-block;font-size:clamp(.82rem,1vw,1.05rem);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(2rem,4vw,3.4rem);line-height:1.15;letter-spacing:-.02em;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(.9rem,1.2vw,1.1rem);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(40px,6vw,88px);align-items:center;width:100%;max-width:1400px;min-height:100%;margin:0 auto}.stop-cover-left{display:flex;flex-direction:column;gap:clamp(32px,4.5vh,52px);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(14px,2vh,20px)}.stop-cover-title{font-size:clamp(2.4rem,3.8vw,3.4rem);line-height:1.25;letter-spacing:-.025em;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.15rem,1.5vw,1.4rem);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.15rem,1.45vw,1.35rem);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.2rem,3.2vw,3rem);font-weight:900;color:var(--color-navy);line-height:1}.stop-cover-roster-head .text-dim{font-size:clamp(1rem,1.2vw,1.15rem);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(.88rem,1.1vw,1.05rem);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(16px,2.2vh,22px);background:var(--color-navy);border:none;border-top:5px solid var(--color-gold);border-radius:var(--radius-xl);padding:clamp(28px,3.2vw,42px);width:clamp(260px,24vw,340px);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(14px,1.5vw,20px);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.4rem,4vw,3.4rem);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:1400px;margin:0 auto}.stop-objectives .stop-hd{margin-bottom:clamp(24px,3.5vh,44px)}.stop-objectives .stop-title{font-size:clamp(2.5rem,4vw,3.6rem);font-weight:800}.stop-obj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,54px);width:100%}.stop-content>.stop-obj-grid{max-height:min(68vh,600px)}.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(36px,4.2vw,54px);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(24px,3.2vh,38px)}.stop-obj-icon{width:clamp(72px,6.5vw,92px);height:clamp(72px,6.5vw,92px);border-radius:clamp(18px,1.8vw,24px);display:flex;align-items:center;justify-content:center;background:var(--color-navy);color:var(--color-gold)}.stop-obj-num{font-size:clamp(3.2rem,4.8vw,4.5rem);font-weight:900;color:var(--color-text-muted);opacity:.55;line-height:1}.stop-obj-card h2{font-size:clamp(1.95rem,2.7vw,2.7rem);font-weight:800;color:var(--color-navy);margin:0 0 clamp(14px,1.8vh,22px);line-height:1.25}.stop-obj-card p{font-size:clamp(1.25rem,1.65vw,1.55rem);color:var(--color-text-dim);line-height:1.75;margin:0;white-space:pre-line;word-break:keep-all}.stop-overview{max-width:1400px}.stop-steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,30px);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(28px,2.8vw,38px) 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(380px,48vh,450px)}.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(14px,1.8vh,20px)}.stop-step-badge{font-size:clamp(1.8rem,2.4vw,2.4rem);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(70px,5.8vw,84px);height:clamp(70px,5.8vw,84px);border-radius:clamp(18px,1.8vw,24px);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.45rem,1.85vw,1.85rem);font-weight:800;color:var(--color-navy);margin:0 0 clamp(10px,1.4vh,14px) 0;line-height:1.3}.stop-step-card p{font-size:clamp(1.05rem,1.25vw,1.22rem);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(.88rem,1.05vw,1rem);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:1560px;width:100%}.stop-step-body{display:grid;grid-template-columns:1fr 1.22fr;gap:clamp(36px,4.5vw,64px);align-items:center}.stop-step-text{min-width:0;align-self:center}.stop-step-headline{font-size:clamp(1.75rem,2.5vw,2.4rem);font-weight:800;margin:0 0 16px;color:var(--color-navy)}.stop-step-lead{font-size:clamp(1.15rem,1.45vw,1.4rem);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(18px,2.6vh,26px)}.stop-point-list li{display:flex;gap:clamp(18px,2vw,24px);align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(20px,2.4vh,26px) 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(62px,4.8vw,74px);height:clamp(62px,4.8vw,74px);border-radius:clamp(16px,1.5vw,20px);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.45rem,1.85vw,1.95rem);font-weight:800;color:var(--color-navy);line-height:1.25}.stop-point-list li.is-warn strong{color:#dc2626}.stop-point-body{display:block;font-size:clamp(1.14rem,1.4vw,1.35rem);color:var(--color-text-dim);line-height:1.55}.stop-callout{margin-top:clamp(22px,2.8vh,32px);background:var(--color-danger-soft);border-left:6px solid var(--color-danger);border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,30px)}.stop-callout strong{color:var(--color-danger);display:block;margin-bottom:10px;font-size:clamp(1.25rem,1.6vw,1.65rem);font-weight:800}.stop-callout p{margin:0;color:var(--color-text-dim);font-size:clamp(1.1rem,1.4vw,1.35rem);line-height:1.6}.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(36px,4vw,56px) clamp(32px,3.5vw,48px);font-family:var(--font-mono);font-size:clamp(1.4rem,2.2vw,2.3rem);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.05rem,1.35vw,1.3rem);display:flex;align-items:center;gap:10px}.stop-installer-icon{display:inline-flex;align-items:center;justify-content:center}.stop-installer-body{padding:clamp(26px,3.2vw,42px);display:flex;flex-direction:column;gap:clamp(18px,2.4vh,26px)}.stop-installer-body label{display:flex;align-items:center;gap:16px;font-size:clamp(1.1rem,1.4vw,1.38rem);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-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(.9rem,1.2vw,1.15rem);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold)}.stop-divider h1{font-size:clamp(2.4rem,5.5vw,4.5rem);color:var(--color-on-navy);margin:0;letter-spacing:-.02em}.stop-outro p{color:var(--color-on-navy-dim);font-size:clamp(1rem,1.5vw,1.3rem);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:1560px;width:100%}.stop-pipe-note-row{display:flex;margin-bottom:clamp(14px,2.2vh,24px)}.stop-note{display:inline-flex;align-items:center;gap:10px;font-size:clamp(1.02rem,1.25vw,1.22rem);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(10px,1.6vw,24px);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(28px,2.8vw,38px) 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(380px,46vh,440px)}.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(1.8rem,2.4vw,2.4rem);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(70px,5.5vw,84px);height:clamp(70px,5.5vw,84px);border-radius:clamp(18px,1.8vw,24px);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.45rem,1.9vw,1.85rem);font-weight:800;color:var(--color-navy);margin:0 0 10px;line-height:1.3}.stop-pipe-card p{font-size:clamp(1.05rem,1.25vw,1.22rem);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(.88rem,1.05vw,1rem);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(.88rem,1.08vw,1.05rem);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.6vh,18px);justify-content:center}.stop-term{display:flex;align-items:center;gap:clamp(16px,2vw,26px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(14px,1.9vw,24px) clamp(18px,2.4vw,32px);font-size:clamp(.98rem,1.35vw,1.28rem);line-height:1.45;box-shadow:var(--shadow-sm)}.stop-term-icon{flex-shrink:0;width:clamp(44px,3.6vw,56px);height:clamp(44px,3.6vw,56px);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:1360px;width:100%}.stop-quiz{max-width:1240px}.pq{display:flex;flex-direction:column;gap:clamp(20px,3.5vh,44px);align-items:center;text-align:center}.pq-objective-text{font-weight:600}.pq-question{font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:1.22;margin:0;letter-spacing:-.02em}.pq-body{width:100%}.pq-hint{font-size:clamp(.9rem,1.2vw,1.1rem);margin:0}.pq-fastest{display:inline-flex;align-items:center;gap:2px;font-size:clamp(.95rem,1.3vw,1.2rem);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(560px,90%);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}.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:.85rem;font-weight:800;background:var(--color-surface);padding:3px 14px;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.stop-results{max-width:720px}.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(14px,2.2vh,22px);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:66px;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(2rem,4vw,3.2rem);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(2rem,4vw,3.4rem);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.5rem,6vw,4.5rem);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)}}.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(24px,5vw,72px);background:#fff;border-radius:var(--radius-xl);padding:clamp(24px,4vw,56px);box-shadow:0 40px 90px -30px #0009;border-top:5px solid var(--color-gold);max-width:1000px;animation:lc-pop-in .22s var(--ease-spring) both}.qr-stage-code{flex-shrink:0;width:clamp(220px,34vw,400px);background:#fff;padding:clamp(12px,1.5vw,20px);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(.9rem,1.4vw,1.15rem);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(3rem,9vw,6.5rem);font-weight:900;line-height:1;letter-spacing:.06em;color:var(--color-navy)}.qr-stage-alt{font-size:clamp(.95rem,1.4vw,1.2rem);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}}: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: "IBM Plex Sans Thai Looped", "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:IBM Plex Sans Thai Looped,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:-.02em}h2{font-size:var(--font-h2);font-weight:700;color:var(--color-text);letter-spacing:-.015em}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-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}}
