.auth-scrim{top:var(--visual-top,0px);height:var(--visual-vh,100dvh);z-index:60;padding:max(20px, env(safe-area-inset-top,0px)) 24px max(20px, env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--ink,#0b0b0c) 72%, transparent);-webkit-backdrop-filter:blur(13px)saturate(108%);place-items:center;animation:.22s ease-out both auth-scrim-in;display:grid;position:fixed;bottom:auto;left:0;right:0;overflow:hidden}.auth-card{width:min(436px,100%);max-height:calc(var(--visual-vh,100dvh) - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid color-mix(in srgb, var(--paper,#f4f1ea) 12%, transparent);-webkit-backdrop-filter:blur(20px)saturate(112%);background:linear-gradient(#1b1916e0,#0d0d0cd1);border-radius:20px;padding:32px 30px 26px;scroll-padding-block:18px;animation:.28s cubic-bezier(.16,1,.3,1) both auth-card-in;position:relative;overflow-y:auto;box-shadow:0 42px 110px -36px #000000eb,inset 0 1px #ffffff08}.auth-close{width:40px;height:40px;color:color-mix(in srgb, var(--paper,#f4f1ea) 58%, transparent);font:300 25px/1 var(--font-exercise), Arial, sans-serif;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:color .14s,background-color .14s,transform .14s;display:grid;position:absolute;top:12px;right:12px}.auth-close:hover{color:var(--paper,#f4f1ea);background:#ffffff0a}.auth-close:active{transform:scale(.94)}.auth-close:focus-visible{outline:1px solid var(--accent,#c9a227);outline-offset:2px}.auth-scrim[data-state=leaving]{pointer-events:none;animation:.18s ease-in both auth-scrim-out}.auth-scrim[data-state=leaving] .auth-card{animation:.18s ease-in both auth-card-out}.auth-rule{background:var(--accent,#c9a227);width:34px;height:1px;margin-bottom:16px;display:block}.auth-heading h2{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(25px,5vw,30px);line-height:1.1}.auth-heading p{max-width:38ch;color:color-mix(in srgb, var(--paper,#f4f1ea) 68%, transparent);margin:0 0 20px;font-size:14px;line-height:1.5}.auth-options,.auth-form{gap:10px;display:grid}.auth-primary,.auth-secondary{width:100%;min-height:46px;font:inherit;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:15px;transition:transform .16s,background-color .16s,border-color .16s;display:flex}.auth-primary{background:var(--paper,#f4f1ea);color:var(--ink,#0b0b0c);border:1px solid #0000;font-weight:500}.auth-secondary{border:1px solid color-mix(in srgb, var(--paper,#f4f1ea) 18%, transparent);color:var(--paper,#f4f1ea);background:0 0}.auth-primary:hover:not(:disabled){transform:translateY(-1px)}.auth-secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--paper,#f4f1ea) 34%, transparent)}.auth-primary:disabled,.auth-secondary:disabled{opacity:.5;cursor:default}.auth-google-mark{flex:none;width:18px;height:18px}.auth-or{letter-spacing:.08em;text-transform:lowercase;color:color-mix(in srgb, var(--paper,#f4f1ea) 38%, transparent);align-items:center;gap:12px;margin:2px 0;font-size:12px;display:flex}.auth-or i{background:color-mix(in srgb, var(--paper,#f4f1ea) 12%, transparent);flex:1;height:1px}.auth-label{color:color-mix(in srgb, var(--paper,#f4f1ea) 72%, transparent);margin:2px 0 -5px;font-size:12px;line-height:1.4}.auth-field{border:1px solid color-mix(in srgb, var(--paper,#f4f1ea) 16%, transparent);background:color-mix(in srgb, var(--ink,#0b0b0c) 76%, transparent);width:100%;min-height:50px;color:var(--paper,#f4f1ea);font:inherit;border-radius:11px;padding:0 16px;font-size:16px}.auth-field::placeholder{color:color-mix(in srgb, var(--paper,#f4f1ea) 26%, transparent)}.auth-field:focus-visible{border-color:color-mix(in srgb, var(--accent,#c9a227) 66%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#c9a227) 12%, transparent);outline:none}.auth-field[aria-invalid=true]{border-color:#e2a08c}.auth-code{text-align:center;letter-spacing:.34em;text-indent:.34em;font-variant-numeric:tabular-nums;font-size:27px}.auth-quiet{font:inherit;color:color-mix(in srgb, var(--paper,#f4f1ea) 50%, transparent);cursor:pointer;background:0 0;border:0;padding:6px;font-size:13px}.auth-quiet:hover:not(:disabled){color:var(--paper,#f4f1ea)}.auth-error{color:#e2a08c;min-height:18px;margin:10px 0 0;font-size:13px;line-height:1.4}.auth-footnote{color:color-mix(in srgb, var(--paper,#f4f1ea) 46%, transparent);margin:4px 0 0;font-size:12px}@keyframes auth-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes auth-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes auth-card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes auth-card-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(7px)scale(.99)}}@media (max-width:480px){.auth-scrim{padding:max(10px, env(safe-area-inset-top,0px)) 10px max(10px, env(safe-area-inset-bottom,0px));place-items:center stretch}.auth-card{width:100%;max-height:calc(var(--visual-vh,100dvh) - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:16px;padding:27px 20px 21px}.auth-close{top:8px;right:8px}.auth-rule{margin-bottom:15px}.auth-heading p{margin-bottom:18px}.auth-primary,.auth-secondary{min-height:48px}}@media (prefers-reduced-motion:reduce){.auth-scrim,.auth-card{animation:none}.auth-primary,.auth-secondary,.auth-close{transition:none}}.account-corner{left:max(16px, env(safe-area-inset-left,0px));bottom:max(16px, env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;position:fixed}.account-badge{border:1px solid color-mix(in srgb, var(--paper,#f4f1ea) 16%, transparent);background:color-mix(in srgb, var(--paper,#f4f1ea) 6%, var(--ink,#0b0b0c));-webkit-backdrop-filter:blur(8px);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;transition:border-color .16s,transform .16s;display:grid;box-shadow:0 8px 24px -10px #000000b3}.account-badge:hover{transform:translateY(-1px)}.account-initial{width:30px;height:30px;color:var(--paper,#f4f1ea);background:color-mix(in srgb, var(--paper,#f4f1ea) 12%, transparent);border-radius:50%;place-items:center;font-size:13px;display:grid}.account-corner[data-sync=saving] .account-badge{border-color:color-mix(in srgb, var(--accent,#c9a227) 50%, transparent)}.account-corner[data-sync=offline] .account-badge{border-color:#e2a08c}.account-sheet{z-index:51;border:1px solid color-mix(in srgb, var(--paper,#f4f1ea) 12%, transparent);background:color-mix(in srgb, var(--paper,#f4f1ea) 7%, var(--ink,#0b0b0c));-webkit-backdrop-filter:blur(14px);border-radius:13px;width:max-content;min-width:210px;max-width:min(280px,100vw - 32px);padding:14px;animation:.2s cubic-bezier(.22,.61,.36,1) both account-sheet-in;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 24px 50px -22px #000c}@keyframes account-sheet-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.account-email{overflow-wrap:anywhere;margin:0 0 4px;font-size:13px}.account-sync{color:color-mix(in srgb, var(--paper,#f4f1ea) 44%, transparent);margin:0 0 12px;font-size:12px;line-height:1.4}.account-signout{border:1px solid color-mix(in srgb, var(--paper,#f4f1ea) 16%, transparent);width:100%;min-height:38px;color:var(--paper,#f4f1ea);font:inherit;cursor:pointer;background:0 0;border-radius:9px;font-size:13px}.account-signout:hover{border-color:color-mix(in srgb, var(--paper,#f4f1ea) 32%, transparent)}@media (prefers-reduced-motion:reduce){.account-sheet{animation:none}.account-badge{transition:none}}.auth-scrim{-webkit-backdrop-filter:blur(13px)saturate(108%)}.auth-stage{animation:.22s cubic-bezier(.16,1,.3,1) both auth-stage-in}.auth-new-account{color:color-mix(in srgb, var(--paper,#f4f1ea) 38%, transparent);text-align:center;margin:2px 10px 0;font-size:11px;line-height:1.45}@keyframes auth-stage-in{0%{opacity:0;transform:translate(7px)}to{opacity:1;transform:translate(0)}}.account-corner{top:max(32px, env(safe-area-inset-top,0px));right:max(4.5vw, env(safe-area-inset-right,0px));z-index:50;display:inline-flex;position:fixed;bottom:auto;left:auto}.account-entry{background:var(--base);min-width:84px;min-height:42px;color:var(--text);border:1px solid #35312b;border-radius:999px;align-items:center;gap:9px;padding:5px 14px 5px 7px;font-size:13px;transition:transform .16s cubic-bezier(.16,1,.3,1),border-color .16s;display:inline-flex;box-shadow:0 10px 28px -18px #000c}.account-entry:hover{border-color:#5b5038;transform:translateY(-1px)}.account-entry:active{transition-duration:70ms;transform:scale(.97)}.account-entry:focus-visible{outline:1px solid var(--amber);outline-offset:3px}.account-entry>i{background:var(--green);width:5px;height:5px;box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 12%, transparent);border-radius:50%;margin-left:2px}.account-corner[data-sync=saving] .account-entry>i{background:var(--amber)}.account-corner[data-sync=offline] .account-entry>i{background:var(--red)}.account-avatar{object-fit:cover;border-radius:50%;width:30px;height:30px}.account-initial{color:var(--text);background:var(--raised);place-items:center;font-size:12px;display:grid}.account-signin-mark{border:1px solid #4b4438;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.account-signin-mark>i{background:var(--amber);border-radius:50%;width:4px;height:4px}.account-page-scrim{z-index:65;background:color-mix(in srgb, var(--base) 84%, transparent);-webkit-backdrop-filter:blur(12px);place-items:center;padding:18px;animation:.2s ease-out both account-page-scrim-in;display:grid;position:fixed;inset:0;overflow:hidden}.account-page{background:var(--base);border:1px solid #302d28;border-radius:20px;width:min(1120px,100%);height:min(760px,100dvh - 36px);margin:auto;animation:.3s cubic-bezier(.16,1,.3,1) both account-page-in;overflow:hidden;box-shadow:0 45px 110px -50px #000000eb}.account-page-scrim[data-state=leaving]{pointer-events:none;animation:.18s ease-in both auth-scrim-out}.account-page-scrim[data-state=leaving] .account-page{animation:.18s ease-in both auth-card-out}.account-page-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:58px;padding:0 18px 0 25px;display:flex}.account-page-wordmark{font:600 20px/1 var(--font-brand), Arial, sans-serif;letter-spacing:-1px}.account-page-wordmark span{color:var(--amber)}.account-page-close{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;font-size:24px;transition:color .14s,background-color .14s,transform .14s;display:grid}.account-page-close:hover{color:var(--text);background:#ffffff08}.account-page-close:active{transform:scale(.93)}.account-page-grid{grid-template-columns:minmax(280px,34%) minmax(0,1fr);height:calc(100% - 58px);display:grid}.account-identity{border-right:1px solid var(--line);background:color-mix(in srgb, var(--raised) 44%, var(--base));flex-direction:column;min-width:0;padding:clamp(30px,3.5vw,44px);display:flex}.account-page-rule{background:var(--amber);transform-origin:0;width:42px;height:1px;margin-bottom:27px;animation:.52s cubic-bezier(.16,1,.3,1) .12s both account-rule-in}.account-portrait{width:66px;height:66px;margin-bottom:20px;position:relative}.account-portrait>img,.account-portrait>span{object-fit:cover;background:var(--raised);width:64px;height:64px;color:var(--text);font:500 23px/1 var(--font-display), Georgia, serif;border:1px solid #454038;border-radius:50%;place-items:center;display:grid}.account-portrait>i{border:2px solid var(--raised);background:var(--green);border-radius:50%;width:10px;height:10px;position:absolute;bottom:3px;right:4px}.account-welcome>span,.account-section-heading>div>span{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;font-size:9px}.account-welcome h1{max-width:340px;font:500 clamp(34px, 3.7vw, 48px)/1 var(--font-display), Georgia, serif;letter-spacing:-.045em;margin:9px 0 0}.account-status{border-left:1px solid var(--blue);gap:4px;margin-top:auto;padding:14px 0 0 13px;display:grid}.account-status[data-tone=full],.account-status[data-tone=owned]{border-left-color:var(--amber)}.account-status>span{font:500 19px/1.1 var(--font-display), Georgia, serif}.account-status>small{color:var(--muted);font-size:11px}.account-content{min-width:0;padding:0 clamp(26px,3.5vw,42px) 14px;overflow:hidden}.account-section{border-bottom:1px solid var(--line);padding:21px 0}.account-section:last-child{border-bottom:0}.account-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.account-section-heading h2{font:500 24px/1 var(--font-display), Georgia, serif;letter-spacing:-.025em;margin:5px 0 0}.account-section-heading>p{justify-items:end;gap:2px;margin:0;display:grid}.account-section-heading>p strong{color:var(--amber);font-size:14px;font-weight:400}.account-section-heading>p small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.account-progress-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.account-progress-row{border:1px solid var(--line);background:color-mix(in srgb, var(--raised) 56%, var(--base));border-radius:12px;min-width:0;padding:12px 13px}.account-progress-row>div{gap:3px;display:grid}.account-progress-row>div>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.account-progress-row>div>strong{font:500 20px/1.12 var(--font-display), Georgia, serif}.account-progress-row>div>small{color:var(--muted);font-size:11px}.account-progress-track{background:#403b33;height:1px;margin-top:12px;display:block;overflow:hidden}.account-progress-track>i{background:var(--amber);width:100%;height:100%;transform:scaleX(var(--account-progress));transform-origin:0;transition:transform .32s cubic-bezier(.16,1,.3,1);display:block}.account-progress-row[data-tone=blue] .account-progress-track>i{background:var(--blue)}.account-text-action{color:#aaa397;background:0 0;border:0;min-height:38px;padding:6px 1px;font-size:12px}.account-text-action:hover{color:var(--amber)}.account-products{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.account-product{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.account-product-mark{width:30px;height:30px;color:var(--muted);font:500 10px/1 var(--font-display), Georgia, serif;border:1px solid #49443b;border-radius:50%;place-items:center;display:grid}.account-product[data-owned] .account-product-mark{border-color:color-mix(in srgb, var(--green) 55%, transparent);color:var(--green)}.account-product>span:nth-child(2){gap:3px;display:grid}.account-product strong{font-size:14px;font-weight:400}.account-product small{color:var(--muted);font-size:11px}.account-product em{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-style:normal}.account-product[data-owned] em{color:var(--green)}.account-setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:46px;display:flex}.account-setting-row>div{gap:3px;min-width:0;display:grid}.account-setting-row>div span{color:var(--muted);font-size:10px}.account-setting-row>div strong{text-overflow:ellipsis;font-size:13px;font-weight:400;overflow:hidden}.account-setting-row>em{color:var(--muted);font-size:10px;font-style:normal}.account-name-form{background:var(--raised);border:1px solid #3c382f;border-radius:12px;gap:9px;padding:15px;animation:.2s cubic-bezier(.16,1,.3,1) both auth-stage-in;display:grid}.account-name-form label{color:var(--muted);font-size:10px}.account-name-form input{background:var(--base);width:100%;min-height:48px;color:var(--text);border:1px solid #4b453b;border-radius:9px;outline:0;padding:0 13px;font-size:16px}.account-name-form input:focus{border-color:var(--amber)}.account-name-form>div{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.account-name-form .auth-primary{min-height:43px}.account-form-error{color:#e2a08c;min-height:16px;margin:0;font-size:11px}.account-signout-row{border:0;border-top:1px solid var(--line);color:#c0b9ad;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:0;font-size:12px;display:flex}.account-signout-row:hover{color:var(--text)}.account-credits-row{text-decoration:none}.account-credits-row:focus-visible,.auth-credits-link:focus-visible{outline:1px solid var(--amber);outline-offset:3px}.auth-credits-link{color:inherit;text-underline-offset:3px}@keyframes account-page-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes account-page-in{0%{opacity:0;transform:translateY(12px)scale(.992)}to{opacity:1;transform:none}}@keyframes account-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:700px){.account-corner{top:max(25px, env(safe-area-inset-top,0px));right:max(20px, env(safe-area-inset-right,0px))}.account-entry{min-height:38px;padding-right:11px;font-size:12px}.account-entry .account-avatar{width:27px;height:27px}.account-page-scrim{padding:0}.account-page{border:0;border-radius:0;width:100%;height:100dvh}.account-page-topbar{height:max(62px, calc(52px + env(safe-area-inset-top,0px)));padding-top:env(safe-area-inset-top,0px)}.account-page-grid{height:calc(100% - max(62px, calc(52px + env(safe-area-inset-top,0px))));display:block;overflow-y:auto}.account-identity{border-right:0;border-bottom:1px solid var(--line);min-height:300px;padding:30px 24px 28px}.account-page-rule{margin-bottom:26px}.account-portrait{margin-bottom:20px}.account-welcome h1{max-width:330px;font-size:clamp(36px,11vw,48px)}.account-status{margin-top:28px}.account-content{padding:0 22px max(34px, calc(env(safe-area-inset-bottom,0px) + 24px));overflow:visible}.account-section{padding:29px 0}.account-progress-list{grid-template-columns:1fr}.account-section-heading h2{font-size:25px}}@media (max-width:380px){.account-entry{min-width:0}.account-corner[data-signed-in] .account-entry>span:not(.account-avatar){display:none}.account-corner[data-signed-in] .account-entry{padding-right:7px}.account-corner[data-signed-in] .account-entry>i{display:none}}@media (prefers-reduced-motion:reduce){.auth-stage,.account-page-scrim,.account-page,.account-page-rule,.account-name-form{animation:none}.account-entry,.account-page-close,.account-progress-track>i{transition:none}}:root[data-reduced-motion] .auth-scrim,:root[data-reduced-motion] .auth-card,:root[data-reduced-motion] .auth-stage,:root[data-reduced-motion] .account-sheet,:root[data-reduced-motion] .account-page-scrim,:root[data-reduced-motion] .account-page,:root[data-reduced-motion] .account-page-rule,:root[data-reduced-motion] .account-name-form{animation:none}:root[data-reduced-motion] .auth-primary,:root[data-reduced-motion] .auth-secondary,:root[data-reduced-motion] .auth-close,:root[data-reduced-motion] .account-badge,:root[data-reduced-motion] .account-entry,:root[data-reduced-motion] .account-page-close,:root[data-reduced-motion] .account-progress-track>i{transition:none}
.practice-main:has(.learning-modes){padding-top:clamp(16px,3svh,30px)}.learning-modes{width:min(990px,100%);margin:0 auto}.mode-hero{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-items:center;display:grid;position:relative}.mode-hero .map-heading{grid-area:1/1/auto/-1;width:100%;padding:0 0 18px}.mode-hero .map-heading h1{font:500 clamp(58px,7vw,82px)/.98 var(--font-display),Arial,sans-serif;letter-spacing:.01em}.home-sign-in{z-index:3;min-height:44px;color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:500 12px/1 var(--font-display),Arial,sans-serif;letter-spacing:.025em;background:#12110ee8;border:1px solid #938e8352;border-radius:4px;align-items:center;gap:10px;margin:0;padding:8px 13px 8px 8px;transition:color .18s,background-color .18s,border-color .18s,transform .2s cubic-bezier(.16,1.2,.3,1),box-shadow .18s;display:inline-flex;position:fixed;top:36px;right:4.5vw;box-shadow:0 8px 24px #00000026}.home-sign-in-icon{width:26px;height:26px;color:var(--amber);border:1px solid #e8b33a73;border-radius:50%;place-items:center;display:grid}.home-sign-in-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.25px;width:15px;height:15px;overflow:visible}.home-sign-in:hover{color:var(--text);background:#e8b33a0a;border-color:#e8b33a8c;transform:translateY(-1px);box-shadow:inset 0 -1px #e8b33a55}.home-sign-in:active{transition-duration:70ms;transform:translateY(1px)scale(.985)}.home-sign-in:focus-visible{outline:1px solid var(--amber);outline-offset:4px}.mode-switcher{border-block:1px solid var(--line);grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.mode-switcher button{color:#b7b0a4;text-align:left;background:0 0;border:0;border-right:1px solid #938e8334;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;column-gap:11px;min-width:0;min-height:76px;padding:14px 19px 15px;transition:color .22s,background-color .22s,border-color .22s,box-shadow .22s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000}.mode-switcher button:last-child{border-right:0}.mode-switcher button:after{content:"";background:var(--amber);transform-origin:0;height:2px;transition:transform .42s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-1px;left:19px;right:19px;transform:scaleX(0)}.mode-switcher button:hover:not([data-active]){color:var(--text);background:#ffffff05;box-shadow:inset 0 1px #ede9e01a,inset 0 -1px #ede9e014}.mode-switcher button[data-active]{color:var(--text);background:#e8b33a09;box-shadow:inset 0 1px #e8b33a32,inset 0 -1px #e8b33a29}.mode-switcher button[data-active]:after{transform:scaleX(1)}.mode-switcher button:focus-visible{z-index:1;outline:1px solid var(--amber);outline-offset:-5px;background:#e8b33a0b}.mode-mark{min-width:24px;color:var(--blue);letter-spacing:.04em;grid-row:1/3;align-self:center;font-size:9px;line-height:1}.mode-switcher button[data-active] .mode-mark{color:var(--amber)}.mode-label{color:inherit;font:500 12px/1.25 var(--font-display),Arial,sans-serif;letter-spacing:.015em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.mode-switcher small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;line-height:1.25;overflow:hidden}.mode-panel{min-height:0;animation:.48s cubic-bezier(.16,1,.3,1) both mode-assemble}.mode-panel[data-departing]{pointer-events:none;animation:.18s ease-in both mode-disassemble}.mode-panel[data-mode=course] .editorial-map{animation:none}@keyframes mode-assemble{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes mode-disassemble{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.momentum-home{border-bottom:1px solid var(--line)}.home-streak{justify-content:center;align-items:center;gap:12px;min-height:68px;padding:11px 0 12px;display:flex}.home-streak>strong{color:var(--text);font:500 clamp(34px,4.2vw,46px)/.9 var(--font-display),Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-.045em}.home-flame{pointer-events:none;filter:drop-shadow(0 5px 9px #e34b1028);flex:none;place-items:center;width:36px;height:50px;display:inline-grid;position:relative}.home-flame-fallback,.home-flame-canvas{pointer-events:none;grid-area:1/1;width:100%;height:100%}.home-flame-fallback{transition:opacity .2s,filter .25s;display:block;overflow:visible}.home-flame-canvas{display:block;inset:0;position:absolute!important}.home-flame[data-webgl] .home-flame-fallback{opacity:.7}.home-flame:not([data-lit]) .home-flame-fallback{filter:saturate(.82)brightness(.78);opacity:.78}.home-flame[data-lit]{filter:drop-shadow(0 5px 10px #f0640f52)}.home-flame[data-lit] .home-flame-outer{transform-box:fill-box;transform-origin:50% 100%;animation:1.75s ease-in-out infinite alternate home-flame-breathe}@keyframes home-flame-breathe{0%{transform:scaleX(.97)rotate(-.6deg)}to{transform:scaleX(1.025)rotate(.7deg)}}.cefr-section{position:relative}.cefr-screen{animation:.48s cubic-bezier(.16,1,.3,1) both mode-assemble}.cefr-section[data-departing] .cefr-screen{pointer-events:none;animation:.17s ease-in both mode-disassemble}.cefr-intro,.cefr-detail-head{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:end;gap:clamp(35px,7vw,88px);padding:26px 0 22px;display:grid}.mode-kicker{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:9px;line-height:1.5;display:block}.cefr-intro h2,.cefr-detail-head h2,.prepared-mode h2{font:500 clamp(29px,3.5vw,47px)/1.05 var(--font-display),Arial,sans-serif;letter-spacing:-.045em;margin:0}.cefr-intro>p{max-width:390px;color:var(--muted);margin:0;font-size:13px;line-height:1.72}.cefr-journey{border-bottom:1px solid var(--line)}.cefr-stage{width:100%;min-height:104px;color:var(--text);text-align:left;border:0;border-top:1px solid var(--line);animation:.5s cubic-bezier(.16,1,.3,1) both cefr-row-enter;animation-delay:var(--stage-delay);background:0 0;grid-template-columns:86px minmax(190px,.8fr) minmax(250px,1fr) 74px 44px;align-items:center;gap:22px;padding:18px 0;transition:background-color .2s;display:grid;position:relative}.cefr-stage[data-state=current]{cursor:pointer}.cefr-stage[data-state=current]:after{content:"";background:var(--amber);transform-origin:0;width:86px;height:1px;animation:.7s .2s both rule-unfold;position:absolute;bottom:-1px;left:0}.cefr-stage[data-state=current]:hover{background:#e8b33a05}.cefr-stage[data-state=locked]{color:#938e8394}.cefr-code{color:inherit;font:500 35px/1 var(--font-display),Arial,sans-serif;letter-spacing:-.04em}.cefr-stage[data-state=current] .cefr-code{color:var(--amber)}.cefr-name,.cefr-mastery{gap:7px;display:grid}.cefr-name strong{font:500 19px/1.15 var(--font-display),Arial,sans-serif}.cefr-name small,.cefr-mastery small{color:var(--muted);font-size:10px;line-height:1.35}.cefr-mastery>span{font-size:12px}.cefr-motif{width:58px;height:42px;color:var(--blue);font:500 16px var(--font-display),Arial,sans-serif;opacity:.65;border-bottom:1px solid;place-items:center;display:grid;position:relative}.cefr-motif:before{content:"";border:1px solid;border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:5px}.cefr-stage[data-state=locked] .cefr-name strong{color:#ede9e0a6}.cefr-stage[data-state=locked] .cefr-mastery>span{color:#938e83ad}.cefr-stage[data-state=locked] .cefr-motif{opacity:.38}.cefr-stage[data-state=completed],.cefr-stage[data-state=available]{cursor:pointer}.cefr-stage[data-state=completed]:hover,.cefr-stage[data-state=available]:hover{background:#e8b33a05}.cefr-stage[data-state=completed] .cefr-code,.cefr-stage[data-state=completed] .cefr-state{color:var(--blue)}.cefr-stage[data-state=completed] .cefr-motif{opacity:.5}.cefr-state{color:var(--muted);justify-self:end;font-size:10px}.cefr-stage[data-state=current] .cefr-state{color:var(--amber)}.cefr-stage[data-state=locked] .cefr-state{color:#7197b578;letter-spacing:.08em;text-transform:uppercase;font-size:8px}@keyframes cefr-row-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.mode-back{min-height:44px;color:var(--muted);background:0 0;border:0;align-items:center;gap:12px;margin:20px 0 0;padding:8px 0;font-size:11px;transition:color .2s,transform .22s cubic-bezier(.16,1.25,.3,1);display:inline-flex}.mode-back:hover{color:var(--amber);transform:translate(-3px)}.cefr-detail-head{padding-top:27px}.cefr-summary{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.cefr-summary p{gap:5px;margin:0;display:grid}.cefr-summary strong{color:var(--text);font:500 30px/1 var(--font-display),Arial,sans-serif}.cefr-summary p:first-child strong{color:var(--amber)}.cefr-summary span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.cefr-progress{background:#ede9e014;width:100%;height:2px;position:relative;overflow:hidden}.cefr-progress i{background:var(--amber);width:100%;height:100%;transform:scaleX(var(--cefr-progress,0));transform-origin:0;animation:.7s cubic-bezier(.16,1,.3,1) .18s both cefr-progress-settle;display:block}@keyframes cefr-progress-settle{0%{transform:scaleX(0)}to{transform:scaleX(var(--cefr-progress,0))}}.unit-heading{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:20px;padding:25px 0 18px;font-size:10px;display:flex}.unit-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.unit-step{color:#938e835e;text-align:left;border:0;border-top:1px solid var(--line);min-width:0;min-height:112px;animation:.47s cubic-bezier(.16,1,.3,1) both unit-reveal;animation-delay:var(--unit-delay);background:0 0;border-right:1px solid #938e8319;grid-template-columns:1fr auto;align-content:space-between;gap:9px;padding:17px 14px 16px;display:grid;position:relative}.unit-step:nth-child(5n){border-right:0}.unit-step>span{font:400 23px/1 var(--font-exercise),Arial,sans-serif}.unit-step>small{color:inherit;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;align-self:end;font-size:10px;line-height:1.3;overflow:hidden}.unit-step>i{font-size:10px;font-style:normal}.unit-step[data-state=current]{color:var(--text);cursor:pointer;background:linear-gradient(#0000 28%,#e8b33a08)}.unit-step[data-state=current]>span,.unit-step[data-state=current]>i{color:var(--amber)}.unit-step[data-state=current]:after{content:"";background:var(--amber);transform-origin:0;height:1px;animation:.65s .15s both rule-unfold;position:absolute;inset:auto 14px -1px}.unit-step[data-state=current]:hover{background-color:#e8b33a07}.unit-step[data-state=available]{color:var(--muted);cursor:pointer}.unit-step[data-state=available]:hover{color:var(--text);background-color:#e8b33a05}.unit-step[data-state=completed]{color:#938e83b5;cursor:pointer}.unit-step[data-state=completed]>span,.unit-step[data-state=completed]>i{color:var(--blue)}.unit-step[data-state=completed]:hover{background-color:#7197b508}@keyframes unit-reveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.prepared-mode{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 240px;align-content:center;gap:70px;min-height:430px;padding:55px 0;display:grid;position:relative;overflow:hidden}.prepared-copy p{max-width:500px;color:var(--muted);margin:19px 0 0;font-size:13px;line-height:1.75}.prepared-motif{height:160px;color:var(--blue);place-items:center;display:grid;position:relative}.prepared-motif span{font:500 56px var(--font-display),Arial,sans-serif}.prepared-motif i{opacity:.25;width:130px;height:1px;transform:rotate(var(--turn));background:currentColor;position:absolute}.prepared-motif i:first-of-type{--turn:0deg}.prepared-motif i:nth-of-type(2){--turn:60deg}.prepared-motif i:nth-of-type(3){--turn:-60deg}.prepared-note{color:var(--muted);grid-column:1/-1;margin:20px 0 -15px;font-size:10px}@media (max-width:900px){.mode-switcher button{padding-inline:13px}.mode-switcher button:after{left:13px;right:13px}.cefr-stage{grid-template-columns:68px minmax(165px,.8fr) minmax(210px,1fr) 48px 34px;gap:15px}.cefr-motif{width:44px}.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-step:nth-child(5n){border-right:1px solid #938e8319}.unit-step:nth-child(3n){border-right:0}}@media (max-width:700px){.practice-main:has(.learning-modes){padding-top:24px;padding-left:20px;padding-right:20px}.mode-hero{grid-template-columns:1fr;row-gap:0}.mode-hero .map-heading{text-align:center;justify-content:center;padding-bottom:20px}.mode-hero .map-heading h1{font-size:clamp(40px,10.8vw,48px)}.home-sign-in{top:max(31px, calc(env(safe-area-inset-top,0px) + 27px));min-height:42px;right:25px}.mode-switcher{overscroll-behavior-inline:contain;scrollbar-width:none;display:flex;overflow-x:auto}.mode-switcher::-webkit-scrollbar{display:none}.mode-switcher button{flex:50%;grid-template-rows:auto;align-items:center;column-gap:8px;min-width:128px;min-height:56px;padding:10px 12px}.mode-switcher button:after{left:12px;right:12px}.mode-switcher small{display:none}.mode-mark{min-width:18px}.mode-panel{min-height:0}.mode-panel .level-picker{margin-top:4px}.home-streak{min-height:61px;padding-block:8px 9px}.home-streak>strong{font-size:36px}.home-flame{width:33px;height:46px}.cefr-intro,.cefr-detail-head{padding:21px 0 18px;display:block}.cefr-intro>p{margin-top:16px}.cefr-stage{grid-template-rows:auto auto;grid-template-columns:52px minmax(0,1fr) auto;gap:8px 14px;min-height:92px;padding:15px 0}.cefr-code{grid-row:1/3;font-size:28px}.cefr-name{gap:5px}.cefr-name strong{font-size:17px}.cefr-mastery{grid-column:2;gap:3px}.cefr-mastery>span{font-size:10px}.cefr-mastery small{display:none}.cefr-motif{grid-area:1/3;width:40px;height:30px;font-size:12px}.cefr-state{grid-area:2/3}.cefr-stage[data-state=current]:after{width:52px}.mode-back{margin-top:11px}.cefr-summary{gap:14px;margin-top:23px}.cefr-summary strong{font-size:27px}.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-step{min-height:95px;padding:14px 10px}.unit-step>small{white-space:normal}.prepared-mode{grid-template-columns:minmax(0,1fr) 110px;gap:25px;min-height:370px;padding:38px 0}.prepared-motif{height:120px}.prepared-motif i{width:90px}}@media (max-width:430px){.mode-switcher button{min-width:128px}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-step:nth-child(3n){border-right:1px solid #938e8319}.unit-step:nth-child(2n){border-right:0}.prepared-mode{display:block}.prepared-motif{width:120px;margin:22px auto 0}}@media (max-width:360px){.home-sign-in{right:20px}}@media (max-height:650px){.home-sign-in{top:max(22px, calc(env(safe-area-inset-top,0px) + 18px))}}@media (max-width:359px){.mode-switcher button{grid-template-columns:minmax(0,1fr)}.mode-mark{display:none}}@media (prefers-reduced-motion:reduce){.mode-panel,.cefr-screen,.cefr-stage,.unit-step{animation:none!important;transform:none!important}.home-flame-canvas{display:none!important}.home-flame-outer{animation:none!important}.cefr-progress i{transform:scaleX(var(--cefr-progress,0))!important;animation:none!important}}.cefr-complete .closing-rule{background:var(--amber);width:44px;height:1px;margin:0 auto 26px;display:block}.teaching-moment{text-align:center;max-width:520px;margin:0 auto;padding:48px 20px 40px;animation:.42s cubic-bezier(.16,1,.3,1) both cefr-row-enter}.teaching-moment h1{font:500 clamp(34px,5vw,52px)/1.05 var(--font-exercise),Arial,sans-serif;letter-spacing:-.02em;margin:6px 0 0}.teach-word em{color:var(--amber);font-style:normal}.teach-chunks{justify-content:center;gap:8px;margin:22px 0 0;display:flex}.teach-chunks span{color:var(--muted);font:400 15px/1 var(--font-exercise),Arial,sans-serif;border:1px solid var(--line);border-radius:3px;padding:6px 12px}.teach-contrast{font:400 19px/1 var(--font-exercise),Arial,sans-serif;justify-content:center;align-items:baseline;gap:12px;margin:24px 0 0;display:flex}.teach-contrast s{color:#938e8394}.teach-contrast i{color:var(--muted);font-size:13px;font-style:normal}.teach-contrast b{color:var(--text);font-weight:400}.teach-note{max-width:400px;color:var(--muted);margin:22px auto 0;font-size:13px;line-height:1.65}.teach-example{color:#938e83b5;max-width:420px;margin:14px auto 0;font-size:13px;font-style:italic;line-height:1.6}.teaching-moment .continue-control{margin-top:30px}@media (prefers-reduced-motion:reduce){.teaching-moment{animation:none!important}}.teaching-moment[data-leaving] .teach-word{animation:.3s cubic-bezier(.5,0,.75,.35) 40ms both teach-word-release}.teaching-moment[data-leaving] :is(.mode-kicker,.teach-chunks,.teach-contrast,.teach-note,.teach-example,.continue-control){animation:.2s cubic-bezier(.4,0,1,1) both teach-support-release}@keyframes teach-word-release{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(1.5px);transform:translateY(-14px)}}@keyframes teach-support-release{to{opacity:0;transform:translateY(6px)}}.cefr-complete{text-align:center}.cefr-complete>p{max-width:460px;margin-inline:auto}.cefr-complete .streak-secured{text-align:left;display:inline-block}.cefr-completion-stats{border:1px solid var(--line);background:var(--line);text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:min(520px,100%);margin:27px auto 0;display:grid}.cefr-completion-stats p{background:var(--paper,#12110e);gap:5px;min-height:84px;margin:0;padding:16px 14px;display:grid}.cefr-completion-stats strong{color:var(--amber);font:500 25px/1 var(--font-display),Georgia,serif}.cefr-completion-stats span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;line-height:1.35}.cefr-next{justify-items:center;gap:6px;width:min(340px,100%);margin:34px auto 0;padding-bottom:14px;animation:.4s cubic-bezier(.16,1,.3,1) .22s both cefr-row-enter;display:grid;position:relative}.cefr-next-label{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.cefr-next strong{color:var(--text);font:500 19px/1.3 var(--font-display), Georgia, serif;letter-spacing:-.01em}.cefr-next small{color:var(--muted);font-size:12px}.cefr-next:after{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:0;right:0}.cefr-gate{max-width:420px;color:var(--muted);margin:30px auto 0}.cefr-complete-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 28px;margin-top:26px;display:flex}.cefr-complete-actions .continue-control:disabled{opacity:.45}.cefr-leave{color:var(--muted);font-size:13px}@media (prefers-reduced-motion:reduce){.teaching-moment[data-leaving] :is(.teach-word,.mode-kicker,.teach-chunks,.teach-contrast,.teach-note,.teach-example,.continue-control),.cefr-next{animation:none!important}}.teach-word{display:inline-block;position:relative}.teach-letters{white-space:nowrap;display:inline-block}.teach-letter{animation:teach-letter-rise .46s var(--ease-settle,cubic-bezier(.16,1,.3,1)) calc(90ms + var(--i,0) * 34ms) both;display:inline-block}@keyframes teach-letter-rise{0%{opacity:0;filter:blur(3px);transform:translateY(.3em)}to{opacity:1;filter:blur();transform:none}}.teach-word em{animation:teach-hard-lift .5s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .74s both;display:inline-block;position:relative}.teach-word em:after{content:"";background:var(--amber);transform-origin:0;height:2px;animation:teach-hard-draw .42s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .86s both;border-radius:2px;position:absolute;bottom:-.08em;left:.02em;right:.02em}@keyframes teach-hard-lift{0%{transform:none}to{transform:translateY(-.06em)}}@keyframes teach-hard-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.teach-word:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg, #7197b500, var(--blue) 45%, #7197b500);transform-origin:0;height:1px;position:absolute;bottom:-.22em;left:0;right:0}.teach-word[data-speaking]:after{animation:teach-speak .9s var(--ease-glide,cubic-bezier(.45,0,.2,1)) both}@keyframes teach-speak{0%{opacity:0;transform:translate(-35%)scaleX(.3)}25%{opacity:.9}to{opacity:0;transform:translate(35%)scaleX(.3)}}.teach-listen{min-height:44px;color:var(--blue);font:12px var(--font-exercise), Arial, sans-serif;letter-spacing:.02em;cursor:pointer;animation:.4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .42s both cefr-row-enter;background:0 0;border:0;align-items:center;gap:8px;margin:10px auto 0;padding:6px 12px;display:inline-flex}.teach-listen:hover,.teach-listen:focus-visible{color:var(--text)}.teach-listen:focus-visible{outline:1px solid var(--blue);outline-offset:2px;border-radius:3px}.teach-listen[data-speaking] svg{animation:.6s ease-in-out infinite alternate teach-listen-pulse}@keyframes teach-listen-pulse{0%{opacity:.55}to{opacity:1}}.teaching-moment:has(.teach-listen) .teach-chunks{margin-top:12px}.teach-chunks span{animation:teach-chunk-part .42s var(--ease-settle,cubic-bezier(.16,1,.3,1)) calc(.5s + var(--i,0) * 90ms) both}@keyframes teach-chunk-part{0%{opacity:0;transform:translateY(-12px)scale(.94)}to{opacity:1;transform:none}}.teach-contrast s{text-decoration:none;animation:.3s .9s both teach-fade-in;position:relative}.teach-contrast s:after{content:"";background:var(--amber);transform-origin:0;height:1.5px;animation:teach-strike .34s var(--ease-settle,cubic-bezier(.16,1,.3,1)) 1.12s both;position:absolute;top:47%;left:-2px;right:-2px}.teach-contrast i{animation:.26s 1.36s both teach-fade-in}.teach-contrast b{animation:teach-arrive-right .4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) 1.44s both;display:inline-block}.teaching-moment[data-kind=recovery] :is(.teach-note,.teach-example){animation:.42s var(--ease-settle,cubic-bezier(.16,1,.3,1)) 1.62s both cefr-row-enter}.teaching-moment[data-kind=recovery]>.continue-control{animation-delay:1.1s}@keyframes teach-strike{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes teach-fade-in{0%{opacity:0}to{opacity:1}}@keyframes teach-arrive-right{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.teaching-moment[data-leaving] :is(.teach-letter,.teach-listen){animation:none}.teaching-moment[data-leaving] .teach-listen{animation:.2s cubic-bezier(.4,0,1,1) both teach-support-release}@media (prefers-reduced-motion:reduce){.teach-letter,.teach-word em,.teach-word em:after,.teach-word:after,.teach-listen,.teach-listen svg,.teach-chunks span,.teach-contrast s,.teach-contrast s:after,.teach-contrast i,.teach-contrast b,.teaching-moment[data-kind=recovery] :is(.teach-note,.teach-example){filter:none!important;animation:none!important}}.cefr-complete{isolation:isolate;position:relative}.cefr-complete .closing-rule{transform-origin:50%;animation:rule-unfold .6s var(--ease-settle,cubic-bezier(.16,1,.3,1)) both}.cefr-complete .mode-kicker{animation:.4s 80ms both teach-fade-in}.cefr-complete>p{animation:.44s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .42s both cefr-row-enter}.cefr-completion-stats{animation:.4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .47s both cefr-row-enter}.cefr-complete-actions{animation:.4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .5s both cefr-row-enter}.cefr-level-mark{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--amber);font:600 clamp(150px, 22vw, 300px)/1 var(--font-display), Georgia, serif;letter-spacing:-.06em;opacity:.07;animation:level-mark-arrive 1.1s var(--ease-settle,cubic-bezier(.16,1,.3,1)) both;position:absolute;top:-.12em;left:50%;transform:translate(-50%)}.cefr-complete[data-level-complete] .closing-rule{background:var(--green);width:72px}@keyframes level-mark-arrive{0%{opacity:0;transform:translate(-50%)translateY(18px)scale(.94)}to{opacity:.07;transform:translate(-50%)}}.streak-secured .streak-flame{animation:streak-kindle .56s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .36s both;position:relative}.streak-secured .streak-flame:after{content:"";border:1px solid var(--green);opacity:0;pointer-events:none;border-radius:50%;animation:.9s ease-out .56s both streak-ring;position:absolute;inset:-7px}.streak-secured strong{animation:.42s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .66s both cefr-row-enter;display:inline-block}.streak-secured .streak-secured-rule{transform-origin:0;animation:rule-unfold .6s var(--ease-settle,cubic-bezier(.16,1,.3,1)) .2s both}@keyframes streak-kindle{0%{opacity:0;transform:translateY(4px)scale(.7)}to{opacity:1;transform:none}}@keyframes streak-ring{0%{opacity:.55;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.cefr-complete .closing-rule,.cefr-complete .mode-kicker,.cefr-complete>p,.cefr-completion-stats,.cefr-complete-actions,.cefr-level-mark,.streak-secured .streak-flame,.streak-secured .streak-flame:after,.streak-secured strong,.streak-secured .streak-secured-rule{filter:none!important;animation:none!important}.streak-secured .streak-flame:after{display:none}}
.purchase-scrim{-webkit-backdrop-filter:blur(19px)saturate(88%);background:#020202bd;padding-inline:clamp(12px,2.6vw,34px)}.purchase-card{isolation:isolate;width:min(1080px,100%);max-height:calc(var(--visual-vh,100dvh) - 34px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(32px)saturate(106%);background:linear-gradient(138deg,#ffffff07,#0000 34%),linear-gradient(#10100fe0,#060606d1);border:1px solid #ffffff17;border-radius:26px;padding:clamp(26px,3.2vw,42px);box-shadow:0 48px 150px -46px #000000fa,0 14px 46px -28px #000000eb,inset 0 1px #ffffff0d,inset 0 -1px #ffffff04}.purchase-card:after{content:"";z-index:2;pointer-events:none;border-radius:inherit;position:absolute;inset:1px;box-shadow:inset 0 0 34px #ffffff04}.purchase-card .auth-rule{background:#e8b33aad;width:24px;margin-bottom:19px}.purchase-intro{margin-bottom:clamp(24px,3vw,34px)}.purchase-heading h2{letter-spacing:-.052em;max-width:760px;margin:0;font-size:clamp(42px,5.2vw,64px);font-weight:500;line-height:.94}.purchase-heading p{display:none}.auth-eyebrow,.purchase-state-eyebrow{color:var(--blue);font:500 10px/1.4 var(--font-exercise), Georgia, serif;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px;display:block}.purchase-recent{border-left:1px solid var(--blue);background:color-mix(in srgb, var(--blue) 7%, transparent);color:var(--text);margin:-5px 0 15px;padding:10px 13px;font-size:12px;line-height:1.5}.product-mark{isolation:isolate;flex:none;place-items:center;width:68px;height:68px;display:grid;position:relative}.product-mark:before{content:"";z-index:-1;background:linear-gradient(145deg,#ffffff0f,#0000001a);border:1px solid #ffffff12;border-radius:20px;position:absolute;inset:5px;transform:rotate(-2deg);box-shadow:inset 0 1px #ffffff0d,0 14px 26px -20px #000000e6}.product-mark img{object-fit:contain;filter:drop-shadow(0 10px 10px #00000059);width:100%;height:100%}.product-mark>i{border:1px solid color-mix(in srgb, var(--green) 70%, transparent);background:var(--base);width:19px;height:19px;color:var(--green);font:600 10px/1 var(--font-exercise);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:3px;right:1px}.purchase-studio{background:linear-gradient(90deg,#ffffff04,#0000 28%);border-block:1px solid #ffffff12;grid-template-columns:minmax(220px,.62fr) minmax(0,2fr);min-height:404px;display:grid}.purchase-plan-rail{background:0 0;border-right:1px solid #ffffff0f;flex-direction:column;min-width:0;padding:23px 24px 23px 0;display:flex}.purchase-plan-label{color:#777f83;letter-spacing:.12em;text-transform:uppercase;margin:0 0 11px 12px;font-size:8px;font-weight:500}.purchase-plans{display:grid}.purchase-plan{color:#a29c92;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff0e;border-radius:0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:72px;padding:11px 10px 11px 12px;transition:background-color .18s,color .18s,padding .18s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.purchase-plan:last-child{border-bottom:1px solid #ffffff0e}.purchase-plan:before{content:"";background:var(--amber);opacity:0;width:1px;transition:opacity .18s,transform .26s cubic-bezier(.16,1,.3,1);position:absolute;top:12px;bottom:12px;left:0;transform:scaleY(.35)}.purchase-plan:hover{color:var(--text);background:linear-gradient(90deg,#ffffff06,#0000 88%)}.purchase-plan:focus-visible{z-index:1;outline-offset:-1px;outline:1px solid #e8b33ab8}.purchase-plan[data-selected]{color:var(--text);background:linear-gradient(90deg,#e8b33a0e,#ffffff03 52%,#0000);padding-left:16px}.purchase-plan[data-selected]:before{opacity:.82;transform:scaleY(1)}.purchase-plan-number{color:#9c968c;width:24px;height:24px;font:500 8px/1 var(--font-display), Georgia, serif;border:1px solid #ffffff1c;border-radius:50%;place-items:center;display:grid}.purchase-plan[data-selected] .purchase-plan-number{color:var(--amber);background:#e8b33a08;border-color:#e8b33a6b}.purchase-plan[data-owned] .purchase-plan-number{border-color:color-mix(in srgb, var(--green) 38%, transparent);color:var(--green)}.purchase-plan-name{gap:3px;min-width:0;display:grid}.purchase-plan-name strong{font:500 16px/1.08 var(--font-display), Georgia, serif;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.purchase-plan-name small{color:#777168;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2;overflow:hidden}.purchase-plan-price{color:#aaa398;font-variant-numeric:tabular-nums;font-size:10px;display:block}.purchase-plan[data-owned] .purchase-plan-price{color:var(--green)}.purchase-focus{grid-template-columns:minmax(230px,1fr) minmax(290px,1.05fr);min-width:0;animation:.36s cubic-bezier(.16,1,.3,1) both purchase-focus-in;display:grid}.purchase-focus-art{isolation:isolate;perspective:700px;place-items:center;min-height:100%;display:grid;position:relative;overflow:hidden}.purchase-focus-art:before{content:"";z-index:-2;background:linear-gradient(142deg,#ffffff0a,#ffffff02 38%,#7197b506 72%,#e8b33a07);border-radius:38px;position:absolute;inset:10% 7% 12%;box-shadow:inset 0 1px #ffffff0a,inset 0 -24px 54px #00000026,0 30px 70px -50px #000000fa}.purchase-focus-art:after{content:"";z-index:-1;filter:blur(8px);background:radial-gradient(#e8b33a1a,#0000 70%);border-radius:50%;height:16px;position:absolute;bottom:20%;left:20%;right:20%;transform:scaleX(.8)}.purchase-focus-art .product-mark{width:176px;height:176px;transform-style:preserve-3d;animation:5.4s ease-in-out infinite alternate purchase-object-float}.purchase-focus-art .product-mark:before{display:none}.purchase-focus-art .product-mark img{filter:drop-shadow(0 22px 18px #0000006b)drop-shadow(0 0 26px #e8b33a12)}.purchase-focus-copy{flex-direction:column;min-width:0;padding:clamp(34px,4vw,48px) clamp(8px,2vw,24px) clamp(34px,4vw,48px) clamp(22px,3.2vw,40px);display:flex}.purchase-focus-copy h3{font:500 clamp(38px, 4vw, 52px)/.96 var(--font-display), Georgia, serif;letter-spacing:-.048em;margin:0}.purchase-focus-copy>p{color:#aca59a;max-width:34ch;margin:11px 0 0;font-size:13px;line-height:1.55}.purchase-focus-includes{color:#8f897f;border:0;flex-wrap:wrap;gap:7px 18px;margin:20px 0 0;padding:0;font-size:10px;line-height:1.4;list-style:none;display:flex}.purchase-focus-includes li{align-items:center;gap:7px;display:flex}.purchase-focus-includes i{background:color-mix(in srgb, var(--green) 72%, transparent);border-radius:50%;flex:none;width:3px;height:3px}.purchase-focus-action{gap:16px;margin-top:auto;padding-top:28px;display:grid}.purchase-focus-price{gap:4px;display:grid}.purchase-focus-price strong{color:var(--text);font:500 42px/.95 var(--font-display), Georgia, serif;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.purchase-focus[data-best] .purchase-focus-price strong{color:#e8dec9}.purchase-pay{color:#171512;letter-spacing:-.01em;background:linear-gradient(#f3efe7,#ded8cd);border:1px solid #ffffff57;border-radius:14px;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding-inline:18px 14px;font-size:14px;font-weight:450;display:flex;box-shadow:0 14px 30px -20px #000000eb,inset 0 1px #ffffffb8}.purchase-pay:hover:not(:disabled){background:linear-gradient(#faf6ee,#e5dfd4);transform:translateY(-1px);box-shadow:0 17px 34px -20px #000000f5,inset 0 1px #ffffffd1}.purchase-pay>span{color:#5a5143;border:1px solid #17151224;border-radius:50%;place-items:center;width:26px;height:26px;margin-left:14px;font-size:12px;display:grid}.purchase-note{color:#aaa397;margin:10px 0 0;font-size:11px;line-height:1.5}.purchase-footnote{color:#777168;margin:10px 0 0;font-size:9px;line-height:1.45}.purchase-credits-link{color:inherit;text-underline-offset:2px}.purchase-credits-link:focus-visible{outline:1px solid var(--amber);outline-offset:2px}.purchase-state{align-content:center;justify-items:start;gap:12px;min-height:230px;display:grid}.purchase-state h2{letter-spacing:-.045em;max-width:650px;margin:0;font-size:clamp(32px,5vw,56px);line-height:.98}.purchase-state p{color:#b2ab9f;max-width:48ch;margin:0;font-size:14px;line-height:1.55}.purchase-state .auth-primary,.purchase-state .auth-secondary{width:min(280px,100%);margin-top:8px}.purchase-pulse{background:var(--amber);transform-origin:0;width:52px;height:1px;animation:1.2s ease-in-out infinite purchase-pulse}.purchase-success{min-height:min(540px, calc(var(--visual-vh,100dvh) - 150px));grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);grid-template-areas:"visual copy""visual actions";align-items:center;gap:12px 42px;display:grid;position:relative;overflow:hidden}.purchase-celebration{isolation:isolate;grid-area:visual;place-items:center;min-height:350px;display:grid;position:relative}.purchase-celebration .product-mark{width:174px;height:174px;animation:.72s cubic-bezier(.16,1,.3,1) .12s both purchase-art-in}.purchase-celebration .product-mark:before{border-radius:42px;inset:13px}.purchase-celebration-glow{z-index:-2;filter:blur(8px);background:radial-gradient(circle,#e8b33a30,#7197b512 48%,#0000 72%);border-radius:50%;width:230px;height:230px;animation:1s ease-out both purchase-glow-in;position:absolute}.purchase-particles{z-index:-1;position:absolute;inset:5%}.purchase-particles i{--particle-angle:calc(var(--particle-index) * 22.5deg);background:var(--amber);opacity:0;width:5px;height:9px;transform:rotate(var(--particle-angle)) translateY(-42px);animation:purchase-particle .85s calc(var(--particle-index) * 22ms) both cubic-bezier(.16, .8, .25, 1);border-radius:5px;position:absolute;top:50%;left:50%}.purchase-particles i:nth-child(3n){background:var(--blue);width:4px;height:4px}.purchase-particles i:nth-child(4n){background:var(--green)}.purchase-particles i:first-child{--particle-index:0}.purchase-particles i:nth-child(2){--particle-index:1}.purchase-particles i:nth-child(3){--particle-index:2}.purchase-particles i:nth-child(4){--particle-index:3}.purchase-particles i:nth-child(5){--particle-index:4}.purchase-particles i:nth-child(6){--particle-index:5}.purchase-particles i:nth-child(7){--particle-index:6}.purchase-particles i:nth-child(8){--particle-index:7}.purchase-particles i:nth-child(9){--particle-index:8}.purchase-particles i:nth-child(10){--particle-index:9}.purchase-particles i:nth-child(11){--particle-index:10}.purchase-particles i:nth-child(12){--particle-index:11}.purchase-particles i:nth-child(13){--particle-index:12}.purchase-particles i:nth-child(14){--particle-index:13}.purchase-particles i:nth-child(15){--particle-index:14}.purchase-particles i:nth-child(16){--particle-index:15}.purchase-success-copy{grid-area:copy;align-self:end;animation:.46s cubic-bezier(.16,1,.3,1) .18s both purchase-copy-in}.purchase-success-copy h2{letter-spacing:-.05em;max-width:610px;margin:0;font-size:clamp(42px,6vw,70px);line-height:.94}.purchase-success-copy h2:focus{outline:0}.purchase-success-copy p{color:#b8b1a5;max-width:45ch;margin:15px 0 0;font-size:14px;line-height:1.55}.purchase-success-actions{grid-area:actions;align-self:start;align-items:center;gap:10px;animation:.46s cubic-bezier(.16,1,.3,1) .26s both purchase-copy-in;display:flex}.purchase-success-actions .auth-primary{width:auto;min-width:210px}.purchase-success-actions .auth-quiet{min-height:44px;padding-inline:12px}.purchase-walkthrough{grid-template-rows:auto 1fr auto;grid-template-areas:"progress progress""visual copy""actions actions"}.purchase-guide-progress{grid-area:progress;align-self:start;gap:7px;width:100%;display:flex}.purchase-guide-progress i{transform-origin:0;background:#3a352e;flex:1;max-width:68px;height:2px;transition:background-color .18s,transform .18s}.purchase-guide-progress i[data-complete]{background:var(--green)}.purchase-guide-progress i[data-current]{background:var(--amber)}.purchase-guide-visual{grid-area:visual;place-items:center;min-height:320px;animation:.44s cubic-bezier(.16,1,.3,1) both purchase-guide-in;display:grid}.purchase-guide-product .product-mark{width:160px;height:160px}.purchase-path-visual{align-items:center;gap:10px;width:min(360px,100%);display:flex;position:relative}.purchase-path-visual:before{content:"";background:linear-gradient(90deg, var(--blue), var(--amber));transform-origin:0;height:1px;animation:.62s cubic-bezier(.16,1,.3,1) .1s both purchase-path-open;position:absolute;left:18px;right:18px}.purchase-path-visual>i{z-index:1;background:var(--base);width:38px;max-width:38px;height:38px;color:var(--amber);animation:purchase-node-in .36s calc(80ms + var(--node-index,0) * 55ms) both cubic-bezier(.16, 1, .3, 1);border:1px solid #554b39;border-radius:50%;flex:1;place-items:center;font-style:normal;display:grid;position:relative}.purchase-path-visual>i:first-child{--node-index:0}.purchase-path-visual>i:nth-child(2){--node-index:1}.purchase-path-visual>i:nth-child(3){--node-index:2}.purchase-path-visual>i:nth-child(4){--node-index:3}.purchase-path-visual>i:nth-child(5){--node-index:4}.purchase-path-visual>i:nth-child(6){--node-index:5}.purchase-path-visual>i:nth-child(7){--node-index:6}.purchase-path-visual span{font-size:10px}.purchase-progress-visual{justify-items:center;gap:15px;width:min(340px,100%);display:grid}.purchase-progress-visual>span{background:#37322c;width:100%;height:2px;display:block;position:relative}.purchase-progress-visual>span>i{background:linear-gradient(90deg, var(--blue), var(--amber));transform-origin:0;width:78%;height:100%;animation:.65s cubic-bezier(.16,1,.3,1) both purchase-path-open;display:block}.purchase-progress-visual>em{color:#b6afa3;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-style:normal}.purchase-progress-visual>b{border:1px solid color-mix(in srgb, var(--green) 60%, transparent);width:44px;height:44px;color:var(--green);border-radius:50%;place-items:center;font-weight:500;display:grid}.purchase-account-visual{background:#ffffff05;border:1px solid #3c3831;border-radius:16px;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;width:min(330px,100%);padding:18px;display:grid}.purchase-account-visual>span{width:52px;height:52px;color:var(--text);font:500 21px/1 var(--font-display);border:1px solid #514a3e;border-radius:50%;place-items:center;display:grid}.purchase-account-visual>div{gap:7px;display:grid}.purchase-account-visual>div i{background:#464039;width:94px;height:2px;display:block}.purchase-account-visual>div i:nth-child(2){background:var(--blue);width:70px}.purchase-account-visual>b{color:var(--green);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:500}.purchase-guide-actions{border-top:1px solid var(--line);grid-area:actions;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.purchase-guide-actions>div{align-items:center;gap:8px;display:flex}.purchase-guide-actions .auth-primary,.purchase-guide-actions .auth-secondary{width:auto;min-width:150px}.purchase-guide-actions .auth-quiet{min-height:44px}@keyframes purchase-focus-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes purchase-object-float{0%{transform:translate(-2px,3px)rotateY(-2deg)}to{transform:translate3d(3px,-4px,10px)rotateY(2deg)}}@keyframes purchase-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes purchase-pulse{0%,to{opacity:.45;transform:scaleX(.2)}50%{opacity:1;transform:scaleX(1)}}@keyframes purchase-art-in{0%{opacity:0;transform:translateY(18px)scale(.84)rotate(-3deg)}to{opacity:1;transform:none}}@keyframes purchase-glow-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}@keyframes purchase-copy-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes purchase-particle{0%{opacity:0;transform:rotate(var(--particle-angle)) translateY(-38px) scale(.5)}24%{opacity:1}to{opacity:0;transform:rotate(var(--particle-angle)) translateY(-148px) rotate(150deg)}}@keyframes purchase-guide-in{0%{opacity:0;transform:translate(-12px)scale(.98)}to{opacity:1;transform:none}}@keyframes purchase-path-open{0%{opacity:.2;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes purchase-node-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.editorial-map .level-number[data-paywalled]{border-bottom-style:dashed}.editorial-map .level-number[data-paywalled][data-state=current]>span{color:var(--amber)}.access-unlock{flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:10px;display:flex}.access-unlock .access-note{margin:0}.access-unlock .text-control{min-height:44px;color:var(--amber);font-size:14px}.unit-step[data-paywalled]:not(:disabled){color:var(--muted);cursor:pointer}.unit-step[data-paywalled]:not(:disabled)>small,.unit-step[data-paywalled]:not(:disabled)>i{color:var(--amber)}.unit-step[data-paywalled]:not(:disabled):hover{color:var(--text);background-color:#e8b33a07}.unit-unlock{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 18px;margin:22px 0 0;font-size:12px;line-height:1.6;display:flex}.unit-unlock .text-control{min-height:44px;color:var(--amber);font-size:14px}.purchase-gate-actions{flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:18px;display:flex}.cefr-complete-actions .purchase-cta,.purchase-gate-actions .purchase-cta{color:var(--amber)}@media (max-width:900px){.purchase-card{padding:26px 22px 23px}.purchase-heading h2{font-size:clamp(36px,6vw,50px)}.purchase-studio{grid-template-columns:minmax(190px,.6fr) minmax(0,2fr)}.purchase-plan-rail{padding-right:12px}.purchase-plan{grid-template-columns:26px minmax(0,1fr) auto;gap:8px;padding-inline:9px 5px}.purchase-plan[data-selected]{padding-left:13px}.purchase-plan-number{width:23px;height:23px}.purchase-focus{grid-template-columns:minmax(170px,.72fr) minmax(260px,1.28fr)}.purchase-focus-art .product-mark{width:130px;height:130px}.purchase-focus-copy{padding:26px}.purchase-focus-action{align-items:stretch;gap:13px}.purchase-success{gap:12px 24px}}@media (max-width:700px){.purchase-intro{gap:11px;display:grid}.purchase-studio{min-height:0;display:block}.purchase-plan-rail{border-bottom:1px solid #ffffff0f;border-right:0;padding:13px 0}.purchase-plan-label{display:none}.purchase-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.purchase-card[data-offer-count="2"] .purchase-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-plan{text-align:center;border-bottom:0;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:58px;padding:7px 4px;display:grid}.purchase-plan+.purchase-plan{border-left:1px solid #ffffff0a}.purchase-plan[data-selected]{background:linear-gradient(#e8b33a0d,#0000);padding-left:4px}.purchase-plan:before{width:auto;height:1px;inset:auto 18% -1px;transform:scaleX(.35)}.purchase-plan[data-selected]:before{transform:scaleX(1)}.purchase-plan-number,.purchase-plan-name small{display:none}.purchase-plan-name strong{max-width:100%;font-size:14px}.purchase-plan-price{font-size:9px;display:block}.purchase-focus{grid-template-columns:1fr}.purchase-focus-art{border:0;min-height:158px}.purchase-focus-art:before{border-radius:28px;inset:12px 20%}.purchase-focus-art:after{height:12px;bottom:16%;left:34%;right:34%}.purchase-focus-art .product-mark{width:112px;height:112px}.purchase-focus-copy{padding:21px 19px 18px}.purchase-focus-copy h3{font-size:clamp(32px,9vw,42px)}.purchase-focus-includes{gap:6px 14px;margin-top:14px;display:flex}.purchase-focus-action{grid-template-columns:1fr;gap:12px;padding-top:18px}.purchase-focus-price strong{font-size:30px}.purchase-success,.purchase-walkthrough{grid-template:"progress""visual""copy""actions"/1fr;gap:13px;min-height:0;overflow:visible}.purchase-success:not(.purchase-walkthrough){grid-template-rows:auto auto auto;grid-template-areas:"visual""copy""actions"}.purchase-celebration,.purchase-guide-visual{min-height:230px}.purchase-celebration .product-mark,.purchase-guide-product .product-mark{width:132px;height:132px}.purchase-success-copy{align-self:auto}.purchase-success-copy h2{font-size:clamp(38px,10vw,54px)}}@media (max-width:520px){.purchase-scrim{padding:max(8px, env(safe-area-inset-top,0px)) 0 0;align-items:end}.purchase-card{max-height:calc(var(--visual-vh,100dvh) - max(8px, env(safe-area-inset-top,0px)));padding:23px 17px max(20px, calc(env(safe-area-inset-bottom,0px) + 14px));border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0;animation-name:purchase-sheet-in}.purchase-card:before{content:"";background:#595249;border-radius:2px;width:32px;height:2px;margin:-12px auto 13px;display:block}.purchase-card .auth-close{top:9px;right:9px}.purchase-card .auth-rule{margin-bottom:14px}.purchase-intro{margin-bottom:15px}.purchase-heading h2{padding-right:24px;font-size:clamp(34px,10vw,44px)}.purchase-heading p{font-size:12px}.purchase-plan-rail{padding:9px 0}.purchase-focus-art{min-height:138px}.purchase-focus-art .product-mark{width:96px;height:96px}.purchase-focus-copy{padding:17px 15px 16px}.purchase-focus-copy>p{margin-top:7px}.purchase-focus-includes{margin-top:11px;padding-top:0;font-size:10px}.purchase-focus-action{grid-template-columns:1fr;gap:11px;padding-top:15px}.purchase-focus-price{grid-template-columns:auto 1fr;align-items:baseline;gap:8px}.purchase-focus-price small{text-align:right}.purchase-footnote{margin-top:7px}.purchase-state{min-height:52svh}.purchase-state h2{font-size:clamp(36px,11vw,48px)}.purchase-celebration,.purchase-guide-visual{min-height:205px}.purchase-celebration .product-mark,.purchase-guide-product .product-mark{width:114px;height:114px}.purchase-celebration-glow{width:180px;height:180px}.purchase-success-copy p{margin-top:10px;font-size:13px}.purchase-success-actions{grid-template-columns:1fr;width:100%;display:grid}.purchase-success-actions .auth-primary{width:100%}.purchase-guide-actions{align-items:stretch}.purchase-guide-actions,.purchase-guide-actions>div{grid-template-columns:1fr;gap:5px;display:grid}.purchase-guide-actions>div:first-child{order:2}.purchase-guide-actions .auth-primary,.purchase-guide-actions .auth-secondary{width:100%}.purchase-path-visual{justify-content:center;gap:5px}.purchase-path-visual>i{width:32px;height:32px}.purchase-account-visual{grid-template-columns:48px 1fr auto;padding:14px}.purchase-account-visual>span{width:44px;height:44px}@keyframes purchase-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.purchase-card,.purchase-focus,.purchase-focus-art .product-mark,.purchase-pulse,.purchase-celebration .product-mark,.purchase-celebration-glow,.purchase-particles i,.purchase-success-copy,.purchase-success-actions,.purchase-guide-visual,.purchase-path-visual:before,.purchase-path-visual>i,.purchase-progress-visual>span>i{animation:none!important}.purchase-plan,.purchase-guide-progress i{transition:none}}:root[data-reduced-motion] .purchase-card,:root[data-reduced-motion] .purchase-focus,:root[data-reduced-motion] .purchase-focus-art .product-mark,:root[data-reduced-motion] .purchase-pulse,:root[data-reduced-motion] .purchase-celebration .product-mark,:root[data-reduced-motion] .purchase-celebration-glow,:root[data-reduced-motion] .purchase-particles i,:root[data-reduced-motion] .purchase-success-copy,:root[data-reduced-motion] .purchase-success-actions,:root[data-reduced-motion] .purchase-guide-visual,:root[data-reduced-motion] .purchase-path-visual:before,:root[data-reduced-motion] .purchase-path-visual>i,:root[data-reduced-motion] .purchase-progress-visual>span>i{animation:none!important}:root[data-reduced-motion] .purchase-plan,:root[data-reduced-motion] .purchase-guide-progress i{transition:none}
.course-session{width:min(1100px,100%);margin:0 auto}.course-story{max-width:820px;margin:0 0 34px}.course-story h2{color:var(--text);font:600 clamp(19px, 1.8vw, 23px)/1.2 var(--font-display), Arial, sans-serif;letter-spacing:-.02em;margin:0 0 10px}.course-story p{color:var(--muted);margin:0;font-size:clamp(15px,1.3vw,17px);line-height:1.75}.course-story span[data-active]{color:var(--text)}.course-cue{color:var(--text);overflow-wrap:anywhere;margin:0 0 4px;font-size:clamp(18px,1.7vw,22px);line-height:1.5}.course-passage{max-width:900px;color:var(--text);overflow-wrap:anywhere;margin:0 0 6px;font-size:clamp(20px,2vw,25px);line-height:1.6}.course-base{color:var(--amber)}.course-field{width:100%;min-width:0;padding-bottom:10px;position:relative;container-type:inline-size}.course-input-viewport{min-width:0;position:relative;overflow:hidden}.course-input{box-sizing:border-box;width:100%;min-width:0;box-shadow:none;appearance:none;resize:none;color:var(--text);-webkit-text-fill-color:var(--text);caret-color:var(--amber);font-family:var(--font-writing), Arial, sans-serif;letter-spacing:.004em;font-kerning:none;font-variant-ligatures:none;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:16px 0 8px;font-weight:400;line-height:1.2;display:block}.course-character-layer{z-index:0;pointer-events:none;box-sizing:border-box;width:max-content;min-width:0;color:var(--text);white-space:pre;font-family:var(--font-writing), Arial, sans-serif;letter-spacing:.004em;font-kerning:none;font-variant-ligatures:none;margin:0;padding:16px 0 8px;font-weight:400;line-height:1.2;position:absolute;inset:0 auto auto 0}.course-native-input{z-index:1;color:#0000;-webkit-text-fill-color:transparent;position:relative}.course-native-input::selection{color:#0000;-webkit-text-fill-color:transparent;background:#e8b33a40}.course-field[data-kind=text] .course-character-layer{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;width:100%}.course-field[data-kind=word] .course-character-layer{font-size:min(clamp(44px, 7vw, 96px), var(--fitted-answer,100%))}.course-field[data-kind=word][data-size=small] .course-character-layer{font-size:min(clamp(30px, 4.2vw, 52px), var(--fitted-answer,100%))}.course-field[data-kind=text] .course-character-layer{font-size:clamp(22px,2.6vw,32px);line-height:1.45}.course-input::selection{background:#e8b33a40}.course-input:read-only{caret-color:#0000}.course-field[data-kind=word] .course-input{white-space:nowrap;font-size:min(clamp(44px, 7vw, 96px), var(--fitted-answer,100%));transition:font-size .12s ease-out;overflow:hidden}.course-field[data-kind=word][data-size=small] .course-input{font-size:min(clamp(30px, 4.2vw, 52px), var(--fitted-answer,100%))}.course-field[data-kind=text] .course-input{overflow-wrap:anywhere;font-size:clamp(22px,2.6vw,32px);line-height:1.45;overflow:hidden}.course-line{background:var(--line);height:2px;position:absolute;bottom:0;left:0;right:0}.course-line:after{content:"";background:var(--amber);transform-origin:0;transition:transform .26s cubic-bezier(.2,.85,.3,1),background-color .2s;position:absolute;inset:0;transform:scaleX(0)}.course-field:focus-within .course-line:after{transform:scaleX(1)}.course-field:focus-within .course-line{box-shadow:0 1px 12px -3px #e8b33a4d}.course-question[data-phase=correct] .course-field:not([data-size=small]) .course-line:after{background:var(--green);transform:scaleX(1)}.course-question[data-phase=wrong] .course-field:not([data-size=small]) .course-input{color:var(--muted);-webkit-text-fill-color:var(--muted)}.quiet-control{color:#797469;font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:5px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;line-height:40px}.quiet-control:hover{color:var(--text);-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber)}.quiet-control:focus-visible{outline:1px solid var(--amber);outline-offset:4px}.course-options{flex-wrap:wrap;gap:10px 12px;margin:0 0 18px;display:flex}.course-option{border:1px solid var(--line);min-height:48px;color:var(--text);cursor:pointer;font:400 clamp(21px, 2.3vw, 28px)/1.2 var(--font-writing), Arial, sans-serif;letter-spacing:.004em;background:0 0;border-radius:999px;padding:8px 18px 10px;transition:border-color .18s,color .18s,transform .2s cubic-bezier(.15,1.4,.3,1)}.course-option:hover:not(:disabled){border-color:var(--amber);transform:translateY(-2px)}.course-option[aria-checked=true]{border-color:var(--amber);color:var(--amber)}.course-option:disabled{cursor:default}.course-option:disabled:not([aria-checked=true]){opacity:.55}.course-option:focus-visible{outline:1px solid var(--amber);outline-offset:4px}.course-question[data-phase=wrong] .answer-understory{display:none}.course-correction{border-top:1px solid var(--line);max-width:720px;margin-top:18px;padding-top:20px;scroll-margin-bottom:24px;animation:.3s both element-assemble}.course-correction .checkpoint-answer{font-family:var(--font-writing), Arial, sans-serif;overflow-wrap:anywhere;margin:0}.course-attempt{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 14px;font-size:15px;line-height:1.6}.course-attempt s{color:var(--text);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-decoration-thickness:2px}.course-attempt-word [data-mark=same]{color:var(--muted)}.course-attempt-word [data-mark=wrong]{color:var(--text);text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-decoration-thickness:2px}.course-attempt-word [data-mark=extra]{color:var(--text);text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);opacity:.8;text-decoration-thickness:2px}.course-retype{gap:6px;display:grid}.course-retype .quiet-instruction{line-height:1.6}.course-retype .continue-control{justify-self:start;margin-top:10px}.course-failed{color:var(--text);margin-top:18px}.course-failed p{margin:0 0 6px}.course-exit{color:var(--muted);margin-top:44px;font-size:14px}.course-accuracy{color:var(--amber);font:600 clamp(48px, 7vw, 88px)/1 var(--font-display), Arial, sans-serif;letter-spacing:-.04em;margin:18px 0 6px}.course-summary .exercise-actions{flex-wrap:wrap;gap:8px 22px;margin-top:28px}.session-progress .course-moment{color:var(--green);font:500 13px/1.3 var(--font-display), Georgia, serif;letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;animation:course-moment-life var(--linger,2.4s) linear both;margin:0;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.session-progress .course-moment[data-event=word_mastered]{color:var(--amber)}.session-progress .course-moment[data-level="2"]{color:var(--text)}@keyframes course-moment-life{0%{opacity:0;transform:translateY(4px)}8%{opacity:1;transform:none}82%{opacity:1}to{opacity:0}}.course-opening{color:var(--muted);animation:element-assemble .4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) both;margin:0 0 18px;font-size:14px;line-height:1.5}.course-opening[data-kind=returning]{color:var(--text)}.course-retest-cue{color:var(--amber);letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px;font-size:11px}.course-retest-cue span{color:var(--muted);letter-spacing:.02em;text-transform:none;font-size:13px}.course-retest-cue[data-cue=earlier]{color:#c9a24f}.course-correction-kicker{color:var(--muted);margin:0 0 6px;font-size:13px}.course-comes-back{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.5}.course-gains{gap:10px;margin:22px 0 4px;padding:0;list-style:none;display:grid}.course-gains li{color:var(--text);animation:element-assemble .4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) calc(.18s + var(--gain-index,0) * 80ms) both;gap:3px;font-size:clamp(16px,1.4vw,18px);line-height:1.45;display:grid}.course-gains li[data-gain=mastered]>span:first-child{color:var(--amber)}.course-gains li[data-gain=fixed]>span:first-child{color:var(--green)}.course-gains li[data-gain=best]>span:first-child{color:var(--text)}.course-summary[data-ritual] .closing-rule{transform-origin:0;animation:rule-unfold .5s var(--ease-settle,cubic-bezier(.16,1,.3,1)) both}.course-summary[data-ritual]>h1{animation:element-assemble .42s var(--ease-settle,cubic-bezier(.16,1,.3,1)) var(--breath,.2s) both}.course-summary[data-ritual]>p:not(.course-accuracy):not(.course-promise){animation:element-assemble .4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) calc(var(--breath,.2s) + 80ms) both}.course-summary[data-ritual] .course-gains li{animation-delay:calc(var(--breath,.2s) + .16s + var(--gain-index,0) * var(--stagger,90ms))}.course-summary[data-ritual] .course-accuracy{animation:element-assemble .4s var(--ease-settle,cubic-bezier(.16,1,.3,1)) calc(var(--breath,.2s) + .16s + var(--gains,0) * var(--stagger,90ms)) both}.course-summary[data-ritual] .exercise-actions{animation:element-assemble .36s var(--ease-settle,cubic-bezier(.16,1,.3,1)) calc(var(--breath,.2s) + .24s + var(--gains,0) * var(--stagger,90ms)) both}.course-promise{color:#6f6a61;margin:18px 0 0;font-size:13px}.course-focus{color:var(--muted)}.course-gain-words{color:var(--muted);font-family:var(--font-writing), Arial, sans-serif;overflow-wrap:anywhere;font-size:15px}.course-controls{flex-wrap:wrap;align-items:baseline;gap:4px 22px;margin-top:44px;display:flex}.course-controls .course-exit{margin-top:0}.course-controls .course-sensory{color:var(--muted);font-size:14px}.course-sound{color:var(--muted);font-size:13px}@media (max-width:700px){.course-session{padding-top:50px}.course-session:not([data-question-type=story_gap]) .course-story{display:none}.course-story{margin-bottom:22px}.course-story p{line-height:1.65}.course-field[data-kind=text] :is(.course-input,.course-character-layer){font-size:22px}.course-options{gap:8px}.course-option{min-height:44px;padding:7px 14px 9px;font-size:20px}.course-exit{margin-top:0}.course-controls{margin-top:28px}.session-progress .course-moment{font-size:12px;top:calc(100% + 4px)}}:root[data-reduced-motion] .course-field[data-kind=word] .course-input,:root[data-reduced-motion] .course-line:after,:root[data-reduced-motion] .course-option{transition:none}:root[data-reduced-motion] .course-correction{animation:none}:root[data-reduced-motion] .course-question[data-gesture] .course-line:before{display:none}:root[data-reduced-motion] .course-question[data-gesture] .course-input{animation:none!important;transform:none!important}:root[data-reduced-motion] .session-progress .course-moment,:root[data-reduced-motion] .course-gains li{animation:none!important}:root[data-reduced-motion] .course-question[data-gesture] .course-input{letter-spacing:.004em!important}:root[data-reduced-motion] .diff-letter[data-mark=fix],:root[data-reduced-motion] .diff-letter[data-mark=fix]:after{animation:none!important;transform:none!important}
:root{--stage-height:var(--visual-vh,100dvh);--stage-inline-padding:clamp(16px, 4vw, 64px);--stage-block-padding:clamp(8px, calc(var(--stage-height) * .02), 24px);--section-gap:clamp(8px, calc(var(--stage-height) * .017), 22px);--question-max-width:820px;--prompt-scale:clamp(24px, min(3vw, calc(var(--stage-height) * .044)), 42px);--answer-scale:clamp(38px, min(7vw, calc(var(--stage-height) * .09)), 78px);--feedback-scale:clamp(18px, calc(var(--stage-height) * .026), 30px);--control-scale:clamp(16px, 2dvh, 19px);--type-caption:.875rem;--type-body:clamp(16px, 1.6vw, 19px);--type-support:clamp(15px, 1.4vw, 17px);--type-completion:clamp(32px, min(5vw, 7dvh), 64px)}.practice-page[data-learning-stage]{height:var(--stage-height);overscroll-behavior:contain;min-height:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:max(8px, env(safe-area-inset-bottom,0px));flex-direction:column;display:flex;overflow:hidden auto}.practice-page[data-learning-stage] .masthead{margin-inline:var(--stage-inline-padding);flex:none;min-height:52px;padding:6px 0}.practice-page[data-learning-stage] .wordmark{height:44px;margin-block:0;font-size:25px}.practice-page[data-learning-stage] .brand-mark{width:28px;height:28px}.practice-page[data-learning-stage] :is(.practice-main,.practice-main:has(*)){width:100%;max-width:1280px;min-height:0;padding:0 var(--stage-inline-padding) var(--stage-block-padding);gap:var(--section-gap);flex-direction:column;flex:1 0 auto;margin:0 auto;display:flex}.practice-page[data-learning-stage] .learning-nav{flex:none;gap:12px;min-height:48px;margin:0;position:relative;inset:auto}.practice-page[data-learning-stage] .learning-nav:empty{display:none}.practice-page[data-learning-stage] .streak-today{opacity:.48;gap:0}.practice-page[data-learning-stage] .streak-today-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.practice-page[data-learning-stage] .streak-today-track{width:28px}.practice-page[data-learning-stage] .session-progress{width:min(100%,460px);margin:0 auto;position:relative;inset:auto;transform:none}.practice-page[data-learning-stage] .progress-count{overflow:hidden}.practice-page[data-learning-stage] .progress-count-current{animation:progress-count-step var(--motion-fast) var(--easing-settle) both;display:inline-block}.practice-page[data-learning-stage] .progress-track{margin-top:8px}.practice-page[data-learning-stage] .progress-proximity{margin-top:2px}.practice-page[data-learning-stage] .progress-finished,.practice-page[data-learning-stage] .progress-current{transition:transform var(--motion-normal) var(--easing-settle), background-color var(--motion-fast)}.motion-stage{width:100%;min-width:0;min-height:0;max-width:var(--question-max-width);margin:auto}.motion-stage.course-session{justify-content:center;gap:var(--section-gap);flex-direction:column;flex:1 0 auto;padding:0;display:flex}.practice-page[data-learning-stage] .cefr-session{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex}.cefr-session>.motion-stage,.practice-main>.motion-stage:not(.course-session):not(.session-closing){flex:1;align-items:center;display:flex}.motion-stage .exercise-shell{width:100%;min-height:0;max-height:100%}.motion-stage .exercise-heading{text-align:center;width:min(100%,660px);max-width:none;margin-inline:auto;padding:0}.motion-stage .exercise-heading h1{font-size:var(--prompt-scale);text-wrap:balance;line-height:1.12}.motion-stage .exercise-heading p{font-size:var(--type-support);max-width:48ch;margin:8px auto 0;line-height:1.4}.motion-stage .heading-anchor{margin-bottom:10px}.motion-stage .word-timer{margin-bottom:8px}.motion-stage .type-word:not(.story-item){gap:var(--section-gap);flex-direction:column;width:min(100%,760px);margin-inline:auto;display:flex}.motion-stage .interaction-group{flex-direction:column;gap:8px;width:100%;padding-top:0;display:flex}.motion-stage .interaction-group:after{display:none}.motion-stage .interaction-group>.audio-area{align-items:center;gap:10px;min-height:44px;padding:0;display:flex}.motion-stage .audio-control{flex-direction:row;gap:9px;width:auto;min-height:44px}.motion-stage .sound-object{width:42px;height:42px}.motion-stage .replay-hint{opacity:0;transition:opacity var(--motion-fast), transform var(--motion-fast) var(--easing-settle);margin:0;transform:translateY(2px)}.motion-stage .audio-area:is(:focus-within,.is-playing) .replay-hint,.motion-stage .replay-hint[data-replay-slow]{opacity:.72;transform:none}.motion-stage .audio-error{width:auto;max-width:100%;font-size:var(--type-caption);margin:4px 0}.motion-stage .interaction-workspace{width:min(100%,720px);min-width:0;margin-inline:auto}.motion-stage .answer-workbench{width:min(100%,680px);margin-inline:auto}.motion-stage .sentence-item .answer-workbench,.motion-stage .context-item .answer-workbench{width:min(100%,720px)}.motion-stage .answer-understory{min-height:48px;margin-top:var(--section-gap);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px}.motion-stage .feedback-cue{text-align:center;justify-content:center}.motion-stage .exercise-actions{justify-content:center}.motion-stage .answer-understory .exercise-actions{margin-bottom:0}.motion-stage .quiet-instruction{line-height:1.5;font-size:var(--type-caption)}.motion-stage .feedback-cue{align-content:center;min-height:38px}.motion-stage .answer-field{--answer-ceiling:76;--answer-floor:24}.motion-stage .context-item .answer-field[data-category=word] .answer-typography,.motion-stage :is(.type-word:not(.context-item) .answer-workbench,.checkpoint-form,.judge-production) .answer-field[data-category=word] .answer-typography{font-size:var(--fitted-answer,var(--answer-scale))}.motion-stage .answer-field[data-category=word]:not([data-locked]) .answer-viewport{min-height:calc(var(--answer-scale) * 1.3 + 14px)}.motion-stage .answer-field[data-control=textarea] .answer-typography{font-size:clamp(22px,2.4vw,30px);line-height:1.45}.motion-stage .course-field{--answer-ceiling:76;--answer-floor:24}.motion-stage .course-field[data-size=small]{--answer-ceiling:38}.motion-stage .course-field[data-kind=word] :is(.course-input,.course-character-layer){font-size:var(--fitted-answer,var(--answer-scale));min-height:calc(var(--answer-scale) * 1.2 + 18px);transition:none}.motion-stage .course-field[data-kind=text] :is(.course-input,.course-character-layer){font-size:clamp(22px,2.4vw,30px);line-height:1.35}.motion-stage :is(.course-input,.course-character-layer){padding:8px 0 4px}.motion-stage .course-question{gap:var(--section-gap);flex-direction:column;width:min(100%,760px);min-height:auto;margin-inline:auto;display:flex}.motion-stage .course-question>.interaction-group{flex:1;min-height:0}.motion-stage .course-cue,.motion-stage .course-passage{font-size:var(--type-body);max-width:65ch;margin:0 0 6px;line-height:1.4}.motion-stage .course-story{overscroll-behavior:contain;scrollbar-width:thin;flex:0 auto;max-height:min(24dvh,200px);margin:0;overflow:auto}.motion-stage .course-story p{font-size:var(--type-support);line-height:1.4}.motion-stage .course-story h2{margin-bottom:6px;font-size:18px}.motion-stage .course-options{gap:8px;margin-bottom:8px}.motion-stage .course-option{min-height:44px;padding:6px 12px;font-size:clamp(18px,2vw,25px)}.motion-stage .course-controls{flex-wrap:nowrap;flex:none;align-self:flex-start;align-items:center;gap:20px;min-width:0;margin:0}.motion-stage .course-controls .sensory{min-width:0}.motion-stage .course-sensory{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.motion-stage .course-exit,.motion-stage .course-sensory{font-size:var(--type-caption);white-space:nowrap;min-height:44px;margin:0}.motion-stage .course-opening{font-size:var(--type-caption);margin:0;line-height:1.4}.motion-stage .course-retest-cue{margin:0 0 4px}.motion-stage .course-correction-kicker{font-size:var(--type-caption);margin:0 0 4px}.motion-stage .course-comes-back{font-size:var(--type-caption);margin:2px 0 0}.motion-stage .course-correction{max-width:none;animation:stage-enter var(--motion-normal) var(--easing-correction) both;margin:8px 0 0;padding:8px 0 0}.motion-stage .checkpoint-answer{font-size:var(--feedback-scale);line-height:1.3}.motion-stage .course-attempt{font-size:var(--type-caption);margin:4px 0;line-height:1.4}.motion-stage .course-retype{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 14px}.motion-stage .course-retype>label{grid-column:1/-1}.motion-stage .course-retype .course-field{grid-area:2/1}.motion-stage .course-retype .continue-control{grid-area:2/2;margin:0}.motion-stage .retry-resolution{min-height:22px;color:var(--green);font-size:var(--type-caption);grid-column:1/-1;align-items:center;gap:8px;display:flex}.motion-stage .retry-resolution .success-glyph{width:18px;height:18px}.motion-stage .course-field[data-size=small] :is(.course-input,.course-character-layer){min-height:48px}.motion-stage .course-question[data-phase=wrong]>.interaction-group>.interaction-workspace>.answer-workbench{display:none}.motion-stage .course-question[data-phase=wrong] .course-cue{color:var(--muted)}.motion-stage .course-correction[data-retry-ready] .course-line:after{background:var(--green)}.motion-stage .interaction-workspace,.motion-stage .course-correction{flex-direction:column;min-height:0;display:flex}.motion-stage .correction-reading{overscroll-behavior:contain;scrollbar-width:thin;flex:0 auto;max-height:min(22dvh,180px);overflow:auto}.motion-stage .course-retype{flex:none}.motion-stage .correction-word{white-space:nowrap}.motion-stage .correction-word [data-change]{text-decoration:underline;-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber);text-underline-offset:.2em;animation:stage-fade var(--motion-normal) both}.motion-stage .course-retype[data-multiline=true] .course-field{grid-column:1/-1}.motion-stage .course-retype[data-multiline=true] .continue-control{grid-row:3}.motion-stage .course-retype[data-multiline=true] .retry-resolution{grid-area:3/1}.motion-stage .course-field[data-kind=text] textarea{max-height:min(24dvh,180px);overflow-y:auto}.motion-stage .text-control{min-height:44px;font-size:var(--control-scale);transition:color var(--motion-fast), transform var(--motion-fast) var(--easing-settle)}.motion-stage .continue-control{min-width:110px;animation:stage-fade var(--motion-fast) both;padding:8px 4px}.motion-stage .check-control{justify-content:flex-end;min-width:100px}.motion-stage .quiet-control{min-height:44px;line-height:1.4}.motion-stage :is(button,.prose-word):active:not(:disabled),.motion-stage .audio-control:active:not(:disabled) .sound-object{transform:scale(var(--scale-press))}.motion-stage :is(button,.prose-word):focus-visible{outline:2px solid var(--amber);outline-offset:3px}.motion-stage :is(.course-option,.text-control):hover:not(:disabled){transform:translateY(-1px)}.motion-stage .review-cue{font-size:var(--type-caption);margin:0}.motion-stage [data-phase=correct] :is(.glyph-confirm,.glyph-flare){display:none}.motion-stage [data-phase=correct] .rule-reactor{animation:none}.motion-stage [data-phase=correct]:not([data-gesture=repair]):not([data-gesture=seal]):not([data-gesture=settle-deep]):not([data-gesture=none]) .answer-viewport,.motion-stage [data-phase=correct]:not([data-gesture=repair]):not([data-gesture=seal]):not([data-gesture=settle-deep]):not([data-gesture=none]) .course-field{animation:word-resolve var(--gesture-duration,var(--motion-normal)) var(--easing-success) var(--gesture-delay,0s) both}.motion-stage .course-question[data-gesture=resolve] .course-line:before{content:"";z-index:1;opacity:0;width:14%;animation:course-resolve var(--gesture-duration,var(--motion-normal)) ease-out var(--gesture-delay,0s) both;background:linear-gradient(90deg,#0000,#f4e7c4aa);position:absolute;top:-1px;bottom:-1px;right:0}.motion-stage .course-question:is([data-gesture=lift],[data-gesture=repair],[data-gesture=seal]) .course-line:before,.motion-stage .answer-workbench:is([data-gesture=lift],[data-gesture=repair],[data-gesture=seal]) .writing-line:before{content:"";z-index:1;opacity:0;width:20%;animation:course-glint var(--gesture-duration,var(--motion-meaningful)) var(--easing-settle) var(--gesture-delay,0s) both;background:linear-gradient(90deg,#0000,#f4e7c4,#0000);position:absolute;top:-1px;bottom:-1px;left:0}.motion-stage .course-question:is([data-gesture=repair],[data-gesture=seal]) .course-field:not([data-size=small]) .course-input-viewport,.motion-stage .answer-workbench:is([data-gesture=repair],[data-gesture=seal]) .answer-typography{animation:course-lift var(--gesture-duration,var(--motion-meaningful)) var(--easing-settle) var(--gesture-delay,0s) both}.motion-stage .course-question[data-gesture=repair] .course-line:after{transform-origin:50%;animation:course-draw var(--motion-normal) ease-out var(--gesture-delay,0s) both}.motion-stage .course-question[data-gesture=seal] .course-field:not([data-size=small]) .course-line:after{background:var(--amber)}.motion-stage .course-question[data-gesture=seal] .course-field:not([data-size=small]) .course-input-viewport{letter-spacing:.03em;transition:letter-spacing var(--motion-completion) var(--easing-settle)}.motion-stage .course-question[data-gesture=settle-deep] .course-field:not([data-size=small]) .course-line:after{background:var(--amber)}.motion-stage .course-question[data-gesture=seal] .course-phrase{color:var(--amber)}.motion-stage .course-question[data-phase=sending] .course-input-viewport{opacity:.8;transition:opacity 80ms linear}.motion-stage .course-phrase{animation:stage-fade var(--motion-fast) var(--easing-settle) var(--copy-delay,0s) both;margin-left:12px}@keyframes course-resolve{0%{opacity:0}35%{opacity:.8}to{opacity:0}}@keyframes course-glint{0%{opacity:0;transform:translate(-10%)}30%{opacity:.9}to{opacity:0;transform:translate(440%)}}@keyframes course-lift{0%{transform:none}45%{transform:translateY(-4px)}to{transform:translateY(-2px)}}@keyframes course-draw{0%{transform:scaleX(.2)}to{transform:scaleX(1)}}.motion-stage .course-question[data-motion=entering]{animation:stage-enter var(--motion-fast) var(--easing-enter) both}.motion-stage .course-question[data-motion=exiting]{animation:stage-exit var(--motion-instant) var(--easing-exit) both}.motion-stage .course-question[data-phase=sending] .course-line:after{opacity:.65}.motion-stage [data-shell-state=entering]>section{animation:stage-enter var(--motion-fast) var(--easing-enter) both}.motion-stage [data-shell-state=transitioning]>section{animation:stage-exit var(--motion-instant) var(--easing-exit) both}.motion-stage :is([data-shell-state=entering],[data-shell-state=transitioning]) :is(.exercise-heading,.answer-viewport,.answer-understory,.character-cell,.character-glyph,.rule-reactor,.audio-area,.context-prose,.answer-field){animation:none}.success-glyph{width:24px;height:24px;color:var(--green);flex:none;display:block}.success-glyph path{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:check-draw var(--glyph-stroke,45ms) var(--easing-success,ease-out) var(--gesture-delay,0s) both}.success-glyph .success-long{animation-delay:calc(var(--gesture-delay,0s) + var(--glyph-offset,35ms))}.success-glyph[data-variant=retry]{color:var(--green);width:18px;height:18px}.success-glyph[data-variant=mastery]{color:var(--amber)}.success-glyph:is([data-variant=level],[data-variant=checkpoint]){width:32px;height:32px}.motion-stage.session-closing{overscroll-behavior:contain;max-height:100%;padding:var(--stage-block-padding) 0;animation:stage-enter var(--motion-completion) var(--easing-enter) both;flex:0 auto;overflow:auto}.motion-stage.session-closing h1{font-size:var(--type-completion);text-wrap:balance;margin:12px 0}.motion-stage.session-closing>p{font-size:var(--type-body);margin-block:8px}.motion-stage.session-closing .course-accuracy{font-size:clamp(40px,7dvh,76px)}.motion-stage.session-closing :is(.exercise-actions,.cefr-complete-actions){flex-wrap:wrap;gap:8px 22px;margin-top:16px}.motion-stage.session-closing .closing-rule{background:var(--green);transform-origin:0;width:min(160px,30%);height:1px;animation:line-resolve var(--motion-completion) var(--easing-settle) both;margin-block:8px;display:block}.motion-stage.session-closing[data-outcome=checkpoint-again]{animation:stage-fade var(--motion-normal) both}.motion-stage.session-closing[data-outcome=checkpoint-again] .closing-rule{background:var(--muted);animation:none}.motion-stage .cefr-completion-stats{margin-block:12px}.motion-stage.cefr-complete[data-ritual]>p{animation:stage-fade var(--motion-normal) var(--easing-settle) calc(var(--breath,.42s) + 80ms) both}.motion-stage.cefr-complete[data-ritual] .cefr-completion-stats p{animation:stage-fade var(--motion-normal) var(--easing-settle) calc(var(--breath,.42s) + .16s + var(--stat-index,0) * var(--stagger,90ms)) both}.motion-stage.cefr-complete[data-ritual] :is(.cefr-complete-actions,.cefr-next,.cefr-gate){animation:stage-fade var(--motion-normal) var(--easing-settle) calc(var(--breath,.42s) + .34s) both}.motion-stage .cefr-level-mark{display:none}.motion-stage .cefr-next{margin-top:12px}.motion-stage .context-item .answer-composition{font-size:clamp(22px,2.8vw,34px);line-height:1.55}.motion-stage .context-item .answer-field{--answer-ceiling:34;width:100%;max-width:100%;margin-block:6px;display:block}.motion-stage .focus-prose{font-size:clamp(20px,2.8vw,32px);line-height:1.65}.motion-stage .prose-word{min-height:44px}.motion-stage .story-reading{margin-bottom:var(--section-gap);max-width:65ch;padding:0}.motion-stage .story-context-prose{font-size:var(--type-body);line-height:1.5}.motion-stage .story-task{padding:0}.motion-stage .story-production .story-task .interaction-group{padding-top:0}.motion-stage .story-item{min-height:0}.motion-stage .attempt-reference{color:var(--muted);font-size:var(--type-caption);overflow-wrap:anywhere;max-width:50ch;line-height:1.4;display:block}.practice-page[data-learning-stage] .atmosphere{display:none}.motion-stage .flash-production .interaction-workspace{min-height:calc(var(--answer-scale) * 1.3 + var(--section-gap) + 84px)}.motion-stage .flash-card[data-kind=word] .flash-word{font-size:var(--flash-answer-size,76px)}.motion-stage .flash-card[data-releasing]{animation:stage-exit var(--motion-normal) var(--easing-exit) both}.motion-stage .flash-card[data-releasing] .flash-letter{animation:none}.motion-stage.course-session:has([data-phase=wrong]) .course-story{max-height:clamp(60px,10dvh,120px)}.motion-stage[data-template=proofread]:has([data-phase=wrong]) .course-passage{max-height:calc(var(--stage-height) * .18);overscroll-behavior:contain;overflow:auto}.cefr-session>.motion-stage.teaching-moment{max-height:100%;padding:var(--stage-block-padding) 0;flex:0 auto;display:block;overflow:auto;container-type:inline-size}.motion-stage.teaching-moment .teach-word{font-size:clamp(24px, min(10cqi, calc(94cqi / (var(--visible-letters,8) * .6))), 52px)}.motion-stage.teaching-moment .continue-control{margin-top:var(--section-gap)}.motion-stage.teaching-moment :is(.teach-note,.teach-example){font-size:var(--type-support);margin-block:8px}.motion-stage.teaching-moment .teach-listen{min-height:44px}.motion-stage.session-message{justify-content:center;align-items:flex-start;gap:var(--section-gap);flex-direction:column;display:flex}.motion-stage.level-loading>span{font-size:var(--type-completion)}.motion-stage .recognition-surface{width:100%;margin-top:0;padding-top:0}body .practice-page[data-learning-stage]:has(.exercise-shell[data-keyboard-open=true]){padding-bottom:max(8px, env(safe-area-inset-bottom,0px))}@keyframes stage-enter{0%{opacity:0;transform:translateY(var(--distance-medium))}to{opacity:1;transform:none}}@keyframes stage-exit{to{opacity:0;transform:translateY(calc(-1 * var(--distance-small)))}}@keyframes stage-fade{0%{opacity:0}to{opacity:1}}@keyframes word-resolve{50%{transform:translateY(-2px)}to{transform:none}}@keyframes check-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes line-resolve{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes progress-count-step{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:700px){.motion-stage{--flash-answer-size:48px}.motion-stage .type-word:not(.story-item){gap:var(--section-gap);flex-direction:column;display:flex}.motion-stage .interaction-group{flex-direction:column;gap:8px;width:100%;display:flex}.motion-stage .audio-control{flex-direction:row;gap:10px;width:auto}.motion-stage .sound-object{width:44px;height:44px}.motion-stage .audio-area{align-items:center;gap:8px;display:flex}.motion-stage .course-field,.motion-stage .answer-field{--answer-ceiling:48}.motion-stage .course-field[data-size=small]{--answer-ceiling:30}.motion-stage .course-retype{column-gap:10px}.motion-stage .continue-control{min-width:96px}.motion-stage .course-story{max-height:20dvh}.motion-stage .story-item{flex-direction:column;min-height:0;display:flex}.motion-stage .story-item .story-task{order:-1}.motion-stage .story-item .story-reading{margin-block:8px 0}.motion-stage .story-item .story-invitation{display:none}.motion-stage .story-reading .focus-prose{font-size:18px;line-height:1.55}.motion-stage .story-item .inspection-hint{display:none}.motion-stage .story-mobile-instruction{margin:0 0 6px}.practice-page[data-learning-stage] .feedback-sound-toggle{top:10px;right:var(--stage-inline-padding);min-height:44px;position:absolute}.motion-stage .course-sensory .sensory-summary{display:none}.practice-page[data-learning-stage] .account-corner{top:8px}}@media (max-height:740px){.motion-stage{--flash-answer-size:44px}:root{--stage-block-padding:6px;--section-gap:8px;--prompt-scale:25px;--answer-scale:38px;--feedback-scale:22px}.motion-stage .heading-anchor{display:none}.motion-stage .course-story{max-height:90px}.motion-stage .exercise-heading h1 br{display:none}.motion-stage .exercise-heading h1 br:after{content:" "}.motion-stage .exercise-heading p{margin-top:4px}.motion-stage .course-field,.motion-stage .answer-field{--answer-ceiling:44}.motion-stage .course-field[data-size=small]{--answer-ceiling:28}.motion-stage .answer-understory{margin-top:8px}.motion-stage .course-correction{margin-top:4px;padding-top:4px}.motion-stage .course-story h2{margin-bottom:2px}.motion-stage .course-retype .course-input{padding-top:2px}.motion-stage .quiet-instruction,.motion-stage .course-attempt{font-size:14px}.motion-stage .course-passage{font-size:16px}}:root[data-keyboard-active]{--section-gap:6px;--stage-block-padding:4px;--prompt-scale:24px;--answer-scale:34px}:root[data-keyboard-active] .practice-page[data-learning-stage]{transform:translateY(var(--visual-top,0px))}:root[data-keyboard-active] .practice-page[data-learning-stage] .masthead{visibility:hidden;height:0;min-height:0;padding:0}:root[data-keyboard-active] .practice-page[data-learning-stage] .learning-nav{min-height:34px}:root[data-keyboard-active] .progress-proximity,:root[data-keyboard-active] .session-progress .course-moment,:root[data-keyboard-active] .motion-stage .heading-anchor{display:none}:root[data-keyboard-active] .motion-stage .course-field,:root[data-keyboard-active] .motion-stage .answer-field{--answer-ceiling:34}:root[data-keyboard-active] .motion-stage .course-field[data-size=small]{--answer-ceiling:28}:root[data-keyboard-active] .motion-stage .course-exit{min-height:44px}:root[data-keyboard-active] .motion-stage .course-passage,:root[data-keyboard-active] .motion-stage .course-story{max-height:max(72px, calc(var(--visual-vh,100dvh) * .32));overscroll-behavior:contain;overflow:auto}:root[data-keyboard-active] .motion-stage .correction-reading{max-height:max(84px, calc(var(--visual-vh,100dvh) * .38));overscroll-behavior:contain;overflow:auto}:root[data-keyboard-active] .motion-stage .course-correction{margin-top:2px;padding-top:2px}:root[data-keyboard-active] .motion-stage .course-retype{gap:2px 14px}:root[data-keyboard-active] .motion-stage .retry-resolution{min-height:18px}:root[data-reduced-motion] .practice-page[data-learning-stage] .session-progress *,:root[data-reduced-motion] .motion-stage *,:root[data-reduced-motion] .motion-stage :before,:root[data-reduced-motion] .motion-stage :after{transition:none!important;animation:none!important}:root[data-reduced-motion] .motion-stage :is(button,.prose-word):active:not(:disabled),:root[data-reduced-motion] .motion-stage .audio-control:active:not(:disabled) .sound-object{transform:none}:root[data-reduced-motion] .motion-stage .success-glyph path{stroke-dashoffset:0}:root[data-reduced-motion] .motion-stage .sound-wave i{animation:none}@media (max-height:480px) and (min-width:500px){.practice-page[data-learning-stage] .masthead{display:none}.practice-page[data-learning-stage] .learning-nav{min-height:34px}.practice-page[data-learning-stage] .session-progress{grid-template-columns:1fr auto;align-items:center;gap:0 16px;display:grid}.practice-page[data-learning-stage] .progress-context{text-align:left;grid-area:1/1}.practice-page[data-learning-stage] .progress-count{grid-area:1/2;font-size:22px;line-height:1}.practice-page[data-learning-stage] .progress-track{grid-column:1/-1;margin-top:4px}.practice-page[data-learning-stage] .progress-proximity,.practice-page[data-learning-stage] .session-progress .course-moment{display:none}.practice-page[data-learning-stage]:has(.feedback-sound-toggle) .session-progress{width:min(100% - 160px,460px);margin-inline:0}.practice-page[data-learning-stage] .feedback-sound-toggle{min-height:44px;top:2px}.motion-stage .exercise-heading p{max-width:70ch}.motion-stage[data-template=proofread] .course-passage{max-height:calc(var(--stage-height) * .18);overscroll-behavior:contain;overflow:auto}.motion-stage .course-retype[data-multiline=true] .course-field{grid-area:2/1}.motion-stage .course-retype[data-multiline=true] .continue-control{grid-area:2/2}.motion-stage .course-retype[data-multiline=true] .retry-resolution{grid-area:3/1/auto/-1}.motion-stage .course-field[data-kind=text] textarea{max-height:72px}.motion-stage.course-session{grid-template:"meta work""prompt work""story work"minmax(0,1fr)"exit exit"44px/minmax(140px,.38fr) minmax(0,1fr);align-items:start;gap:4px 20px;display:grid}.motion-stage .course-question{display:contents}.motion-stage .course-question>.exercise-heading{grid-area:prompt}.motion-stage .course-question>.interaction-group{grid-area:work;align-self:center}.motion-stage .course-story{grid-area:story;max-height:100%;overflow:auto}.motion-stage .course-controls{grid-area:exit;align-items:center;gap:18px}.motion-stage .course-sensory .sensory-summary{display:none}.motion-stage.course-session>:is(.review-cue,.course-opening){grid-area:meta}.motion-stage .type-word:not(.story-item){grid-template-columns:minmax(140px,.38fr) minmax(0,1fr);gap:20px;display:grid}.motion-stage .interaction-group{grid-template-columns:48px minmax(0,1fr);gap:12px;display:grid}.motion-stage .interaction-group.no-audio{grid-template-columns:minmax(0,1fr)}.motion-stage .audio-control{flex-direction:column;width:48px}.motion-stage .audio-area{display:block}.motion-stage .story-item{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:20px;display:grid}.motion-stage .story-item .story-task{order:0;grid-area:1/2}.motion-stage .story-item .story-reading{max-height:calc(var(--stage-height) - 74px);overscroll-behavior:contain;grid-area:1/1;margin:0;overflow:auto}.motion-stage .inspection-hint{display:none}.motion-stage .family-cue{margin:0 0 8px;font-size:22px}.motion-stage .context-item .answer-composition{--context-type:22px;--context-leading:1.35;line-height:1.35}.motion-stage .story-response{min-height:0;margin-top:12px}.motion-stage .course-question[data-motion=entering]>:is(.exercise-heading,.interaction-group){animation:stage-fade var(--motion-fast) var(--easing-enter) both}.motion-stage .course-question[data-motion=exiting]>:is(.exercise-heading,.interaction-group){animation:stage-exit var(--motion-instant) var(--easing-exit) both}}
