*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none;font-family:Inter,system-ui,-apple-system,sans-serif}.app-shell{max-width:480px;height:100%;margin:0 auto;position:relative;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.screen{height:100%;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-left)) calc(env(safe-area-inset-bottom) + var(--nav-h)) max(16px, env(safe-area-inset-right));flex-direction:column;animation:.25s fadeIn;display:flex}.scroll-natural{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;-ms-overflow-style:none;overflow:hidden auto}.scroll-natural::-webkit-scrollbar{width:0;height:0;display:none}.top-bar-safe{flex-shrink:0;padding-top:4px}.flow-screen{padding-bottom:env(safe-area-inset-bottom)}.pricing-screen.flow-screen{padding-bottom:0}.tab-screen{padding-bottom:calc(env(safe-area-inset-bottom) + var(--nav-h))}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scanplay-logo{object-fit:contain;flex-shrink:0;display:block}.wordmark{flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.wordmark--sidebar{width:100%}.wordmark-text{letter-spacing:-.03em;white-space:nowrap;font-family:Inter,system-ui,sans-serif;font-size:1.35rem;font-weight:700;line-height:1}.wordmark--sidebar .wordmark-text{font-size:1.15rem}.wordmark-accent{color:var(--accent)}.site-footer{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px 0 4px;font-size:.82rem;display:flex}.site-footer-link{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.site-footer-link:hover{color:var(--accent)}.site-footer-sep{opacity:.5}.top-bar{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 0 8px;display:flex}.top-bar-brand{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.hud-streak-top{flex-shrink:0}.hud-level-top .hud-duo-level-ring{width:30px;height:30px}.hud-level-top .hud-duo-level-num{font-size:.8rem}.icon-btn{background:var(--bg-elevated);width:44px;height:44px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:12px;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.icon-btn:active{transform:scale(.96)}.home-screen{justify-content:space-between}.home-main{text-align:left;flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:12px;width:100%;min-height:0;padding-top:8px;padding-bottom:24px;display:flex}.home-main .plan-card{flex-shrink:0;width:100%;margin-top:16px}.tagline{letter-spacing:-.03em;max-width:none;font-size:clamp(1.25rem,4.5vw,1.5rem);font-weight:700;line-height:1.2}.subtagline{color:var(--text-muted);max-width:none;margin-bottom:32px;font-size:.95rem;line-height:1.45}.camera-zone{flex-direction:column;align-items:center;gap:16px;display:flex;position:relative}.camera-btn{cursor:pointer;background:0 0;border:none;width:120px;height:120px;padding:0;position:relative}.camera-ring{background:var(--accent-dim);box-shadow:0 0 0 4px var(--accent-dim), 0 0 40px var(--accent-glow);border-radius:50%;animation:2s infinite pulse-ring;position:absolute;inset:0}@keyframes pulse-ring{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}.camera-inner{background:var(--accent);color:#0f1419;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:14px}.camera-btn:active .camera-inner{transform:scale(.95)}.camera-label{color:var(--accent);font-size:1.1rem;font-weight:700}.text-link{color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-top:28px;font-size:.9rem;text-decoration:underline}.text-link:active{color:var(--accent)}.home-footer{padding-bottom:8px}.mode-hints{text-align:center;color:var(--text-muted);font-size:.8rem}.scanning-screen{justify-content:center;align-items:center}.scanning-screen-branded{position:relative;overflow:hidden}.scanning-content{text-align:center;z-index:1;width:100%;max-width:320px;position:relative}.scanning-content-adventure{max-width:360px}.scanning-adventure-stage{flex-direction:column;align-items:center;gap:0;margin-bottom:24px;display:flex;overflow:visible}.scanning-speech-bubble{border-radius:var(--radius-xl,20px);background:var(--bg-card);border:2px solid color-mix(in srgb, var(--accent) 55%, var(--surface-border));width:min(100%,300px);box-shadow:0 10px 32px color-mix(in srgb, var(--accent) 18%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 8%, transparent);margin:0 auto 18px;padding:14px 18px;animation:.4s cubic-bezier(.34,1.2,.64,1) scanning-bubble-in;position:relative}.scanning-speech-bubble:after{content:"";border-left:9px solid #0000;border-right:9px solid #0000;border-top:9px solid var(--bg-card);filter:drop-shadow(0 2px 0 color-mix(in srgb, var(--accent) 35%, transparent));position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.scanning-speech-text{color:var(--text);justify-content:center;align-items:center;min-height:2.5em;margin:0;font-size:1.02rem;font-weight:800;line-height:1.35;display:flex}.scanning-quest-label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.9;margin:0 0 16px;font-size:.72rem;font-weight:900}.scanning-track-wrap{width:100%;overflow:visible}.scanning-track-game{background:color-mix(in srgb, var(--accent) 8%, var(--bg-card));border:3px solid color-mix(in srgb, var(--accent) 70%, var(--surface-border));height:48px;box-shadow:inset 0 2px 8px #0000000f, 0 8px 28px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:99px;transition:box-shadow .35s,border-color .35s;position:relative;overflow:visible}.scanning-track-game--boost{border-color:var(--accent);box-shadow:inset 0 2px 8px #0000000f, 0 0 24px color-mix(in srgb, var(--accent) 35%, transparent), 0 8px 28px color-mix(in srgb, var(--accent) 20%, transparent)}.scanning-track-game--finish{animation:.6s scanning-track-finish}.scanning-track-fill{background:linear-gradient(90deg,#fde047 0%,#facc15 48%,#fbbf24 100%);border-radius:99px;justify-content:center;align-items:center;min-width:0;height:100%;transition:width .35s;display:flex;position:absolute;inset:0 auto 0 0;overflow:hidden}.scanning-track-shimmer{background:linear-gradient(90deg,#0000 0%,#ffffff80 50%,#0000 100%);animation:1.1s ease-in-out infinite shimmer;position:absolute;inset:0}.scanning-track-label{z-index:1;letter-spacing:.1em;text-transform:uppercase;color:#78350fcc;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.68rem;font-weight:900;position:relative}.scanning-track-runner{z-index:3;width:58px;height:58px;filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--accent) 45%, transparent));background:0 0;transition:left .35s,transform .35s;position:absolute;top:50%;overflow:visible}.scanning-track-runner--rocket{animation:.5s ease-in-out infinite alternate scanning-runner-bounce}.scanning-track-runner--finish{animation:.55s cubic-bezier(.34,1.4,.64,1) scanning-runner-finish}.scanning-runner-glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 40%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;animation:.8s ease-in-out infinite alternate scanning-glow-pulse;position:absolute;inset:-6px}.scanning-rocket-flame{opacity:.95;background:linear-gradient(90deg,#fb923c,#fbbf24,#0000);border-radius:99px 0 0 99px;width:20px;height:10px;animation:.22s ease-in-out infinite alternate rocket-flicker;position:absolute;top:50%;right:calc(100% - 4px);transform:translateY(-50%)}.scanning-rocket-flame--2{opacity:.7;width:14px;height:7px;animation-delay:70ms;top:calc(50% + 10px)}.scanning-checkpoint{color:var(--text-muted);margin:14px 0 0;font-size:.9rem;font-weight:800;transition:color .3s}.scanning-checkpoint--boost{color:var(--accent)}@keyframes scanning-bubble-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes scanning-runner-bounce{0%{transform:translate(-50%,-50%)translateY(0)}to{transform:translate(-50%,-50%)translateY(-5px)}}@keyframes scanning-runner-finish{0%{transform:translate(-100%,-50%)scale(1)}45%{transform:translate(-100%,-50%)scale(1.12)translateY(-8px)}to{transform:translate(-100%,-50%)scale(1)}}@keyframes scanning-track-finish{0%,to{box-shadow:inset 0 2px 8px #0000000f, 0 0 24px color-mix(in srgb, var(--accent) 35%, transparent)}50%{box-shadow:inset 0 2px 8px #0000000f, 0 0 36px color-mix(in srgb, var(--accent) 55%, transparent)}}@keyframes scanning-glow-pulse{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}@keyframes rocket-flicker{0%{opacity:.55;transform:translateY(-50%)scaleX(.85)}to{opacity:1;transform:translateY(-50%)scaleX(1.1)}}.scanning-status-wow{color:var(--accent);min-height:2.6em;margin-bottom:36px;font-size:1.15rem;font-weight:800;line-height:1.35}.progress-stage{margin-bottom:0}.progress-track-wow{background:var(--bg-elevated);border-radius:99px;height:14px;position:relative;overflow:visible;box-shadow:inset 0 2px 6px #00000026}.progress-fill-wow{background:linear-gradient(90deg, var(--accent), #34d399);height:100%;box-shadow:0 0 16px var(--accent-glow);border-radius:99px;transition:width .35s;position:absolute;inset:0 auto 0 0;overflow:hidden}.progress-shimmer{background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);animation:1.4s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-runner{z-index:2;width:40px;height:40px;filter:drop-shadow(0 2px 6px var(--accent-glow));transition:left .35s,transform .35s;position:absolute}.progress-pct{color:var(--text-muted);margin-top:14px;font-size:.85rem;font-weight:800;display:block}.scanning-bg{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.scanning-orb{opacity:.35;will-change:transform;border-radius:50%;position:absolute}.scanning-orb-a{background:var(--accent);width:220px;height:220px;animation:12s ease-in-out infinite orb-drift-a;top:-60px;right:-70px}.scanning-orb-b{background:var(--accent);width:160px;height:160px;animation:14s ease-in-out infinite orb-drift-b;bottom:15%;left:-50px}.scanning-orb-c{background:#34d399;width:100px;height:100px;animation:10s ease-in-out infinite orb-drift-c;top:40%;left:55%}@keyframes orb-drift-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-12px,16px)scale(1.05)}}@keyframes orb-drift-b{0%,to{transform:translate(0)scale(1)}50%{transform:translate(14px,-10px)scale(1.08)}}@keyframes orb-drift-c{0%,to{opacity:.25;transform:translate(0)}50%{opacity:.4;transform:translate(-8px,12px)}}@media (prefers-reduced-motion:reduce){.progress-shimmer,.scanning-track-shimmer,.scanning-orb-a,.scanning-orb-b,.scanning-orb-c,.scanning-track-runner--rocket,.scanning-track-runner--finish,.scanning-rocket-flame,.scanning-runner-glow,.scanning-speech-bubble,.scanning-track-game--finish{animation:none}.progress-runner,.scanning-track-runner,.scanning-track-fill{transition:none}}.mode-main{flex-direction:column;flex:1;padding-top:8px;display:flex}.ready-badge{background:var(--accent-dim);color:var(--accent);border-radius:99px;align-self:flex-start;margin-bottom:16px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-block}.mode-heading{letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.mode-sub{color:var(--text-muted);margin:6px 0 24px;font-size:.9rem}.mode-grid{flex-direction:column;flex:1;gap:12px;display:flex}.mode-card{border-radius:var(--radius);background:var(--bg-card);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow);border:none;flex-direction:column;align-items:flex-start;gap:4px;padding:20px;transition:transform .15s;display:flex}.mode-card:active{transform:scale(.98)}.mode-icon{font-size:1.5rem}.mode-title{font-size:1.1rem;font-weight:700}.mode-desc{color:var(--text-muted);font-size:.85rem}.btn-primary,.btn-secondary,.btn-ghost,.btn-lg{border-radius:var(--radius);cursor:pointer;border:none;font-family:inherit;font-weight:600;transition:transform .12s}.btn-primary{background:var(--accent);color:#0f1419;padding:14px 20px;font-size:1rem}.btn-secondary{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow);padding:14px 20px;font-size:1rem}.btn-ghost{color:var(--text-muted);background:0 0;align-self:center;margin-top:12px;padding:12px;font-size:.9rem}.btn-lg{width:100%;padding:16px;font-size:1.05rem}.btn-primary:active,.btn-secondary:active,.btn-lg:active{transform:scale(.98)}.game-screen{padding-bottom:calc(env(safe-area-inset-bottom) + 12px);min-height:0;overflow:hidden}.game-header{z-index:2;background:var(--bg);align-items:center;gap:12px;padding:4px 0 12px;display:flex;position:relative;overflow:hidden}.game-header-exit{color:var(--text-muted);flex-shrink:0;font-size:1.1rem;font-weight:700}.game-progress-bar{background:color-mix(in srgb, var(--text-muted) 18%, var(--bg-elevated));border-radius:99px;flex:1;min-width:0;height:16px;overflow:hidden;box-shadow:inset 0 2px 5px #0000001a}.game-progress-bar--charge{animation:.45s ease-in-out infinite game-progress-charge;overflow:hidden}.game-progress-bar--explode{animation:.22s ease-in-out infinite game-progress-explode;overflow:hidden}@keyframes game-progress-charge{0%,to{transform:translate(0)}30%{transform:translate(-1.5px)}70%{transform:translate(1.5px)}}@keyframes game-progress-explode{0%,to{transform:translate(0)scale(1)}20%{transform:translate(-2px,1px)scale(1.04)}40%{transform:translate(2px,-1px)scale(1.08)}60%{transform:translate(-1.5px,-1px)scale(1.05)}80%{transform:translate(1.5px,1px)scale(1.09)}}.game-progress-fill{background:linear-gradient(90deg, var(--progress-color-start,#22c55e) 0%, var(--progress-color-end,#16a34a) 100%);min-width:0;height:100%;box-shadow:inset 0 1px 0 #ffffff73, 0 1px 3px color-mix(in srgb, var(--progress-color-end,var(--accent)) 40%, transparent);transform-origin:0;border-radius:99px;transition:width .45s cubic-bezier(.34,1.15,.64,1),background .35s linear;position:relative}.game-progress-fill--pulse{animation:.45s game-progress-pop}@keyframes game-progress-pop{0%{filter:brightness();transform:scaleY(1)}40%{filter:brightness(1.2);transform:scaleY(1.12)}to{filter:brightness();transform:scaleY(1)}}.game-progress-shine{background:linear-gradient(90deg,#0000 0%,#ffffff59 45%,#0000 100%);animation:1.6s ease-in-out infinite game-progress-shimmer;position:absolute;inset:0}@keyframes game-progress-shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}.game-header-timer{text-align:right;min-width:2.5rem;color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.9rem;font-weight:800}.game-header-spacer{flex-shrink:0;width:2.5rem}.game-progress{color:var(--text-muted);font-size:.9rem;font-weight:600}.game-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.game-body::-webkit-scrollbar{display:none}.game-header{flex-shrink:0}.game-actions{flex-shrink:0;gap:10px;padding-top:16px;display:flex}.game-actions--stacked{flex-direction:column}.game-actions--stacked .btn-primary,.game-actions--stacked .btn-secondary{width:100%;min-height:48px}.report-error-card{max-height:min(90vh,640px);overflow-y:auto}.report-error-reasons{flex-direction:column;gap:10px;margin:12px 0 16px;list-style:none;display:flex}.report-error-check{cursor:pointer;align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.4;display:flex}.report-error-check input{flex-shrink:0;margin-top:3px}.report-error-comment{resize:vertical;min-height:72px;margin-bottom:10px}.report-error-auto-note{color:var(--text-muted);margin-bottom:14px;font-size:.78rem;line-height:1.4}.game-actions .btn-primary,.game-actions .btn-secondary{flex:1}.flashcards-body{justify-content:center;align-items:center}.flashcard-swipe-stage{touch-action:pan-y;width:100%;max-width:340px;position:relative}.flashcard-swipe-stamp{z-index:2;pointer-events:none;letter-spacing:.04em;text-transform:uppercase;border:2px solid;border-radius:8px;padding:5px 9px;font-size:.82rem;font-weight:800;position:absolute;top:16px}.flashcard-swipe-stamp--known{color:var(--accent);border-color:var(--accent);right:14px}.flashcard-swipe-stamp--review{color:#b45309;border-color:#b45309;left:14px}.flashcard{aspect-ratio:3/4;perspective:1000px;cursor:pointer;background:0 0;border:none;outline:none;width:100%;max-width:340px;max-height:55vh;position:relative}.flashcard:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-lg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;padding:28px 28px 52px;transition:transform .45s;display:flex;position:absolute;inset:0}.flashcard .back,.flashcard.flipped .front{transform:rotateY(180deg)}.flashcard.flipped .back{transform:rotateY(0)}html[data-device=desktop] .flashcard .back,html[data-device=desktop] .flashcard.flipped .front{pointer-events:none}html[data-device=desktop] .flashcard.flipped .back{pointer-events:auto}.card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:12px;font-size:.75rem;font-weight:600}.card-text{text-align:center;word-break:break-word;font-size:1.5rem;font-weight:700;line-height:1.3}.formula-text{max-width:100%;overflow-x:auto}.formula-text .katex{max-width:100%;font-size:1.05em}.card-hint{color:var(--text-muted);font-size:.8rem;position:absolute;bottom:20px}.quiz-body{gap:20px}.quiz-prompt{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.game-instruction{color:var(--text-muted);white-space:normal;text-overflow:unset;margin:4px 0 10px;font-size:.9rem;line-height:1.4;overflow:visible}.quiz-term{letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.quiz-options{flex-direction:column;gap:10px;margin-top:auto;padding-bottom:8px;display:flex}.quiz-option{border-radius:var(--radius);background:var(--bg-card);min-height:48px;color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow);border:2px solid #0000;padding:16px 18px;font-family:inherit;font-size:.95rem}.quiz-option.correct{border-color:var(--accent);background:var(--accent-dim)}.quiz-option.wrong{border-color:var(--danger);opacity:.85}.match-body{-webkit-overflow-scrolling:touch;overflow-y:auto}.match-grid{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:16px;display:grid}.match-card-wrap{flex-direction:column;align-items:stretch;gap:6px;display:flex}.match-card-wrap .match-card{width:100%}.match-card-wrap.selected .match-card{border-color:var(--accent);background:var(--accent-dim)}.match-card-wrap.matched .match-card{opacity:.35;pointer-events:none}.match-card-wrap.wrong .match-card{border-color:var(--danger);animation:.35s shake}.match-card-hear{align-self:center}.match-card{border-radius:var(--radius);background:var(--bg-card);min-height:72px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);text-align:center;word-break:break-word;border:2px solid #0000;justify-content:center;align-items:center;padding:12px;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.25;display:flex}.match-card span{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hear-btn{background:var(--bg-soft);color:var(--text-muted);cursor:pointer;border:1px solid #64748b40;border-radius:99px;align-items:center;gap:4px;padding:6px 10px;font-family:inherit;font-size:.72rem;font-weight:700;display:inline-flex}.hear-btn:active:not(:disabled){transform:scale(.97)}.hear-btn:disabled{opacity:.35;cursor:not-allowed}.hear-btn--icon{justify-content:center;min-width:40px;min-height:40px;padding:0;font-size:1.15rem;line-height:1}.flashcard-hear{z-index:2;position:absolute;bottom:16px;left:16px}.quiz-term-row{flex-direction:column;align-items:center;gap:8px;margin-bottom:8px;display:flex}.quiz-term-row .quiz-term{margin:0}.match-card.selected{border-color:var(--accent);background:var(--accent-dim)}.match-card.matched{opacity:.35;pointer-events:none}.match-card.wrong{border-color:var(--danger);animation:.35s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.results-screen{min-height:0}.results-main{flex-direction:column;flex:1;gap:20px;min-height:0;padding-bottom:8px;display:flex}.results-card{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px 24px}.score-ring{background:conic-gradient(var(--accent) calc(var(--pct) * 1%), var(--bg-elevated) 0);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 20px;display:flex;position:relative}.score-ring:before{content:"";background:var(--bg-card);border-radius:50%;position:absolute;inset:8px}.score-value{color:var(--accent);font-size:2rem;font-weight:700;position:relative}.results-title{margin-bottom:6px;font-size:1.5rem;font-weight:700}.results-sub{color:var(--text-muted);margin-bottom:20px;font-size:.9rem;line-height:1.4}.results-stats{justify-content:center;gap:24px;display:flex}.stat{flex-direction:column;gap:2px;display:flex}.stat-val{font-size:.95rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:.75rem}.new-best{color:var(--accent);margin-top:16px;font-size:.9rem;font-weight:700}.beat-hint{color:var(--text-muted);margin-top:12px;font-size:.85rem}.results-actions{flex-direction:column;gap:10px;display:flex}.results-path-progress{color:var(--accent);margin:8px 0 4px;font-size:.9rem;font-weight:800}.home-install-btn{width:100%;max-width:280px}.home-install-done{text-align:center;color:var(--accent);font-size:.9rem;font-weight:700}.install-sheet-backdrop{z-index:300;cursor:pointer;background:#0f172abf;border:none;position:fixed;inset:0}.install-sheet{z-index:301;background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:min(100%,420px);max-height:85vh;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow);animation:.25s sheet-up;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.install-sheet-title{text-align:center;margin-bottom:16px;font-size:1.15rem;font-weight:800}.install-sheet-hint{color:var(--text-muted);text-align:center;margin-bottom:16px;font-size:.95rem;line-height:1.5}.install-sheet-native{width:100%;margin-bottom:16px}.install-sheet-steps{text-align:left;flex-direction:column;gap:12px;margin:0 0 20px;padding-left:1.25rem;font-size:.95rem;line-height:1.45;display:flex}.install-sheet-steps li{padding-left:4px}.install-sheet-close{width:100%}.bottom-nav{box-sizing:border-box;width:100%;max-width:480px;height:auto;min-height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));background:var(--bg-elevated);padding-top:4px;padding-bottom:env(safe-area-inset-bottom,0px);z-index:100;border-top:1px solid #64748b33;align-items:stretch;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:2px;min-width:0;min-height:0;padding:2px 2px 4px;font-family:inherit;font-size:.62rem;font-weight:700;display:flex;overflow:visible}.bottom-nav-label{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:100%;font-size:.62rem;line-height:1.15;overflow:hidden}.bottom-nav-item.active .bottom-nav-label{font-weight:800}.bottom-nav-icon{font-size:1.25rem}.xp-bar{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.xp-stat{flex-direction:column;align-items:center;min-width:40px;display:flex}.xp-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:700}.xp-value{color:var(--accent);font-size:1.1rem;font-weight:800}.xp-track-wrap{flex:1}.xp-track{background:var(--bg);border-radius:99px;height:8px;overflow:hidden}.xp-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .3s}.xp-small{color:var(--text-muted);margin-top:4px;font-size:.7rem;display:block}.streak-badge{flex-direction:row;gap:4px}.streak-fire{font-size:1rem}.mascot{text-align:center;margin-bottom:16px}.mascot-icon{justify-content:center;margin-bottom:8px;display:flex}.mascot-message{color:var(--text-muted);max-width:280px;margin:0 auto;font-size:.95rem;font-weight:600;line-height:1.4}.mascot--excited .mascot-message{color:var(--accent)}.modal-overlay{z-index:200;background:#0f172ad9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:340px;box-shadow:var(--shadow);padding:28px 24px}.modal-title{margin:12px 0 20px;font-size:1.2rem;font-weight:800}.modal-body{color:var(--text-muted);margin:-8px 0 20px;font-size:.9rem;line-height:1.45}.modal-card .btn-secondary.btn-lg{margin-top:10px}.guest-aha-card .modal-title{margin-top:0}.guest-aha-later{width:100%;margin-top:8px}.screen-title{text-align:center;flex:1;font-size:1.1rem;font-weight:800}.top-spacer{width:44px}.import-main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;min-height:0;padding-bottom:max(20px, env(safe-area-inset-bottom));flex-direction:column;flex:1;justify-content:flex-start;gap:14px;display:flex;overflow-y:auto}.import-plan-words{flex-direction:column;gap:8px;margin:0 0 4px;padding:0;list-style:none;display:flex}.import-plan-words li{background:var(--bg-card);color:var(--text-muted);opacity:.78;border:1px solid #0000;border-radius:14px;margin:0;padding:12px 14px;font-size:.92rem;font-weight:650}.import-plan-words li.is-current{opacity:1;color:var(--text);border-color:var(--accent,#2db57a);background:color-mix(in srgb, var(--accent,#2db57a) 14%, var(--bg-card));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent,#2db57a) 35%, transparent);font-weight:800}.import-card{border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow);border:2px solid #0000;flex-direction:column;align-items:flex-start;gap:6px;padding:24px;display:flex}.import-card--drop-active{border-color:var(--accent);background:var(--accent-dim)}.import-icon{font-size:2rem}.import-title{font-size:1.15rem;font-weight:800}.import-desc{color:var(--text-muted);font-size:.9rem}.history-screen{gap:0;width:100%;min-height:0}.history-hero{flex-shrink:0;width:100%;padding:4px 0 12px}.history-hero-top{flex-direction:column;gap:14px;margin-bottom:14px;display:flex}.history-hero-title{letter-spacing:-.02em;margin:0;font-size:1.55rem;font-weight:900}.history-hero-sub{color:var(--text-muted);margin:6px 0 0;font-size:.88rem;line-height:1.45}.history-stats-row{flex-wrap:wrap;gap:10px;display:flex}.history-stat-card{background:var(--bg-card);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:10px;min-width:132px;padding:10px 12px;display:flex}.history-stat-card strong{font-size:1.05rem;line-height:1.1;display:block}.history-stat-card span:last-child{color:var(--text-muted);font-size:.72rem;font-weight:600}.history-stat-icon{font-size:1.35rem}.history-filter-row{gap:8px;padding-bottom:4px;display:flex}.history-filter-row--tabs{grid-template-columns:1fr 1fr;gap:10px;display:grid;overflow:visible}.history-filter-row--tabs .history-filter-chip{flex-shrink:unset;justify-content:center;width:100%}.history-filter-chip{border:2px solid var(--bg-soft);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:99px;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;font-family:inherit;font-size:.82rem;font-weight:800;display:inline-flex}.history-filter-chip.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.history-day-group{margin-bottom:18px}.history-day-heading{grid-column:1/-1;margin:0;padding:4px 0 0;list-style:none}.history-day-heading:first-child{padding-top:0}.history-day-label{color:var(--text);margin:0 0 10px;font-size:.95rem;font-weight:800}.history-grid{gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.history-grid.history-grid--decks,.history-grid--flat{grid-template-columns:repeat(2,minmax(0,1fr))}.history-grid-card{background:var(--bg-card);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;width:100%;min-width:0;display:flex;overflow:hidden}.history-grid-card--locked{opacity:.88}.history-grid-visual{aspect-ratio:16/10;flex-shrink:0;width:100%;position:relative;overflow:hidden}.history-grid-thumb{object-fit:cover;object-position:center;image-rendering:auto;width:100%;height:100%;display:block}.history-grid-thumb--fallback{background:var(--bg-soft);justify-content:center;align-items:center;font-size:2rem;display:flex}.history-score-badge{color:#111827;letter-spacing:.01em;white-space:nowrap;background:#ffffffeb;border-radius:99px;padding:6px 10px;font-size:.72rem;font-weight:900;position:absolute;top:10px;right:10px;box-shadow:0 4px 14px #0f172a1f}.history-score-badge--fail{color:#b91c1c}.history-subject-badge{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;border-radius:99px;padding:4px 10px;font-size:.68rem;font-weight:800;position:absolute;bottom:10px;left:10px}.history-grid-body{flex-direction:column;flex:1;gap:6px;padding:12px 12px 10px;display:flex}.history-grid-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.88rem;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.history-grid-date{color:var(--text-muted);margin:0;font-size:.72rem}.history-grid-xp{color:#d97706;margin:0;font-size:.78rem;font-weight:700}.history-review-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:auto;padding:11px 12px;font-family:inherit;font-size:.84rem;font-weight:800;display:inline-flex}.history-review-btn--locked{background:var(--bg-soft);color:var(--text-muted)}.history-review-play{font-size:.72rem}.history-path-progress{margin-top:10px}.history-path-progress-track{background:var(--bg-soft);border-radius:99px;height:6px;overflow:hidden}.history-path-progress-fill{border-radius:inherit;background:linear-gradient(90deg, #34d399, var(--accent));min-width:0;height:100%;transition:width .35s}.history-path-progress-fill--complete{background:linear-gradient(90deg,#22c55e,#16a34a)}.history-grid-footer{border-top:1px solid var(--border);background:var(--bg-soft);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 10px;display:flex}.history-load-more{border:2px dashed var(--border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:14px;grid-column:1/-1;margin:8px 0 16px;padding:14px;font-family:inherit;font-size:.88rem;font-weight:700}.history-load-more span{margin-top:2px;display:block}[data-device=mobile] .history-grid--decks{gap:10px}[data-device=mobile] .history-grid-body{gap:4px;padding:8px 8px 6px}[data-device=mobile] .history-grid-title{font-size:.76rem;line-height:1.25}[data-device=mobile] .history-grid-date{font-size:.62rem}[data-device=mobile] .history-grid-xp{font-size:.68rem}[data-device=mobile] .history-review-btn{border-radius:10px;padding:8px 6px;font-size:.74rem}[data-device=mobile] .history-path-progress{margin-top:6px}[data-device=mobile] .history-path-progress-track{height:5px}[data-device=mobile] .history-score-badge{padding:4px 7px;font-size:.6rem;top:6px;right:6px}[data-device=mobile] .history-subject-badge{padding:3px 7px;font-size:.58rem;bottom:6px;left:6px}[data-device=mobile] .history-grid-footer{flex-direction:column;align-items:stretch;gap:6px;padding:6px 8px 8px}[data-device=mobile] .history-delete-btn{align-self:center;padding:4px 8px;font-size:.68rem}[data-device=mobile] .history-grid-footer .synthesis-actions--compact{width:100%}[data-device=mobile] .history-grid-footer .synthesis-actions--compact .synthesis-action-btn{justify-content:center;width:100%;padding:6px 8px;font-size:.66rem}[data-device=mobile] .history-grid-card{border-radius:14px}@media (width>=560px){.history-grid--decks{gap:14px}}@media (width>=720px){.history-hero-top{flex-direction:row;justify-content:space-between;align-items:flex-start}}@media (width>=900px){.history-grid--decks{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.history-grid-body{padding:12px 12px 10px}.history-grid-title{font-size:.88rem}}[data-device=desktop] .history-screen{width:100%;max-width:none;margin-inline:0;padding-inline:20px 28px}[data-device=desktop] .history-hero,[data-device=desktop] .history-main{width:100%;max-width:none;margin-inline:0}[data-device=desktop] .history-grid--decks{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px 22px}@media (width>=1100px){[data-device=desktop] .history-grid--decks{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px 24px}}@media (width>=1400px){[data-device=desktop] .history-grid--decks{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.history-main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1;width:100%;min-height:0;overflow-y:auto}.history-list{flex-direction:column;gap:12px;list-style:none;display:flex}.history-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.history-card-play{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:stretch;gap:12px;padding:14px;display:flex}.history-card--replay-locked .history-card-play{opacity:.72}.history-play-label--locked{color:var(--text-muted);background:#64748b26}.history-replay-hint{color:var(--text-muted);background:var(--bg-soft);border-radius:var(--radius);margin:0 0 12px;padding:10px 12px;font-size:.82rem}.history-exam-duration{align-items:center;gap:4px;font-weight:700;display:flex}.history-exam-meta{color:var(--text-muted);margin:0;font-size:.78rem}.history-exam-pass{color:var(--accent);font-weight:700}.history-exam-fail{color:#e74c3c;font-weight:700}.error-boundary-screen{text-align:center;background:var(--bg,#f8fafc);min-height:100dvh;color:var(--text,#0f172a);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.auth-session-boot{background:var(--bg,#f0fdf4);flex:1;min-height:100%}.error-boundary-title{margin:0;font-size:1.5rem;font-weight:800}.error-boundary-text{max-width:320px;color:var(--text-muted,#64748b);margin:0}.account-delete-btn{margin-top:10px}.btn-danger-outline{color:#ef4444;background:0 0;border:2px solid #ef4444;font-weight:700}.home-guest-hint{color:var(--accent);text-align:center;margin:8px 0 0;font-size:.82rem;font-weight:700}.top-bar-guest-pill{letter-spacing:.04em;text-transform:uppercase;color:#14532d;background:linear-gradient(135deg,#fef08a,#fde047);border:2px solid #22c55e;border-radius:99px;align-items:center;padding:5px 10px;font-size:.68rem;font-weight:900;animation:2.2s ease-in-out infinite guest-pill-pulse;display:inline-flex;box-shadow:0 2px 10px #22c55e40}.guest-scan-banner{border-radius:var(--radius-lg);text-align:left;margin-bottom:16px;padding:16px;position:relative;overflow:hidden}.guest-scan-banner--available{background:linear-gradient(145deg,#ecfdf5 0%,#fef9c3 100%);border:3px solid #22c55e;box-shadow:0 10px 28px #22c55e33}.guest-scan-banner--used{background:var(--surface);border:2px solid var(--border)}.guest-scan-banner-glow{pointer-events:none;background:#22c55e26;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-30px}.guest-scan-banner-inner{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.guest-scan-banner-pix{background:0 0;flex-shrink:0;overflow:visible}.guest-scan-banner-pix .scanplay-mascot{background:0 0}.guest-scan-banner-copy{flex:1;min-width:0}.guest-scan-badge{letter-spacing:.06em;text-transform:uppercase;color:#14532d;background:#fde047;border:2px solid #16a34a;border-radius:99px;margin-bottom:6px;padding:4px 10px;font-size:.7rem;font-weight:900;animation:2.2s ease-in-out infinite guest-pill-pulse;display:inline-block}.guest-scan-banner-title{color:#166534;margin:0 0 4px;font-size:1.05rem;font-weight:900;line-height:1.25}.guest-scan-banner-body{color:#15803d;opacity:.92;margin:0;font-size:.88rem;font-weight:600;line-height:1.4}.guest-scan-banner-foot{color:#16a34a;text-align:center;margin:12px 0 0;font-size:.78rem;font-weight:700}.guest-scan-banner-cta{width:100%;margin-top:12px}.guest-scan-banner--compact{margin-bottom:12px;padding:12px}.guest-scan-banner--compact .guest-scan-banner-title{font-size:.95rem}.guest-scan-banner--compact .guest-scan-banner-foot{display:none}.camera-guest-badge,.home-dropzone-guest-badge{z-index:2;letter-spacing:.05em;text-transform:uppercase;color:#14532d;background:linear-gradient(135deg,#fef08a,#fde047);border:2px solid #22c55e;border-radius:99px;padding:5px 11px;font-size:.68rem;font-weight:900;animation:2.2s ease-in-out infinite guest-pill-pulse;position:absolute;box-shadow:0 4px 14px #22c55e4d}.camera-guest-badge{top:-6px;right:calc(50% - 72px)}.home-dropzone-guest-badge{top:12px;right:12px}@keyframes guest-pill-pulse{0%,to{transform:scale(1);box-shadow:0 4px 14px #22c55e40}50%{transform:scale(1.04);box-shadow:0 6px 18px #22c55e66}}@media (prefers-reduced-motion:reduce){.top-bar-guest-pill,.guest-scan-badge,.camera-guest-badge,.home-dropzone-guest-badge{animation:none}}.google-auth-overlay{z-index:10050;background:#0f172a73;position:fixed;inset:0}.google-auth-panel{z-index:10051;background:var(--bg-card,#fff);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:20px 22px 18px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 48px #0f172a2e}.google-auth-panel-title{color:var(--text,#0f172a);margin:0;font-size:1.05rem;font-weight:800}.google-auth-button-host{min-height:44px}.history-subtabs{flex-shrink:0;gap:8px;padding:0 4px 12px;display:flex}.history-subtab{border:2px solid var(--bg-soft);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:99px;flex:1;padding:10px 12px;font-family:inherit;font-size:.82rem;font-weight:800}.history-subtab.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.exam-path-chrono{border-radius:var(--radius);color:#fca5a5;background:#ef44441f;border:2px solid #ef444459;align-items:center;gap:10px;padding:12px 14px;font-size:.88rem;font-weight:700;animation:1.5s ease-in-out infinite exam-chrono-pulse;display:flex}[data-theme=light] .exam-path-chrono{color:#b91c1c;background:#ef444414}@keyframes exam-chrono-pulse{0%,to{opacity:1}50%{opacity:.85}}.exam-grade-badge{border-radius:99px;flex-shrink:0;padding:6px 12px;font-size:.85rem;font-weight:900}.exam-grade-badge--pass{color:var(--accent);background:#10b98133}.exam-grade-badge--fail{color:#f87171;background:#ef444433}.exam-history-card-inner{cursor:default;pointer-events:none}.exam-history-card .history-card-footer{justify-content:flex-end}.exam-history-card .history-delete-btn{pointer-events:auto}.history-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.history-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.history-play-label{color:var(--accent);background:var(--accent-dim);text-transform:uppercase;letter-spacing:.03em;border-radius:99px;flex-shrink:0;padding:4px 10px;font-size:.72rem;font-weight:800}.history-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.history-meta-pill{color:var(--text-muted);font-size:.78rem;font-weight:600}.history-step-badge{color:#fbbf24;background:#fbbf241f;border-radius:99px;padding:2px 8px;font-size:.72rem;font-weight:700}.history-card-footer{border-top:1px solid var(--border);background:var(--bg-soft);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 12px;display:flex}.history-delete-btn{color:var(--danger,#f87171);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:8px 10px;font-size:.78rem;font-weight:700}.history-delete-btn:hover{background:#f871711a}.history-meta{color:var(--text-muted);font-size:.78rem}.history-progress{color:var(--accent);font-weight:700}.history-thumb{background:var(--bg);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;overflow:hidden}.history-thumb img{object-fit:cover;width:100%;height:100%}.history-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.history-title{word-break:break-word;font-size:.95rem;font-weight:700;line-height:1.3}.history-badge{color:var(--accent);background:var(--accent-dim);border-radius:99px;padding:2px 8px;font-size:.68rem;font-weight:700}.history-date{color:var(--text-muted);font-size:.72rem}.history-delete{background:var(--bg-card);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);border:none;flex-shrink:0;padding:0 12px;font-size:.9rem}.synthesis-actions--compact{flex:1;margin:0}.account-guest-card{border-radius:var(--radius);background:var(--bg-soft);flex-direction:column;gap:12px;padding:14px;display:flex}.account-guest-text{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.45}.account-email{word-break:break-all;font-size:.9rem}.account-password-block{border-top:1px solid #64748b26;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;display:flex}.settings-sublabel{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:.82rem;font-weight:800}.settings-hint{color:var(--text-muted);margin:0 0 4px;font-size:.82rem;line-height:1.45}.settings-form-error{color:var(--danger);margin:0;font-size:.82rem}.settings-form-info{color:var(--accent);margin:0;font-size:.82rem}.account-password-btn{align-self:flex-start;margin-top:4px}.account-reset-link{align-self:flex-start;margin-top:4px;font-size:.82rem}.privacy-sheet{z-index:1200;width:min(100%,480px);max-height:min(88vh,720px);padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-card);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.privacy-sheet-close{align-self:flex-start}.privacy-sheet-updated{color:var(--text-muted);margin:0;font-size:.75rem}.privacy-sheet-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.privacy-sheet-paragraph{color:var(--text);margin:0;font-size:.88rem;line-height:1.55}.privacy-sheet-heading{color:var(--text);margin:8px 0 0;font-size:.95rem;font-weight:800}.privacy-sheet-close-btn{flex-shrink:0}.stats-login-hint,.stats-section--empty .stats-login-hint{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.45}.btn-sm{margin-top:8px;padding:10px 16px;font-size:.85rem}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px}.empty-icon{margin-bottom:12px;font-size:3rem;display:block}.empty-hint{margin-top:8px;font-size:.9rem}.settings-main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1;min-height:0;overflow-y:auto}.settings-section{margin-bottom:24px}.subscription-section{margin-bottom:28px}.subscription-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:2px solid var(--border-soft,#ffffff0f);flex-direction:column;gap:14px;padding:16px;display:flex}.subscription-card--free{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:linear-gradient(165deg, color-mix(in srgb, var(--accent) 12%, var(--bg-card)) 0%, var(--bg-card) 55%)}.subscription-card--plus{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.subscription-card--pro{background:linear-gradient(165deg, color-mix(in srgb, #fbbf24 10%, var(--bg-card)) 0%, var(--bg-card) 60%);border-color:#fbbf2480}.subscription-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.subscription-card-plan{align-items:center;gap:12px;min-width:0;display:flex}.subscription-plan-name{margin:0;font-size:1.05rem;font-weight:900}.subscription-plan-price{color:var(--text-muted);margin:2px 0 0;font-size:.82rem;font-weight:700}.subscription-scans-pill{background:var(--bg-soft);color:var(--text-muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:.72rem;font-weight:800}.subscription-card .plan-perks-bar{margin:0}.subscription-cta,.subscription-cta-secondary{width:100%}.subscription-period-info{background:#0f172a0f;border:1px solid #0f172a14;border-radius:12px;margin:.75rem 0 .25rem;padding:.75rem .9rem}.subscription-period-line{margin:0;font-size:.9rem;font-weight:600}.subscription-period-note{color:var(--text-muted,#64748b);margin:.35rem 0 0;font-size:.82rem}.subscription-cancel-renewal{width:100%;margin-top:.6rem}.subscription-guest-hint{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.45}.settings-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:.75rem;font-weight:800}.profile-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:16px;display:flex}.profile-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.profile-header-info{min-width:0}.profile-header-name{text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:1.05rem;font-weight:800;overflow:hidden}.profile-header-meta{color:var(--text-muted);margin:0;font-size:.82rem;font-weight:600}.profile-header-streak{color:var(--accent)}.profile-level-badge{text-align:center;flex-shrink:0}.profile-level-ring{width:52px;height:52px;margin:0 auto 2px}.profile-level-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;font-size:.62rem;font-weight:700;display:block}.profile-xp-bar{margin:0}.profile-stats-block{flex-direction:column;gap:10px;display:flex}.profile-stats-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:.72rem;font-weight:800}.profile-stats-grid{margin:0}.profile-stats-block--locked .stat-tile--blurred{filter:blur(4px);-webkit-user-select:none;user-select:none}.profile-stats-upgrade{width:100%}.profile-card-divider{background:var(--bg-soft);height:1px;margin:16px 0 12px}.profile-section{margin-bottom:8px}.profile-section--guest{margin-bottom:20px}.profile-card--guest{text-align:center;align-items:stretch;gap:16px}.profile-guest-preview{flex-direction:column;align-items:center;gap:12px;display:flex}.profile-avatar-preview--guest{width:72px;height:72px;font-size:2rem}.profile-guest-text{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.45}.profile-subscription-block{flex-direction:column;gap:10px;display:flex}.profile-subscription-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:800}.subscription-card--embedded{box-shadow:none;background:0 0;border:none;padding:0}.subscription-card--embedded.subscription-card--free,.subscription-card--embedded.subscription-card--plus,.subscription-card--embedded.subscription-card--pro{background:0 0;border:none}.profile-avatar-preview{background:var(--accent-dim);border:3px solid var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;margin:0;display:flex;overflow:hidden}.profile-avatar-emoji{font-size:2rem}.profile-avatar-img{object-fit:cover;width:100%;height:100%}.profile-picker-label,.profile-name-label{color:var(--text-muted);margin-bottom:8px;font-size:.78rem;font-weight:700}.profile-avatar-grid{flex-wrap:wrap;gap:8px;display:flex}.profile-avatar-btn{background:var(--bg-soft);cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:flex}.profile-avatar-btn.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.profile-file-input{display:none}.profile-upload-hint,.profile-name-hint,.profile-saved-hint{color:var(--text-muted);margin-top:6px;font-size:.75rem}.profile-saved-hint{color:var(--accent);font-weight:700}.profile-upload-error{color:var(--danger);margin-top:6px;font-size:.75rem}.profile-name-row{align-items:center;gap:8px;display:flex}.profile-name-input{background:var(--bg);color:var(--text);border:1px solid #64748b33;border-radius:10px;flex:1;padding:10px 12px;font-family:inherit;font-weight:600}.profile-pseudo-tuto{z-index:110;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-card) 92%, var(--accent));border:2px solid color-mix(in srgb, var(--accent) 45%, transparent);width:min(280px,100vw - 24px);box-shadow:var(--shadow);text-align:center;pointer-events:auto;flex-direction:column;align-items:center;gap:6px;padding:10px 12px 12px;transition:top .25s,bottom .25s,transform .25s;display:flex;position:fixed;left:auto}.profile-pseudo-tuto--docked{right:12px}.profile-pseudo-tuto--zoom{opacity:.85;transform:scale(.96)}.profile-pseudo-title{margin:0;font-size:.95rem;font-weight:900}.profile-pseudo-skip{color:var(--text-muted);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:flex-end;margin:0;padding:4px 10px;font-size:.82rem;font-weight:750;text-decoration:underline}.profile-name-field--coach{border:2px solid var(--accent,#2db57a);background:color-mix(in srgb, var(--accent) 8%, var(--bg));box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);transform-origin:50%;border-radius:14px;padding:12px}.profile-name-field--coach .profile-name-input{border-color:var(--accent,#2db57a)}.profile-name-field--zoom{animation:.42s ease-out profile-pseudo-zoom}@keyframes profile-pseudo-zoom{0%{transform:scale(1)}40%{transform:scale(1.045)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.profile-name-field--zoom{animation:none}.profile-pseudo-tuto{transition:none}}.account-display-name{font-size:1rem;font-weight:800}.settings-row{border-bottom:1px solid #64748b26;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.settings-select{background:var(--bg);color:var(--text);border:none;border-radius:10px;padding:8px 12px;font-family:inherit;font-weight:600}.toggle{background:var(--text-muted);cursor:pointer;border:none;border-radius:99px;flex-shrink:0;width:52px;height:30px;position:relative}.toggle.on{background:var(--accent)}.toggle:after{content:"";pointer-events:none;background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle.on:after{transform:translate(22px)}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-family:inherit;font-weight:700}.btn-danger{border-radius:var(--radius);width:100%;color:var(--danger);cursor:pointer;background:#f8717126;border:none;margin-top:12px;padding:14px;font-family:inherit;font-weight:700}.plan-badge{border-radius:99px;align-items:center;margin-top:8px;padding:4px 10px;font-size:.75rem;font-weight:800;line-height:1;display:inline-flex}.plan-badge.plus{background:var(--accent-dim);color:var(--accent)}.plan-badge.pro{color:#fbbf24;background:#fbbf2433}.plan-badge--free{color:var(--text-muted);background:#94a3b833}.plan-badge--plus{background:var(--accent-dim);color:var(--accent)}.plan-badge--pro{color:#fbbf24;background:#fbbf2433}.plan-badge-icon{margin-left:4px}.top-bar .plan-badge{margin-top:0;margin-left:auto}.top-bar-compact .plan-badge{padding:3px 8px;font-size:.65rem}.plan-card{background:var(--bg-card);border:1px solid var(--surface-border,var(--border));border-radius:var(--radius-lg,var(--radius));box-shadow:none;margin-bottom:16px;padding:14px 16px}.plan-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.plan-card-head .plan-badge{flex-shrink:0;margin-top:0}.plan-card-title{font-size:.9rem;font-weight:800;line-height:1.2}.plan-card-perks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.plan-card-perks li{align-items:center;gap:10px;font-size:.82rem;display:flex}.plan-card-perks li>span[aria-hidden=true]{text-align:center;flex-shrink:0;width:1.1em}.plan-card-perks li.locked{color:var(--text-muted);opacity:.75}.plan-card-hint{color:var(--text-muted);margin:10px 0 0;font-size:.75rem}.plan-card-hint--active{color:#16a34a;font-weight:600}.plan-card--plus{border-color:#22c55e73;box-shadow:0 0 0 1px #22c55e1f}.plan-card--pro{background:linear-gradient(180deg, #22c55e0f, var(--bg-card));border-color:#22c55ea6;box-shadow:0 0 0 2px #22c55e2e}.plan-card-actions{flex-direction:column;gap:8px;margin-top:12px;display:flex}.plan-card-secondary{width:100%}.plan-card-upgrade{width:100%;margin-top:12px}.plan-perks-bar{width:100%;max-width:760px;margin:0 auto;padding:8px 16px 0}.plan-perks-summary{color:var(--text-muted);margin:0 0 8px;font-size:.78rem;font-weight:700}.plan-perks-chips{flex-wrap:wrap;gap:6px;display:flex}.plan-perk-chip{border:1px solid var(--border);background:var(--bg);cursor:default;border-radius:99px;padding:4px 8px;font-family:inherit;font-size:.68rem}.plan-perk-chip.unlocked{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.plan-perk-chip.locked{color:var(--text-muted);opacity:.85;cursor:pointer}.synthesis-actions{flex-direction:column;align-items:center;gap:6px;margin:12px 0 16px;display:flex}.synthesis-actions--compact{align-items:flex-start;margin:0}.synthesis-action-btn{border:2px solid var(--accent);background:linear-gradient(135deg, var(--surface) 0%, color-mix(in srgb, var(--accent) 12%, var(--surface)) 100%);color:var(--text);cursor:pointer;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:99px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:.82rem;font-weight:800;display:inline-flex}.synthesis-actions--compact .synthesis-action-btn{padding:6px 10px;font-size:.72rem}.synthesis-action-btn:disabled{opacity:.65;cursor:wait}.synthesis-quota-pill{background:var(--accent);color:#fff;border-radius:99px;padding:2px 8px;font-size:.68rem;font-weight:800}.synthesis-quota-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.72rem}.synthesis-sheet-layer{z-index:1200;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.synthesis-sheet-backdrop-btn{-webkit-backdrop-filter:blur(8px);cursor:pointer;pointer-events:auto;background:#0f172ad1;border:none;padding:0;animation:.2s synthesisBackdropIn;position:absolute;inset:0}.synthesis-sheet-backdrop-btn:disabled{cursor:wait}.synthesis-sheet{z-index:1;background:var(--surface);border-radius:var(--radius-lg,20px);pointer-events:auto;width:min(420px,100%);max-height:min(88vh,640px);padding:20px 18px 24px;animation:.28s sheet-up;position:relative;overflow-y:auto;box-shadow:0 16px 48px #00000059}.synthesis-sheet-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:12px 8px 8px;display:flex}.synthesis-sheet-loading-title{margin:0 0 8px;font-size:1rem;font-weight:800}.synthesis-sheet-pending{color:var(--accent);margin:12px 0 0;font-size:.78rem;font-weight:700}.synthesis-sheet-close{position:absolute;top:12px;right:12px}.synthesis-sheet h3{margin:0 32px 8px 0;font-size:1.15rem}.synthesis-sheet-desc{color:var(--text-muted);margin:0 0 16px;font-size:.85rem;line-height:1.45}.synthesis-sheet-foot{color:var(--text-muted);text-align:center;margin:14px 0 0;font-size:.72rem}.synthesis-choice-btn{text-align:left;border-radius:var(--radius);border:2px solid var(--border);background:var(--bg-soft);cursor:pointer;width:100%;color:var(--text);align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px;font-family:inherit;display:flex}.synthesis-choice-btn strong{margin-bottom:4px;font-size:.95rem;display:block}.synthesis-choice-btn small{color:var(--text-muted);font-size:.78rem;line-height:1.35;display:block}.synthesis-choice-btn--study{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-soft))}.synthesis-choice-icon{font-size:1.6rem;line-height:1}.synthesis-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 14px;animation:.8s linear infinite spin}.synthesis-study-backdrop{z-index:1250;background:var(--bg);position:fixed;inset:0}.synthesis-study{-webkit-overflow-scrolling:touch;height:100%;padding:12px 16px 40px;overflow-y:auto}.synthesis-study-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.synthesis-study-badge{background:color-mix(in srgb, var(--accent) 18%, var(--surface));color:var(--accent);border-radius:99px;padding:6px 12px;font-size:.75rem;font-weight:800}.synthesis-study-hero{align-items:center;gap:14px;margin-bottom:16px;display:flex}.synthesis-study-thumb{object-fit:cover;border:2px solid var(--border);border-radius:12px;flex-shrink:0;width:88px;height:88px}.synthesis-study-hero-text h2{margin:0;font-size:1.25rem;line-height:1.25}.synthesis-study-subject{color:var(--accent);margin:4px 0 0;font-size:.85rem;font-weight:700}.synthesis-study-intro{color:var(--text);margin:0 0 18px;font-size:.92rem;line-height:1.55}.synthesis-section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:14px 16px;animation:.45s both synthesisFadeUp}.synthesis-section-card h3{color:var(--accent);margin:0 0 8px;font-size:1rem}.synthesis-section-card p{margin:0 0 8px;font-size:.88rem;line-height:1.5}.synthesis-highlight{background:color-mix(in srgb, var(--accent) 12%, var(--bg-soft));border-radius:8px;padding:8px 10px;font-weight:700;font-size:.85rem!important}.synthesis-bullets{margin:8px 0 0;padding-left:18px;font-size:.85rem;line-height:1.45}.synthesis-table-wrap{margin-top:10px;overflow-x:auto}.synthesis-table{border-collapse:collapse;width:100%;font-size:.82rem}.synthesis-table th,.synthesis-table td{border:1px solid var(--border);text-align:left;padding:8px 10px}.synthesis-table th{background:color-mix(in srgb, var(--accent) 14%, var(--surface));font-weight:800}.synthesis-keypoints{margin-top:8px}.synthesis-keypoints h3,.synthesis-tips h3{margin:0 0 10px;font-size:.95rem}.synthesis-keypoints-grid{flex-wrap:wrap;gap:8px;display:flex}.synthesis-keypoint-chip{background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:8px 12px;font-size:.78rem;font-weight:600}.synthesis-tips ul{margin:0;padding-left:18px;font-size:.85rem;line-height:1.5}.synthesis-related{color:var(--text-muted);background:var(--bg-soft);border-radius:var(--radius);margin-top:20px;padding:12px;font-size:.82rem;line-height:1.45}@keyframes spin{to{transform:rotate(360deg)}}@keyframes synthesisBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes synthesisFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mode-toggles{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:8px;display:flex}.exam-chip{border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:99px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.85rem;font-weight:700;display:inline-flex}.exam-chip.active{color:#fbbf24;background:#fbbf241f;border-color:#fbbf24}.exam-chip.locked{opacity:.75;color:var(--text-muted)}.express-chip.disabled{opacity:.5}.exam-mode-hint,.spaced-due-hint,.spaced-locked-hint,.words-truncated-hint{text-align:center;margin:0 0 10px;font-size:.78rem;font-weight:700}.words-truncated-hint{color:#fbbf24}.spaced-due-hint{color:var(--accent)}.spaced-locked-hint{color:var(--text-muted)}.stats-section--locked .stat-tile--blurred{filter:blur(4px);-webkit-user-select:none;user-select:none}.stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat-tile{background:var(--bg);text-align:center;border-radius:12px;padding:12px 8px}.stat-tile-val{color:var(--accent);font-size:1.25rem;font-weight:800;display:block}.stat-tile-label{color:var(--text-muted);font-size:.68rem}.stats-lock-hint{color:var(--text-muted);margin:12px 0 8px;font-size:.82rem}.app-toast{bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:200;background:var(--surface);border:1px solid var(--accent);color:var(--text);text-align:center;border-radius:99px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:.85rem;font-weight:700;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.history-limit-badge{color:var(--text-muted);margin-left:auto;font-size:.72rem;font-weight:700}.exam-pass-label,.exam-fail-note{color:#fbbf24;margin:8px 0 0;font-size:.82rem;font-weight:700}.pricing-compare-wrap{margin-bottom:0;overflow-x:auto}.pricing-compare-wrap.scroll-natural,.pricing-compare-wrap{scrollbar-width:none;-ms-overflow-style:none}.pricing-compare-wrap::-webkit-scrollbar{display:none}.pricing-compare{border-collapse:collapse;width:100%;font-size:.78rem}.pricing-compare th,.pricing-compare td{border-bottom:1px solid var(--border);text-align:center;padding:10px 8px}.pricing-compare th:first-child,.pricing-compare td:first-child{text-align:left;font-weight:700}.pricing-compare .col-current{color:#15803d;background:#22c55e2e;font-weight:800;box-shadow:inset 0 0 0 1px #22c55e59}.pricing-current-tag{margin-top:2px;font-size:.6rem;font-weight:700;display:block}.pricing-cards{gap:12px;display:grid}.pricing-note{color:var(--text-muted);text-align:center;margin-top:16px;font-size:.78rem}.pricing-upgrade-policy{color:var(--text-muted);text-align:center;max-width:28rem;margin-top:8px;margin-left:auto;margin-right:auto;font-size:.78rem;line-height:1.45}.about-text{color:var(--text-muted);font-size:.9rem;line-height:1.5}.dev-section{opacity:.7;border-top:1px dashed var(--text-muted);margin-top:32px;padding-top:16px}.dev-plans{gap:8px;display:flex}.dev-plan-btn{background:var(--bg);color:var(--text);cursor:pointer;border:2px solid #0000;border-radius:10px;flex:1;padding:10px;font-family:inherit;font-weight:700}.dev-plan-btn.active{border-color:var(--accent);color:var(--accent)}.scans-left{color:var(--accent);font-size:.85rem;font-weight:700}.auth-gate{flex-direction:column;height:100%;display:flex}.auth-gate .auth-screen{flex:1;min-height:0}.auth-loading{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-weight:600;display:flex}.auth-screen{min-height:0;overflow:hidden}.auth-main{min-height:0;padding-top:8px;padding-bottom:max(16px, env(safe-area-inset-bottom));flex:1}.auth-tabs{background:var(--bg-soft);border-radius:14px;gap:8px;margin-bottom:16px;padding:4px;display:flex}.auth-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:12px 16px;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .15s,color .15s}.auth-tab.active{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow)}.auth-tab:disabled{opacity:.6;cursor:not-allowed}.auth-hint{color:var(--text-muted);margin:4px 0 8px;font-size:.85rem}.auth-resend{width:100%;margin-bottom:0}.auth-confirm-panel{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 10%, var(--bg-soft));border:2px solid color-mix(in srgb, var(--accent) 35%, transparent);margin-bottom:16px;padding:16px}.auth-confirm-hint{color:var(--text-muted);margin:0 0 10px;font-size:.85rem;line-height:1.45}.auth-confirm-email{word-break:break-all;margin:0 0 12px;font-size:.88rem}.auth-confirm-login{width:100%;margin-top:10px}.auth-forgot{align-self:center;margin:0;font-size:.95rem}.auth-forgot-footer{border-top:1px solid var(--border-subtle,#ffffff14);justify-content:center;margin-top:16px;padding-top:12px;display:flex}.auth-forgot-hint{color:var(--text-muted);margin:8px 0 0;font-size:.88rem;line-height:1.4}.auth-error-block{margin-bottom:12px}.auth-error-block .auth-error{margin-bottom:0}.auth-reset-panel{background:var(--surface-raised,#ffffff0a);border:1px solid var(--border-subtle,#ffffff14);border-radius:12px;margin-bottom:16px;padding:14px}.auth-reset-hint{color:var(--text-muted);margin:8px 0 12px;font-size:.9rem;line-height:1.45}.auth-forgot-back{width:100%;margin-top:8px}.account-password-block--highlight{border:2px solid var(--accent,#22c55e);border-radius:12px;margin:8px -12px;padding:12px;animation:2s ease-in-out 2 password-highlight-pulse;box-shadow:0 0 0 4px #22c55e26}@keyframes password-highlight-pulse{0%,to{box-shadow:0 0 0 4px #22c55e26}50%{box-shadow:0 0 0 8px #22c55e14}}.auth-title{margin-bottom:8px;font-size:1.75rem;font-weight:800}.auth-sub{color:var(--text-muted);margin-bottom:24px;line-height:1.4}.auth-error{color:var(--danger);margin-bottom:12px;font-size:.9rem;font-weight:600;line-height:1.4}.auth-error-detail{opacity:.85;font-weight:500}.auth-info{color:var(--accent);margin-bottom:12px;font-size:.9rem;font-weight:600;line-height:1.4}.auth-google-btn{border:2px solid var(--bg-soft);border-radius:var(--radius);background:var(--bg-card);width:100%;color:var(--text);cursor:pointer;box-shadow:var(--shadow);justify-content:center;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;font-size:1rem;font-weight:700;transition:transform .12s,opacity .12s;display:flex}.auth-google-btn:active:not(:disabled){transform:scale(.98)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-google-icon{flex-shrink:0;width:20px;height:20px}.auth-divider{color:var(--text-muted);align-items:center;gap:12px;margin:20px 0 16px;font-size:.85rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--bg-soft);flex:1;height:1px}.auth-form{flex-direction:column;gap:8px;display:flex}.field-label{margin-top:8px;font-size:.85rem;font-weight:700}.field-input{border-radius:var(--radius);background:var(--bg-card);width:100%;color:var(--text);box-shadow:var(--shadow);border:2px solid #0000;padding:14px 16px;font-family:inherit;font-size:1rem}.field-password{position:relative}.field-password .field-input{padding-right:48px}.pass-toggle{cursor:pointer;background:0 0;border:none;font-size:1.1rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-or{text-align:center;color:var(--text-muted);margin:16px 0;font-size:.9rem}.billing-cycle-toggle{background:var(--bg-soft);border-radius:14px;gap:8px;max-width:320px;margin:0 auto;padding:4px;display:flex}.billing-cycle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:.85rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.billing-cycle-btn.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 4px #00000014}.billing-save-badge{color:#059669;background:#0596691f;border-radius:99px;padding:2px 6px;font-size:.62rem;font-weight:800}.pricing-price-block{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.pricing-equivalent{color:var(--text-muted);font-size:.72rem;font-weight:600}.subscription-plan-equivalent{color:var(--text-muted);margin:2px 0 0;font-size:.72rem;font-weight:600}.pricing-main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:14px;min-height:0;padding-bottom:16px;display:flex;overflow-y:auto}.pricing-intro{color:var(--text-muted);text-align:center;font-size:.9rem;line-height:1.45}.pricing-current-pill{color:var(--accent);background:var(--accent-dim);border-radius:99px;margin-top:4px;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-block}.pricing-highlights{margin:0 0 14px;padding:0;list-style:none}.pricing-highlights li{color:var(--text-muted);padding:3px 0;font-size:.85rem}.pricing-highlights li:before{content:"✓ ";color:var(--accent);font-weight:800}.pricing-select-btn{width:100%}.pricing-compare-section{border-top:1px dashed #64748b40;margin-top:8px;padding-top:16px}.pricing-compare-title{text-align:center;color:var(--text-muted);margin-bottom:12px;font-size:.95rem;font-weight:800}.pricing-sticky-cta{padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);border-top:1px solid #64748b26;flex-shrink:0}.pricing-sticky-cta .btn-lg{width:100%}.pricing-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.pricing-active-plan{color:var(--text-primary,#0f172a);text-align:center;background:#34c7591f;border-radius:12px;margin:0 0 12px;padding:10px 14px;font-size:.95rem}.scans-left--unlimited,.subscription-scans-pill--unlimited{color:#16a34a;font-weight:600}.pricing-active-plan{text-align:center;background:#22c55e1f;border:1px solid #22c55e59;border-radius:12px;margin:12px 0 4px;padding:10px 14px;font-size:.95rem}.pricing-active-plan strong{color:#16a34a;font-weight:800}.pricing-card.current{border-width:2px;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.pricing-card.current .pricing-current-pill{border:2px solid var(--accent)}.pricing-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.pricing-header h3{font-size:1.2rem;font-weight:800}.pricing-plan-desc{color:var(--text-muted);max-width:22rem;margin-top:6px;font-size:.82rem;line-height:1.45}.pricing-price{color:var(--accent);font-weight:800}.pricing-price small{color:var(--text-muted);font-size:.75rem;font-weight:600}.pricing-features{margin-bottom:16px;list-style:none}.pricing-features li{color:var(--text-muted);padding:4px 0;font-size:.9rem}.pricing-features li:before{content:"✓ ";color:var(--accent);font-weight:700}.pricing-note{color:var(--text-muted);text-align:center;font-size:.8rem}.express-toggle{cursor:pointer;align-items:center;gap:10px;margin-bottom:12px;font-weight:700;display:flex}.exam-badge{color:var(--accent);margin-bottom:12px;font-size:.85rem;font-weight:700}.xp-earned{color:var(--accent);margin-bottom:12px;font-size:1.1rem;font-weight:800}.confetti{pointer-events:none;z-index:300;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;width:8px;height:8px;animation:1.8s ease-in forwards confetti-fall;position:absolute;top:-10px}@keyframes confetti-fall{to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.home-screen-branded,.mode-screen-branded{position:relative;overflow:hidden}.brand-decor{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.brand-blob{background:var(--accent-dim);filter:blur(40px);border-radius:50%;position:absolute}.brand-blob-1{width:180px;height:180px;animation:8s ease-in-out infinite blob-float;top:-40px;right:-50px}.brand-blob-2{width:140px;height:140px;animation:10s ease-in-out infinite reverse blob-float;bottom:120px;left:-40px}.brand-blob-3{opacity:.6;width:100px;height:100px;top:45%;right:10%}@keyframes blob-float{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}.top-bar-raised,.gamification-hud,.home-main,.mode-main-path,.home-footer{z-index:1;position:relative}.gamification-hud{justify-content:flex-start;align-items:center;gap:18px;margin-bottom:10px;padding:2px 4px;display:flex}.gamification-hud--duo{flex-wrap:wrap}.hud-duo-stat{align-items:center;gap:6px;min-height:32px;display:inline-flex;position:relative}.hud-duo-icon{flex-shrink:0;justify-content:center;align-items:center;min-width:1.35em;min-height:1.35em;font-size:1.35rem;line-height:1;display:inline-flex;overflow:visible}.hud-duo-val{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800;line-height:1}.hud-duo-streak.cold{opacity:.55}.hud-duo-streak.cold .hud-duo-val{color:var(--text-muted)}.hud-duo-coins .hud-duo-val{color:var(--accent-deep,var(--accent))}.hud-duo-level-ring{background:conic-gradient(var(--accent) calc(var(--pct) * 1%), var(--bg-soft) 0);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:relative}.hud-duo-level-ring:before{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:3px}.hud-duo-level-num{color:var(--accent);font-size:.88rem;font-weight:800;line-height:1;position:relative}.hud-flame{filter:grayscale();opacity:.45}.hud-flame.lit{filter:none;opacity:1;animation:1.2s ease-in-out infinite flame-pulse}@keyframes flame-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.hud-streak.streak-bump .hud-flame.lit,.hud-duo-streak.streak-bump .hud-flame.lit{animation:.55s streak-bump-flame}@keyframes streak-bump-flame{0%,to{transform:scale(1)}40%{transform:scale(1.35)}}.hud-boost-badge{background:var(--accent);color:#fff;border-radius:4px;padding:1px 4px;font-size:.55rem;font-weight:900;position:absolute;top:-6px;right:-10px}.scanplay-unit-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);box-shadow:0 8px 0 var(--accent-deep), var(--shadow);color:#fff;align-items:center;gap:14px;margin-bottom:20px;padding:16px 18px;display:flex}.unit-banner-sheet{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:2px solid #ffffff59;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.unit-banner-thumb{object-fit:cover;width:100%;height:100%;display:block}.unit-banner-tag{letter-spacing:.12em;text-transform:uppercase;opacity:.9;margin-bottom:2px;font-size:.65rem;font-weight:900;display:inline-block}.unit-banner-title{margin:0;font-size:1.35rem;font-weight:900;line-height:1.15}.unit-banner-sub{opacity:.92;margin:4px 0 0;font-size:.82rem;font-weight:600}.unit-banner-mode{color:var(--accent);margin:6px 0 0;font-size:.78rem;font-weight:700}.type-game-body{gap:14px}.type-game-prompt{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem}.type-game-term-row{flex-direction:column;align-items:center;gap:8px;display:flex}.type-game-term{text-align:center;word-break:break-word;margin:0;font-size:1.75rem;font-weight:700}.type-game-visual{filter:drop-shadow(0 8px 16px #0000001f);justify-content:center;align-items:center;min-height:140px;margin:8px 0 16px;font-size:5.5rem;line-height:1;display:flex}.type-game-input{font-size:1.05rem}.type-game-options{margin-top:16px}.type-game-feedback{text-align:center;margin:0;font-size:.92rem;font-weight:700}.type-game-feedback.correct{color:var(--accent)}.type-game-feedback.wrong{color:var(--danger)}.type-game-expected{color:var(--text-muted);font-weight:600}.scanplay-path-area{width:100%;height:var(--path-height,960px);box-sizing:border-box;flex-shrink:0;margin-bottom:8px;padding:52px 16px;position:relative;overflow:visible}.scanplay-path-line{width:100%;height:100%;color:var(--path-line);pointer-events:none;z-index:0;position:absolute;inset:0}.scanplay-path-step{z-index:2;position:absolute;transform:translate(-50%,-50%)}.scanplay-path-row{display:none}.scanplay-path-row--left{align-items:flex-start;padding-left:8%}.scanplay-path-row--right{align-items:flex-end;padding-right:8%}.scanplay-node{background:linear-gradient(165deg, #34d399 0%, var(--accent) 45%, var(--accent-deep) 100%);width:84px;height:84px;box-shadow:0 6px 0 var(--accent-deep), 0 0 0 4px #ffffff1f, 0 14px 28px #0478574d;cursor:pointer;border:3px solid #ffffff73;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,box-shadow .12s,filter .12s;display:flex;position:relative;overflow:visible}.scanplay-node:not(:disabled):hover{filter:brightness(1.06)}.scanplay-node:active{box-shadow:0 2px 0 var(--accent-deep), 0 4px 12px #04785733;transform:translateY(4px)}.scanplay-node.active{box-shadow:0 6px 0 var(--accent-deep), 0 0 0 5px #ffffff59, 0 14px 28px #04785759;border-color:#fff}.scanplay-node.active:after{content:"";pointer-events:none;z-index:0;border:3px solid #ef4444bf;border-radius:50%;animation:1.25s ease-in-out infinite scanplay-node-ring-pulse;position:absolute;inset:-6px;box-shadow:0 0 18px #ef444473}@keyframes scanplay-node-ring-pulse{0%,to{opacity:.45;border-color:#ef444473;transform:scale(1)}50%{opacity:1;border-color:#ef4444f2;transform:scale(1.05);box-shadow:0 0 24px #ef4444a6}}.scanplay-node:disabled:not(.locked){opacity:.55;cursor:not-allowed;filter:grayscale(.15)}.scanplay-node.done,.scanplay-node.tier-gold{cursor:default;background:linear-gradient(165deg,#fde68a 0%,#fbbf24 42%,#d97706 100%);border-color:#fffbebd9;box-shadow:0 6px #b45309,0 0 0 4px #fbbf2459,0 14px 28px #b4530959}.scanplay-node.tier-iron{background:linear-gradient(165deg,#e2e8f0 0%,#94a3b8 45%,#475569 100%);border-color:#f8fafcbf;box-shadow:0 6px #334155,0 0 0 4px #94a3b859,0 14px 28px #3341554d}.scanplay-node.tier-bronze{background:linear-gradient(165deg,#fdba74 0%,#c2410c 48%,#7c2d12 100%);border-color:#ffedd5b3;box-shadow:0 6px #7c2d12,0 0 0 4px #c2410c47,0 14px 28px #7c2d1252}.scanplay-node.tier-gold:active,.scanplay-node.tier-gold:disabled{transform:none;box-shadow:0 6px #b45309,0 12px 24px #b4530940}.scanplay-node-pct{font-variant-numeric:tabular-nums;color:#0f172a;white-space:nowrap;z-index:4;background:#fff;border:2px solid #0f172a24;border-radius:99px;padding:4px 9px;font-size:.75rem;font-weight:900;line-height:1;position:absolute;bottom:-11px;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #0f172a38}.scanplay-node-pct--score{text-align:center;min-width:2.4rem}.scanplay-node-pct--games{letter-spacing:.02em}.path-tier-legend{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 12px;display:flex}.path-tier-chip{background:var(--bg-card);border:1px solid var(--border,#64748b33);border-radius:99px;padding:4px 8px;font-size:.68rem;font-weight:800}.path-tier-chip.tier-gold{color:#b45309;background:#fbbf242e;border-color:#d9770673}.path-tier-chip.tier-iron{color:#475569;background:#94a3b838;border-color:#47556973}.path-tier-chip.tier-bronze{color:#9a3412;background:#c2410c24;border-color:#7c2d1266}.scanplay-node-pct--iron{color:#334155;border-color:#64748b}.scanplay-node-pct--bronze{color:#7c2d12;border-color:#c2410c}.scanplay-orbit{pointer-events:none;z-index:2;width:0;height:0;position:absolute;top:50%;left:50%}.scanplay-orbit-track{will-change:transform;animation:5s linear infinite scanplay-orbit}.scanplay-path-buddy{filter:drop-shadow(0 4px 8px #04785759);position:absolute;top:-20px;left:54px}@keyframes scanplay-orbit{to{transform:rotate(360deg)}}.exam-mode-card{border-radius:var(--radius);background:var(--bg-card);width:100%;max-width:360px;box-shadow:var(--shadow);border:1px solid #64748b33;margin:0 auto 12px;padding:12px 14px}.exam-mode-card-head{text-align:left;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.exam-mode-card-icon{font-size:1.5rem;line-height:1}.exam-mode-card-desc{color:var(--text-muted);margin-top:4px;font-size:.78rem;line-height:1.35}.exam-mode-toggle.on{color:#b45309;background:#fbbf2426;border-color:#fbbf24}.results-tier{margin:8px 0 0;font-size:.82rem;font-weight:800}.results-tier.tier-gold{color:#d97706}.results-tier.tier-iron{color:#64748b}.results-tier.tier-bronze{color:#92400e}.mistakes-screen .top-bar{gap:8px}.mistakes-count{color:var(--danger);background:#f871711f;border-radius:99px;margin-left:auto;padding:4px 10px;font-size:.82rem;font-weight:800}.mistakes-main{flex:none;width:100%;padding-bottom:16px}.mistakes-intro{color:var(--text-muted);margin-bottom:14px;font-size:.88rem;line-height:1.45}.mistakes-list{flex-direction:column;gap:10px;list-style:none;display:flex}.mistake-item{border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.mistake-item.corrected{opacity:.85}.mistake-check{width:24px;height:24px;color:var(--danger);background:#f8717126;border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.mistake-check.ok{background:var(--accent-dim);color:var(--accent)}.mistake-term{font-size:.9rem;font-weight:800;display:block}.mistake-def{color:var(--text-muted);font-size:.78rem;display:block}.mistake-meta{color:var(--text-muted);text-transform:uppercase;font-size:.65rem}.mistake-status{text-transform:uppercase;font-size:.65rem;font-weight:800}.mistake-status.ok{color:var(--accent)}.mistake-status.pending{color:var(--danger)}.import-multi-hint,.import-picked{color:var(--text-muted);text-align:center;margin-bottom:12px;font-size:.85rem;line-height:1.45}.import-picked .btn-lg{width:100%;margin-top:10px}[data-device=mobile] .tab-screen.mistakes-screen{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;overflow:hidden auto}[data-device=mobile] .mistakes-main{flex:none;overflow:visible}.scanplay-node.done{background:linear-gradient(#fbbf24 0%,#d97706 100%);box-shadow:0 6px #b45309,0 12px 24px #b4530940}.scanplay-node.done:active{box-shadow:0 2px #b45309}.scanplay-node.locked{cursor:not-allowed;opacity:.72;background:linear-gradient(#cbd5e1 0%,#94a3b8 100%);animation:none;box-shadow:0 6px #64748b,0 8px 16px #64748b33}.scanplay-node.locked .scanplay-node-icon{opacity:.55;filter:grayscale(.8)}.scanplay-node.locked:active{transform:none}.scanplay-node.unlocking{animation:.7s forwards scanplay-unlock}.scanplay-node-lock{filter:none;opacity:.9;font-size:.75rem;line-height:1;position:absolute;bottom:-4px;right:-2px}@keyframes scanplay-unlock{0%{opacity:.7;background:linear-gradient(#cbd5e1 0%,#94a3b8 100%);transform:scale(.9);box-shadow:0 6px #64748b}45%{transform:scale(1.1)}to{background:linear-gradient(180deg, var(--accent) 0%, var(--accent-deep) 100%);box-shadow:0 6px 0 var(--accent-deep), 0 12px 24px #04785740;opacity:1;transform:scale(1)}}.scanplay-node-icon{filter:drop-shadow(0 2px 4px #00000047);z-index:1;font-size:1.85rem;line-height:1;position:relative}.scanplay-node-star{color:#d97706;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.85rem;font-weight:900;display:flex;position:absolute;top:-6px;right:-4px;box-shadow:0 2px 6px #00000026}.scanplay-path-buddy{pointer-events:none;white-space:nowrap;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.buddy-bubble{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow);white-space:nowrap;border-radius:12px;padding:6px 10px;font-size:.72rem;font-weight:800;position:relative}.buddy-bubble:after{content:"";border:6px solid #0000;border-top-color:var(--bg-card);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}@keyframes scanplay-pulse{0%,to{box-shadow:0 6px 0 var(--accent-deep), 0 0 0 0 #05966973}50%{box-shadow:0 6px 0 var(--accent-deep), 0 0 0 10px #05966900}}.express-chip{background:var(--bg-card);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:.88rem;font-weight:700;display:inline-flex}.express-chip input{width:18px;height:18px;accent-color:var(--accent)}.scanplay-rescan{align-self:center;margin-top:8px}.mode-main-path{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.mode-main-path::-webkit-scrollbar{width:0;height:0;display:none}.mode-screen-path{flex-direction:column;flex:1;max-width:100%;min-height:0;display:flex;overflow:hidden}.top-bar-compact{flex-shrink:0}.scanplay-path{flex:none;width:100%;max-width:100%;overflow:hidden}.streak-lost-modal .streak-lost-flame{margin:-8px 0 8px;font-size:2rem;display:block}.device-badge{background:var(--bg-card);color:var(--text-muted);box-shadow:var(--shadow);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.device-badge--desktop{color:var(--accent);background:var(--accent-dim)}.device-badge--compact{padding:5px 8px}.device-badge-size{opacity:.7;font-weight:700}.settings-row-device{justify-content:flex-start}.settings-device-hint{color:var(--text-muted);margin-top:8px;font-size:.82rem;line-height:1.4}.home-dropzone,.import-dropzone{border-radius:var(--radius-lg);border:2px dashed var(--path-line);background:var(--bg-card);cursor:pointer;width:100%;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:8px;padding:28px 20px;transition:border-color .2s,background .2s;display:flex;position:relative}@media (width<=767px){.import-dropzone{display:none}}.home-dropzone:hover,.import-dropzone:hover,.home-dropzone--active,.import-dropzone--active{border-color:var(--accent);background:var(--accent-dim)}.home-dropzone-icon,.import-dropzone-icon{font-size:2rem}.home-dropzone-title,.import-dropzone-title{color:var(--text);font-size:1.05rem;font-weight:800}.home-dropzone-sub,.import-dropzone-sub{color:var(--text-muted);font-size:.85rem}.home-dropzone-btn{margin-top:8px}.home-hero{display:contents}.import-screen--desktop .import-main{width:100%;max-width:520px;margin:0 auto}.import-card--primary{border:2px solid var(--accent-dim)}.import-photos-main{flex-direction:column;gap:16px;width:100%;max-width:520px;margin:0 auto;padding:8px 0 24px;display:flex}.import-photos-sub{color:var(--text-muted,#64748b);text-align:center;margin:0;font-size:.95rem}.import-photos-badge{align-self:center}.import-photo-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.import-photo-item{aspect-ratio:3/4;border:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);border-radius:14px;position:relative;overflow:hidden}.import-photo-thumb{object-fit:cover;width:100%;height:100%;display:block}.import-photo-thumb--placeholder{background:var(--surface-2,#f1f5f9);place-items:center;font-size:1.75rem;display:grid}.import-photo-remove{color:#fff;background:#0f172ab8;border-radius:999px;width:28px;height:28px;font-size:.85rem;line-height:1;position:absolute;top:6px;right:6px}.import-photos-guest-hint{border-radius:var(--radius-md);color:#166534;text-align:center;background:#ecfdf5;border:2px solid #22c55e;margin:0 0 10px;padding:10px 12px;font-size:.88rem;font-weight:800}.import-photos-limit{text-align:center;color:var(--text-muted,#64748b);margin:0;font-size:.85rem}.import-photos-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.import-photos-add:disabled{opacity:.45}.import-photos-continue{margin-top:4px}.bottom-nav-items{flex:1;display:flex}.side-nav-brand{display:none}[data-device=desktop]{--shell-max:1180px;--sidebar-w:220px}[data-device=desktop] html,[data-device=desktop] body,[data-device=desktop] #root{overflow:auto}[data-device=desktop] body{background:radial-gradient(ellipse at 15% 0%, var(--accent-dim) 0%, transparent 55%), radial-gradient(ellipse at 85% 100%, var(--accent-dim) 0%, transparent 50%), var(--bg)}[data-device=desktop] .app-shell{max-width:var(--shell-max);grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:auto;min-height:100vh;margin:0 auto;display:grid;overflow:visible;box-shadow:0 0 0 1px #64748b1a,0 24px 64px #0f172a1f}[data-device=desktop] .app-main{min-height:100vh;overflow:hidden}[data-device=desktop] .bottom-nav--desktop{width:var(--sidebar-w);z-index:10;border-top:none;border-right:1px solid #64748b26;flex-direction:column;align-items:stretch;max-width:none;height:100vh;padding:20px 12px;position:sticky;top:0;bottom:auto;left:auto;transform:none}[data-device=desktop] .side-nav-brand{border-bottom:1px solid #64748b26;flex-direction:column;align-items:stretch;gap:0;margin-bottom:16px;padding:0 4px 20px;display:flex}[data-device=desktop] .side-nav-brand .wordmark{align-items:center}[data-device=desktop] .side-nav-brand .scanplay-logo{width:36px;height:36px}[data-device=desktop] .bottom-nav-items{flex-direction:column;gap:6px}[data-device=desktop] .bottom-nav-item{border-radius:12px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:12px 14px;font-size:.85rem}[data-device=desktop] .bottom-nav-item.active{background:var(--accent-dim)}[data-device=desktop] .bottom-nav-item:hover{background:var(--bg-soft)}[data-device=desktop] .bottom-nav-icon{font-size:1.1rem}[data-device=desktop] .screen{padding:env(safe-area-inset-top) 28px 24px}[data-device=desktop] .tab-screen,[data-device=desktop] .flow-screen{padding-bottom:24px}[data-device=desktop] .home-screen--desktop .home-main{text-align:left;flex-direction:column;align-items:stretch;gap:20px;width:100%;max-width:680px;margin:0 auto;display:flex}[data-device=desktop] .home-screen--desktop .subtagline{max-width:none;margin-bottom:0}[data-device=desktop] .home-screen--desktop .text-link{text-align:center;grid-column:1/-1;margin-top:0}[data-device=desktop] .home-screen--desktop .home-footer{grid-column:1/-1}[data-device=desktop] .home-screen--desktop .home-dropzone{justify-content:center;min-height:260px}[data-device=desktop] .gamification-hud,[data-device=desktop] .mode-main-path,[data-device=desktop] .settings-main,[data-device=desktop] .achievements-main{width:100%;max-width:760px;margin-left:auto;margin-right:auto}[data-device=desktop] .scanplay-path-area{min-height:400px}[data-device=desktop] .icon-btn:hover{background:var(--bg-soft)}[data-device=desktop] .scanplay-node:hover{transform:translateY(-2px)}[data-device=mobile] .app-shell{flex-direction:column;width:100%;max-width:100%;height:100dvh;display:flex}[data-device=mobile] .app-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}[data-device=mobile] .screen{flex:1;height:auto;min-height:0}[data-device=mobile] .flow-screen,[data-device=mobile] .tab-screen{overflow:hidden}[data-device=mobile] .tab-screen.achievements-screen{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overflow:hidden auto}[data-device=mobile] .tab-screen.achievements-screen::-webkit-scrollbar{display:none}[data-device=mobile] .home-main,[data-device=mobile] .history-main,[data-device=mobile] .settings-main,[data-device=mobile] .shop-main,[data-device=mobile] .import-main,[data-device=mobile] .pricing-main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;overflow:hidden auto}[data-device=mobile] .home-main::-webkit-scrollbar{display:none}[data-device=mobile] .history-main::-webkit-scrollbar{display:none}[data-device=mobile] .settings-main::-webkit-scrollbar{display:none}[data-device=mobile] .shop-main::-webkit-scrollbar{display:none}[data-device=mobile] .achievements-main{flex:none;width:100%;padding-bottom:24px;overflow:visible}[data-device=mobile] .scanplay-path{flex:none}[data-device=mobile] .scanplay-path-area{height:var(--path-height,960px);max-width:100%}[data-device=mobile] .scanplay-path-buddy{max-width:calc(100vw - 80px);top:calc(100% + 10px);left:50%;right:auto;transform:translate(-50%)}[data-device=mobile] .scanplay-path-step--right .scanplay-path-buddy{left:50%;right:auto;transform:translate(-50%)}[data-device=mobile] .mode-main-path{touch-action:pan-y;padding-bottom:32px;overflow-x:hidden}[data-device=mobile] .scanplay-path-step{max-width:calc(100% - 16px)}[data-device=mobile] .buddy-bubble{white-space:normal;text-align:center;max-width:140px;padding:5px 8px;font-size:.65rem}[data-device=mobile] .bottom-nav--mobile{width:100%;max-width:480px;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.achievements-screen .top-bar{gap:8px}.achievements-count{color:var(--accent);background:var(--accent-dim);border-radius:99px;margin-left:auto;padding:4px 10px;font-size:.82rem;font-weight:800}.achievements-main{flex:none;width:100%;padding-top:4px;padding-bottom:16px}.achievements-intro{color:var(--text-muted);margin-bottom:16px;font-size:.88rem;line-height:1.45}.achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.achievement-badge{background:var(--bg-card);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);border:2px solid #64748b26;flex-direction:column;align-items:center;gap:4px;min-height:138px;padding:14px 10px;display:flex}.achievement-badge.locked{background:var(--bg-elevated);border-color:#64748b33}.achievement-badge.locked .achievement-name,.achievement-badge.locked .achievement-desc{color:var(--text-muted)}.achievement-icon-wrap{justify-content:center;align-items:center;margin-bottom:2px;display:inline-flex;position:relative}.achievement-icon{font-size:1.85rem;line-height:1;display:block}.achievement-badge.locked .achievement-icon{filter:grayscale();opacity:.38}.achievement-lock{font-size:.72rem;line-height:1;position:absolute;bottom:-4px;right:-8px}.achievement-name{color:var(--text);font-size:.82rem;font-weight:800;line-height:1.2}.achievement-desc{color:var(--text-muted);flex:1;font-size:.68rem;line-height:1.35}.achievement-progress,.achievement-locked-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;font-size:.68rem;font-weight:800}.achievement-badge.unlocked .achievement-progress{color:var(--accent)}.achievement-unlocked-tag{color:var(--accent);text-transform:uppercase;margin-top:4px;font-size:.62rem;font-weight:800}.learning-flow{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin:12px 0;padding:10px 12px;display:flex}.learning-flow--compact{margin:8px 0;padding:8px 10px}.learning-flow-item-wrap{align-items:center;gap:4px;display:flex}.learning-flow-arrow{color:var(--text-muted);opacity:.35;font-size:.75rem}.learning-flow-arrow.lit{opacity:.8;color:var(--accent)}.learning-flow-item{border-radius:var(--radius);opacity:.45;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;transition:transform .25s,opacity .25s;display:flex}.learning-flow-item.done{opacity:.75}.learning-flow-item.active{opacity:1;background:var(--accent-dim);border:2px solid var(--accent);animation:1.5s ease-in-out infinite flow-pulse}@media (prefers-reduced-motion:reduce){.learning-flow-item.active{animation:none}}@keyframes flow-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.learning-flow-icon{font-size:1.1rem}.learning-flow-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.58rem;font-weight:800}.achievement-unlock-overlay{z-index:200;opacity:0;pointer-events:none;background:#000000a6;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.achievement-unlock-overlay.visible{opacity:1;pointer-events:auto}.achievement-unlock-card{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;width:90%;max-width:320px;box-shadow:var(--shadow-lg);border:3px solid var(--accent);padding:28px 24px}.achievement-unlock-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:12px;font-size:.75rem;font-weight:800}.achievement-unlock-icon{margin-bottom:12px;font-size:3.5rem;display:block}.achievement-unlock-icon.bounce{animation:.6s ach-bounce}@media (prefers-reduced-motion:reduce){.achievement-unlock-icon.bounce{animation:none}}@keyframes ach-bounce{0%,to{transform:scale(1)}40%{transform:scale(1.25)}70%{transform:scale(.95)}}.achievement-unlock-name{margin:0 0 8px;font-size:1.25rem}.achievement-unlock-desc{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}.top-bar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.notification-center{position:relative}.notification-bell{background:var(--bg-card);border:1px solid var(--surface-border);cursor:pointer;width:44px;height:44px;box-shadow:none;border-radius:12px;position:relative}.notification-bell--muted{opacity:.45;cursor:default}.notification-bell.has-unread.pulse{animation:1.2s ease-in-out infinite bell-pulse}@media (prefers-reduced-motion:reduce){.notification-bell.has-unread.pulse{animation:none}}@keyframes bell-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.notification-badge{color:#fff;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:800;display:flex;position:absolute;top:-2px;right:-2px}.notification-backdrop{z-index:500;cursor:pointer;background:#00000073;border:none;position:fixed;inset:0}.notification-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:55vh;box-shadow:var(--shadow-lg);z-index:501;padding:16px 16px calc(16px + env(safe-area-inset-bottom));animation:.25s sheet-up;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@media (width>=641px){.notification-panel{border-radius:var(--radius-lg);width:min(340px,100vw - 32px);max-height:min(420px,70vh);animation:.2s fadeIn;inset:72px max(12px,50% - 220px) auto auto}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.notification-panel-title{margin:0 0 10px;font-size:.9rem}.notification-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:.85rem}.notification-list{margin:0;padding:0;list-style:none}.notification-item{border-radius:var(--radius);border-bottom:1px solid var(--bg-soft);gap:10px;padding:10px 8px;display:flex}.notification-item.unread{background:var(--accent-dim)}.notification-item-icon{font-size:1.25rem}.notification-item-title{font-size:.82rem;font-weight:700;display:block}.notification-item-sub{color:var(--text-muted);font-size:.75rem;display:block}.home-streak-cta{text-align:center;color:var(--accent);background:var(--accent-dim);border-radius:var(--radius);margin-bottom:12px;padding:10px 14px;font-weight:700}.home-section{margin:16px 0}.home-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:800}.home-section-empty{color:var(--text-muted);font-size:.85rem}.home-activity-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 14px;display:flex}.home-activity-title{font-size:.9rem;font-weight:700;display:block}.home-activity-meta{color:var(--accent);font-size:.78rem;font-weight:700;display:block}.home-ach-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.home-ach-item{background:var(--bg-card);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.home-ach-item time{color:var(--text-muted);margin-left:auto;font-size:.7rem}.gamification-hud-wrap{margin-bottom:14px}.gamification-hud-wrap--home{margin-top:-2px;margin-bottom:10px}.hud-coins-centered{justify-content:center;width:100%;margin-bottom:6px}.hud-xp-bar-wrap{margin-top:0}.hud-xp-bar-track,.xp-bar-track{background:var(--bg-soft);border-radius:4px;height:8px;overflow:hidden}.hud-xp-bar-fill,.xp-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-deep));border-radius:4px;height:100%;transition:width .4s}@media (prefers-reduced-motion:reduce){.hud-xp-bar-fill,.xp-bar-fill{transition:none}}.hud-xp-bar-label{color:var(--text-muted);text-align:right;margin-top:4px;font-size:.65rem;font-weight:700;display:block}.streak-claim-flyby{top:calc(env(safe-area-inset-top,0px) + 72px);z-index:9000;pointer-events:none;flex-direction:column;align-items:center;gap:6px;animation:1.35s forwards streak-flyby-fade;display:flex;position:fixed;left:50%;transform:translate(-50%)}.streak-claim-anchor{width:120px;height:48px;position:relative;overflow:visible}.streak-claim-flame{filter:drop-shadow(0 0 8px #ff780099);font-size:2rem;animation:.5s streak-flame-pop;position:absolute;top:50%;left:0;transform:translateY(-50%)}.streak-claim-plus{color:var(--accent);text-shadow:0 2px 12px #00000059;font-size:1.5rem;font-weight:900;animation:1.1s cubic-bezier(.22,1,.36,1) forwards streak-plus-fly;position:absolute;top:50%;left:100%;transform:translate(-20%,-50%)}.streak-claim-caption{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.78rem;font-weight:800;animation:.45s .35s both streak-caption-pop}@keyframes streak-plus-fly{0%{opacity:0;transform:translate(-40%,-50%)scale(.5)}15%{opacity:1;transform:translate(-20%,-50%)scale(1.15)}to{opacity:0;transform:translate(-130%,-50%)scale(1)}}@keyframes streak-flame-pop{0%,to{transform:translateY(-50%)scale(1)}40%{transform:translateY(-50%)scale(1.25)}}@keyframes streak-flyby-fade{0%,75%{opacity:1}to{opacity:0}}@keyframes streak-caption-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.streak-claim-flyby,.streak-claim-plus,.streak-claim-flame,.streak-claim-caption{animation:none}}.results-top-bar{justify-content:space-between;padding:8px 16px}.results-xp-block{text-align:left;margin:16px 0 12px}.results-xp-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.results-xp-label{text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:800}.results-xp-val{color:var(--accent);font-size:1rem;font-weight:800}.animate-pop{animation:.4s pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.results-xp-total{color:var(--text-muted);margin-top:4px;font-size:.72rem;display:block}.results-new-achievements{flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.results-ach-chip{background:var(--accent-dim);color:var(--accent-deep);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.history-session-stats{color:var(--accent);font-size:.78rem;font-weight:800}.settings-theme-toggle{gap:8px;margin-bottom:12px;display:flex}.settings-theme-btn{border-radius:var(--radius);border:2px solid var(--bg-soft);background:var(--bg-card);cursor:pointer;flex:1;padding:10px;font-weight:700}.settings-theme-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-deep)}.streak-lost-restart{color:var(--text-muted);margin:0 0 16px;font-size:.9rem}.sheet-type-main{flex:1;overflow-y:auto}.sheet-type-intro{color:var(--text-muted);margin-bottom:16px;font-size:.9rem}.sheet-type-options{flex-direction:column;gap:10px;display:flex}.sheet-type-card{border-radius:var(--radius-lg);border:2px solid var(--bg-soft);background:var(--bg-card);box-shadow:var(--shadow);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:16px;display:flex}.sheet-type-card:active{border-color:var(--accent);background:var(--accent-dim)}.sheet-type-card--active{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-dim)}.sheet-type-picker-title{margin:0 0 4px;font-size:.85rem;font-weight:800}.sheet-type-picker-intro{color:var(--text-muted);margin:0 0 10px;font-size:.78rem}.import-picked-block{border-top:1px solid var(--bg-soft);margin-top:16px;padding-top:16px}.import-picked-count{margin-bottom:12px;font-weight:700}.import-scan-btn{width:100%;margin-top:12px}.import-error-banner{color:#fca5a5;border-radius:var(--radius);background:#ef444426;border:2px solid #ef444466;margin-bottom:12px;padding:12px 14px;font-size:.88rem;font-weight:600}[data-theme=light] .import-error-banner{color:#b91c1c;background:#ef44441a}.sheet-type-icon{font-size:1.5rem}.sheet-type-label{font-size:1rem;font-weight:800}.sheet-type-desc{color:var(--text-muted);font-size:.82rem}.import-sheet-hint{color:var(--accent-deep);background:var(--accent-dim);border-radius:var(--radius);margin-bottom:10px;padding:10px 12px;font-size:.85rem;font-weight:700}.pair-direction-toggle{border-radius:var(--radius);border:2px solid var(--bg-soft);background:var(--bg-card);cursor:pointer;text-align:center;width:100%;margin-bottom:12px;padding:10px 14px;font-size:.85rem;font-weight:700}.quiz-empty-msg{text-align:center;color:var(--text-muted);margin-bottom:16px}.friends-intro{color:var(--text-muted);margin:0 0 12px;font-size:.88rem;line-height:1.45}.friends-intro--sub{margin-top:-6px;font-size:.82rem}.path-invite-card{border-radius:var(--radius);background:var(--bg-card);border:1px dashed #64748b59;flex-direction:column;gap:10px;margin:12px 0 16px;padding:14px;display:flex}.path-invite-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.82rem;line-height:1.4}.path-invite-code{margin:0}.path-invite-quiz-btn{width:100%}.friends-join-row,.friends-search-row{gap:8px;margin-top:10px;display:flex}.friends-code-input{text-transform:uppercase;letter-spacing:.08em;flex:1;font-weight:800}.friend-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.friend-row{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 12px;display:flex}.friend-avatar{background:var(--accent-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.35rem;display:flex;overflow:hidden}.friend-info{flex:1;min-width:0}.friend-name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:800;display:block;overflow:hidden}.friend-meta{color:var(--text-muted);font-size:.75rem}.friend-follow-btn{flex-shrink:0}.friend-follow-btn--active{border-color:var(--accent);color:var(--accent)}.friend-row--clickable{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border:none;transition:background .15s}.friend-row--clickable:active{background:var(--bg-soft)}.friend-chevron{color:var(--text-muted);flex-shrink:0;font-size:1.25rem}.friend-avatar--lg{width:72px;height:72px;font-size:2.25rem}.friend-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.friend-avatar-img--lg{width:72px;height:72px}.friend-avatar-wrap{flex-shrink:0;display:inline-flex;position:relative}.friend-presence-dot{border:2px solid var(--bg-card);box-sizing:border-box;border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.friend-presence-dot--online{background:#39ff14;box-shadow:0 0 6px #39ff14d9}.friend-presence-dot--offline{box-shadow:none;background:#9aa0a6}.friends-presence-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;padding-left:4px;font-size:.78rem;font-weight:700;display:flex;overflow:visible}.friends-presence-legend .friend-presence-dot{border-color:#0000;flex-shrink:0;width:10px;height:10px;margin:0 1px;position:relative}.friends-leaderboard-row--offline{opacity:1}.friends-leaderboard-row--offline .friends-leaderboard-name{color:inherit}.friend-achievements-toggle{width:100%;margin-top:10px}.friend-profile-sheet{width:min(100%,420px);max-height:85vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:10001;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -8px 32px #00000059}.friend-profile-close{margin-bottom:8px}.friend-profile-header{flex-direction:column;align-items:center;gap:6px;margin-bottom:16px;display:flex}.friend-profile-name{margin:0;font-size:1.25rem;font-weight:900}.friend-profile-level{color:var(--text-muted);margin:0;font-size:.85rem}.friend-profile-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:8px;display:flex}.friend-profile-friends{color:var(--text-muted);font-size:.82rem;font-weight:700}.friend-remove-btn{width:100%;margin-top:16px}.friend-achievements-section{margin-top:20px}.friend-achievements-section .settings-label{margin-bottom:10px}.friend-achievements-empty{color:var(--text-muted);text-align:center;margin:0;font-size:.85rem}.friend-achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.friend-achievements-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}.friend-achievement-badge{padding:12px 10px}.friend-achievement-badge .achievement-name{font-size:.72rem}.friends-leaderboard-section{margin-bottom:16px}.friends-leaderboard{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.friends-leaderboard-row{border:1px solid color-mix(in srgb, var(--text-muted) 14%, transparent);border-radius:var(--radius);background:var(--bg-card);width:100%;box-shadow:none;cursor:pointer;text-align:left;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;display:flex}.friends-leaderboard-row--me{border:2px solid var(--accent-dim);background:var(--accent-dim);box-shadow:none;cursor:default}.friends-leaderboard-rank{color:var(--text-muted);min-width:28px;font-size:.78rem;font-weight:800}.friends-leaderboard-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:700;overflow:hidden}.friends-leaderboard-stats{color:var(--text-muted);flex-direction:column;align-items:flex-end;gap:2px;font-size:.72rem;font-weight:700;display:flex}.profile-friend-count{color:var(--text-muted);margin:4px 0 0;font-size:.82rem}.notification-item--social .notification-item-body{flex:1;min-width:0}.notification-actions{gap:8px;margin-top:10px;display:flex}.notification-action-btn{flex:1}.friend-requests-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.friend-request-card{border-radius:var(--radius);background:var(--accent-dim);box-shadow:var(--shadow);padding:14px}.friend-request-card-main{align-items:center;gap:12px;display:flex}.friend-request-actions{gap:8px;margin-top:12px;display:flex}.friend-request-actions .btn-primary,.friend-request-actions .btn-secondary{flex:1}.friend-request-actions--inline{flex-shrink:0;margin-top:0}.friend-request-actions--inline .btn-primary,.friend-request-actions--inline .btn-secondary{flex:0 auto;min-width:72px}.friends-empty,.friends-error,.friends-wait-host,.friends-loading{color:var(--text-muted);margin:0;font-size:.88rem}.friends-error{color:var(--danger);margin-top:8px}.friends-code-card{background:var(--bg-soft);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.friends-code-label{text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:800}.friends-code-value{letter-spacing:.2em;color:var(--accent);font-size:1.75rem;font-weight:900}.friends-deck-title{text-align:center;margin:0 0 12px;font-weight:800}.friend-host-tag{color:var(--accent);text-transform:uppercase;font-size:.68rem;font-weight:800}.friends-my-score{text-align:center;color:var(--accent);margin-bottom:16px;font-weight:800}.friends-ranking{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.friends-rank-row{background:var(--bg-card);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;display:flex}.friends-rank-row--me{border:2px solid var(--accent)}.friends-rank-pos{color:var(--text-muted);min-width:28px;font-weight:900}[data-device=mobile] .bottom-nav-label{font-size:.58rem}.shop-screen{flex-direction:column;min-height:0;display:flex;overflow:hidden}.shop-screen .top-bar{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.shop-balance{color:var(--accent);white-space:nowrap;font-size:1rem;font-weight:900}.shop-main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:20px;min-height:0;padding:0 0 24px;display:flex;overflow:hidden auto}.shop-msg{border-radius:var(--radius);margin:0;padding:10px 12px;font-size:.88rem;font-weight:700}.shop-msg--error{color:#c82333;background:#dc35451f}.shop-msg--ok{background:var(--accent-dim);color:var(--accent-deep)}.shop-section-title{margin:0 0 10px;font-size:.95rem;font-weight:900}.shop-chest-card{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:10px;padding:18px 16px;display:flex}.scanplay-chest-art{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;display:block}.shop-chest-desc{color:var(--text-muted);margin:0;font-size:.85rem}.shop-chest-reward{color:var(--accent);margin:0;font-size:1rem;font-weight:900}.daily-chest-backdrop{z-index:10100;-webkit-backdrop-filter:blur(12px);background:#080c148c;justify-content:center;align-items:center;padding:24px;animation:.35s daily-chest-fade-in;display:flex;position:fixed;inset:0}.daily-chest-stage{text-align:center;flex-direction:column;align-items:center;gap:20px;width:min(100%,320px);display:flex}.daily-chest-hint{color:#fff;text-shadow:0 2px 8px #00000059;margin:0;font-size:1rem;font-weight:800}.daily-chest-gift{width:220px;height:220px;box-shadow:none;cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;transition:transform .2s;display:flex;position:relative}.daily-chest-gift:active:not(:disabled){transform:scale(.96)}.daily-chest-gift--shake{animation:.42s daily-chest-shake}.daily-chest-gift--open{cursor:default;background:0 0;animation:.55s cubic-bezier(.34,1.4,.64,1) forwards daily-chest-pop;box-shadow:0 0 48px #34d39973}.daily-chest-stage--rarity.chest-rarity--rare .daily-chest-gift--open{background:0 0;box-shadow:0 0 56px #3b82f68c}.daily-chest-stage--rarity.chest-rarity--mythic .daily-chest-gift--open{background:0 0;box-shadow:0 0 60px #a855f78c}.daily-chest-stage--rarity.chest-rarity--legendary .daily-chest-gift--open{background:0 0;animation:.55s cubic-bezier(.34,1.4,.64,1) forwards daily-chest-pop,1.2s ease-in-out .55s infinite alternate chest-glow;box-shadow:0 0 64px #fbbf24a6}.daily-chest-reveal{justify-content:center;align-items:center;padding:0;animation:.5s cubic-bezier(.34,1.5,.64,1) .15s both daily-chest-reveal-pop;display:flex;position:relative}.daily-chest-reward-coins,.daily-chest-reward-other{flex-direction:column;justify-content:center;align-items:center;gap:8px;max-width:100%;display:flex}.daily-chest-reward-emoji{filter:drop-shadow(0 6px 14px #00000059);font-size:3.75rem;line-height:1;animation:.6s .2s both daily-chest-coin-bounce;display:block}.daily-chest-reward-label{color:#fff;text-shadow:0 1px #00000059,0 2px 10px #00000073;font-variant-numeric:tabular-nums;text-align:center;padding:0 8px;font-size:1.35rem;font-weight:900;line-height:1.2}.daily-chest-opened-msg{color:#fff;margin:0;font-size:1.05rem;font-weight:900}.daily-chest-collect{width:100%;max-width:260px}.btn-primary:disabled,.btn-primary.dash-chest-btn--done{background:color-mix(in srgb, var(--bg-elevated) 88%, var(--text-muted));color:var(--text-muted);box-shadow:none;filter:none;cursor:not-allowed;opacity:.85}@keyframes daily-chest-fade-in{0%{opacity:0}to{opacity:1}}@keyframes daily-chest-shake{0%,to{transform:rotate(0)translate(0)}15%{transform:rotate(-8deg)translate(-4px)}30%{transform:rotate(8deg)translate(4px)}45%{transform:rotate(-6deg)translate(-3px)}60%{transform:rotate(6deg)translate(3px)}75%{transform:rotate(-3deg)translate(-2px)}}@keyframes daily-chest-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1.05)}}@keyframes daily-chest-reveal-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes daily-chest-coin-bounce{0%{opacity:0;transform:translateY(20px)scale(.5)}60%{opacity:1;transform:translateY(-8px)scale(1.1)}to{transform:translateY(0)scale(1)}}.shop-item{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:14px 12px;display:flex}.shop-item--highlight{border:2px solid var(--accent);background:var(--accent-dim)}.shop-item-info{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.shop-item-icon{flex-shrink:0;font-size:1.6rem}.shop-item-name{margin:0;font-size:.92rem;font-weight:900}.shop-item-desc,.shop-item-note,.shop-item-active{color:var(--text-muted);margin:4px 0 0;font-size:.78rem;line-height:1.35}.shop-item-active{color:var(--accent-deep);font-weight:800}.shop-buy-btn{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;min-width:88px;padding:8px 12px;font-size:.78rem;line-height:1.1;display:inline-flex}.shop-buy-price{opacity:.92;font-size:.72rem;font-weight:800}.shop-ad-support-hint,.shop-ad-dev-hint{color:var(--text-muted);margin:0 0 10px;font-size:.78rem;line-height:1.4}.shop-ad-dev-hint{font-style:italic}.adsense-slot{border-radius:var(--radius);background:var(--bg-soft);min-height:100px;margin-top:12px;padding:10px;overflow:hidden}.adsense-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-align:center;margin:0 0 6px;font-size:.62rem;font-weight:800}.adsense-consent-hint,.adsense-empty-hint{color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:.78rem;line-height:1.4}.ad-consent-banner{left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + var(--nav-h) + 4px);z-index:10040;pointer-events:none;padding:12px 16px;position:fixed}.ad-consent-inner{pointer-events:auto;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--surface-border);max-width:480px;box-shadow:var(--shadow-md);margin:0 auto;padding:14px 16px}.ad-consent-title{margin:0 0 6px;font-size:.92rem;font-weight:800}.ad-consent-body{color:var(--text-muted);margin:0 0 12px;font-size:.8rem;line-height:1.45}.ad-consent-btn{width:100%}[data-device=desktop] .ad-consent-banner{bottom:16px}.rewarded-ad-backdrop{z-index:10050;overscroll-behavior:contain;touch-action:none;background:#0000008c;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.rewarded-ad-sheet{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;background:var(--bg);border-radius:var(--radius-lg);width:min(100%,420px);max-height:85vh;padding:20px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex;overflow:hidden auto;box-shadow:0 -8px 40px #00000059}.rewarded-ad-close{align-self:flex-start}.rewarded-ad-title{margin:0;font-size:1.1rem;font-weight:900}.rewarded-ad-hint{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.45}.rewarded-ad-timer{text-align:center;color:var(--accent);font-size:.88rem;font-weight:800}.rewarded-ad-empty{color:var(--text-muted);text-align:center;background:var(--bg-soft);border-radius:var(--radius);margin:0;padding:10px 12px;font-size:.78rem;line-height:1.45}.type-game-you-wrote{color:var(--text-muted);margin-top:6px;font-size:.82rem;display:block}.type-game-expected--near{color:var(--accent-deep);font-weight:900}.type-game-near-hint{color:var(--text-muted);font-size:.82rem}.speak-btn{border-radius:var(--radius);border:2px dashed color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-dim);width:100%;color:var(--accent-deep);cursor:pointer;margin-top:10px;padding:10px 14px;font-size:.88rem;font-weight:800}.speak-btn--active{border-style:solid;animation:1.2s ease-in-out infinite scanplay-pulse}.speak-game{flex-direction:column;min-height:0;display:flex}.speak-game-scroll{flex-direction:column;flex:1;gap:14px;min-height:0;padding-bottom:8px;display:flex}.speak-game-body{flex-direction:column;align-items:stretch;gap:14px;padding-bottom:12px;display:flex}.speak-game-voice-dock{padding:12px 0 calc(env(safe-area-inset-bottom) + 4px);border-top:1px solid color-mix(in srgb, var(--text-muted) 18%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 88%, transparent) 0%, var(--bg) 28%);touch-action:manipulation;flex-direction:column;flex-shrink:0;gap:10px;display:flex}.speak-game-mic-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.speak-game-mic-wrap--analyzing .speak-game-mic{opacity:.75;pointer-events:none}.speak-game-spinner{border:3px solid color-mix(in srgb, var(--accent) 25%, transparent);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite speak-spin}@keyframes speak-spin{to{transform:rotate(360deg)}}.speak-game-live--analyzing{color:var(--accent-deep);font-weight:800;animation:1s ease-in-out infinite scanplay-pulse}.speak-game-mic-levels{justify-content:center;align-items:flex-end;gap:6px;height:28px;display:flex}.speak-game-mic-bar{background:color-mix(in srgb, var(--accent) 22%, var(--bg-elevated));border-radius:99px;width:8px;height:10px;transition:height .12s,background .12s}.speak-game-mic-bar--on{background:var(--accent);height:24px}.speak-game-intro{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem;line-height:1.45}.speak-game-context{border-radius:var(--radius);background:var(--bg-card);text-align:center;box-shadow:var(--shadow);margin:0;padding:10px 14px;font-size:.92rem;font-weight:700}.speak-game-alt-forms{color:var(--text-muted);text-align:center;margin:-6px 0 0;font-size:.78rem;line-height:1.4}.speak-game-phrase-card{border-radius:var(--radius-lg);background:linear-gradient(165deg, color-mix(in srgb, var(--accent) 18%, var(--bg-card)) 0%, var(--bg-card) 100%);border:2px solid color-mix(in srgb, var(--accent) 35%, transparent);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:18px 16px;display:flex}.speak-game-cue{color:var(--text-muted);margin:0;font-size:.92rem;font-weight:750}.speak-game-phrase{margin:0;font-size:1.15rem;font-weight:900;line-height:1.35}.speak-game-target{background:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent-deep);border-radius:6px;padding:0 6px;font-weight:900}.speak-game-word--heard{color:#c9a227;background:#e8c54773;border-radius:4px;padding:0 2px}.speak-game-status{letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--text-muted);margin:0;font-size:.82rem;font-weight:800}.speak-game-status--listen{color:var(--accent-deep)}.speak-game-status--process{color:var(--accent-deep);animation:1s ease-in-out infinite scanplay-pulse}.speak-game-status--result{color:var(--accent-deep)}.speak-game-mic-wrap--heard .speak-game-mic-bar--on{background:var(--accent-deep)}.speak-game-mic--heard{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 28%, transparent);animation:.7s ease-in-out infinite scanplay-pulse}.speak-game-mic{border-radius:var(--radius-lg);border:2px dashed color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-dim);width:100%;color:var(--accent-deep);cursor:pointer;padding:16px;font-size:1rem;font-weight:900}.speak-game-mic--active{border-style:solid;animation:1.2s ease-in-out infinite scanplay-pulse}.speak-game-live{color:var(--accent-deep);text-align:center;min-height:1.35em;margin:-4px 0 0;font-size:.88rem;font-weight:700;line-height:1.35}.speak-game-live--waiting{color:var(--text-muted);font-weight:600;animation:1.4s ease-in-out infinite scanplay-pulse}.speak-game-error{color:#c82333;text-align:center;margin:0;font-size:.82rem;line-height:1.4}.speak-game-fallback{flex-direction:column;align-items:stretch;gap:10px;margin-top:4px;display:flex}.speak-game-fallback--compact{margin-top:0}.speak-game-fallback-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.85rem;line-height:1.45}.speak-game-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.78rem;line-height:1.4}.speak-game-empty{text-align:center;color:var(--text-muted);padding:24px}.speak-game-listen-first{color:var(--text-muted);text-align:center;margin:0 0 8px;font-size:.82rem}.speak-skip-block{text-align:center;margin-top:auto;padding-top:1rem}.speak-skip-trigger{opacity:.85;font-size:.9rem}.speak-skip-backdrop{z-index:10020;cursor:pointer;background:#00000073;border:none;padding:0;position:fixed;inset:0}.speak-skip-sheet{z-index:10021;width:100%;max-width:480px;padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--bg-elevated);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--surface-border);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:.5rem;animation:.22s speak-skip-sheet-in;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@keyframes speak-skip-sheet-in{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.speak-skip-menu{display:contents}.speak-skip-prompt{color:var(--text);text-align:center;margin:0 0 .35rem;font-size:.95rem;font-weight:700;line-height:1.4}.score-value--technical{letter-spacing:.02em;font-size:2rem}.results-technical-note{text-align:center;color:var(--text-muted);margin:.5rem 0 0;font-size:.9rem}.friend-send-coins-btn{width:100%;margin-top:12px}.send-coins-sheet{width:min(100%,380px);padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:10002;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 32px #00000059}.send-coins-title{margin:0 0 6px;font-size:1.1rem;font-weight:900}.send-coins-sub,.send-coins-balance{color:var(--text-muted);margin:0 0 12px;font-size:.88rem}.send-coins-error{color:#c82333;margin:8px 0 0;font-size:.85rem;font-weight:700}.send-coins-hold{width:100%;margin-top:12px;position:relative;overflow:hidden}.send-coins-hold-label{z-index:1;position:relative}.send-coins-hold-bar{pointer-events:none;background:#ffffff40;transition:width 40ms linear;position:absolute;top:0;bottom:0;left:0}.send-coins-hold--active{opacity:.95}.review-cards-screen{flex-direction:column;min-height:100%;display:flex}.review-cards-top{padding-top:max(12px, env(safe-area-inset-top))}.review-cards-main{flex:1;padding:12px 16px 24px}.review-cards-sub,.review-cards-mix,.review-cards-ignored-hint,.review-cards-need{color:var(--text-muted);margin:0 0 10px;font-size:.88rem}.review-cards-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.review-card-row{background:var(--bg-card);border:1px solid var(--surface-border);border-radius:16px;padding:12px}.review-card-pair{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.review-card-term,.review-card-def{word-break:break-word;font-weight:700}.review-card-input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:12px;padding:8px 10px}.review-card-badge{border-radius:999px;align-items:center;min-height:28px;padding:2px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.review-card-badge--ok{color:#052e16;background:#22c55e}.review-card-badge--bad{color:#fff;background:#ef4444}.review-card-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.review-card-delete{color:#ef4444}.review-cards-footer{padding:12px 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.review-cards-footer .btn-lg{width:100%;min-height:48px}:root{--sp-green:#22c55e;--sp-green-deep:#16a34a;--sp-green-dim:#22c55e24;--sp-green-glow:#22c55e73;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-full:999px;--radius:var(--radius-md);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-normal:.22s;--duration-slow:.38s;--shadow-sm:0 2px 8px #0000002e;--shadow-md:0 8px 24px #00000047;--shadow-lg:0 16px 48px #00000061;--shadow-glow:0 0 32px var(--sp-green-glow);--shadow-card:0 4px 20px #00000038, inset 0 1px 0 #ffffff0a}[data-theme=dark]{--bg:#0f172a;--bg-elevated:#111827;--bg-card:#1e293b;--bg-soft:#1e293b;--text:#fff;--text-muted:#94a3b8;--accent:var(--sp-green);--accent-deep:var(--sp-green-deep);--accent-dim:var(--sp-green-dim);--accent-glow:var(--sp-green-glow);--danger:#f87171;--shadow:var(--shadow-md);--shadow-lg:var(--shadow-lg);--radius:var(--radius-md);--radius-lg:var(--radius-xl);--path-line:#334155;--logo-paper:#e2e8f0;--nav-h:72px;--surface-border:#94a3b81f}[data-theme=light]{--bg:#f8fafc;--bg-elevated:#fff;--bg-card:#fff;--bg-soft:#f1f5f9;--text:#0f172a;--text-muted:#64748b;--accent:var(--sp-green-deep);--accent-deep:#15803d;--accent-dim:#22c55e1f;--accent-glow:#22c55e33;--danger:#dc2626;--shadow:0 8px 28px #0f172a14;--shadow-lg:0 16px 48px #0f172a1f;--radius:var(--radius-md);--radius-lg:var(--radius-xl);--path-line:#cbd5e1;--logo-paper:#0f172a;--nav-h:72px;--surface-border:#0f172a14}body{letter-spacing:-.01em;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.wordmark-text{font-family:Inter,system-ui,sans-serif;font-weight:800}.btn-primary,.btn-secondary,.icon-btn,.bottom-nav-item,.mode-card,.achievement-badge,.synthesis-action-btn,.camera-btn,.premium-card--interactive{transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out), background var(--duration-normal) ease, border-color var(--duration-normal) ease}@media (hover:hover){.btn-primary:hover{box-shadow:var(--shadow-glow);filter:brightness(1.05)}.btn-secondary:hover,.icon-btn:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--surface-border))}.bottom-nav-item:hover:not(.active){color:var(--text)}.achievement-badge.unlocked:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}}.btn-primary:active,.btn-secondary:active,.icon-btn:active,.bottom-nav-item:active,.camera-btn:active .camera-inner{transform:scale(.97)}.screen{animation:sp-page-in var(--duration-slow) var(--ease-out)}@keyframes sp-page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.btn-primary{background:linear-gradient(180deg, var(--sp-green) 0%, var(--sp-green-deep) 100%);color:#052e16;border-radius:var(--radius-md);box-shadow:var(--shadow-sm), inset 0 1px 0 #fff3;font-weight:700}.btn-secondary{background:var(--bg-card);border:1px solid var(--surface-border);border-radius:var(--radius-md)}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--bg-card);color:var(--text-muted)}.bottom-nav{background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);border-top:1px solid var(--surface-border)}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item.active .nav-icon-svg{stroke:var(--accent);stroke-width:2px}.bottom-nav-item.active .bottom-nav-icon{background:var(--accent-dim);border-radius:var(--radius-sm);padding:5px 12px}.bottom-nav-icon{border-radius:var(--radius-sm);transition:background var(--duration-normal) var(--ease-out);justify-content:center;align-items:center;padding:5px 12px;display:flex}.bottom-nav-item{gap:3px;padding-top:4px;position:relative}.nav-icon-svg{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.camera-ring{background:var(--accent-dim);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent), 0 0 48px var(--accent-glow)}.camera-inner{background:linear-gradient(145deg, var(--sp-green) 0%, var(--sp-green-deep) 100%);color:#052e16;box-shadow:var(--shadow-md), inset 0 2px 0 #ffffff40;inset:12px}.camera-label{letter-spacing:-.02em;font-size:1rem;font-weight:800}.home-screen--premium .home-main{text-align:left;align-items:stretch;gap:var(--space-4);padding-top:var(--space-2)}.home-screen--premium .premium-card{box-shadow:none}.home-progress-card{width:100%;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--surface-border);box-shadow:none}.icon-glyph{vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-style:normal;line-height:1;display:inline-flex;overflow:visible}.icon-glyph--sm{min-width:1.25em;min-height:1.25em;font-size:1rem}.icon-glyph--md{min-width:1.3em;min-height:1.3em;font-size:1.25rem}.icon-glyph--lg{min-width:1.35em;min-height:1.35em;font-size:1.5rem}.icon-glyph--xl{min-width:1.2em;min-height:1.2em;font-size:2.5rem}.home-dashboard{gap:var(--space-3);flex-direction:column;width:100%;display:flex;overflow:visible}.dash-card{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--surface-border);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 4%, transparent);overflow:visible}.dash-card--streak{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--bg-card)) 0%, var(--bg-card) 55%);border-color:color-mix(in srgb, var(--accent) 22%, var(--surface-border))}.dash-streak-body{align-items:flex-end;gap:var(--space-3);display:flex;overflow:visible}.dash-streak-copy{flex:1;min-width:0;padding-bottom:2px}.dash-streak-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:flex}.dash-streak-days{letter-spacing:-.02em;color:var(--text);margin-top:2px;font-size:1.35rem;font-weight:800;display:block}.dash-streak-msg{color:var(--accent);margin:4px 0 0;font-size:.88rem;font-weight:600}.dash-level-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.dash-level-title{letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.dash-level-xp{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:800}.dash-xp-bar{border-radius:var(--radius-full);background:var(--bg-soft);border:1px solid var(--surface-border);height:12px;overflow:hidden}.dash-xp-bar-fill{border-radius:inherit;background:linear-gradient(90deg, #16a34a, var(--accent), #86efac);height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 45%, transparent);transition:width .45s}.dash-level-next{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:.82rem;font-weight:600}.dash-stats-row{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.dash-stat{padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--surface-border);text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.dash-stat--btn{width:100%;font:inherit;color:inherit;cursor:pointer;margin:0}.dash-stat-icon{flex-shrink:0;justify-content:center;align-items:center;min-width:1.3em;min-height:1.3em;font-size:1.25rem;line-height:1;display:inline-flex;overflow:visible}.dash-stat-val{font-variant-numeric:tabular-nums;color:var(--text);font-size:1.05rem;font-weight:800}.dash-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:700}.dash-card--chest{align-items:center;gap:var(--space-3);display:flex}.dash-chest-shop-hit{align-items:center;gap:var(--space-3);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:0;display:flex}.dash-card--chest-ready{border-color:color-mix(in srgb, #38bdf8 35%, var(--surface-border));background:linear-gradient(135deg, color-mix(in srgb, #38bdf8 10%, var(--bg-card)) 0%, var(--bg-card) 60%)}.dash-chest-visual{filter:drop-shadow(0 4px 8px #0f172a2e);background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;overflow:visible}.dash-chest-copy{flex:1;min-width:0}.dash-chest-title{margin:0;font-size:.95rem;font-weight:800}.dash-chest-status{color:var(--text-muted);margin:4px 0 0;font-size:.82rem;font-weight:600}.dash-chest-status.ready{color:var(--accent)}.dash-chest-btn{min-width:88px;padding-inline:var(--space-4);flex-shrink:0}.dash-chest-btn--done{min-width:118px;font-size:.82rem;line-height:1.15}.dash-card--missions{padding:0;overflow:visible}.dash-missions-toggle{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-4);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;font-size:.95rem;font-weight:800;display:flex}.dash-missions-chevron{color:var(--text-muted);font-size:1.35rem;line-height:1;transition:transform .2s;transform:rotate(90deg)}.dash-missions-chevron.open{transform:rotate(-90deg)}.dash-mission-list{margin:0;padding:0;list-style:none}.dash-mission{align-items:center;gap:var(--space-3);padding:0 var(--space-4) var(--space-4);display:flex;overflow:visible}.dash-mission+.dash-mission{padding-top:var(--space-3);border-top:1px solid var(--surface-border)}.dash-mission--done .dash-mission-name{color:var(--text-muted)}.dash-mission-icon{flex-shrink:0;justify-content:center;align-items:center;min-width:1.35em;min-height:1.35em;font-size:1.35rem;line-height:1;display:inline-flex;overflow:visible}.dash-mission-body{flex:1;min-width:0}.dash-mission-name{margin-bottom:6px;font-size:.88rem;font-weight:700;display:block}.dash-mission-progress{border-radius:var(--radius-full);background:var(--bg-soft);height:6px;overflow:hidden}.dash-mission-progress-fill{border-radius:inherit;background:var(--accent);height:100%}.dash-mission-reward{color:var(--accent);white-space:nowrap;flex-direction:row;flex-shrink:0;align-items:center;gap:6px;padding:4px 0;font-size:.78rem;font-weight:800;display:inline-flex;overflow:visible}.dash-mission-reward-xp{line-height:1.2}.dash-mission-reward-xp-icon{justify-content:center;align-items:center;min-width:1.25em;min-height:1.25em;font-size:1rem;line-height:1;display:inline-flex;overflow:visible}.top-bar-streak{background:var(--bg-card);border:1px solid var(--surface-border);border-radius:12px;min-height:44px;padding:0 12px}.top-bar-streak .hud-duo-icon{justify-content:center;align-items:center;min-width:1.2em;min-height:1.2em;font-size:1.15rem;display:inline-flex;overflow:visible}.top-bar-streak .hud-duo-val{font-size:.95rem}.top-bar-streak.active .hud-duo-val{color:#e85d04}.home-progress-top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.home-progress-stats{gap:var(--space-4);display:flex}.home-stat-pill{border-radius:var(--radius-full);background:var(--bg-soft);border:1px solid var(--surface-border);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:6px 12px;font-size:.88rem;font-weight:800;display:flex}.home-stat-pill--streak.active{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent)}.home-stat-pill--level{color:var(--accent)}.home-scan-hero{padding:var(--space-6) var(--space-4);border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--surface-border);box-shadow:none;text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.home-scan-hero .tagline{max-width:none;margin-bottom:var(--space-1);font-size:1.35rem}.home-scan-hero .subtagline{margin-bottom:var(--space-5);max-width:none;margin-inline:auto}.home-scan-hero .scans-left{margin:var(--space-2) 0 var(--space-8)}.home-scan-hero .camera-zone{margin-top:var(--space-2)}.home-continue-block{background:var(--bg-card);border:1px solid var(--surface-border);border-radius:20px;flex-direction:column;align-items:stretch;gap:10px;width:100%;padding:20px 16px;display:flex}.home-continue-hint{text-align:center;color:var(--text-muted);margin:0;font-size:.92rem}.home-continue-cta,.home-continue-scan{width:100%;min-height:48px}.import-frame-hint{color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:.82rem;display:block}.scanning-steps{justify-content:center;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.scanning-step{color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700}.scanning-step--active{color:#052e16;background:#22c55e}.scanning-step--done{color:#86efac}.profile-shortcut-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.profile-shortcut-btn{min-height:44px}.home-scan-hint{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:.78rem;font-weight:600}.home-section--premium{width:100%;margin:0}.home-section-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.home-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:.72rem;font-weight:800}.home-recent-scroll{gap:var(--space-3);padding-bottom:var(--space-2);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.home-recent-scroll::-webkit-scrollbar{display:none}.home-recent-card{scroll-snap-align:start;border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-sm);cursor:default;flex:0 0 140px;overflow:hidden}.home-recent-thumb{object-fit:cover;background:var(--bg-soft);width:100%;height:88px;display:block}.home-recent-thumb--placeholder{color:var(--text-muted);justify-content:center;align-items:center;font-size:1.8rem;display:flex}.home-recent-body{padding:var(--space-2) var(--space-3) var(--space-3)}.home-recent-title{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.home-recent-meta{color:var(--accent);margin-top:2px;font-size:.68rem;font-weight:700;display:block}.home-ach-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.home-ach-card{align-items:center;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--surface-border);text-align:center;width:100%;min-height:108px;font:inherit;color:inherit;cursor:pointer;flex-direction:column;display:flex}.home-ach-card.unlocked{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:linear-gradient(165deg, var(--accent-dim) 0%, var(--bg-card) 100%)}.home-ach-card-icon{font-size:1.75rem;line-height:1}.home-ach-card-name{font-size:.72rem;font-weight:800;line-height:1.2}.home-ach-card-date{color:var(--text-muted);font-size:.62rem;font-weight:600}.hud-duo-streak.active .hud-duo-val{color:var(--accent)}.hud-xp-bar-track{border-radius:var(--radius-full);background:var(--bg-soft);border:1px solid var(--surface-border);height:10px}.hud-xp-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--sp-green-deep), var(--sp-green));box-shadow:0 0 12px var(--accent-glow)}.hud-duo-level-ring{background:conic-gradient(var(--accent) calc(var(--pct) * 1%), var(--bg-soft) 0)}.achievement-badge{border-radius:var(--radius-lg);border:1px solid var(--surface-border);box-shadow:var(--shadow-card);transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal)}.achievement-badge.unlocked{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:linear-gradient(160deg, var(--accent-dim) 0%, var(--bg-card) 70%)}.achievement-badge.unlocked .achievement-icon-wrap{animation:ach-icon-pop .5s var(--ease-spring) both}@keyframes ach-icon-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.achievement-unlocked-tag{border-radius:var(--radius-full);background:var(--accent-dim);padding:3px 8px;font-size:.58rem}.achievement-unlock-overlay.visible{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.achievement-unlock-card{border-radius:var(--radius-xl);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);box-shadow:var(--shadow-lg), var(--shadow-glow);background:linear-gradient(165deg, var(--bg-card) 0%, color-mix(in srgb, var(--accent) 12%, var(--bg-card)) 100%)}.achievement-unlock-kicker{color:var(--accent);letter-spacing:.06em;font-weight:800}.notification-bell{border:1px solid var(--surface-border);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;width:44px;height:44px;color:var(--text);box-shadow:none;font-size:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.notification-bell .notification-bell-svg{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.notification-bell.has-unread.pulse{box-shadow:0 0 0 0 var(--accent-glow);animation:notif-ring 1.6s var(--ease-out) infinite}@keyframes notif-ring{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}.notification-badge{background:var(--sp-green);color:#052e16;border-radius:var(--radius-full);border:2px solid var(--bg-card);min-width:18px;height:18px;animation:badge-pop .35s var(--ease-spring);font-weight:800}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.notification-panel{border:1px solid var(--surface-border);background:var(--bg-elevated)}.notification-item{border-radius:var(--radius-md);margin-bottom:var(--space-2);transition:background var(--duration-fast) ease;border:1px solid #0000}.notification-item.unread{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.notification-item-icon{border-radius:var(--radius-sm);background:var(--bg-card);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.premium-card{background:var(--bg-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.mode-card{border:1px solid var(--surface-border);border-radius:var(--radius-lg)}.achievements-screen--premium .achievements-hero{align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);display:flex}.achievements-hero-ring{background:conic-gradient(var(--accent) calc(var(--pct) * 1%), var(--bg-soft) 0);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.achievements-hero-ring:before{content:"";background:var(--bg-card);border-radius:50%;position:absolute;inset:4px}.achievements-hero-pct{color:var(--accent);font-size:.75rem;font-weight:800;position:relative}.achievements-hero-label{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.45}.plan-card{background:var(--bg-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:none}.plan-card-head .plan-badge{margin-top:0}.import-screen--configure .import-config-main{min-height:0;padding:var(--space-4) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-6));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;display:flex;position:relative;overflow-y:auto}.import-config-center{z-index:1;width:100%;max-width:420px;padding:var(--space-5) var(--space-4);border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--surface-border);text-align:center;animation:sp-page-in var(--duration-slow) var(--ease-out);margin:0 auto;position:relative}.import-config-badge{margin-bottom:var(--space-3);border-radius:var(--radius-full);background:var(--accent-dim);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent-deep);justify-content:center;align-items:center;padding:6px 14px;font-size:.78rem;font-weight:800;display:inline-flex}.import-config-heading{margin:0 0 var(--space-1);letter-spacing:-.02em;font-size:1.15rem;font-weight:900}.import-config-sub{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.88rem;line-height:1.45}.import-config-hint{text-align:left;margin-top:var(--space-3)}.import-config-scan{margin-top:var(--space-4);width:100%}.sheet-type-picker--premium{text-align:left;width:100%}.sheet-type-options--grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=380px){.sheet-type-options--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sheet-type-card--premium{min-height:118px;padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--surface-border);background:var(--bg-soft);box-shadow:none;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-normal) ease, background var(--duration-normal) ease, box-shadow var(--duration-normal) ease;animation:sp-card-in var(--duration-slow) var(--ease-out) both;align-items:flex-start;position:relative}@keyframes sp-card-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (hover:hover){.sheet-type-card--premium:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--surface-border));transform:translateY(-2px)}}.sheet-type-card--premium.sheet-type-card--active{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.sheet-type-card--premium .sheet-type-icon{margin-bottom:2px;font-size:1.65rem}.sheet-type-card--premium .sheet-type-label{font-size:.92rem;line-height:1.25}.sheet-type-card--premium .sheet-type-desc{font-size:.74rem;line-height:1.35}.training-focus-picker{width:100%;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--surface-border);text-align:left}.training-focus-title{letter-spacing:-.01em;margin:0 0 4px;font-size:.95rem;font-weight:900}.training-focus-intro{margin:0 0 var(--space-3);color:var(--text-muted);font-size:.8rem}.training-focus-options{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=380px){.training-focus-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.training-focus-card{min-height:108px;padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--surface-border);background:var(--bg-soft);cursor:pointer;text-align:left;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-normal) ease, background var(--duration-normal) ease;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:relative}@media (hover:hover){.training-focus-card:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--surface-border));transform:translateY(-2px)}}.training-focus-card--active{border-color:var(--accent);background:var(--accent-dim)}.training-focus-icon{font-size:1.4rem}.training-focus-label{font-size:.88rem;font-weight:800}.training-focus-desc{color:var(--text-muted);font-size:.72rem;line-height:1.35}.training-focus-check{border-radius:var(--radius-full);background:var(--bg-card);border:2px solid var(--surface-border);color:#0000;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:900;display:flex;position:absolute;top:10px;right:10px}.training-focus-card--active .training-focus-check{background:var(--accent);border-color:var(--accent);color:#052e16}[data-device=desktop] .import-config-center{max-width:480px;padding:var(--space-6) var(--space-5)}.audio-settings-main{min-height:0;padding:var(--space-4);flex:1;overflow-y:auto}.audio-settings-intro{color:var(--text-muted);margin-bottom:var(--space-4);font-size:.88rem;line-height:1.45}.audio-settings-section{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--surface-border)}.audio-volume-block{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--surface-border)}.audio-volume-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.audio-volume-label{font-size:.92rem;font-weight:800}.audio-volume-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:800}.audio-volume-slider{width:100%;accent-color:var(--accent);cursor:pointer;height:6px}.audio-toggle-copy{min-width:0;padding-right:var(--space-3);flex-direction:column;gap:2px;display:flex}.audio-toggle-copy small{color:var(--text-muted);font-size:.74rem;line-height:1.35}.audio-settings-link{width:100%;margin-top:var(--space-3)}.audio-preview-section{margin-top:var(--space-2)}.audio-preview-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.audio-preview-chip{border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--bg-soft);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-normal) ease;padding:10px 12px;font-family:inherit;font-size:.78rem;font-weight:700}@media (hover:hover){.audio-preview-chip:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--surface-border));transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.screen,.achievement-badge.unlocked .achievement-icon-wrap,.notification-bell.has-unread.pulse,.notification-badge,.sheet-type-card--premium,.import-config-center{animation:none}}.app-shell--guest{--nav-h:0px;height:100%;max-height:100%;overflow:clip}html:not([data-landing]):has(.app-shell--guest){overscroll-behavior:none;background:#07110d;height:100dvh;max-height:100dvh;overflow:clip}html:not([data-landing]):has(.app-shell--guest) body{overscroll-behavior:none;background:#07110d;height:100dvh;max-height:100dvh;overflow:clip}html:not([data-landing]):has(.app-shell--guest) #root{overscroll-behavior:none;background:#07110d;height:100dvh;max-height:100dvh;overflow:clip}@supports (height:100svh){html:not([data-landing]):has(.app-shell--guest){height:100svh;max-height:100svh}html:not([data-landing]):has(.app-shell--guest) body{height:100svh;max-height:100svh}html:not([data-landing]):has(.app-shell--guest) #root{height:100svh;max-height:100svh}}.app-shell--guest .app-main{height:100%;min-height:0;overflow:clip}[data-device=desktop] .app-shell.app-shell--guest{width:100%;max-width:none;height:100%;min-height:0;max-height:100%;box-shadow:none;flex-direction:column;grid-template-columns:none;margin:0;display:flex;overflow:clip}[data-device=desktop] .app-shell.app-shell--guest .app-main{flex:1 1 0;height:100%;min-height:0;overflow:clip}:root{--shell-mobile:480px;--shell-desktop:1120px;--shell-wide:1320px;--shell-ultra:1480px;--content-narrow:440px;--content-wide:680px;--content-max:760px;--pad-screen-x:16px;--pad-screen-x-desktop:32px;--camera-size:clamp(128px, 36vw, 148px)}.app-shell{max-width:min(100%, var(--shell-mobile));width:100%;margin-inline:auto}.screen{padding-inline:max(var(--pad-screen-x), env(safe-area-inset-left)) max(var(--pad-screen-x), env(safe-area-inset-right))}.home-screen--premium .home-main{align-items:stretch;width:100%;max-width:none}.home-main .plan-card,.home-screen--premium .plan-card{width:100%;max-width:none;margin-top:var(--space-4,16px)}.home-scan-hero .tagline,.home-scan-hero .subtagline{width:100%;max-width:none}.home-scan-hero .tagline{font-size:clamp(1.2rem,4.5vw,1.45rem)}.home-scan-hero .subtagline{font-size:clamp(.85rem,3.2vw,.95rem)}.camera-btn{width:var(--camera-size);height:var(--camera-size)}.camera-inner{inset:calc(var(--camera-size) * .1)}.camera-inner svg{width:clamp(36px,10vw,44px);height:clamp(36px,10vw,44px)}.home-progress-card,.home-scan-hero,.home-section--premium{width:100%}.home-recent-card{flex:0 0 clamp(120px,38vw,160px)}.plan-card{width:100%}.plan-card-head{align-items:center}.guest-scan-banner--home-top{flex-shrink:0;width:100%}.guest-scan-banner-foot--prominent{border-radius:var(--radius-md);color:#166534;text-align:center;background:#fffc;border:2px solid #22c55e66;margin:10px 0 0;padding:8px 12px;font-size:.8rem;font-weight:800}.guest-mobile-signup-teaser{border-radius:var(--radius-lg);color:#166534;text-align:center;cursor:pointer;background:#f0fdf4;border:2px dashed #22c55e;width:100%;margin:0;padding:14px 16px;font-size:.92rem;font-weight:800;display:none}.home-scan-hero--guest-trial .camera-ring{box-shadow:0 0 0 4px #fef08a, 0 0 0 8px #22c55e59, 0 0 36px var(--accent-glow)}.home-scan-hero--guest-trial .home-scan-hint{color:#15803d;font-weight:800}@media (width<=767px){.guest-scan-banner--home-top.guest-scan-banner--mobile{margin-bottom:4px;padding:18px 14px}.guest-scan-banner--home-top.guest-scan-banner--mobile .guest-scan-banner-inner{text-align:center;flex-direction:column;align-items:center;gap:10px}.guest-scan-banner--home-top.guest-scan-banner--mobile .guest-scan-badge{padding:7px 16px;font-size:.82rem}.guest-scan-banner--home-top.guest-scan-banner--mobile .guest-scan-banner-title{font-size:1.35rem;line-height:1.15}.guest-scan-banner--home-top.guest-scan-banner--mobile .guest-scan-banner-body{max-width:36ch;margin-inline:auto;font-size:.95rem;line-height:1.45}.guest-scan-banner--home-top.guest-scan-banner--mobile .guest-scan-banner-foot--prominent{width:100%;padding:10px 14px;font-size:.88rem}.home-main--guest .home-scan-hero .tagline{font-size:1.1rem}.home-main--guest .home-scan-hero .subtagline{margin-bottom:20px;font-size:.86rem}.home-main--guest .guest-mobile-signup-teaser{display:block}}@media (width>=768px){.guest-mobile-signup-teaser{display:none}}[data-device=desktop] .guest-mobile-signup-teaser,[data-device=mobile] .top-bar-guest-pill{display:none}[data-device=mobile] .top-bar-brand{flex:auto;min-width:0;max-width:calc(100% - 88px)}[data-device=mobile] .top-bar-actions{flex-shrink:0}.home-screen--premium .text-link,.home-screen--premium .home-install-btn,.home-screen--premium .home-install-done{text-align:center;align-self:center}.home-screen--premium .gamification-hud-wrap{width:100%}[data-device=mobile] .bottom-nav-item{min-width:0;padding-inline:1px}[data-device=mobile] .bottom-nav-label{letter-spacing:-.02em;font-size:.56rem}[data-device=mobile] .bottom-nav-icon{flex-shrink:0;padding:3px 6px}[data-device=mobile] .bottom-nav-item.active .bottom-nav-icon{padding:3px 8px}[data-device=mobile] .nav-icon-svg{width:20px;height:20px}@media (display-mode:standalone){[data-device=mobile] .bottom-nav-label{font-size:.58rem;line-height:1.2}}@media (width<=380px){.top-bar{padding-block:8px}.wordmark-text{font-size:1.15rem}.scanplay-logo{height:32px!important}}[data-device=desktop]{--shell-max:var(--shell-desktop);--nav-h:0px}[data-device=desktop] .app-shell{max-width:var(--shell-desktop)}@media (width>=1280px){[data-device=desktop]{--shell-max:var(--shell-wide)}[data-device=desktop] .app-shell{max-width:var(--shell-wide)}[data-device=desktop] .home-screen--desktop .home-main{max-width:960px}[data-device=desktop] .settings-main,[data-device=desktop] .mode-main-path{max-width:920px}}@media (width>=1536px){[data-device=desktop]{--shell-max:var(--shell-ultra)}[data-device=desktop] .app-shell{max-width:var(--shell-ultra)}}[data-device=desktop] .screen{padding-inline:var(--pad-screen-x-desktop)}[data-device=desktop] .app-main .screen{max-width:var(--content-max);width:100%;margin-inline:auto}[data-device=desktop] .app-main .history-screen{max-width:none;margin-inline:0}[data-device=desktop] .home-screen--premium.home-screen--desktop .home-main,[data-device=desktop] .home-screen--desktop .home-main{max-width:var(--content-wide);text-align:left;align-items:stretch;gap:var(--space-5,20px);flex-direction:column;width:100%;margin-inline:auto;display:flex}[data-device=desktop] .home-screen--desktop .home-scan-hero{padding:var(--space-8,32px) var(--space-6,24px)}[data-device=desktop] .home-screen--desktop .camera-btn{--camera-size:160px}[data-device=desktop] .home-screen--desktop .tagline{max-width:none;font-size:1.65rem}[data-device=desktop] .home-screen--desktop .subtagline{max-width:42ch;margin-inline:auto;font-size:1rem}[data-device=desktop] .home-screen--desktop .text-link{align-self:center}[data-device=desktop] .home-recent-scroll{gap:var(--space-3,12px);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid;overflow:visible}[data-device=desktop] .home-recent-card{flex:none;width:auto}[data-device=desktop] .home-ach-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}[data-device=desktop] .gamification-hud-wrap,[data-device=desktop] .gamification-hud,[data-device=desktop] .mode-main-path,[data-device=desktop] .settings-main,[data-device=desktop] .achievements-main,[data-device=desktop] .friends-main,[data-device=desktop] .shop-main,[data-device=desktop] .mistakes-main,[data-device=desktop] .import-main{max-width:var(--content-max);width:100%;margin-inline:auto}[data-device=desktop] .plan-card{max-width:none}[data-device=desktop] .bottom-nav-item.active .bottom-nav-icon{background:0 0;padding:0}[data-device=desktop] .bottom-nav-icon{flex-shrink:0;width:24px;padding:0}[data-device=desktop] .bottom-nav-item.active{color:var(--accent)}[data-device=desktop] .bottom-nav-item.active .nav-icon-svg{stroke-width:2px}[data-device=desktop] .flashcard{max-width:400px}[data-device=desktop] .modal-card,[data-device=desktop] .synthesis-sheet{width:min(440px,100vw - 48px)}[data-device=desktop] .notification-panel{right:max(24px, calc(50% - var(--shell-desktop) / 2 + 24px))}@media (width>=960px){[data-device=desktop] .home-screen--premium .home-main{max-width:var(--content-max)}[data-device=desktop] .home-screen--premium .home-progress-card{order:1}[data-device=desktop] .home-screen--premium .home-scan-hero{order:2}}@media (width>=1536px){[data-device=desktop] .home-screen--premium .home-main{max-width:1100px}[data-device=desktop] .plan-card{padding:18px 20px}[data-device=desktop] .plan-card-perks{grid-template-columns:1fr 1fr;column-gap:16px}[data-device=desktop] .notification-panel{right:max(24px, calc(50% - var(--shell-ultra) / 2 + 24px))}}html[data-device=desktop]:not([data-landing]):has(.app-shell--guest){background:#07110d;height:100svh;min-height:0;max-height:100svh;overflow:clip}html[data-device=desktop]:not([data-landing]):has(.app-shell--guest) body{background:#07110d;height:100svh;min-height:0;max-height:100svh;overflow:clip}html[data-device=desktop]:not([data-landing]):has(.app-shell--guest) #root{background:#07110d;height:100svh;min-height:0;max-height:100svh;overflow:clip}html[data-device=desktop]:has(.app-shell--guest) body{background:#07110d}[data-device=desktop] .app-shell.app-shell--guest{width:100%;max-width:none;box-shadow:none;flex-direction:column;grid-template-columns:none;height:100%;min-height:0;max-height:100%;margin:0;display:flex;overflow:clip}[data-device=desktop] .app-shell.app-shell--guest .app-main{flex:1 1 0;height:100%;min-height:0;max-height:100%;overflow:clip}[data-device=desktop] .app-shell.app-shell--guest .app-main .screen:not(.sp-landing){max-width:min(640px,100% - 48px);margin-inline:auto}@media (width>=900px){.app-shell.app-shell--guest{width:100%;max-width:none;height:100%;max-height:100%;margin:0;overflow:clip}.app-shell.app-shell--guest .app-main{flex:1 1 0;height:100%;min-height:0;overflow:clip}.app-shell.app-shell--guest .app-main .screen.sp-landing{width:100%;max-width:none;height:auto;margin-inline:0}}.lesson-runner{flex-direction:column;min-height:100%;display:flex}.lesson-runner-body{z-index:0;flex-direction:column;flex:1;min-height:0;padding-top:8px;display:flex;position:relative;overflow:hidden}.lesson-runner-body--transition{opacity:.35;transition:opacity .25s}.lesson-embedded-pane{min-height:100%}.lesson-embedded-pane--with-skip{flex-direction:column;min-height:100%;display:flex}.lesson-embedded-pane--with-skip .match-body{flex:1;min-height:0}.game-skip-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg);flex-shrink:0}.listen-game-body{padding:4px 0 8px}.listen-game-body .game-instruction{flex-shrink:0;padding-top:2px}.listen-audio-card{border-radius:var(--radius-lg);border:2px solid var(--border);background:var(--surface);flex-direction:column;align-items:center;gap:12px;margin:16px 0 20px;padding:28px 20px;display:flex}.listen-audio-icon{font-size:2.5rem}.listen-hear-btn{padding:12px 20px;font-size:1.1rem}.listen-audio-hint{color:var(--text-muted);margin:0;font-size:.85rem}.listen-options{margin-top:8px}.listen-game--embedded{flex-direction:column;min-height:100%;display:flex}.listen-game--embedded .listen-game-body{flex:1;min-height:0;overflow-y:auto}.lesson-interstitial{background:var(--bg);flex-direction:column;min-height:100%;display:flex}.lesson-interstitial-progress{justify-content:center;gap:8px;padding:16px;display:flex}.lesson-dot{background:var(--border);border-radius:999px;width:10px;height:10px}.lesson-dot--done{background:#22c55e}.lesson-dot--current{background:#86efac;transform:scale(1.15)}.lesson-interstitial-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.lesson-interstitial-title{color:#22c55e;margin:0;font-size:1.6rem;font-weight:900}.lesson-interstitial-score{color:var(--text-muted);margin:0;font-size:1rem}.lesson-interstitial-footer{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.lesson-continue-btn{background:linear-gradient(#4ade80,#16a34a);border:none;width:100%}.lesson-complete-screen{min-height:100%;padding:20px 16px calc(24px + env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;display:flex;position:relative;overflow:hidden}.lesson-complete-screen--finale .lesson-complete-stats,.lesson-complete-screen--finale .lesson-complete-footer{opacity:0;pointer-events:none;transform:translateY(12px)}.lesson-complete-stats.is-in,.lesson-complete-footer.is-in{opacity:1;pointer-events:auto;transition:opacity .45s,transform .45s;transform:none}.lesson-complete-hero{text-align:center;z-index:2;padding:12px 0 20px;position:relative}.lesson-complete-title{color:#f59e0b;opacity:0;margin:8px 0 0;font-size:1.75rem;font-weight:900;transform:scale(.72)translateY(18px)}.lesson-complete-title--in{opacity:1;animation:.7s cubic-bezier(.16,1.2,.32,1) both lessonTitlePop;transform:none}.lesson-complete-screen--flash .lesson-complete-hero,.lesson-complete-screen--reveal .lesson-complete-hero{z-index:6}.lesson-complete-screen--flash .lesson-complete-title{color:#0f172a;text-shadow:0 0 24px #ffffffe6}.lesson-complete-flash{opacity:0;pointer-events:none;z-index:4;background:#fff;position:fixed;inset:0}.lesson-complete-screen--flash .lesson-complete-flash{animation:.55s ease-out both lessonWhiteFlash}.lesson-complete-wash{z-index:1;pointer-events:none;transform-origin:50% 52%;opacity:0;background:linear-gradient(#86efac 0%,#22c55e 42%,#15803d 100%);position:fixed;inset:0;transform:scaleY(0)}.lesson-complete-screen--burst .lesson-complete-wash{animation:.5s cubic-bezier(.12,.7,.2,1) both lessonWashBoom}.lesson-complete-screen--flash .lesson-complete-wash{animation:.55s ease-out both lessonWashHold}.lesson-complete-burst{pointer-events:none;z-index:3;position:fixed;inset:0;overflow:hidden}.lesson-complete-shard{opacity:0;border-radius:3px;position:absolute}.lesson-complete-screen--burst .lesson-complete-shard,.lesson-complete-screen--flash .lesson-complete-shard{animation-name:lessonShardBurst;animation-timing-function:cubic-bezier(.12,.7,.2,1);animation-fill-mode:both}.lesson-xp-bar-wrap--hot .lesson-xp-bar{transform-origin:bottom;animation:.22s ease-in-out infinite alternate lessonBarCharge;box-shadow:0 0 16px #4ade80,0 -8px 24px #4ade808c}.lesson-xp-bar-wrap--boom{z-index:5;overflow:visible}.lesson-xp-bar-wrap--boom .lesson-xp-bar{transform-origin:50%;transition:none;animation:.42s ease-out both lessonBarBoom}.lesson-xp-bar-wrap--boom .lesson-xp-bar-label{opacity:0}@keyframes lessonBarCharge{0%{filter:brightness();transform:scaleY(1)}to{filter:brightness(1.35);transform:scaleY(1.55)}}@keyframes lessonBarBoom{0%{opacity:1;transform:scaleY(1)scaleX(1)}40%{opacity:1;filter:brightness(1.8);transform:scaleY(28)scaleX(1.12)}to{opacity:0;transform:scaleY(90)scaleX(1.25)}}@keyframes lessonWashBoom{0%{opacity:1;transform:scaleY(.02)}65%{opacity:1;transform:scaleY(1.12)}to{opacity:1;transform:scaleY(1.18)}}@keyframes lessonWashHold{0%{opacity:1;transform:scaleY(1.18)}to{opacity:0;transform:scaleY(1.18)}}@keyframes lessonShardBurst{0%{opacity:0;transform:translate(0)rotate(0)scale(.4)}12%{opacity:1}to{transform:translate(var(--drift), var(--dy,-80vh)) rotate(var(--spin)) scale(1.1);opacity:0}}@keyframes lessonWhiteFlash{0%{opacity:0}35%{opacity:.92}to{opacity:0}}@keyframes lessonTitlePop{0%{opacity:0;transform:scale(.7)translateY(22px)}60%{opacity:1;transform:scale(1.08)translateY(0)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lesson-complete-title{opacity:1;animation:none;transform:none}.lesson-complete-flash,.lesson-complete-wash,.lesson-complete-shard,.lesson-xp-bar-wrap--hot .lesson-xp-bar,.lesson-xp-bar-wrap--boom .lesson-xp-bar{animation:none}}.lesson-complete-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.lesson-stat-card{border-radius:var(--radius-md);border:2px solid var(--border);text-align:center;background:var(--surface);padding:12px 8px}.lesson-stat-card--xp{border-color:#f59e0b}.lesson-stat-card--score{border-color:#22c55e}.lesson-stat-card--time{border-color:#3b82f6}.lesson-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.65rem;font-weight:800;display:block}.lesson-stat-value{margin-top:4px;font-size:1.35rem;font-weight:900;display:block}.lesson-xp-bar-wrap{background:var(--border);border-radius:999px;height:12px;margin-bottom:24px;position:relative;overflow:hidden}.lesson-xp-bar{background:linear-gradient(90deg,#22c55e,#4ade80);height:100%;transition:width .3s}.lesson-xp-bar-label{justify-content:center;align-items:center;font-size:.65rem;font-weight:800;display:flex;position:absolute;inset:0}.lesson-complete-footer{flex-direction:column;gap:10px;margin-top:auto;display:flex}.lesson-complete-footer-row{gap:10px;display:flex}.lesson-view-path-btn{width:100%}.lesson-complete-footer .lesson-home-btn{flex:none}.lesson-complete-footer .lesson-continue-btn{flex:1}.pix-companion{justify-content:center;align-items:center;display:inline-flex}.pix-companion--animate .pix-svg{animation:2.4s ease-in-out infinite pix-bob}.pix-companion--celebrate .pix-svg{animation:.9s ease-in-out infinite alternate pix-celebrate}.pix-companion--animate .pix-arm--left{transform-origin:12px 55px;animation:1.8s ease-in-out infinite pix-wave-left}@keyframes pix-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pix-celebrate{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-10px)rotate(2deg)}}@keyframes pix-wave-left{0%,to{transform:rotate(0)}50%{transform:rotate(-18deg)}}.pix-spark{animation:1.2s ease-in-out infinite alternate pix-spark}.pix-spark--2{animation-delay:.2s}.pix-spark--3{animation-delay:.4s}.pix-companion--thinking .pix-pupil--left,.pix-companion--thinking .pix-pupil--right{transform:translate(2px,-3px)}.pix-companion--thinking .pix-question{animation:1.6s ease-in-out infinite pix-question-bob}.pix-companion--running .pix-svg{animation:.35s ease-in-out infinite alternate pix-run-tilt}.pix-companion--running .pix-leg--left{transform-origin:32px 96px;animation:.35s ease-in-out infinite alternate pix-run-leg-left}.pix-companion--running .pix-leg--right{transform-origin:60px 96px;animation:.35s ease-in-out infinite alternate pix-run-leg-right}.pix-companion--running .pix-scan-beam{animation:.8s ease-in-out infinite alternate pix-beam-pulse}.pix-companion--running .pix-motion{animation:.5s ease-in-out infinite alternate pix-motion-fade}.pix-companion--excited .pix-svg{animation:.7s ease-in-out infinite alternate pix-celebrate}@keyframes pix-question-bob{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes pix-run-tilt{0%{transform:rotate(-4deg)translate(0)}to{transform:rotate(-2deg)translate(2px)}}@keyframes pix-run-leg-left{0%{transform:rotate(12deg)}to{transform:rotate(-8deg)}}@keyframes pix-run-leg-right{0%{transform:rotate(-10deg)}to{transform:rotate(14deg)}}@keyframes pix-beam-pulse{0%{opacity:.55}to{opacity:1}}@keyframes pix-motion-fade{0%{opacity:.35}to{opacity:1}}@keyframes pix-spark{0%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.truefalse-card,.cloze-prompt{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);text-align:center;margin:16px 0;padding:20px}.truefalse-term,.cloze-term{margin-bottom:8px;font-size:1.5rem;font-weight:900;display:block}.truefalse-statement,.cloze-sentence{color:var(--text-muted);margin:0;font-size:1.1rem}.truefalse-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.truefalse-btn{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--surface);min-height:48px;padding:18px;font-size:1.1rem;font-weight:800}.truefalse-btn--true.is-correct,.cloze-choice.is-correct{background:#22c55e26;border-color:#22c55e}.truefalse-btn--false.is-wrong,.truefalse-btn--true.is-wrong,.cloze-choice.is-wrong{background:#ef44441f;border-color:#ef4444}.cloze-choices{flex-direction:column;gap:10px;display:flex}.cloze-choice{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--surface);text-align:center;padding:16px;font-size:1rem;font-weight:700}.lesson-embedded-pane.translate-game,.translate-game.game-screen{flex-direction:column;min-height:100%;display:flex}.translate-main{flex-direction:column;flex:1;gap:12px;padding-bottom:8px;display:flex}.translate-badge{letter-spacing:.04em;text-transform:uppercase;color:#a78bfa;background:#a78bfa29;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.68rem;font-weight:800}.translate-prompt{align-items:flex-start;gap:10px;display:flex}.translate-speech{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.translate-bubble{background:var(--surface);border:2px solid var(--border);border-radius:16px;flex:1;min-width:0;padding:12px 14px;position:relative}.translate-bubble:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid var(--border);position:absolute;top:16px;left:-8px}.translate-hear.hear-btn--icon{border:2px solid var(--border);background:var(--surface);width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;flex-shrink:0;margin-top:4px;position:static}.translate-source{margin:0;padding:0;font-size:1.05rem;font-weight:700;line-height:1.45}.translate-focus{color:#a78bfa;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.translate-answer{border-bottom:none;flex-wrap:wrap;gap:8px 10px;min-height:52px;padding:6px 0 10px;display:flex}.translate-slot{border:none;border-bottom:2px solid var(--border);min-width:64px;min-height:40px;box-shadow:none;color:var(--text);background:0 0;border-radius:0;padding:8px 10px;font-size:.95rem;font-weight:800}.translate-slot--filled{border-bottom-color:#0000;border:2px solid var(--border);background:var(--surface);box-shadow:0 3px 0 color-mix(in srgb, var(--border) 80%, #000);border-radius:12px}.translate-bank{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.translate-tile{border:2px solid var(--border);background:var(--surface);min-height:44px;box-shadow:0 3px 0 color-mix(in srgb, var(--border) 80%, #000);border-radius:12px;padding:10px 14px;font-size:.95rem;font-weight:800}.translate-tile--ghost{color:#0000;background:color-mix(in srgb, var(--border) 55%, transparent);box-shadow:none;pointer-events:none}.translate-footer{padding:12px 0 calc(8px + env(safe-area-inset-bottom));margin-top:auto}.translate-footer--almost{background:0 0}.translate-banner-text{color:#fbbf24;margin:0 0 10px;font-size:1.05rem;font-weight:800}.translate-footer--fail .translate-banner-text{color:#f87171}.translate-footer--ok .translate-banner-text{color:#4ade80}.translate-correct{color:var(--text-muted);margin:0 0 12px;font-size:.92rem}.translate-check{width:100%}.profile-screen .profile-section--page{padding:0}.profile-screen .profile-section--page .settings-label{display:none}.profile-guest-card{text-align:center;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:24px}.nav-more-backdrop{z-index:9000;padding-bottom:calc(var(--nav-h,72px) + env(safe-area-inset-bottom));background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.nav-more-sheet{background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:min(100%,420px);padding:12px 8px 8px;box-shadow:0 -8px 32px #00000040}.nav-more-dots{justify-content:center;gap:6px;margin-bottom:8px;display:flex}.nav-more-dot{background:var(--border);border-radius:999px;width:6px;height:6px}.nav-more-dot--active{background:#22c55e}.nav-more-item{width:100%;color:var(--text);border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:14px;padding:14px 16px;font-size:1rem;font-weight:700;display:flex}.nav-more-item.active,.nav-more-item:hover{background:var(--surface)}.nav-more-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.bottom-nav-items--four .bottom-nav-item{flex:1;min-width:0}.bottom-nav-items--four .bottom-nav-label{font-size:.68rem}.bottom-nav-item--more-open .bottom-nav-icon{color:#22c55e}.daily-chest-rarity-label{text-transform:uppercase;letter-spacing:.12em;text-align:center;text-shadow:0 0 18px;background:#0f172a8c;border:1px solid #ffffff1f;border-radius:999px;margin:0;padding:8px 18px;font-size:1.35rem;font-weight:900}.daily-chest-stage--revealed .daily-chest-rarity-label{letter-spacing:.16em;padding:10px 22px;font-size:1.55rem;animation:1.4s ease-in-out infinite daily-chest-rarity-pulse}.daily-chest-rarity-label.chest-rarity--common{color:#fbbf24;box-shadow:0 0 20px #fbbf2440}.daily-chest-rarity-label.chest-rarity--rare{color:#93c5fd;box-shadow:0 0 24px #3b82f673}.daily-chest-rarity-label.chest-rarity--mythic{color:#e9d5ff;box-shadow:0 0 28px #a855f78c}.daily-chest-rarity-label.chest-rarity--legendary{color:#fde047;box-shadow:0 0 32px #facc15b3}@keyframes daily-chest-rarity-pulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.12);transform:scale(1.04)}}.daily-chest-chest-body{background:linear-gradient(#a16207,#78350f);border:3px solid #fcd34d;border-radius:10px 10px 6px 6px;width:88px;height:72px;margin:0 auto;display:block;position:relative}.daily-chest-stage--rarity.chest-rarity--rare .daily-chest-chest-body{border-color:#93c5fd;box-shadow:0 0 20px #2563eb59}.daily-chest-stage--rarity.chest-rarity--mythic .daily-chest-chest-body{border-color:#d8b4fe;box-shadow:0 0 24px #9333ea73}.daily-chest-stage--rarity.chest-rarity--legendary .daily-chest-chest-body{border-color:#fde047;animation:1.2s ease-in-out infinite alternate chest-glow;box-shadow:0 0 28px #eab3088c}@keyframes chest-glow{0%{filter:brightness()}to{filter:brightness(1.15)}}.daily-chest-upgrade-row{justify-content:center;gap:10px;margin-top:16px;display:flex}.daily-chest-upgrade-dot{border:2px solid var(--border);background:var(--surface);border-radius:999px;width:36px;height:36px;position:relative}.daily-chest-upgrade-dot--used{background:#22c55e33;border-color:#22c55e}.daily-chest-upgrade-dot--used:after{content:"↑";color:#22c55e;justify-content:center;align-items:center;font-weight:900;display:flex;position:absolute;inset:0}.scanplay-mascot{transform:rotate(var(--sp-tilt,0deg));transform-origin:50% 90%;will-change:transform;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:visible}.sp-svg{width:100%;height:100%;overflow:visible}.scanplay-mascot--idle .sp-body-group{transform-origin:50% 85%;animation:4.2s ease-in-out infinite sp-idle-breathe}.scanplay-mascot--idle .sp-pupil{animation:9s ease-in-out infinite sp-idle-look}.scanplay-mascot--idle .sp-eye--left,.scanplay-mascot--idle .sp-eye--right{animation:5.5s ease-in-out infinite sp-idle-blink}.scanplay-mascot--idle .sp-arm--left{transform-origin:14px 52px;animation:6s ease-in-out infinite sp-idle-arm-left}.scanplay-mascot--idle .sp-arm--right{transform-origin:86px 52px;animation:7s ease-in-out infinite sp-idle-arm-right}.scanplay-mascot--idle{animation:8s ease-in-out infinite sp-idle-bob}@keyframes sp-idle-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.035)}}@keyframes sp-idle-bob{0%,88%,to{transform:rotate(var(--sp-tilt,0deg)) translateY(0)}92%{transform:rotate(var(--sp-tilt,0deg)) translateY(-3px)}96%{transform:rotate(var(--sp-tilt,0deg)) translateY(0)}}@keyframes sp-idle-blink{0%,46%,48%,to{transform:scaleY(1)}47%{transform:scaleY(.12)}}@keyframes sp-idle-look{0%,to{transform:translate(0)}25%{transform:translate(1.5px)}50%{transform:translate(-1px,.5px)}75%{transform:translate(.5px,-.5px)}}@keyframes sp-idle-arm-left{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@keyframes sp-idle-arm-right{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}.scanplay-mascot--celebrate,.scanplay-mascot--levelup,.scanplay-mascot--celebrating,.scanplay-mascot--jumping{animation:.7s cubic-bezier(.34,1.4,.64,1) sp-celebrate}@keyframes sp-celebrate{0%{transform:rotate(var(--sp-tilt,0deg)) scale(1)}40%{transform:rotate(calc(var(--sp-tilt,0deg) - 6deg)) scale(1.08) translateY(-6px)}to{transform:rotate(var(--sp-tilt,0deg)) scale(1)}}.scanplay-mascot--running{animation:.35s ease-in-out infinite sp-run-bob}@keyframes sp-run-bob{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(-8deg)translateY(-4px)}}.sp-spark{animation:1.8s ease-in-out infinite sp-spark-pulse}.sp-spark--2{animation-delay:.3s}.sp-spark--3{animation-delay:.6s}@keyframes sp-spark-pulse{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.sp-confetti{animation:2s ease-in-out infinite sp-confetti-float}.sp-torch-flame{transform-origin:81px 44px;animation:.8s ease-in-out infinite alternate sp-torch-flicker}@keyframes sp-torch-flicker{0%{opacity:.9;transform:scale(1)}to{opacity:1;transform:scale(1.12,1.08)}}.mascot-coach{align-items:center;gap:var(--space-3);display:flex;overflow:visible}.mascot-coach--card{text-align:center;gap:var(--space-4);flex-direction:column}.mascot-coach--bubble-above{flex-direction:column;flex-shrink:0;align-items:center;gap:4px}.mascot-coach-bubble--above{text-align:center;max-width:168px;margin-bottom:2px;position:relative}.mascot-coach-bubble--above:after{content:"";border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid var(--bg-card);filter:drop-shadow(0 1px 0 color-mix(in srgb, var(--surface-border) 80%, transparent));position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.dash-streak-coach{flex-shrink:0;overflow:visible}.dash-streak-coach .scanplay-mascot,.dash-streak-coach .sp-mascot-asset-img{background:0 0!important}.mascot-coach-bubble{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--surface-border);max-width:240px;padding:10px 14px;position:relative;box-shadow:0 4px 16px #0000001f}.mascot-coach-message{color:var(--text);margin:0;font-size:.88rem;font-weight:700;line-height:1.35}.mascot-corner{right:max(12px, env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));z-index:120;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;animation:.35s cubic-bezier(.34,1.2,.64,1) sp-corner-in;display:flex;position:fixed}@keyframes sp-corner-in{0%{opacity:0;transform:translateY(12px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.mascot-corner-bubble{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--surface-border));max-width:180px;padding:8px 12px;box-shadow:0 6px 20px #0000002e}.mascot-corner-bubble p{color:var(--accent);margin:0;font-size:.78rem;font-weight:800;line-height:1.3}.mascot-first-launch{z-index:600;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mascot-first-launch-card{width:min(340px,100%);padding:var(--space-6) var(--space-4);border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--surface-border);text-align:center}.mascot-first-launch-sub{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:.85rem;font-weight:600}.home-mascot-welcome{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--bg-card)) 0%, var(--bg-card) 70%);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--surface-border));display:flex;overflow:visible}.home-mascot-welcome .mascot-coach-bubble{flex:1;max-width:none}.scanplay-mascot--asset{background:0 0;overflow:visible}.sp-mascot-asset-img{object-fit:contain;object-position:center bottom;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;width:100%;height:100%;transition:opacity .18s ease-out;display:block;background:0 0!important}.sp-mascot-asset-img.is-loaded{opacity:1}@media (prefers-reduced-motion:reduce){.sp-mascot-asset-img{transition:none}}.scanning-track-mascot{background:0 0;width:54px;height:60px;overflow:visible}.scanning-track-mascot .scanplay-mascot{background:0 0!important;width:54px!important;height:60px!important}.scanning-track-mascot .sp-mascot-asset-img{background:0 0!important}@media (prefers-reduced-motion:reduce){.scanplay-mascot--idle .sp-body-group,.scanplay-mascot--idle .sp-pupil,.scanplay-mascot--idle .sp-eye--left,.scanplay-mascot--idle .sp-eye--right,.scanplay-mascot--idle .sp-arm--left,.scanplay-mascot--idle .sp-arm--right,.scanplay-mascot--idle,.scanplay-mascot--running,.sp-spark,.sp-confetti,.sp-torch-flame{animation:none!important}}html[data-landing=true],html[data-landing=true] body,html[data-landing=true] #root{overscroll-behavior:auto;background:#07110d;height:auto;min-height:100%;max-height:none;overflow:visible}html[data-landing=true]{scroll-behavior:smooth}html[data-landing=true] body{-webkit-user-select:text;user-select:text}html[data-landing=true] .app-shell,html[data-landing=true] .app-shell.app-shell--guest{width:100%;max-width:none;height:auto;min-height:100dvh;max-height:none;box-shadow:none;grid-template-columns:none;margin:0;display:block;overflow:visible}html[data-landing=true] .app-main,html[data-landing=true] .app-shell.app-shell--guest .app-main{flex:none;height:auto;min-height:0;max-height:none;display:block;overflow:visible}html[data-landing=true] .screen.sp-landing{flex:none;height:auto;min-height:100dvh;max-height:none;padding:0;animation:none;display:block;overflow:visible}.sp-landing{--lp-bg:#07110d;--lp-bg-alt:#0a1a12;--lp-surface:#ffffff0b;--lp-surface-hi:#ffffff13;--lp-border:#ffffff1a;--lp-border-hi:#fff3;--lp-text:#f6faf8;--lp-muted:#e2f0e9bd;--lp-dim:#e2f0e999;--lp-green:#22c55e;--lp-green-deep:#16a34a;--lp-green-soft:#22c55e24;--lp-gutter:clamp(18px, 5vw, 40px);--lp-max:1120px;--lp-section-y:clamp(56px, 9vw, 104px);--lp-header-h:60px;isolation:isolate;background:radial-gradient(90% 55% at 78% -5%, #22c55e29 0%, transparent 60%), linear-gradient(180deg, #08130e 0%, var(--lp-bg) 40%, #060f0b 100%);color:var(--lp-text);text-align:left;-webkit-user-select:text;user-select:text;position:relative}.sp-landing *,.sp-landing :before,.sp-landing :after{box-sizing:border-box}.lp-container{width:100%;max-width:var(--lp-max);padding-inline:var(--lp-gutter);margin-inline:auto}.sp-landing :focus-visible{outline-offset:3px;border-radius:8px;outline:3px solid #7bf1a8}.lp-skip{z-index:60;color:#052e16;background:#fff;border-radius:999px;padding:10px 18px;font-weight:700;text-decoration:none;position:absolute;top:8px;left:50%;transform:translate(-50%,-160%)}.lp-skip:focus-visible{transform:translate(-50%)}.lp-btn{min-height:48px;font:inherit;text-align:center;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-size:1rem;font-weight:700;line-height:1.2;transition:transform .12s cubic-bezier(.22,1,.36,1),box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.lp-btn--primary{background:linear-gradient(180deg, #2ee06b 0%, var(--lp-green-deep) 100%);color:#052e16;box-shadow:0 10px 24px #0006,inset 0 1px #ffffff47}.lp-btn--ghost{border-color:var(--lp-border-hi);color:var(--lp-text);background:#ffffff12}.lp-btn--sm{min-height:42px;padding:9px 18px;font-size:.94rem}.lp-btn--lg{min-height:56px;padding:15px 30px;font-size:1.06rem}.lp-btn--block{width:100%}@media (hover:hover){.lp-btn--primary:hover{box-shadow:0 12px 30px #00000073,0 0 0 4px #22c55e38,inset 0 1px #ffffff47}.lp-btn--ghost:hover{background:#ffffff21;border-color:#ffffff59}}.lp-btn:active{transform:scale(.975)}.lp-cta-note{color:var(--lp-muted);text-align:center;text-wrap:balance;margin:12px 0 0;font-size:.88rem;font-weight:500;line-height:1.45}.lp-cta-note svg{vertical-align:-2px;color:var(--lp-green);margin-right:6px;display:inline-block}.lp-inline-link{appearance:none;color:var(--lp-green);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.lp-header{z-index:40;padding-top:env(safe-area-inset-top,0px);-webkit-backdrop-filter:blur(14px)saturate(1.3);border-bottom:1px solid var(--lp-border);background:#07110dd1;position:sticky;top:0}.lp-header-inner{min-height:var(--lp-header-h);justify-content:space-between;align-items:center;gap:12px;display:flex}.lp-header-brand .wordmark{align-items:center;gap:8px;display:flex}.lp-header-brand .scanplay-logo{object-fit:contain;border-radius:9px;width:34px!important;height:34px!important}.lp-header-brand .wordmark-text{color:#fff;font-size:1.15rem}.lp-nav{align-items:center;gap:clamp(14px,2vw,28px);display:flex}.lp-nav a{color:var(--lp-muted);padding:8px 2px;font-size:.95rem;font-weight:550;text-decoration:none;transition:color .18s}.lp-nav a:hover{color:var(--lp-text)}.lp-header-actions{align-items:center;gap:10px;display:flex}.lp-main{display:block}.lp-section{padding-block:var(--lp-section-y);scroll-margin-top:calc(var(--lp-header-h) + 16px)}.lp-section-head{max-width:40rem;margin-bottom:clamp(28px,4.5vw,48px)}.lp-section-head h2,.lp-final h2,.lp-problem h2,.lp-game h2{letter-spacing:-.025em;color:var(--lp-text);text-wrap:balance;margin:0;font-size:clamp(1.6rem,5.4vw,2.25rem);font-weight:800;line-height:1.16}.lp-section-head p,.lp-section-sub{color:var(--lp-muted);margin:12px 0 0;font-size:clamp(1rem,2.4vw,1.1rem);line-height:1.55}.lp-kicker{letter-spacing:.09em;text-transform:uppercase;color:var(--lp-dim);margin:0 0 10px;font-size:.78rem;font-weight:750}.lp-kicker--accent{color:var(--lp-green)}.lp-section>.lp-container{opacity:0;transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}.lp-section.is-in>.lp-container{opacity:1;transform:none}.lp-hero{padding-top:clamp(28px,6vw,60px);padding-bottom:clamp(40px,7vw,76px)}.lp-hero-inner{flex-direction:column;gap:clamp(34px,7vw,56px);display:flex}.lp-eyebrow{background:var(--lp-green-soft);color:#a7f3c4;border:1px solid #22c55e52;border-radius:999px;align-items:center;gap:8px;margin:0 0 16px;padding:7px 14px 7px 11px;font-size:.83rem;font-weight:650;display:inline-flex}.lp-eyebrow svg{color:var(--lp-green);width:16px;height:16px}.lp-hero-title{letter-spacing:-.035em;color:#fff;text-wrap:balance;margin:0;font-size:clamp(2rem,8.4vw,3.4rem);font-weight:850;line-height:1.08}.lp-hero-sub{max-width:34rem;color:var(--lp-muted);margin:16px 0 0;font-size:clamp(1.02rem,2.9vw,1.18rem);line-height:1.55}.lp-hero-actions{margin-top:clamp(24px,4vw,32px)}.lp-hero-chips{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.lp-hero-chips li{border:1px solid var(--lp-border);background:var(--lp-surface);color:var(--lp-muted);border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:550}.lp-hero-visual{position:relative}.lp-transform{--lp-phone-w:min(216px, 58vw);--lp-sheet-overlap:34px;justify-content:center;align-items:center;min-height:340px;display:flex;position:relative}.lp-transform-arrow{display:none}.lp-transform-phone{z-index:2;margin-left:auto;margin-right:clamp(0px,3vw,24px);position:relative}.lp-phone-label,.lp-sheet-label{z-index:4;border:1px solid var(--lp-border-hi);color:var(--lp-text);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;background:#07110de6;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:700;position:absolute}.lp-phone-label{top:-12px;right:8px}.lp-sheet-label{top:-14px;left:4px}.lp-sheet{left:0;right:calc(var(--lp-phone-w) - var(--lp-sheet-overlap));z-index:1;width:auto;max-width:190px;margin:0;position:absolute;bottom:6%;transform:rotate(-7deg)}.lp-sheet-paper{color:#1f2937;background:#f8f5ea;border-radius:4px;padding:14px 13px 18px;font-family:Segoe Script,Comic Sans MS,cursive;font-size:.74rem;line-height:1.6;position:relative;overflow:hidden;box-shadow:0 16px 34px #00000073}.lp-sheet-title{margin:0 0 6px;font-size:.8rem;font-weight:700}.lp-sheet-rows{margin:0;padding:0;list-style:none}.lp-sheet-rows mark{color:inherit;background:#fde047;border-radius:2px;padding:0 2px}.lp-sheet-scanline{background:linear-gradient(#22c55e00 0%,#22c55e6b 100%);border-bottom:2px solid #22c55e;height:34%;animation:3.6s cubic-bezier(.5,0,.5,1) infinite lp-scan;position:absolute;top:0;left:0;right:0}@keyframes lp-scan{0%,to{opacity:0;transform:translateY(-100%)}15%{opacity:1}70%{opacity:1;transform:translateY(290%)}85%{opacity:0;transform:translateY(290%)}}.lp-phone{width:var(--lp-phone-w,min(216px, 58vw));aspect-ratio:9/19.2;position:relative}.lp-phone-frame{background:#f6f8fa;border:9px solid #dfe5ea;border-radius:34px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 50px #00000080,0 0 0 1px #ffffff14}.lp-phone-island{z-index:3;background:#0b1220;border-radius:12px;width:62px;height:16px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.lp-phone-screen{color:#0f172a;background:#f6f8fa;flex-direction:column;flex:1;gap:9px;min-height:0;padding:32px 12px 14px;display:flex}.lp-mock-hud{align-items:center;gap:8px;display:flex}.lp-mock-progress{background:#dbe4ea;border-radius:999px;flex:1;height:8px;overflow:hidden}.lp-mock-progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;width:62%;height:100%;display:block}.lp-mock-streak{color:#ea580c;align-items:center;gap:3px;font-size:.72rem;font-weight:800;display:inline-flex}.lp-mock-streak svg{width:13px;height:13px}.lp-mock-prompt{color:#64748b;letter-spacing:.05em;text-transform:uppercase;margin:4px 0 0;font-size:.62rem;font-weight:650}.lp-mock-word{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:1.32rem;font-weight:800}.lp-mock-options{gap:6px;margin:2px 0 0;padding:0;list-style:none;display:grid}.lp-mock-option{color:#334155;background:#fff;border:1.5px solid #dbe4ea;border-bottom-width:3px;border-radius:12px;justify-content:space-between;align-items:center;padding:9px 11px;font-size:.78rem;font-weight:650;display:flex}.lp-mock-option.is-correct{color:#14532d;background:#dcfce7;border-color:#22c55e}.lp-mock-option.is-correct svg{color:#16a34a;width:15px;height:15px}.lp-mock-xp{color:#15803d;background:#dcfce7;border-radius:999px;align-self:flex-start;margin:auto 0 0;padding:5px 11px;font-size:.72rem;font-weight:800}.lp-phone-screen--path{gap:12px;padding-inline:10px}.lp-path-banner{color:#052e16;background:linear-gradient(#22c55e,#16a34a);border-radius:13px;align-items:center;gap:9px;padding:9px 10px;display:flex;box-shadow:0 3px #15803d}.lp-path-banner-thumb{background:#ffffffd9;border-radius:7px;flex:none;width:26px;height:26px}.lp-path-banner-text{flex-direction:column;min-width:0;display:flex}.lp-path-banner-tag{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:800;line-height:1.2;overflow:hidden}.lp-path-banner-title{opacity:.85;font-size:.6rem;font-weight:600}.lp-path-nodes{flex-direction:column;flex:1;justify-content:space-evenly;align-items:center;margin:0;padding:4px 0 0;list-style:none;display:flex;position:relative}.lp-path-nodes:before{content:"";border-left:3px dashed #cbd5e1;width:0;position:absolute;top:8%;bottom:8%;left:50%;transform:translate(-50%)}.lp-path-node{z-index:1;position:relative}.lp-path-node:nth-child(odd){transform:translate(-30%)}.lp-path-node:nth-child(2n){transform:translate(30%)}.lp-path-node-dot{color:#fff;background:linear-gradient(#22c55e,#16a34a);border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:relative;box-shadow:0 3px #15803d}.lp-path-node--locked .lp-path-node-dot{color:#94a3b8;background:#dbe4ea;box-shadow:0 3px #c3cdd6}.lp-path-node--active .lp-path-node-dot{animation:2.2s ease-in-out infinite lp-pulse;box-shadow:0 3px #15803d,0 0 0 3px #22c55e59}@keyframes lp-pulse{50%{box-shadow:0 3px #15803d,0 0 0 8px #22c55e1f}}.lp-path-node-star{color:#78350f;background:#fbbf24;border-radius:50%;place-items:center;width:17px;height:17px;font-size:.6rem;line-height:1;display:grid;position:absolute;top:-5px;right:-4px}.lp-steps{counter-reset:none;gap:14px;margin:0;padding:0;list-style:none;display:grid}.lp-step{border:1px solid var(--lp-border);background:var(--lp-surface);border-radius:20px;padding:22px 20px;position:relative}.lp-step-num{letter-spacing:.08em;color:var(--lp-green);margin-bottom:12px;font-size:.9rem;font-weight:800;display:inline-block}.lp-step h3,.lp-product-list h3,.lp-benefits h3,.lp-game-list h3{letter-spacing:-.015em;color:var(--lp-text);margin:0;font-size:1.1rem;font-weight:750}.lp-step p,.lp-product-list p,.lp-benefits p,.lp-game-list p{color:var(--lp-muted);margin:8px 0 0;font-size:.96rem;line-height:1.55}.lp-section-cta{text-align:center;margin-top:clamp(28px,4.5vw,44px)}.lp-section-cta .lp-btn{width:100%}.lp-section--product{background:linear-gradient(#0000,#22c55e0d,#0000)}.lp-product-grid{flex-direction:column;gap:clamp(32px,6vw,56px);display:flex}.lp-product-visual{justify-content:center;display:flex}.lp-product-list{gap:22px;margin:0;padding:0;list-style:none;display:grid}.lp-product-list>li{border-left:2px solid #22c55e66;padding-left:18px}.lp-tags{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.lp-tags li{border:1px solid var(--lp-border);background:var(--lp-surface-hi);color:var(--lp-muted);border-radius:999px;padding:5px 11px;font-size:.79rem;font-weight:600}.lp-problem{gap:16px;display:grid}.lp-problem-side{border:1px solid var(--lp-border);background:var(--lp-surface);border-radius:22px;padding:clamp(22px,4vw,34px)}.lp-problem-side--solution{background:linear-gradient(#22c55e1a,#22c55e08);border-color:#22c55e4d}.lp-problem-side h3{letter-spacing:-.02em;color:var(--lp-text);margin:0;font-size:clamp(1.25rem,4vw,1.6rem);font-weight:800;line-height:1.2}.lp-problem-body{color:var(--lp-muted);margin:14px 0 0;font-size:1rem;line-height:1.62}.lp-benefits{gap:14px;margin:clamp(24px,4vw,40px) 0 0;padding:0;list-style:none;display:grid}.lp-benefits>li{border:1px solid var(--lp-border);background:var(--lp-surface);border-radius:18px;padding:20px}.lp-game{flex-direction:column;gap:clamp(28px,5vw,48px);display:flex}.lp-game-list{gap:20px;margin:clamp(24px,4vw,34px) 0 0;padding:0;list-style:none;display:grid}.lp-game-list>li{align-items:flex-start;gap:14px;display:flex}.lp-game-icon{background:var(--lp-green-soft);width:44px;height:44px;color:var(--lp-green);border:1px solid #22c55e47;border-radius:13px;flex:none;place-items:center;display:grid}.lp-game-visual{justify-content:center;display:flex}.lp-progress-card{border:1px solid var(--lp-border);background:linear-gradient(#ffffff17,#ffffff08);border-radius:22px;gap:18px;width:min(340px,100%);padding:22px;display:grid;box-shadow:0 18px 40px #00000059}.lp-progress-row{align-items:center;gap:14px;display:flex}.lp-progress-flame{color:#fb923c;background:#ea580c29;border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.lp-progress-flame svg{width:24px;height:24px}.lp-progress-text{align-items:baseline;gap:7px;display:flex}.lp-progress-text strong{font-size:1.6rem;font-weight:850;line-height:1}.lp-progress-text span{color:var(--lp-muted);font-size:.9rem}.lp-progress-level{gap:8px;display:grid}.lp-progress-level-head{color:var(--lp-muted);justify-content:space-between;align-items:center;font-size:.85rem;font-weight:650;display:flex}.lp-progress-bar{background:#ffffff1a;border-radius:999px;height:10px;display:block;overflow:hidden}.lp-progress-bar-fill{background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:999px;width:68%;height:100%;display:block}.lp-proof-grid{gap:16px;margin:0;padding:0;list-style:none;display:grid}.lp-proof-card{border:1px solid var(--lp-border);background:var(--lp-surface);border-radius:20px;padding:24px}.lp-proof-card blockquote{color:var(--lp-text);margin:0;font-size:1rem;line-height:1.6}.lp-proof-author{color:var(--lp-dim);flex-direction:column;gap:2px;margin:16px 0 0;font-size:.88rem;display:flex}.lp-faq{gap:10px;max-width:46rem;display:grid}.lp-faq-item{border:1px solid var(--lp-border);background:var(--lp-surface);border-radius:16px;overflow:hidden}.lp-faq-item summary{min-height:56px;color:var(--lp-text);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;font-size:1rem;font-weight:650;line-height:1.4;list-style:none;display:flex}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-chevron{background:var(--lp-surface-hi);width:26px;height:26px;color:var(--lp-muted);border-radius:50%;flex:none;place-items:center;transition:transform .2s;display:grid}.lp-faq-item[open] .lp-faq-chevron{transform:rotate(180deg)}@media (hover:hover){.lp-faq-item:hover{border-color:var(--lp-border-hi)}}.lp-faq-answer{color:var(--lp-muted);padding:0 20px 20px;font-size:.97rem;line-height:1.62}.lp-faq-answer p{margin:0}.lp-faq-answer .lp-inline-link{margin-top:10px;display:inline-block}.lp-section--final{padding-bottom:clamp(64px,10vw,120px)}.lp-final{text-align:center;background:radial-gradient(80% 120% at 50% 0,#22c55e2e 0%,#0000 70%),linear-gradient(#ffffff0f,#ffffff05);border:1px solid #22c55e4d;border-radius:28px;padding:clamp(32px,6vw,60px) clamp(22px,5vw,56px)}.lp-final h2{max-width:22ch;margin-inline:auto}.lp-final>p{max-width:44ch;color:var(--lp-muted);margin:14px auto 0;font-size:1.02rem;line-height:1.55}.lp-final .lp-btn{width:100%;margin-top:clamp(24px,4vw,32px)}.lp-final-login{color:var(--lp-dim);margin:22px 0 0;font-size:.92rem}.lp-footer{border-top:1px solid var(--lp-border);padding-top:clamp(36px,6vw,56px);padding-bottom:calc(clamp(24px, 4vw, 40px) + env(safe-area-inset-bottom,0px));background:#00000047}.lp-footer-inner{flex-direction:column;gap:32px;display:flex}.lp-footer-brand .wordmark{align-items:center;gap:8px;display:flex}.lp-footer-brand .scanplay-logo{border-radius:8px;width:32px!important;height:32px!important}.lp-footer-brand .wordmark-text{color:#fff}.lp-footer-brand p{max-width:30ch;color:var(--lp-dim);margin:12px 0 0;font-size:.92rem;line-height:1.55}.lp-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.lp-footer-nav>div{flex-direction:column;gap:4px;display:flex}.lp-footer-nav-title{letter-spacing:.09em;text-transform:uppercase;color:var(--lp-dim);margin:0 0 6px;font-size:.78rem;font-weight:750}.lp-footer-nav a{min-height:36px;color:var(--lp-muted);word-break:break-word;align-items:center;font-size:.93rem;text-decoration:none;display:inline-flex}.lp-footer-nav a:hover{color:var(--lp-green)}.lp-footer-legal{max-width:var(--lp-max);padding-inline:var(--lp-gutter);color:var(--lp-dim);margin:clamp(28px,4vw,40px) auto 0;font-size:.84rem}.lp-sticky{z-index:45;padding:12px var(--lp-gutter) calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--lp-border);opacity:0;visibility:hidden;background:#07110deb;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s,visibility .28s;position:fixed;bottom:0;left:0;right:0;transform:translateY(120%)}.lp-sticky.is-visible{opacity:1;visibility:visible;transform:none}.lp-sticky-note{color:var(--lp-dim);text-align:center;margin:7px 0 0;font-size:.76rem}.sp-landing:has(.lp-sticky) .lp-footer{padding-bottom:calc(clamp(24px, 4vw, 40px) + 96px + env(safe-area-inset-bottom,0px))}@media (width<=360px){.lp-header-actions .lp-btn{padding-inline:14px;font-size:.9rem}.lp-header-brand .wordmark-text{font-size:1.05rem}.lp-header-brand .scanplay-logo{width:30px!important;height:30px!important}}@media (width>=640px){.lp-steps,.lp-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-problem{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lp-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-section-cta .lp-btn,.lp-final .lp-btn{width:auto;min-width:300px}.lp-hero-actions .lp-btn--block{width:auto;min-width:320px}.lp-cta-note{text-align:left}.lp-section-cta .lp-cta-note,.lp-final .lp-cta-note{text-align:center}.lp-footer-inner{flex-direction:row;justify-content:space-between;gap:48px}.lp-footer-nav{grid-template-columns:repeat(2,minmax(140px,auto));gap:56px}}@media (width>=720px){.lp-transform{grid-template-columns:minmax(0,.85fr) auto minmax(0,1fr);align-items:center;gap:clamp(8px,2vw,20px);min-height:0;display:grid}.lp-sheet{justify-self:center;width:100%;max-width:230px;position:relative;bottom:auto;left:auto;right:auto;transform:rotate(-4deg)}.lp-transform-arrow{color:var(--lp-green);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;align-items:center;gap:4px;font-size:.72rem;font-weight:750;display:flex}.lp-transform-phone{justify-self:center;margin:0}.lp-phone-label{left:50%;right:auto;transform:translate(-50%)}.lp-sheet-label{left:50%;transform:translate(-50%)}}@media (width>=980px){.lp-hero{padding-top:clamp(48px,5vw,80px)}.lp-hero-inner{flex-direction:row;align-items:center;gap:clamp(32px,5vw,72px)}.lp-hero-copy,.lp-hero-visual{flex:50%;min-width:0}.lp-hero-title{font-size:clamp(2.7rem,3.9vw,3.6rem)}.lp-phone{width:min(258px,24vw)}.lp-product-grid{flex-direction:row;align-items:center;gap:clamp(48px,6vw,88px)}.lp-product-visual{flex:0 0 34%}.lp-product-list{flex:auto}.lp-game{flex-direction:row;align-items:center;gap:clamp(48px,6vw,80px)}.lp-game-copy{flex:58%}.lp-game-visual{flex:42%}.lp-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html[data-landing=true]{scroll-behavior:auto}.sp-landing *,.sp-landing :before,.sp-landing :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.lp-section>.lp-container{opacity:1;transform:none}.lp-sheet-scanline{display:none}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.4"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
