:root{--blue-deep:#0a1a78;--blue:#1734cf;--blue-bright:#3f6bff;--blue-soft:#e7edff;--satin-blue:url(/satin/satin-blue.jpg);--satin-blue-lite:url(/satin/satin-blue-lite.jpg);--satin-green:url(/satin/satin-green.jpg);--satin-green-lite:url(/satin/satin-green-lite.jpg);--satin-red:url(/satin/satin-red.jpg);--satin-red-lite:url(/satin/satin-red-lite.jpg);--satin-amber:url(/satin/satin-amber.jpg);--satin-amber-lite:url(/satin/satin-amber-lite.jpg);--satin-grape:url(/satin/satin-grape.jpg);--satin-grape-lite:url(/satin/satin-grape-lite.jpg);--satin-sky:url(/satin/satin-sky.jpg);--satin-silver:url(/satin/satin-silver.jpg);--satin-bronze:url(/satin/satin-bronze.jpg);--satin-wood:url(/satin/satin-wood.jpg);--edge-blue:#3552c9;--edge-green:#2f9a63;--edge-red:#d4796a;--edge-amber:#e8a636;--edge-grape:#8f6ad6;--ink-on-blue:#0a1a78;--ink-on-green:#084a27;--ink-on-red:#7d150c;--ink-on-amber:#4a3000;--ink-on-grape:#4c1d95;--green:var(--blue);--green-deep:var(--blue-deep);--green-bright:var(--blue-bright);--green-soft:var(--blue-soft);--grad-green:linear-gradient(160deg,#3f6bff,#1734cf 52%,#0a1a78);--shadow-pop:0 16px 34px -14px rgba(10,26,120,0.34);--ok:#17b45e;--ok-deep:#0c8a45;--ok-bright:#3edc86;--ok-soft:#e3f8eb}html[data-theme=dark]{--green:var(--blue-bright);--green-deep:#8fadff;--green-bright:var(--blue-bright);--green-soft:#16204a;--ok:#23c06b;--ok-deep:#3bd685;--ok-bright:#3edc86;--ok-soft:#143422}.btn-danger,.btn-primary,.hero-cta,.satin{border:3px solid transparent;border-radius:999px;font-weight:900;color:#fff;background-image:var(--satin-blue),var(--satin-blue-lite);background-clip:padding-box,border-box;background-origin:padding-box,border-box;background-position:38% 42%,30% 40%;background-size:cover,cover;background-repeat:no-repeat,no-repeat;box-shadow:0 5px 0 var(--edge-blue),0 14px 30px -14px rgba(10,24,102,.45);text-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .1s ease,box-shadow .1s ease}.btn-danger:active,.btn-primary:active,.hero-cta:active,.satin:active{transform:translateY(3px);box-shadow:0 2px 0 var(--edge-blue)}.btn-danger:disabled,.btn-primary:disabled,.plot-btn.harvest:disabled,.satin:disabled{filter:none;opacity:.5;cursor:default}.btn-primary:disabled,.satin:disabled{box-shadow:0 5px 0 var(--edge-blue)}.btn-danger:disabled,.satin-red:disabled{box-shadow:0 5px 0 var(--edge-red)}.satin-green:disabled{box-shadow:0 5px 0 var(--edge-green)}.satin-grape:disabled{box-shadow:0 5px 0 var(--edge-grape)}.plot-btn.harvest:disabled,.satin-amber:disabled{box-shadow:0 5px 0 var(--edge-amber)}.btn-danger:focus-visible,.btn-primary:focus-visible,.satin:focus-visible{outline:none;box-shadow:0 5px 0 var(--edge-blue),0 0 0 3px #fff,0 0 0 6px var(--blue-bright)}.btn-danger:after,.btn-primary:after,.hero-cta:after,.plot-btn.harvest:after,.satin:after{content:"";position:absolute;inset:0 0 auto;height:46%;border-radius:inherit;background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}.satin{position:relative;isolation:isolate;padding:14px 25px}.btn-ok,.satin-green{background-image:var(--satin-green),var(--satin-green-lite);box-shadow:0 5px 0 var(--edge-green),0 14px 30px -14px rgba(8,74,39,.45)}.btn-ok:active,.satin-green:active{box-shadow:0 2px 0 var(--edge-green)}.btn-danger,.satin-red{background-image:var(--satin-red),var(--satin-red-lite);box-shadow:0 5px 0 var(--edge-red),0 14px 30px -14px rgba(125,21,12,.4)}.btn-danger:active,.satin-red:active{box-shadow:0 2px 0 var(--edge-red)}.satin-grape{background-image:var(--satin-grape),var(--satin-grape-lite);box-shadow:0 5px 0 var(--edge-grape),0 14px 30px -14px rgba(76,29,149,.4)}.satin-grape:active{box-shadow:0 2px 0 var(--edge-grape)}.plot-btn.harvest,.satin-amber{background-image:var(--satin-amber),var(--satin-amber-lite);color:var(--ink-on-amber);text-shadow:none;box-shadow:0 5px 0 var(--edge-amber),0 12px 26px -14px rgba(74,48,0,.4)}.plot-btn.harvest:active,.satin-amber:active{box-shadow:0 2px 0 var(--edge-amber)}.plot-btn.harvest{border:3px solid transparent;background-clip:padding-box,border-box;background-origin:padding-box,border-box;background-position:38% 42%,30% 40%;background-size:cover,cover;background-repeat:no-repeat,no-repeat}.path-row.active .node-face{background:var(--satin-blue) 40% 40% /cover no-repeat;box-shadow:0 6px 0 var(--blue-deep),0 9px 12px -6px rgba(0,0,0,.3)}.path-row.done .node-face,.path-row.exam.done .node-face{background:var(--satin-green) 40% 40% /cover no-repeat;box-shadow:0 6px 0 #0a5c30,0 9px 12px -6px rgba(0,0,0,.3)}.path-row.exam.active .node-face{background:var(--satin-grape) 40% 40% /cover no-repeat;box-shadow:0 6px 0 #6428b4,0 9px 12px -6px rgba(0,0,0,.3)}.option.correct{border-color:var(--ok);color:var(--ok-deep);box-shadow:0 4px 0 var(--ok),0 14px 24px -12px rgba(23,180,94,.55)}.option.correct .opt-letter{background:var(--satin-green) 40% 40% /cover no-repeat;border-color:#12a052;color:#fff}.option.wrong .opt-letter{background:var(--satin-red) 40% 40% /cover no-repeat;border-color:#e23b2e;color:#fff}.option.selected{border-color:var(--blue)}.option.selected .opt-letter{background:var(--blue-soft);border-color:var(--blue);color:var(--ink-on-blue)}.corrections .fix,.feedback.ok .fb-title{color:var(--ok-deep)}.lesson-row.done{border-color:var(--ok);background:linear-gradient(180deg,var(--ok-soft),var(--surface) 70%)}.cl-items li:before{background:var(--ok-bright)}.uc-check{color:var(--ok)}.dbubble.ok{border-color:var(--ok)}html:before{background:radial-gradient(900px 340px at 50% -12%,rgba(63,107,255,.16),transparent 70%),radial-gradient(1000px 420px at 50% 116%,rgba(255,200,90,.1),transparent 70%)}html[data-theme=dark]:before{background:radial-gradient(900px 340px at 50% -12%,rgba(63,107,255,.12),transparent 70%),radial-gradient(1000px 420px at 50% 116%,rgba(255,176,32,.06),transparent 70%)}.unit-banner{background:var(--satin-blue) 38% 42% /cover no-repeat;box-shadow:0 10px 26px -12px rgba(10,26,120,.5)}.unit-banner.lv-a2,.unit-banner.lv-b1{background:var(--satin-grape) 38% 42% /cover no-repeat;box-shadow:0 10px 26px -12px rgba(76,29,149,.5)}.unit-banner.complete{background:var(--satin-amber) 38% 42% /cover no-repeat;color:var(--ink-on-amber);box-shadow:0 10px 26px -12px rgba(120,78,0,.45)}.bar-fill,.quest-fill{background:var(--satin-amber) center /cover no-repeat}.quest.done .quest-fill{background:var(--satin-green) center /cover no-repeat}.tabbar button.on{background:var(--satin-blue) 38% 42% /cover no-repeat;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.15);box-shadow:0 5px 14px -6px rgba(10,26,120,.6),inset 0 1px 0 rgba(255,255,255,.35)}.chip.on,.lang-picker .lang.on,.lang.on,.onb-goal.on,.pg-plan.current,.plan-card.current{border-color:var(--blue);background:var(--blue-soft);color:var(--ink-on-blue)}:focus-visible{outline-color:var(--blue-bright)}.league{background-size:cover;background-position:38% 42%;background-repeat:no-repeat;color:#fff;box-shadow:0 1px 3px rgba(43,34,16,.12),inset 0 1px 0 rgba(255,255,255,.35)}.lg-emerald{background-image:var(--satin-green)}.lg-diamond{background-image:var(--satin-sky)}.lg-gold{background-image:var(--satin-amber);color:var(--ink-on-amber)}.lg-silver{background-image:var(--satin-silver);color:#2a3340}.lg-bronze{background-image:var(--satin-bronze)}.lg-wooden{background-image:var(--satin-wood)}.lg-sprout{background-image:var(--satin-green)}.lm-bar-fill{background:var(--satin-silver) center /cover no-repeat}::selection{background:var(--blue-bright);color:#fff}html[data-theme=dark] ::selection{background:var(--blue-bright);color:#fff}body:before{background:radial-gradient(circle,rgba(63,107,255,.14),transparent 70%)}html[data-theme=dark] body:before{background:radial-gradient(circle,rgba(63,107,255,.1),transparent 70%)}.gate{background:radial-gradient(120% 90% at 50% -10%,rgba(63,107,255,.16),transparent 70%),var(--bg)}:focus-visible{outline:3px solid rgba(63,107,255,.55)}html[data-theme=dark] :focus-visible{outline-color:rgba(63,107,255,.75)}.brand .logo{box-shadow:0 2px 6px rgba(10,26,120,.28),inset 0 0 0 1px rgba(255,255,255,.22)}.composer input:focus,.field:focus,.type-input:focus{box-shadow:0 0 0 4px rgba(63,107,255,.16)}.option:hover:not(:disabled){box-shadow:0 5px 0 var(--blue-bright),0 12px 20px -12px rgba(23,52,207,.5)}.pg-plan.current,.plan-card.current{box-shadow:0 0 0 3px rgba(63,107,255,.18),var(--shadow-sm)}.rail .step.active .dot{box-shadow:0 0 0 4px rgba(63,107,255,.2)}.fab-top{box-shadow:0 3px 0 var(--blue-deep),var(--shadow)}.fab-top:active{box-shadow:0 1px 0 var(--blue-deep)}.pick-node-face{box-shadow:0 3px 0 var(--blue-deep)}.week-bar{background:linear-gradient(180deg,#9fb8ff,#6d90fb);box-shadow:inset 0 -2px 0 rgba(10,26,120,.2)}html[data-theme=dark] .week-bar{background:linear-gradient(180deg,#2b3a80,#1e2a63)}.fh-card{background:var(--satin-blue) 38% 42% /cover no-repeat;box-shadow:0 18px 38px -18px rgba(10,26,120,.6)}.fh-card .me-chip{color:var(--ink-on-blue)}.fh-league{background:rgba(5,15,71,.32)}.fh-league:hover{background:rgba(5,15,71,.45)}.cs-ava{background:linear-gradient(135deg,#6d90fb,#1734cf)}.lm-card{background:radial-gradient(130% 100% at 50% 0,#1b3391,#0a1240)}.lm-reward-ava{background:linear-gradient(135deg,#4f7bff,#1734cf)}.lm-cta{background:var(--satin-blue) 38% 42% /cover no-repeat;box-shadow:0 5px 0 var(--edge-blue)}.lm-cta:active{box-shadow:0 2px 0 var(--edge-blue)}.adm{--c-accent:#6d90fb;--c-accent-dim:rgba(109,144,251,0.16);background:radial-gradient(1100px 500px at 80% -10%,rgba(109,144,251,.1),transparent 70%),var(--bg)}.adm-btn.primary,.adm-seg-btn.on{color:#050f47}.adm-chart-bar{stroke:rgba(109,144,251,.6)}.adm-chart-bar:hover{fill:rgba(109,144,251,.35)}.adm-lang-track i{background:linear-gradient(90deg,#2c53d6,var(--c-accent))}html[data-theme=dark] .btn-primary{box-shadow:0 5px 0 var(--edge-blue),var(--shadow-sm)}html[data-theme=dark] .btn-primary:active{box-shadow:0 2px 0 var(--edge-blue)}html[data-theme=dark] .cl-version{border-color:#24356e}html[data-theme=dark] .stat-xp{background:linear-gradient(180deg,#1d2a5e,#16204a)}.bar-fill,.fh-card,.league,.lm-bar-fill,.lm-cta,.option.correct .opt-letter,.option.wrong .opt-letter,.path-node .node-start,.path-row.active .node-face,.path-row.done .node-face,.path-row.exam.active .node-face,.path-row.exam.done .node-face,.quest-fill,.quest.done .quest-fill,.tabbar button.on,.unit-banner{background-origin:border-box;background-clip:border-box}@keyframes satinSheen{0%{background-position:100% 0}55%,to{background-position:0 0}}@keyframes satinDriftWide{0%,to{background-position:38% 24%}50%{background-position:38% 72%}}@keyframes satinDriftSquare{0%,to{background-position:28% 34%}50%{background-position:70% 64%}}@keyframes satinDriftDuo{0%,to{background-position:38% 24%,30% 20%}50%{background-position:38% 70%,30% 62%}}.bar-fill:before,.btn-danger:before,.btn-primary:before,.hero-cta:before,.lm-bar-fill:before,.lm-cta:before,.path-row.active .node-face:before,.plot-btn.harvest:before,.quest-fill:before,.satin:before,.tabbar button.on:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:linear-gradient(105deg,transparent 44%,rgba(255,255,255,.32) 50%,transparent 56%);background-size:300% 100%;background-position:100% 0;background-repeat:no-repeat;animation:satinSheen 7s cubic-bezier(.4,0,.35,1) infinite;pointer-events:none;z-index:1}.bar-fill:before,.lm-bar-fill:before,.plot-btn.harvest:before,.quest-fill:before,.satin-amber:before{background-image:linear-gradient(105deg,transparent 44%,rgba(255,255,255,.24) 50%,transparent 56%)}.bar-fill,.lm-bar-fill,.lm-cta,.path-row.active .node-face,.quest-fill,.tabbar button.on{position:relative}.path-row.active .node-face>*,.tabbar button.on>*{position:relative;z-index:2}.hero-cta:before{animation-duration:8.5s;animation-delay:.8s}.plot-btn.harvest:before{animation-duration:9s;animation-delay:1.6s}.btn-danger:before{animation-duration:7.5s;animation-delay:.4s}.lm-cta:before{animation-duration:8s;animation-delay:1.1s}.tabbar button.on:before{animation-duration:10s;animation-delay:2s}.quest-fill:before{animation-duration:8s;animation-delay:.6s}.bar-fill:before,.lm-bar-fill:before{animation-duration:9.5s;animation-delay:1.3s}.path-row.active .node-face:before{animation-duration:6s}.btn-danger:active:before,.btn-primary:active:before,.hero-cta:active:before,.plot-btn.harvest:active:before,.satin:active:before{animation-play-state:paused}.btn-danger,.btn-primary,.hero-cta,.plot-btn.harvest,.satin{animation:satinDriftDuo 34s ease-in-out infinite}.hero-cta{animation-duration:38s}.btn-danger{animation-duration:31s}.plot-btn.harvest{animation-duration:42s}.bar-fill,.fh-card,.league,.lm-bar-fill,.lm-cta,.quest-fill,.tabbar button.on,.unit-banner{animation:satinDriftWide 40s ease-in-out infinite}.unit-banner{animation-duration:46s}.fh-card{animation-duration:44s}.lm-cta{animation-duration:36s}.tabbar button.on{animation-duration:50s}.league{animation-duration:52s}.quest-fill{animation-duration:30s}.bar-fill{animation-duration:33s}.lm-bar-fill{animation-duration:35s}.option.correct .opt-letter,.option.wrong .opt-letter,.path-row.active .node-face,.path-row.done .node-face,.path-row.exam.active .node-face,.path-row.exam.done .node-face{background-size:155%;animation:satinDriftSquare 40s ease-in-out infinite}.path-row.active .node-face{animation-duration:32s}.path-row.done .node-face{animation-duration:45s}.path-row.exam.active .node-face{animation-duration:37s}.path-row.exam.done .node-face{animation-duration:48s}.option.correct .opt-letter,.option.wrong .opt-letter{animation-duration:28s}.path-row:nth-child(4n+1) .node-face{animation-delay:-6s}.path-row:nth-child(4n+2) .node-face{animation-delay:-17s}.path-row:nth-child(4n+3) .node-face{animation-delay:-28s}.path-row:nth-child(4n+4) .node-face{animation-delay:-39s}@media (prefers-reduced-motion:reduce){.bar-fill:before,.btn-danger:before,.btn-primary:before,.hero-cta:before,.lm-bar-fill:before,.lm-cta:before,.path-row.active .node-face:before,.plot-btn.harvest:before,.quest-fill:before,.satin:before,.tabbar button.on:before{display:none}.bar-fill,.btn-danger,.btn-primary,.fh-card,.hero-cta,.league,.lm-bar-fill,.lm-cta,.option.correct .opt-letter,.option.wrong .opt-letter,.path-row.active .node-face,.path-row.done .node-face,.path-row.exam.active .node-face,.path-row.exam.done .node-face,.plot-btn.harvest,.quest-fill,.satin,.tabbar button.on,.unit-banner{animation:none}}