:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#1c2825;--color-muted:#59665f;--color-paper:#f5f3ed;--color-surface:#fffefa;--color-surface-subtle:#f3f6f2;--color-surface-soft:#e8f2ed;--color-surface-tint:#e9f5df;--color-surface-control:#fff;--color-surface-selected:#e0eee5;--color-surface-highlight:#e9f5df;--color-text-secondary-strong:#3f5148;--color-text-selected:#123d2e;--color-success:#3e7138;--color-on-success:#fffefa;--color-warning:#9a6815;--color-danger:#a5342a;--color-primary:#155d4c;--color-primary-strong:#0e493b;--color-primary-fill:#155d4c;--color-primary-fill-hover:#0e493b;--color-on-primary:#fffefa;--color-inverse-strong:#e4ebe5;--color-inverse-muted:#adbbb2;--color-accent:#d6e77b;--color-border:#d5ddd3;--color-border-strong:#8fa997;--color-focus:#17664f;--color-selection-bg:#d6e77b;--color-selection-ink:#1c2825;--color-warning-surface:#fff5e4;--color-warning-ink:#60491e;--color-danger-surface:#fff7f5;--color-danger-ink:#a5342a;--color-skill-listening:#2b5e9d;--color-skill-reading:#8c4c11;--color-skill-writing:#7148a8;--color-skill-speaking:#9f3658;--radius-card:1rem;--shadow-card:0 .8rem 2rem #1c28250f;--content-width:78rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-page-gutter:clamp(1rem, 3vw, 2rem);--space-page-top:clamp(1.5rem, 3vw, 2.5rem);--space-page-bottom:clamp(3rem, 5vw, 5rem);--space-section:clamp(3rem, 6vw, 5rem);--space-section-tight:clamp(2rem, 4vw, 3rem);--space-content:clamp(1rem, 2vw, 1.5rem);--font-body:var(--font-family-body), "Source Sans 3", system-ui, sans-serif;--font-display:var(--font-family-display), "Outfit", system-ui, sans-serif;--font-mono:var(--font-family-mono), "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#e8f0eb;--color-muted:#b7c4bb;--color-paper:#101a17;--color-surface:#17231f;--color-surface-subtle:#1d2b25;--color-surface-soft:#23372e;--color-surface-tint:#2b4031;--color-surface-control:#1d2b25;--color-surface-selected:#31513e;--color-surface-highlight:#3b4c30;--color-text-secondary-strong:#d2ded6;--color-text-selected:#e7f4dd;--color-success:#a7d386;--color-on-success:#17231f;--color-warning:#f1d99f;--color-danger:#ffaaa0;--color-primary:#a1d5bc;--color-primary-strong:#c3e6d4;--color-primary-fill:#155d4c;--color-primary-fill-hover:#0e493b;--color-on-primary:#fffefa;--color-inverse-strong:#dce6df;--color-inverse-muted:#aebeb4;--color-accent:#d6e77b;--color-border:#3b5046;--color-border-strong:#698675;--color-focus:#d6e77b;--color-selection-bg:#c7ebd4;--color-selection-ink:#102a21;--color-warning-surface:#3d3321;--color-warning-ink:#f1d99f;--color-danger-surface:#3b2523;--color-danger-ink:#ffaaa0;--color-skill-listening:#8fbcf0;--color-skill-reading:#f0b679;--color-skill-writing:#c6a8f0;--color-skill-speaking:#f29bb8;--shadow-card:0 .8rem 2rem #00000038}
.edsol-companion{--edsol-look-x:0px;--edsol-look-y:0px;--edsol-glance-x:0px;--edsol-glance-y:0px;--edsol-accent:#cfe97e;--edsol-spring:cubic-bezier(.34, 1.56, .64, 1);--edsol-soft:cubic-bezier(.45, 0, .55, 1);aspect-ratio:1;-webkit-user-select:none;user-select:none;contain:layout style;justify-content:center;align-items:center;width:220px;max-width:100%;display:inline-flex;position:relative}.edsol-companion__svg{width:100%;height:100%;overflow:visible}.edsol-companion__ground{fill:#062d28;opacity:.1;transform-origin:160px 286px;animation:edsol-ground-breathe 3.8s var(--edsol-soft) infinite}.edsol-companion__float{transform-origin:160px 257px;animation:edsol-breathe 3.8s var(--edsol-soft) infinite}.edsol-companion__react{transform-origin:160px 257px}.edsol-companion__body{transform-origin:160px 160px;transition:transform .55s cubic-bezier(.22,1,.36,1)}.edsol-companion__face{transform:translate(calc(var(--edsol-look-x) + var(--edsol-glance-x)), calc(var(--edsol-look-y) + var(--edsol-glance-y)));transition:transform .28s var(--edsol-soft);animation:.3s both edsol-expression-arrive}.edsol-eye,.edsol-eye-line,.edsol-brow,.edsol-mouth,.edsol-mouth-open,.edsol-blush{transition:transform .35s,opacity .35s}.edsol-eye{fill:#062d28;transform-box:fill-box;transform-origin:50%;transition:transform 90ms ease-out}.edsol-eye-line{transform-box:fill-box;transform-origin:50%;fill:none;stroke:#062d28;stroke-width:5px;stroke-linecap:round}.edsol-brow,.edsol-mouth{fill:none;stroke:#062d28;stroke-width:3.5px;stroke-linecap:round}.edsol-mouth-open{fill:#062d28;stroke:none}.edsol-blush{fill:#cfe97e;opacity:.32}.edsol-leaf{fill:#cfe97e}.edsol-leaf--left{fill:#0b4b3f}.edsol-hand{fill:#f5f6e8;stroke:#d8dcc8;stroke-width:1px;transform-origin:50%;transition:transform .4s}.edsol-state-mark{fill:var(--edsol-accent);opacity:.7}.edsol-companion__state-label{max-width:calc(100% + 1rem);color:var(--color-muted);font:700 7px/1.2 var(--font-body);letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:nowrap;opacity:.75;pointer-events:none;position:absolute;bottom:2%;left:50%;transform:translate(-50%)}.edsol-companion--sm{width:120px}.edsol-companion--md{width:220px}.edsol-companion--lg{width:320px}.edsol-companion--hero{width:clamp(260px,30vw,420px)}.elo-rive-character{overflow:visible}.elo-rive-character .elo-rive-fallback{pointer-events:none;position:absolute;inset:0}.elo-rive-character .elo-rive-fallback>.edsol-companion{width:100%;height:100%}.elo-rive-character canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.edsol-companion--curious .edsol-companion__body{transform:rotate(-2deg)translateY(-2px)}.edsol-companion--curious .edsol-hand--right{transform:rotate(-10deg)translate(2px,-3px)}.edsol-companion--focused .edsol-companion__body{animation:none}.edsol-companion--focused .edsol-hand--left{transform:translate(-2px,5px)rotate(7deg)}.edsol-companion--welcoming .edsol-hand--right{transform-origin:228px 190px;animation:none}.edsol-companion--thinking .edsol-companion__body{animation:none}.edsol-companion--thinking .edsol-hand--right{transform:translate(-5px,-12px)rotate(-18deg)}.edsol-companion--encouraging .edsol-hand--left{transform:translateY(-5px)rotate(-12deg)}.edsol-companion--encouraging .edsol-hand--right{transform-origin:228px 190px;animation:none}.edsol-companion--celebrating .edsol-hand--left{transform:translate(-6px,-18px)rotate(-28deg)}.edsol-companion--celebrating .edsol-hand--right{transform:translate(6px,-18px)rotate(28deg)}.edsol-companion--exploring .edsol-companion__body{transform:translateY(-3px)rotate(2deg)}.edsol-companion--exploring .edsol-hand--right{transform:translate(10px,-2px)rotate(-24deg)}.edsol-companion--exploring .edsol-state-mark{animation:none}.edsol-companion--resting .edsol-companion__float{animation-duration:5.6s}.edsol-companion--lost .edsol-companion__body{animation:none;transform:rotate(-3deg)}.edsol-companion--lost .edsol-state-mark{opacity:.95;animation:none}@keyframes edsol-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes edsol-shadow{0%,to{opacity:.1;transform:scaleX(1)}50%{opacity:.06;transform:scaleX(.92)}}@keyframes edsol-spark{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:.9;transform:scale(1.12)}}@keyframes edsol-celebrate{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-12px)rotate(-2deg)}65%{transform:translateY(-5px)rotate(2deg)}}@keyframes edsol-rest{0%,to{transform:translateY(3px)rotate(0)}50%{transform:translateY(7px)rotate(-1deg)}}@keyframes edsol-wave{0%,72%,to{transform:translate(8px,-9px)rotate(-28deg)}82%{transform:translate(7px,-13px)rotate(-38deg)}92%{transform:translate(9px,-7px)rotate(-18deg)}}@keyframes edsol-focus{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.012)}}@keyframes edsol-think{0%,to{transform:rotate(0)}50%{transform:rotate(-1.5deg)translateY(-2px)}}@keyframes edsol-explore{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.16)}}@keyframes edsol-lost{0%,to{transform:rotate(-3deg)}50%{transform:rotate(2deg)translateY(-1px)}}@keyframes edsol-question{0%,to{opacity:.45;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}@keyframes edsol-expression-arrive{0%{opacity:.45}to{opacity:1}}.edsol-companion__leaves{transform-origin:154px 62px;animation:edsol-leaf-sway 4.6s var(--edsol-soft) infinite}.edsol-companion[data-blink] .edsol-eye{transform:scaleY(.1)}.edsol-companion[data-blink] .edsol-eye-line{transform:scaleY(.6)}.edsol-companion--thinking .edsol-state-mark circle{transform-box:fill-box;transform-origin:50%;animation:edsol-think-dot 1.2s var(--edsol-soft) infinite}.edsol-companion--thinking .edsol-state-mark circle:nth-child(2){animation-delay:.2s}.edsol-companion--thinking .edsol-state-mark circle:nth-child(3){animation-delay:.4s}.edsol-companion--lost .edsol-companion__face{animation:edsol-look-around 4.2s var(--edsol-soft) infinite}.edsol-companion[data-reaction=hello] .edsol-companion__react{animation:edsol-hop .9s var(--edsol-spring) both}.edsol-companion[data-reaction=hello] .edsol-hand--right{transform-origin:214px 196px;animation:edsol-wave-hello 1.4s var(--edsol-soft) .1s both}.edsol-companion[data-reaction=celebrate] .edsol-companion__react{animation:edsol-jump-twice 1.4s var(--edsol-soft) both}.edsol-companion[data-reaction=celebrate] .edsol-spark{animation:edsol-spark-burst 1.1s cubic-bezier(.2, .8, .3, 1) var(--spark-delay) both}.edsol-companion[data-reaction=nod] .edsol-companion__react{transform-origin:160px 236px;animation:edsol-nod .85s var(--edsol-soft) both}.edsol-companion[data-reaction=nod] .edsol-hand--left{transform-origin:106px 196px;animation:edsol-hand-pump .85s var(--edsol-spring) both}.edsol-companion[data-reaction=perk] .edsol-companion__react{animation:edsol-perk .7s var(--edsol-spring) both}.edsol-companion[data-reaction=boop] .edsol-companion__react{animation:edsol-boop .6s var(--edsol-spring) both}.edsol-companion[data-reaction=notice] .edsol-companion__react{animation:edsol-notice .5s var(--edsol-spring) both}.edsol-companion__burst{pointer-events:none}.edsol-spark{opacity:0;transform-box:view-box;transform-origin:160px 150px}.edsol-spark--0{fill:var(--color-primary,#0b4b3f)}.edsol-spark--1{fill:#8fc23a}.edsol-spark--2{fill:var(--edsol-accent);stroke:#0b4b3f;stroke-width:1.5px}.edsol-companion[data-offscreen] *,.edsol-companion[data-offscreen] .edsol-companion__svg{animation-play-state:paused!important}@keyframes edsol-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.028)translateY(-1px)}}@keyframes edsol-ground-breathe{0%,to{transform:scaleX(1)}50%{transform:scaleX(.96)}}@keyframes edsol-leaf-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(4deg)}}@keyframes edsol-think-dot{0%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes edsol-look-around{0%,to{transform:translate(0)}25%{transform:translate(-5px,-1px)}55%{transform:translate(5px,-1px)}75%{transform:translateY(1px)}}@keyframes edsol-hop{0%{transform:translateY(0)scale(1)}18%{transform:translateY(3px)scale(1.07,.9)}42%{transform:translateY(-16px)scale(.95,1.07)}64%{transform:translateY(0)scale(1.05,.95)}80%{transform:translateY(-2px)scale(.99,1.01)}to{transform:translateY(0)scale(1)}}@keyframes edsol-wave-hello{0%,to{transform:rotate(0)translate(0)}14%{transform:rotate(-34deg)translate(6px,-14px)}30%{transform:rotate(-14deg)translate(6px,-16px)}46%{transform:rotate(-36deg)translate(6px,-14px)}62%{transform:rotate(-14deg)translate(6px,-16px)}80%{transform:rotate(-30deg)translate(5px,-12px)}}@keyframes edsol-jump-twice{0%{transform:translateY(0)scale(1)}10%{transform:translateY(3px)scale(1.08,.9)}26%{transform:translateY(-24px)scale(.94,1.08)rotate(-3deg)}42%{transform:translateY(0)scale(1.07,.92)}58%{transform:translateY(-18px)scale(.95,1.06)rotate(3deg)}76%{transform:translateY(0)scale(1.04,.96)}88%{transform:translateY(-2px)scale(1)}to{transform:translateY(0)scale(1)}}@keyframes edsol-spark-burst{0%{opacity:0;transform:translate(0)scale(.3)}20%{opacity:1}70%{opacity:1;transform:translate(var(--spark-x), var(--spark-y)) scale(1.15)}to{opacity:0;transform:translate(calc(var(--spark-x) * 1.1), calc(var(--spark-y) * 1.1 + 12px)) scale(.6)}}@keyframes edsol-nod{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(-4deg)translateY(2px)}50%{transform:rotate(3deg)translateY(-2px)}75%{transform:rotate(-1deg)translateY(1px)}}@keyframes edsol-hand-pump{0%,to{transform:rotate(0)translateY(0)}35%{transform:rotate(-20deg)translate(-2px,-14px)}65%{transform:rotate(-12deg)translate(-2px,-10px)}}@keyframes edsol-perk{0%{transform:rotate(0)translateY(0)}45%{transform:rotate(-5deg)translateY(-7px)}to{transform:rotate(0)translateY(0)}}@keyframes edsol-boop{0%{transform:scale(1)}25%{transform:translateY(4px)scale(1.12,.85)}55%{transform:translateY(-9px)scale(.93,1.09)}80%{transform:translateY(0)scale(1.03,.97)}to{transform:scale(1)}}@keyframes edsol-notice{0%,to{transform:translateY(0)}45%{transform:translateY(-7px)}}@media (prefers-reduced-motion:reduce){.edsol-companion__float,.edsol-companion__react,.edsol-companion__leaves,.edsol-spark,.edsol-state-mark circle,.edsol-companion__ground,.edsol-state-mark,.edsol-companion__body,.edsol-hand{animation:none!important}.edsol-companion__face,.edsol-eye,.edsol-eye-line,.edsol-brow,.edsol-mouth,.edsol-mouth-open,.edsol-blush,.edsol-companion__body,.edsol-hand{transition:none!important;animation:none!important}}@media (max-width:640px){.edsol-companion--hero{width:min(68vw,280px)}.edsol-companion__state-label{font-size:8px}}
.lms-welcome-aside{justify-content:flex-end;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.lms-welcome-elo{flex:none;width:4.8rem}.lms-content-heading-top{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.lms-content-heading-top .lms-course-icon,.lms-content-heading-top .eyebrow{margin-bottom:0}.lms-content-elo{flex:none;width:4.2rem}.games-heading-aside{justify-content:flex-end;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.games-heading-elo{flex:none;width:4.2rem}.workspace-heading-elo{flex:none;width:4.8rem}.diagnostic-start-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.diagnostic-start-elo{flex:none;width:4.2rem}@media (max-width:44rem){.lms-welcome-aside,.games-heading-aside{justify-content:flex-start}.lms-welcome-elo,.workspace-heading-elo{width:3.8rem}.lms-content-elo,.games-heading-elo,.diagnostic-start-elo{width:3.4rem}}@media (max-width:38rem){.workspace-heading-elo{align-self:flex-end}}@media print{.lms-welcome-elo,.lms-content-elo,.games-heading-elo,.workspace-heading-elo,.diagnostic-start-elo{display:none}}
.elo-dock{right:max(1rem, env(safe-area-inset-right,0px));bottom:max(1rem, env(safe-area-inset-bottom,0px));z-index:12;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.55rem;max-width:calc(100vw - 2rem);transition:opacity .25s,visibility .25s;display:flex;position:fixed}.elo-dock[data-away]{opacity:0;visibility:hidden}.elo-dock__scene{pointer-events:none;flex-direction:column;align-items:flex-end;gap:.55rem;display:flex}.elo-dock__row{pointer-events:none;align-items:flex-end;gap:.25rem;display:flex}.elo-dock__art-button{pointer-events:auto;cursor:pointer;opacity:.92;background:0 0;border:0;width:4.4rem;padding:0;transition:opacity .2s,transform .2s;display:block}.elo-dock__art-button .edsol-companion,.elo-dock__wake .edsol-companion{width:100%}.elo-dock__art-button:hover,.elo-dock__art-button:focus-visible{opacity:1;transform:translateY(-1px)}.elo-dock__art-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:.8rem}.elo-dock .edsol-companion__state-label{display:none}.elo-dock__thought{pointer-events:auto;border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);background:var(--color-surface);width:min(19.5rem,100vw - 2rem);box-shadow:0 18px 44px color-mix(in srgb, var(--color-ink) 12%, transparent);border-radius:1.15rem 1.15rem .35rem;padding:.9rem 1rem .8rem;position:relative}.elo-dock__thought:after{border-right:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);background:var(--color-surface);content:"";border-radius:0 0 .18rem;width:.85rem;height:.85rem;position:absolute;bottom:-.45rem;right:1.55rem;transform:rotate(45deg)}.elo-dock__thought>.elo-thought__eyebrow{color:var(--color-primary);letter-spacing:.12em;margin:0 1.5rem .35rem 0;font-size:.6rem;font-weight:850}.elo-dock__thought p{min-height:1.5em;color:var(--color-ink);margin:0 1.5rem 0 0;font-size:.9rem;font-weight:650;line-height:1.45}.elo-dock__actions{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.65rem;display:flex}.elo-dock__action,.elo-dock__dismiss{min-height:2.3rem;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;text-decoration:none;transition:background-color .16s,color .16s,opacity .16s;display:inline-flex}.elo-dock__action{color:var(--color-primary);background:0 0;padding:.5rem .85rem}.elo-dock__action--primary{color:var(--color-on-primary);background:var(--color-primary-fill)}.elo-dock__action:hover,.elo-dock__action:focus-visible,.elo-dock__dismiss:hover,.elo-dock__dismiss:focus-visible{transform:translateY(-1px)}.elo-dock__dismiss{width:1.8rem;height:1.8rem;color:var(--color-muted);background:var(--color-surface-soft);opacity:.75;margin-left:auto}.elo-dock__dismiss:hover,.elo-dock__dismiss:focus-visible{color:var(--color-ink);opacity:1}.elo-dock__action:focus-visible,.elo-dock__dismiss:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.elo-dock__rest,.elo-dock__wake{pointer-events:auto;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.elo-dock__rest{opacity:.55;width:1.7rem;height:1.7rem;margin-bottom:.5rem;transition:opacity .2s}.elo-dock__rest:hover,.elo-dock__rest:focus-visible{opacity:1}.elo-dock__wake{border-radius:1rem;width:3.2rem;padding:0;overflow:hidden}.elo-dock__rest:hover,.elo-dock__wake:hover{color:var(--color-ink);border-color:color-mix(in srgb, var(--color-ink) 26%, transparent)}.elo-dock__rest:focus-visible,.elo-dock__wake:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.utility-footer{z-index:30;position:relative}@media (max-width:30rem){.elo-dock{right:max(.7rem, env(safe-area-inset-right,0px));bottom:max(.7rem, env(safe-area-inset-bottom,0px))}.elo-dock__art-button{width:3.5rem}.elo-dock__wake{width:2.8rem}.elo-dock__thought{width:min(18rem,100vw - 1.4rem);padding:.8rem .85rem .7rem}.elo-dock__thought:after{right:1.2rem}.elo-dock__thought>.elo-thought__eyebrow,.elo-dock__thought p{margin-right:0}.elo-dock__action,.elo-dock__dismiss{min-height:2.15rem;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.elo-dock,.elo-dock__art-button,.elo-dock__rest,.elo-dock__wake,.elo-dock__action,.elo-dock__dismiss{transition:none}}@media print{.elo-dock{display:none!important}}
.yt-player{gap:var(--space-3);min-inline-size:0;margin:0;display:grid}.yt-player__frame{aspect-ratio:16/9;border-radius:calc(var(--radius-card) * .75);background:var(--color-ink);inline-size:100%;position:relative;overflow:hidden}.yt-player__iframe,.yt-player__poster{border:0;block-size:100%;inline-size:100%;position:absolute;inset:0}.yt-player__poster{cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.yt-player__thumb{object-fit:cover;block-size:100%;inline-size:100%;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.yt-player__play{block-size:4rem;inline-size:4rem;color:var(--color-on-primary);background:var(--color-primary-fill);box-shadow:0 .5rem 1.5rem color-mix(in srgb, var(--color-ink) 35%, transparent);border-radius:50%;place-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s;display:grid;position:relative}.yt-player__play svg{margin-inline-start:.2rem}.yt-player__poster:hover .yt-player__play{background:var(--color-primary-fill-hover);transform:scale(1.08)}.yt-player__poster:hover .yt-player__thumb{transform:scale(1.03)}.yt-player__poster:active .yt-player__play{transform:scale(.96)}.yt-player__poster--ended .yt-player__thumb{filter:brightness(.55)}.yt-player__again{align-items:center;gap:var(--space-2);min-block-size:2.75rem;padding:var(--space-2) var(--space-5);color:var(--color-on-primary);background:var(--color-primary-fill);border-radius:999px;font-weight:700;transition:background-color .2s;display:inline-flex;position:relative}.yt-player__poster:hover .yt-player__again{background:var(--color-primary-fill-hover)}.yt-player__poster:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.yt-player__caption{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-inline-size:0;display:flex}.yt-player__title{overflow-wrap:anywhere;min-inline-size:0;font-weight:600}.yt-player__source{align-items:center;gap:var(--space-2);min-block-size:2.25rem;padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);border:1px solid var(--color-border);color:var(--color-ink);background:var(--color-surface);border-radius:999px;flex:none;font-size:.8125rem;font-weight:650;text-decoration:none;transition:border-color .2s,background-color .2s;display:inline-flex}.yt-player__logo{flex:none;block-size:1rem;inline-size:1.4rem}.yt-player__source:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.yt-player__source:active{translate:0 1px}.yt-player__source:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.yt-player__thumb,.yt-player__play,.yt-player__source{transition:none}.yt-player__poster:hover .yt-player__play,.yt-player__poster:hover .yt-player__thumb{transform:none}}
.fs{--fs-face:var(--color-surface);--fs-top:var(--color-surface-subtle);--fs-line:var(--color-border-strong);--fs-detail:var(--color-border);--fs-ink:var(--color-muted);--fs-ink-hi:var(--color-ink);--fs-glass:var(--color-surface-soft);--fs-glass-on:var(--color-surface-tint);--fs-accent:var(--color-primary);gap:var(--space-4);min-inline-size:0;display:grid;position:relative}:root[data-theme=dark] .fs{--fs-glass:var(--color-paper);--fs-glass-on:var(--color-surface-selected);--fs-accent:var(--color-accent)}.fs-figure{block-size:auto;inline-size:100%;max-inline-size:46rem;margin-inline:auto;display:block;overflow:visible}.fs-face{fill:var(--fs-face);stroke:var(--fs-line);stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fs-top{fill:var(--fs-top)}.fs-detail{fill:none;stroke:var(--fs-detail);stroke-width:1px;vector-effect:non-scaling-stroke}.fs-label{fill:var(--fs-ink);font-family:var(--font-mono)}.fs-band.is-on,.fs-name.is-on{fill:var(--fs-skill,var(--fs-accent));font-weight:500}.fs-block .fs-glass.is-on,.fs-tower .fs-glass.is-on{fill:color-mix(in srgb, var(--fs-skill) 14%, var(--fs-glass));stroke:var(--fs-skill)}.fs-fill{fill:var(--fs-skill);opacity:.85;transform-box:fill-box;transform-origin:50% 100%;animation:.35s cubic-bezier(.34,1.56,.64,1) fs-fill-in}@keyframes fs-fill-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.fs-glass{fill:var(--fs-glass);stroke:var(--fs-line);stroke-width:1px;vector-effect:non-scaling-stroke;transition:fill .3s,stroke .3s}.fs-glass.is-on{fill:var(--fs-glass-on);stroke:var(--fs-accent)}.fs-halo{fill:var(--fs-accent);opacity:0;transition:opacity .4s}.fs-led{fill:var(--fs-detail);transition:fill .3s}.fs-led.is-on{fill:var(--fs-skill,var(--fs-accent))}.fs-wire,.fs-wire-under,.fs-pulse{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fs-wire-under{stroke:var(--fs-top);stroke-width:3.5px}.fs-wire{stroke:var(--fs-line);stroke-width:1px;transition:stroke .4s}.fs-wire.is-on{stroke:var(--fs-skill,var(--fs-accent));stroke-width:1.5px}.fs-pulse{stroke:var(--fs-skill,var(--fs-accent));stroke-width:2.4px;stroke-dasharray:110 1000;stroke-dashoffset:1000px;animation:.6s linear forwards fs-flow}@keyframes fs-flow{0%{stroke-dashoffset:110px}to{stroke-dashoffset:-1000px}}.fs-tower{transform-box:fill-box;transform-origin:50% 100%}.fs-tower.is-charged-1{--fs-shake:.6px;animation:.42s ease-in-out infinite fs-shake}.fs-tower.is-charged-2{--fs-shake:1.2px;animation:.3s ease-in-out infinite fs-shake}.fs-tower.is-charged-3{--fs-shake:2px;animation:.2s ease-in-out infinite fs-shake}.fs-tower.is-charged-4{animation:.5s cubic-bezier(.34,1.56,.64,1) fs-pop}@keyframes fs-shake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(calc(var(--fs-shake) * -1), 0) rotate(-.6deg)}75%{transform:translate(var(--fs-shake), calc(var(--fs-shake) * -.5)) rotate(.6deg)}}@keyframes fs-pop{0%{transform:scale(1)}30%{transform:scale(1.08,.92)}60%{transform:scale(.96,1.06)}to{transform:scale(1)}}.fs-burst-flash{fill:var(--fs-accent);transform-box:fill-box;transform-origin:50%;opacity:0;animation:.5s ease-out forwards fs-flash}@keyframes fs-flash{0%{opacity:.55;transform:scale(.3)}to{opacity:0;transform:scale(1.6)}}.fs-burst-ring{fill:none;stroke:var(--fs-accent);stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;opacity:0;animation:.9s ease-out forwards fs-ring}.fs-spark{fill:var(--fs-skill,var(--fs-accent));opacity:0;animation:1s cubic-bezier(.25,.6,.3,1) forwards fs-spark}@keyframes fs-ring{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(4)}}@keyframes fs-spark{0%{opacity:1;transform:translate(0)scale(1)}60%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.4)}}.fs-cheer{align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset-block-start:4%;inset-inline:0}.fs-cheer:focus,.fs-cheer:focus-visible{outline:none}.fs-figure{transition:opacity .3s}.fs.is-cheering .fs-figure{opacity:.3}.fs-cheer-bubble{max-inline-size:min(22rem,100% - 2rem);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);text-align:center;pointer-events:auto;animation:.32s cubic-bezier(.34,1.56,.64,1) both fs-cheer-in}.fs-cheer-title{margin:0 0 var(--space-3);color:var(--color-ink);font-family:var(--font-display);text-wrap:balance;font-size:1.25rem;font-weight:600;line-height:1.25}.fs-cheer-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.fs-cheer-primary,.fs-cheer-again{align-items:center;gap:var(--space-2);min-block-size:2.75rem;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);font:inherit;cursor:pointer;border-radius:999px;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.fs-cheer-primary{border-color:var(--color-primary-fill);color:var(--color-on-primary);background:var(--color-primary-fill)}.fs-cheer-primary:hover{background:var(--color-primary-fill-hover)}.fs-cheer-again{color:var(--color-ink);background:var(--color-surface-control)}.fs-cheer-again:hover{background:var(--color-surface-subtle)}.fs-cheer-primary:active,.fs-cheer-again:active{transform:translateY(1px)}.fs-cheer-primary:focus-visible,.fs-cheer-again:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.fs-cheer-elo{inline-size:clamp(6rem,22vw,9.5rem);animation:.5s cubic-bezier(.34,1.56,.64,1) .1s both fs-elo-in;display:block}.fs-cheer-elo .edsol-companion{inline-size:100%}.fs-cheer-elo .edsol-companion__state-label{display:none}@keyframes fs-cheer-in{0%{opacity:0;transform:translateY(.5rem)scale(.9)}to{opacity:1;transform:none}}@keyframes fs-elo-in{0%{opacity:0;transform:translateY(2rem)scale(.6)}to{opacity:1;transform:none}}.fs-block{cursor:pointer;transition:transform .16s}.fs-block.is-down{transform:translateY(2px)}:root[data-theme=dark] .fs-halo.is-on{opacity:.3}:root:not([data-theme=dark]) .fs [filter]{filter:none}.fs-controls{justify-content:center;align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.fs-skill-toggles{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.fs-chip,.fs-step{border:1px solid var(--color-border-strong);min-block-size:2.75rem;color:var(--color-ink);background:var(--color-surface-control);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-weight:600;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.fs-chip{padding:var(--space-2) var(--space-4)}.fs-step{inline-size:2.75rem;padding:0}.fs-chip:hover,.fs-step:hover{background:var(--color-surface-subtle)}.fs-chip:active,.fs-step:active{transform:translateY(1px)}.fs-chip{gap:var(--space-2)}.fs-chip-dot{border:2px solid var(--fs-skill);border-radius:999px;block-size:.625rem;inline-size:.625rem;transition:background-color .2s}.fs-chip.is-lit{border-color:var(--fs-skill)}.fs-chip.is-lit .fs-chip-dot{background:var(--fs-skill)}.fs-chip:focus-visible,.fs-step:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.fs-step:disabled{opacity:.5;pointer-events:none}.fs-band{align-items:center;gap:var(--space-2);display:inline-flex}.fs-band-value{text-align:center;min-inline-size:6.5rem;color:var(--color-muted)}.fs-band-value strong{color:var(--color-ink);font-family:var(--font-mono);font-size:1.125rem}@media (prefers-reduced-motion:reduce){.fs-pulse{opacity:0;animation:none}.fs-glass,.fs-halo,.fs-led,.fs-wire,.fs-block,.fs-chip,.fs-step{transition:none}.fs-block.is-down{transform:none}.fs-tower,.fs-fill,.fs-cheer-bubble,.fs-cheer-elo{animation:none}.fs-burst{display:none}}.fs-sound{gap:var(--space-2)}.fs-sound[aria-checked=true]{border-color:var(--color-primary-fill);color:var(--color-on-primary);background:var(--color-primary-fill)}.fs-sound[aria-checked=true]:hover{background:var(--color-primary-fill-hover)}.fs-emark-tile{fill:var(--fs-glass);stroke:var(--fs-line);stroke-width:1px;vector-effect:non-scaling-stroke;transition:fill .3s,stroke .3s}.fs-emark-letter{fill:none;stroke:var(--fs-ink);stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}.fs-emark.is-on .fs-emark-tile{fill:color-mix(in srgb, var(--fs-skill,var(--fs-accent)) 22%, var(--fs-glass));stroke:var(--fs-skill,var(--fs-accent))}.fs-emark.is-on .fs-emark-letter{stroke:var(--fs-skill,var(--fs-accent))}:root[data-theme=dark] .fs-emark.is-on .fs-emark-halo{opacity:.45}
.home-v3{--hp-ease:cubic-bezier(.22, 1, .36, 1)}.home-v3[data-motion=on] [data-reveal]{opacity:0;transition:opacity .7s var(--hp-ease), translate .7s var(--hp-ease);transition-delay:calc(var(--reveal-i,0) * 90ms);translate:0 1.5rem}.home-v3[data-motion=on] [data-reveal].is-revealed{opacity:1;translate:none}.hp-headline .hp-word{display:inline-block}.home-v3[data-motion=on] .hp-headline .hp-word{opacity:0;animation:hp-word-in .8s var(--hp-ease) forwards;animation-delay:calc(var(--w,0) * 70ms + .12s);translate:0 .45em}@keyframes hp-word-in{to{opacity:1;translate:none}}.home-v3-hero:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(34rem circle at var(--spot-x,70%) var(--spot-y,40%), color-mix(in srgb, var(--color-accent) 11%, transparent), transparent 62%);opacity:0;transition:opacity .5s;position:absolute;inset:0}.home-v3-hero[data-spot=on]:before{opacity:1}.home-v3-button svg,.home-v3-text-link svg,.home-v3-proof-link svg{transition:translate .25s var(--hp-ease)}.home-v3-button:hover svg,.home-v3-text-link:hover svg,.home-v3-proof-link:hover svg{translate:.2rem}.home-v3-steps li{transition:border-color .3s,background-color .3s}.home-v3-steps li:hover{border-color:var(--color-border-strong)}.home-v3[data-motion=on] .home-v3-steps li{opacity:0;transition:opacity .6s var(--hp-ease), translate .6s var(--hp-ease), border-color .3s ease;transition-delay:calc(var(--step,1) * .14s);translate:-1rem}.home-v3[data-motion=on] .home-v3-steps.is-revealed li{opacity:1;translate:none}.home-v3[data-motion=on] .home-v3-steps.is-revealed li>span{animation:hp-pop .5s var(--hp-ease) both;animation-delay:calc(var(--step,1) * .14s + .2s)}@keyframes hp-pop{0%{scale:.6}60%{scale:1.12}to{scale:1}}.home-v3-game-chip{animation:6s ease-in-out infinite hp-float}.home-v3-game-chip.chip-grammar{animation-delay:-2s}.home-v3-game-chip.chip-para{animation-delay:-4s}@keyframes hp-float{0%,to{translate:0}50%{translate:0 -.6rem}}.home-v3-ripple{z-index:0;aspect-ratio:1;pointer-events:none;opacity:0;inline-size:7rem;animation:4.8s cubic-bezier(.2,.6,.35,1) infinite home-ripple;animation-delay:calc(var(--r,0) * 1.6s);border:1.5px solid #d7e7ae80;border-radius:50%;position:absolute;box-shadow:inset 0 0 1.5rem #d7e7ae1a}@keyframes home-ripple{0%{opacity:0;scale:.85}10%{opacity:.6}70%{opacity:.14}to{opacity:0;scale:3.6}}.home-v3-hero-glow:before,.home-v3-hero-glow:after{content:"";pointer-events:none;opacity:0;border:1px solid #d3e4a757;border-radius:50%;animation:9s cubic-bezier(.2,.6,.35,1) infinite hero-wave;position:absolute;inset:-1px}.home-v3-hero-glow:after{animation-delay:4.5s}@keyframes hero-wave{0%{opacity:0;scale:.72}15%{opacity:.7}to{opacity:0;scale:1.42}}.home-v3-skill{transition:transform .3s var(--hp-ease), border-color .3s ease, box-shadow .3s ease}.home-v3-skill:hover{box-shadow:0 1rem 2rem color-mix(in srgb, var(--color-ink) 12%, transparent);transform:translateY(-4px)}.home-v3-skill-icon{transition:rotate .35s var(--hp-ease), scale .35s var(--hp-ease)}.home-v3-skill:hover .home-v3-skill-icon{rotate:-8deg;scale:1.08}@media (prefers-reduced-motion:reduce){.home-v3-game-chip{animation:none}.home-v3-ripple,.home-v3-hero-glow:before,.home-v3-hero-glow:after{display:none}.home-v3-button svg,.home-v3-text-link svg,.home-v3-proof-link svg,.home-v3-skill,.home-v3-skill-icon{transition:none}.home-v3-hero:before{display:none}}
.home-v3-lessons{background:var(--color-surface)}.home-v3-lessons .home-v3-section-head{flex-wrap:wrap;align-items:end}.hl-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.hl-lead{isolation:isolate;aspect-ratio:4/3;color:var(--home-hero-text);background:linear-gradient(112deg, var(--home-hero), var(--home-hero-2));border-radius:1.25rem;align-content:end;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:0 1.5rem 3.5rem #00000038}.hl-lead__thumb{z-index:-2;object-fit:cover;block-size:100%;inline-size:100%;transition:scale .7s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.hl-lead__thumb[data-quality=hq]{scale:1.34}.hl-lead__shade{z-index:-1;background:linear-gradient(to top, color-mix(in srgb, var(--home-hero) 96%, transparent) 0%, color-mix(in srgb, var(--home-hero) 72%, transparent) 38%, transparent 72%);position:absolute;inset:0}.hl-lead__body{gap:var(--space-2);padding:clamp(1.1rem,3vw,2rem);display:grid}.hl-meta{color:var(--home-hero-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.hl-lead__title{max-inline-size:22ch;font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.5rem,3.4vw,2.4rem);font-weight:500;line-height:1.1}.hl-play{aspect-ratio:1;inline-size:4.25rem;color:var(--home-hero);background:var(--color-accent);border-radius:50%;place-items:center;transition:scale .35s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -62%;box-shadow:0 .75rem 2rem #00000047}.hl-play svg{translate:.12rem}.hl-play:after{content:"";border:2px solid var(--color-accent);opacity:0;border-radius:50%;animation:2.6s cubic-bezier(.2,.6,.35,1) infinite hl-pulse;position:absolute;inset:0}@keyframes hl-pulse{0%{opacity:.7;scale:1}to{opacity:0;scale:1.7}}.hl-lead:hover .hl-lead__thumb{scale:1.04}.hl-lead:hover .hl-lead__thumb[data-quality=hq]{scale:1.39}.hl-lead:hover .hl-play{scale:1.08}.hl-lead:active .hl-play{scale:.96}.hl-lead:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.hl-list{align-content:start;gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.hl-item{align-items:center;gap:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);color:var(--color-ink);background:var(--color-paper);border-radius:1rem;grid-template-columns:7.5rem minmax(0,1fr);text-decoration:none;transition:border-color .25s,translate .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;display:grid}.hl-item:hover{border-color:var(--color-border-strong);translate:.25rem;box-shadow:0 .75rem 1.75rem #00000024}.hl-item:active{translate:.1rem}.hl-item:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.hl-item__thumb{aspect-ratio:16/10;background:var(--home-hero);border-radius:.7rem;display:block;position:relative;overflow:hidden}.hl-item__thumb img{object-fit:cover;block-size:100%;inline-size:100%}.hl-item__play{aspect-ratio:1;inline-size:2rem;color:var(--home-hero);background:var(--color-accent);border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.hl-item__body{gap:var(--space-1);min-inline-size:0;display:grid}.hl-item .hl-meta{color:var(--color-muted);font-size:.68rem}.hl-item__title{overflow-wrap:anywhere;font-weight:650;line-height:1.3}@media (min-width:56rem){.hl-grid{gap:var(--space-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.hl-list{grid-auto-rows:1fr;align-content:stretch}.hl-list li{display:grid}.hl-item{grid-template-columns:minmax(8rem,42%) minmax(0,1fr)}.hl-grid.is-single{grid-template-columns:minmax(0,1fr)}.hl-grid.is-single .hl-lead{aspect-ratio:21/9}.hl-lead{aspect-ratio:16/10}.hl-play{inline-size:5rem}}.home-v3[data-motion=on] .hl-grid .hl-list li{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),translate .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--hl-i,0) * .11s + .25s);translate:1rem}.home-v3[data-motion=on] .hl-grid.is-revealed .hl-list li{opacity:1;translate:none}@media (prefers-reduced-motion:reduce){.hl-play:after{animation:none;display:none}.hl-lead__thumb,.hl-play,.hl-item,.home-v3[data-motion=on] .hl-grid .hl-list li{transition:none}.hl-lead:hover .hl-lead__thumb{scale:none}.hl-lead:hover .hl-lead__thumb[data-quality=hq]{scale:1.34}.hl-lead:hover .hl-play{scale:none}.hl-item:hover{translate:none}}
