/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.left-1{left:var(--spacing)}.left-2{left:calc(var(--spacing) * 2)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin-400-800.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600 750;font-display:swap;src:url(/fonts/fraunces-latin-600-750.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--slate:#173c3b;--slate-soft:#4a6864;--snow:#f7f8f2;--mist:#e8eee5;--lichen:#4d7350;--saffron:#e5a62e;--clay:#b25740;--line:#c7d3c5;--color-page:var(--snow);--color-card:#fff;--color-surface-secondary:var(--mist);--color-text-primary:var(--slate);--color-text-secondary:var(--slate-soft);--color-border:var(--line);--color-action:var(--slate);--color-on-action:#fff;--color-focus:var(--slate);--color-success:var(--lichen);--color-success-surface:#e4f1e5;--color-error:#7d352b;--color-error-surface:#f6e5de;--control-radius:.75rem;--card-radius:1rem;--raised-depth:0 .25rem 0;color:var(--color-text-primary);background:var(--color-page);font-family:Manrope,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html{scroll-behavior:smooth}body{background:var(--color-page);min-width:320px;min-height:100vh}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.lesson-phrase{anchor-name:--lesson-phrase;anchor-scope:--lesson-phrase;border:0;border-bottom:1px solid rgb(from var(--saffron) r g b / 80%);color:var(--color-text-primary);background:linear-gradient(transparent 72%, rgb(from var(--saffron) r g b / 16%) 72%);font:inherit;text-align:inherit;cursor:help;unicode-bidi:isolate;margin:0;padding:0;font-weight:650;display:inline;position:relative}.lesson-phrase:focus-visible{border-radius:.15rem}:is(button,a,summary):has(.lesson-phrase[data-in-control]){anchor-name:--lesson-control;anchor-scope:--lesson-control}.lesson-translation{position-anchor:--lesson-phrase;position-area:bottom;position-try-fallbacks:bottom right, bottom left, top, top right, top left;z-index:20;width:max-content;max-width:min(18rem,100vw - 2rem);color:var(--color-page);background:var(--color-text-primary);text-align:start;border-radius:.3rem;margin:.35rem 1rem;padding:.25rem .45rem;font:700 .75rem/1.35 Manrope,system-ui,sans-serif;display:none;position:fixed}.lesson-phrase[data-in-control]>.lesson-translation{position-anchor:--lesson-control}.lesson-phrase[aria-expanded=true]>.lesson-translation,:is(button,a,summary):focus .lesson-phrase[data-in-control]>.lesson-translation{display:block}@media (width<=520px){.lesson-translation{position-anchor:auto;inset:max(1rem, env(safe-area-inset-top)) 1rem auto;width:fit-content;max-width:calc(100vw - 2rem);margin:0 auto;position:fixed}}.eyebrow{color:var(--lichen);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}.welcome{width:min(40rem,100% - 2rem);min-height:100dvh;padding:max(2rem, env(safe-area-inset-top)) 0 max(2rem, env(safe-area-inset-bottom));isolation:isolate;overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;gap:clamp(.75rem,2vh,1rem);margin:auto;display:grid}.welcome:after{content:"";z-index:-1;background:linear-gradient(145deg, var(--lichen), var(--slate));clip-path:polygon(34% 0,100% 0,100% 100%,0 100%);position:fixed;inset:0 0 0 58%}.welcome-mark,.brand{border:2px solid var(--color-text-primary);width:4rem;height:4rem;color:var(--color-on-action);background:var(--clay);border-radius:50% 50% 44% 56%;place-items:center;font-family:Fraunces,serif;font-weight:750;text-decoration:none;display:grid;transform:rotate(-4deg)}.welcome-mark{width:clamp(4.25rem,12vw,5.25rem);height:clamp(4.25rem,12vw,5.25rem)}.welcome h1,.trail-header h1,.status-page h1{letter-spacing:-.05em;max-width:10ch;margin:0;font:750 clamp(2.6rem,10vw,5.8rem)/.94 Fraunces,serif}.welcome h1{max-width:12ch;font-size:clamp(2.2rem,7vw,4.25rem);line-height:1.02}.welcome-copy{max-width:34rem;color:var(--color-text-secondary);margin:.25rem 0;font-size:clamp(1rem,3vw,1.2rem);line-height:1.55}.welcome .lesson-phrase{color:inherit}.welcome form{width:min(22rem,100%);display:grid}.welcome .primary-action{width:100%;height:auto;color:var(--color-on-action);overflow-wrap:anywhere;padding-block:.75rem;line-height:1.3}.welcome .primary-action:disabled{color:var(--color-text-secondary);background:var(--color-surface-secondary);box-shadow:none;opacity:1}.primary-action{border-radius:var(--control-radius);min-height:3.25rem;color:var(--color-on-action);background:var(--color-action);cursor:pointer;box-shadow:var(--raised-depth) var(--saffron);border:0;padding:0 1.4rem;font-weight:800}.primary-action:disabled{cursor:not-allowed;box-shadow:none;opacity:.5;transform:none}.setup-note{max-width:34rem;color:var(--color-text-secondary);margin:.25rem 0 0;font-size:.85rem;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lichen:#a8d0a8;--clay:#e9997f;--color-page:#102827;--color-card:#183735;--color-surface-secondary:#203f3c;--color-text-primary:#f1f4ec;--color-text-secondary:#bacbc3;--color-border:#708b83;--color-action:#f1f4ec;--color-on-action:#173c3b;--color-focus:var(--saffron);--color-success:var(--lichen);--color-success-surface:#1b4435;--color-error:#ffb4a3;--color-error-surface:#512e29}}.app-shell{min-height:100vh}.side-rail{display:none}.trail-page,.workspace-page{width:min(46rem,100% - 2rem);padding:max(2rem, env(safe-area-inset-top)) 0 calc(6.5rem + env(safe-area-inset-bottom));margin:auto}.trail-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2.5rem;display:flex}.trail-header h1{max-width:12ch;margin-top:.45rem;font-size:clamp(2.25rem,8vw,4.6rem)}.goal-chip{border:1px solid var(--color-border);border-radius:var(--control-radius);color:var(--color-text-secondary);background:var(--color-card);text-transform:uppercase;flex:none;padding:.5rem .75rem;font-size:.75rem;font-weight:800;text-decoration:none}.goal-chip span{color:var(--clay);font-size:1.2rem}.daily-progress{min-height:2.25rem;color:var(--color-text-secondary);align-items:center;gap:.35rem 1rem;margin:-1.5rem 0 .75rem;padding:0 .25rem;font-size:.78rem;font-weight:700;display:flex}.daily-progress>span{overflow-wrap:anywhere;min-width:0}.daily-progress>span:last-child{text-align:end;margin-inline-start:auto}.daily-progress strong{color:var(--color-text-primary);font-size:.9rem}.daily-progress.is-unavailable{color:var(--color-error)}.loading-line,.loading-control,.loading-block,.daily-progress.is-loading>span[aria-hidden=true]{background:var(--color-surface-secondary);border-radius:.3rem;display:block}.loading-line{width:9rem;height:.8rem}.loading-line-short,.daily-progress.is-loading>span[aria-hidden=true]{width:5rem}.loading-line-title{width:min(16rem,80%);height:1.5rem}.loading-control{width:10rem;min-height:3.25rem}.loading-block{width:100%;height:4.5rem}.loading-heading-line{width:11rem;height:1.175rem}.loading-goal{background:var(--color-card);width:4.75rem;height:2.25rem}.current-lesson.is-loading>div,.loading-settings{gap:.65rem;display:grid}.current-lesson.is-loading{min-height:6.85rem}.loading-path{gap:.75rem;display:grid}.loading-path>span{border-radius:var(--card-radius);background:var(--color-surface-secondary);width:100%;height:5.5rem}.loading-account .loading-control{width:100%;min-height:2.75rem}.loading-account .loading-line{height:1.08rem}.current-lesson{border:1px solid var(--color-border);border-inline-start:4px solid var(--color-success);border-radius:var(--card-radius);background:var(--color-card);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin-bottom:2rem;padding:1rem;display:grid}.current-lesson .eyebrow,.current-lesson h2,.current-lesson p{margin:0}.current-lesson h2{margin-top:.3rem;font-size:1.25rem;line-height:1.25}.current-lesson div>p:last-child{color:var(--color-text-secondary);margin-top:.35rem;line-height:1.4}.current-lesson .primary-action{justify-content:center;align-items:center;min-width:10rem;text-decoration:none;display:inline-flex}.mountain-path{--path-offset:clamp(.6rem, 4vw, 3rem);margin:0;padding:0;list-style:none}.trail-stop{align-items:flex-start;min-height:6.25rem;padding-bottom:.75rem;display:flex;position:relative}.trail-stop:nth-child(2n){padding-inline-start:var(--path-offset)}.trail-line{width:var(--path-offset);background:linear-gradient(to bottom left, transparent calc(50% - 1.5px), var(--color-border) 0 calc(50% + 1.5px), transparent 0);top:3.5rem;bottom:-1rem;position:absolute;inset-inline-start:2.1rem;-webkit-mask:repeating-linear-gradient(#000 0 8px,#0000 8px 15px);mask:repeating-linear-gradient(#000 0 8px,#0000 8px 15px)}.trail-stop:nth-child(2n) .trail-line{background:linear-gradient(to bottom right, transparent calc(50% - 1.5px), var(--color-border) 0 calc(50% + 1.5px), transparent 0)}.trail-stop:last-child .trail-line{display:none}.lesson-marker{z-index:1;border:1px solid var(--color-border);border-radius:var(--card-radius);width:min(100%,34rem);min-height:4rem;color:inherit;background:var(--color-card);text-align:start;cursor:pointer;box-shadow:var(--raised-depth) var(--color-surface-secondary);grid-template-columns:3.9rem 1fr;align-items:center;gap:.75rem;padding:.55rem .9rem .55rem .55rem;text-decoration:none;display:grid;position:relative}.lesson-number{width:3.1rem;height:3.1rem;color:var(--color-on-action);background:var(--clay);border-radius:50%;place-items:center;font:750 1rem Fraunces,serif;display:grid}.lesson-position{justify-items:center;gap:.15rem;display:grid}.lesson-details{min-width:0}.lesson-marker strong{font:600 1.2rem Fraunces,serif;display:block}.lesson-marker small{line-height:1.3;display:block}.lesson-state{color:var(--color-error);font-size:.65rem;font-weight:800}.lesson-objective{color:var(--color-text-secondary);margin-top:.2rem;line-height:1.35}.lesson-lock-note{color:var(--color-text-primary);margin-top:.15rem;font-weight:800}.lesson-marker.is-current{border:2px solid var(--clay)}.lesson-marker.is-done .lesson-number{background:var(--color-success)}.lesson-marker.is-done .lesson-state{color:var(--color-success)}.lesson-marker.is-locked{color:var(--color-text-secondary);background:var(--color-surface-secondary);box-shadow:none}.lesson-marker.is-locked .lesson-number{background:var(--color-text-secondary)}.lesson-marker.is-locked .lesson-state{color:var(--color-text-primary)}.lesson-marker[aria-disabled=true]{cursor:not-allowed}.nav-links{display:flex}.nav-links a{border-radius:var(--control-radius);min-width:3.6rem;min-height:3.2rem;color:var(--color-text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1rem;font-size:.75rem;font-weight:800;text-decoration:none;display:flex}.nav-links .nav-icon{flex:none;width:1.25rem;height:1.25rem}.nav-links a[aria-current=page]{color:var(--color-text-primary);background:var(--color-surface-secondary)}.bottom-nav{z-index:10;padding:.45rem max(.65rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));border-top:1px solid var(--color-border);background:rgb(from var(--color-page) r g b / 96%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);inset-inline:0;position:fixed;bottom:0}.app-shell:has(.player) .bottom-nav{display:none}.account{min-width:0;color:var(--color-text-secondary);gap:.4rem;font-size:.72rem;display:grid}.account bdi{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.goal-chip span,.daily-progress strong,.lesson-number,.player-header>b,.choice-key,.pair-badge,.ranking-list li>span,.ranking-list li>b,.progress-stamps b{unicode-bidi:isolate}.account form{min-width:0}.account a,.account button{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--control-radius);width:100%;min-height:2.75rem;color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0;place-items:center;padding:.5rem .75rem;font-weight:700;text-decoration:none;display:grid}.mobile-account{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}.status-page{place-content:center;width:min(38rem,100% - 2rem);min-height:100vh;margin:auto;display:grid}.status-page h1{font-size:2.5rem}@media (width>=768px){.app-shell{grid-template-columns:13rem minmax(0,1fr);display:grid}.side-rail{border-inline-end:1px solid var(--color-border);background:var(--color-surface-secondary);grid-template-rows:auto 1fr auto;gap:2rem;height:100vh;padding:1.5rem;display:grid;position:sticky;top:0}.side-rail .nav-links{flex-direction:column;align-self:center;gap:.4rem}.side-rail .nav-links a{flex-direction:row;justify-content:flex-start;gap:.75rem;min-height:3.5rem;padding:0 .8rem;font-size:.82rem}.bottom-nav,.mobile-account{display:none}.trail-page,.workspace-page{padding:4rem 0}.loading-trail-page{align-self:start;margin:0 auto}}@media (width<=620px){.welcome{padding-top:max(clamp(2rem, 6dvh, 4rem), env(safe-area-inset-top));align-content:start}.welcome form{width:100%}.welcome:after{display:none}.current-lesson{grid-template-columns:1fr}.current-lesson.is-loading{min-height:11.1rem}.current-lesson .primary-action{width:100%}.lesson-marker small{max-width:24ch}}@media (width<=350px){.current-lesson.is-loading{min-height:12.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.player{background:var(--color-page);grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.player-header{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .8rem max(1rem, env(safe-area-inset-left));border-bottom:1px solid var(--color-border);grid-template-columns:3rem 1fr 3rem;align-items:center;gap:1rem;display:grid}.player-header div{gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.player-header progress{width:100%;height:.55rem;accent-color:var(--color-success)}.player-header b{color:var(--color-text-secondary);text-align:end;font-size:.75rem}.quiet-button{border-radius:var(--control-radius);width:2.75rem;height:2.75rem;color:var(--color-text-secondary);background:var(--color-surface-secondary);cursor:pointer;border:0;font-size:1.6rem}.exercise-card{width:min(42rem,100%);min-height:0;padding:2rem max(1rem, env(safe-area-inset-right)) 2rem max(1rem, env(safe-area-inset-left));overscroll-behavior:contain;margin:0 auto;overflow-y:auto}.exercise-card h1{margin:.65rem 0 2rem;font:600 clamp(1.8rem,7vw,3.2rem)/1.08 Fraunces,serif}.previous-answer{border-inline-start:4px solid var(--color-success);background:var(--color-surface-secondary);text-align:start;width:100%;margin-bottom:1.5rem;padding:.8rem 1rem}.previous-answer.incorrect{border-color:var(--color-error)}.previous-answer-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.previous-answer p{margin:.5rem 0 0}.previous-answer,.feedback{overflow-wrap:anywhere}.choice-grid{gap:.75rem;margin-top:1rem;display:grid}.choice-grid button,.match-grid button,.type-answer input{border:1px solid var(--color-border);border-radius:var(--control-radius);width:100%;min-height:3.25rem;color:var(--color-text-primary);background:var(--color-card);text-align:start;cursor:pointer;padding:.75rem 1rem;font-weight:700}.choice-grid button{align-items:center;gap:.7rem;display:flex}.choice-key{border:1px solid var(--color-border);width:1.5rem;height:1.5rem;color:var(--color-text-secondary);background:var(--color-page);border-radius:.3rem;flex:none;place-items:center;font-size:.7rem;display:grid}@media (any-hover:none) and (any-pointer:coarse){.choice-key{display:none}}.choice-grid button[aria-pressed=true]{border-color:var(--color-success);background:var(--color-surface-secondary);box-shadow:0 0 0 2px var(--color-success)}.word-bank{flex-wrap:wrap;display:flex}.word-bank button{overflow-wrap:anywhere;width:auto;max-width:100%;min-height:2.75rem}.built-answer{border-bottom:2px solid var(--color-border);min-height:4.5rem;color:var(--color-text-secondary);overflow-wrap:anywhere;padding:1rem;line-height:2}.match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.match-grid>div{align-content:start;gap:.6rem;display:grid}.match-grid h2{color:var(--color-text-secondary);text-transform:uppercase;margin:0 0 .2rem;font-size:.75rem}.match-grid button{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.match-grid button[aria-pressed=true]{border-color:var(--color-success);background:var(--color-surface-secondary);box-shadow:inset 0 0 0 2px var(--color-success)}.pair-badge{width:1.5rem;height:1.5rem;color:var(--color-on-action);background:var(--color-success);border-radius:50%;flex:none;place-items:center;font-size:.75rem;display:grid}.pair-state{color:var(--color-success);text-transform:uppercase;font-size:.7rem}.type-answer{color:var(--color-text-secondary);gap:.5rem;font-size:.8rem;font-weight:800;display:grid}.type-answer input{border-color:var(--color-text-secondary);text-align:left;font-size:1rem}.dialogue{border-inline-start:4px solid var(--saffron);background:var(--color-surface-secondary);gap:.75rem;padding:1rem;display:grid}.dialogue-turn{grid-template-columns:3.5rem 1fr;align-items:center;gap:.75rem;display:grid}.dialogue p{margin:0}.dialogue b{color:var(--color-success);text-transform:uppercase;margin-bottom:.2rem;font-size:.7rem;display:block}audio{width:100%;min-height:3.25rem}.audio-player{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;margin-top:1rem;display:grid}.audio-player .text-action{white-space:nowrap}.audio-status{grid-column:1/-1;justify-content:space-between;align-items:center;gap:.75rem;margin:.2rem 0 0;display:flex}.audio-status .text-action{flex:none}.transcript{border-inline-start:3px solid var(--color-success);color:var(--color-text-secondary);background:var(--color-surface-secondary);grid-column:1/-1;margin:.2rem 0 0;padding:.75rem;line-height:1.5}.mascot{object-fit:contain;width:3.5rem;height:3.5rem;display:block}.guide-mascot,.milestone-mascot{width:clamp(6rem,22vw,9rem);height:clamp(6rem,22vw,9rem)}.player-action{min-height:7rem;padding:1rem max(1rem, env(safe-area-inset-right), calc((100% - 42rem) / 2)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left), calc((100% - 42rem) / 2));border-top:1px solid var(--color-border);background:var(--color-card);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.player-action.correct{background:var(--color-success-surface)}.player-action.incorrect{background:var(--color-error-surface)}.feedback{border-inline-start:4px solid var(--color-success);background:var(--color-surface-secondary);grid-template-columns:3.5rem minmax(0,1fr);align-items:start;gap:.75rem;margin-top:1.5rem;padding:1rem;display:grid}.feedback.incorrect{border-color:var(--color-error)}.feedback strong{font:600 1.15rem Fraunces,serif}.feedback p{margin:.25rem 0 0;font-size:.85rem}.player-action .primary-action{min-width:7rem}.current-answer-status{align-content:center;gap:.15rem;min-height:2.6rem;margin:0;display:grid}.current-answer-status span{color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:800}@media (width>=600px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.player-action{grid-template-rows:2.6rem auto;grid-template-columns:1fr}.player-action .primary-action{width:100%}.audio-player{grid-template-columns:1fr}.audio-player .text-action{width:100%}.audio-status{flex-direction:column;grid-column:auto;align-items:stretch}.transcript{grid-column:auto}}@media (orientation:landscape) and (height<=500px){.exercise-card{padding-block:1rem}.exercise-card h1{margin-bottom:1rem}.player-action{min-height:5rem}}.journey-card{align-content:center;justify-items:start;gap:1rem;width:min(42rem,100% - 2rem);min-height:100vh;margin:auto;padding:3rem 0;display:grid}.onboarding-card{min-height:100dvh;padding-block:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-bottom));gap:.875rem}.onboarding-card>p{margin:0}.onboarding-card>.primary-action{white-space:nowrap;width:100%;margin-top:.25rem;padding-inline:1rem}.guide-card{width:min(44rem,100%);padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(3rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);align-content:start}.guide-card .guide-mascot{width:clamp(4.5rem,18vw,7rem);height:clamp(4.5rem,18vw,7rem)}.journey-card h1{letter-spacing:-.04em;max-width:13ch;margin:0;font:600 clamp(2.2rem,8vw,4.4rem)/1 Fraunces,serif}.journey-card>p{max-width:36rem;color:var(--color-text-secondary);line-height:1.65}.goal-options{grid-template-columns:repeat(auto-fit,minmax(min(5.5rem,100%),1fr));gap:.65rem;width:100%;display:grid}.goal-options button{border:1px solid var(--color-border);border-radius:var(--control-radius);min-width:0;min-height:5rem;color:var(--color-text-primary);background:var(--color-card);font:inherit;overflow-wrap:anywhere;cursor:pointer;padding:.75rem 1rem}.goal-options b{font:600 1.7rem Fraunces,serif;display:block}.goal-options button[aria-pressed=true]{border-color:var(--color-success);background:var(--color-surface-secondary);box-shadow:inset 0 0 0 2px var(--color-success)}.guide-notes{grid-template-columns:minmax(0,1fr);gap:.6rem;width:100%;display:grid}.guide-notes details{border-top:1px solid var(--color-border);padding:.9rem 0}.guide-notes summary{cursor:pointer;align-items:center;min-height:2.75rem;font-weight:800;display:flex}.guide-notes p{color:var(--color-text-secondary);line-height:1.6}@media (width<=520px){.guide-card>.primary-action{width:100%}}.speech{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.75rem;padding-bottom:.4rem;line-height:1.5;display:flex}.speech audio{display:none}.speech-text{min-width:0}.result-card{width:min(32rem,100%);height:100dvh;min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));text-align:center;grid-template-rows:minmax(0,auto) auto;align-content:center;justify-items:center;gap:1rem;overflow:hidden}.result-content{width:100%;max-height:calc(100dvh - 6.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;scrollbar-gutter:stable;justify-items:center;gap:.75rem;min-height:0;padding:.25rem;display:grid;overflow-y:auto}.result-content .milestone-mascot{width:clamp(4.5rem,18vw,6rem);height:clamp(4.5rem,18vw,6rem)}.result-content h1,.result-content p{margin:0}.result-content .previous-answer{margin:.25rem 0 0}.result-card>.primary-action{white-space:nowrap;min-width:12rem}@media (width<=520px){.result-card>.primary-action{width:100%}}.profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.profile-challenge{padding-block:max(1.5rem, env(safe-area-inset-top)) max(3rem, env(safe-area-inset-bottom));align-content:start}.profile-challenge form{width:100%;min-width:0}.profile-field,.profile-writing{color:var(--color-text-secondary);gap:.35rem;font-size:.75rem;font-weight:800;display:grid}.field-example{font-weight:500;line-height:1.5}.profile-fields input,.profile-writing textarea{border:1px solid var(--color-text-secondary);border-radius:var(--control-radius);width:100%;min-height:3rem;color:var(--color-text-primary);background:var(--color-card);padding:.75rem 1rem;scroll-margin-block:1rem;font-size:1rem}.profile-writing textarea:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus)}.profile-writing{margin:1rem 0}.profile-challenge .primary-action{width:100%}@media (width<=520px){.profile-fields{grid-template-columns:1fr}}.workspace-page{align-self:start;margin:0 auto}.screen-header{gap:.65rem;margin-bottom:2rem;display:grid}.screen-header h1{letter-spacing:-.04em;max-width:12ch;margin:0;font:600 clamp(2.2rem,8vw,4.4rem)/1 Fraunces,serif}.screen-header>p:last-child{max-width:38rem;color:var(--color-text-secondary);margin:0;line-height:1.6}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.mode-card{border:1px solid var(--color-border);border-radius:var(--card-radius);min-height:9rem;color:var(--color-text-primary);background:var(--color-card);text-align:start;box-shadow:var(--raised-depth) var(--color-surface-secondary);cursor:pointer;grid-template-rows:auto 1fr;grid-template-columns:2.8rem 1fr;gap:.15rem .8rem;padding:1rem;text-decoration:none;display:grid}.mode-card>span{width:2.8rem;height:2.8rem;color:var(--color-on-action);background:var(--clay);border-radius:50%;grid-row:1/3;place-items:center;font:600 1rem Fraunces,serif;display:grid}.mode-card strong{align-self:end;font:600 1.25rem Fraunces,serif}.mode-card small{color:var(--color-text-secondary);line-height:1.4}.primary-action:not(:disabled),.lesson-marker:not(.is-locked),.choice-grid button:not(:disabled),.match-grid button:not(:disabled),.mode-card{transition:transform .1s ease-out}@media (hover:hover) and (pointer:fine){.primary-action:hover:not(:disabled){transform:translate(-1px,-1px)}.lesson-marker:hover:not(.is-locked),.mode-card:hover{border-color:var(--color-success);transform:translateY(-2px)}}.primary-action:active:not(:disabled),.lesson-marker:not(.is-locked):active,.choice-grid button:active:not(:disabled),.match-grid button:active:not(:disabled),.mode-card:active{transform:scale(.98)}.state-note{border-inline-start:4px solid var(--saffron);background:var(--color-surface-secondary);color:var(--color-text-secondary);margin:1.2rem 0;padding:1rem;line-height:1.5}.error-note{color:var(--color-error);border-color:var(--color-error)}.success-note{color:var(--color-success);font-weight:800}.route-ready{border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-card);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;padding:1rem 1.2rem;display:flex}.route-ready h2{margin:.2rem 0 0;font:600 1.5rem Fraunces,serif}.ranking-list{border-top:1px solid var(--color-border);padding:0;list-style:none}.ranking-list li{border-bottom:1px solid var(--color-border);grid-template-columns:2.5rem minmax(0,1fr) max-content;align-items:center;gap:.75rem;min-height:4.5rem;display:grid}.ranking-list li>span{width:2rem;height:2rem;color:var(--color-on-action);background:var(--color-success);border-radius:50%;place-items:center;font-size:1rem;font-weight:800;line-height:1;display:grid}.ranking-list li>strong{overflow-wrap:anywhere;min-width:0}.ranking-list li>b{color:var(--clay);white-space:nowrap}.ranking-loading{position:relative}.ranking-loading .loading-status{z-index:1;color:var(--color-text-secondary);top:1.5rem;margin:0;position:absolute;inset-inline-start:3.25rem}.loading-ranking-row{border-bottom:1px solid var(--color-border);grid-template-columns:2.5rem minmax(0,1fr) max-content;align-items:center;gap:.75rem;min-height:4.5rem;display:grid}.loading-ranking-row>span:first-child{background:var(--color-surface-secondary);border-radius:50%;width:2rem;height:2rem}.loading-ranking-row:first-child>.loading-line:nth-child(2){visibility:hidden}@media (width<=520px){.ranking-list li,.loading-ranking-row{grid-template-columns:2.5rem minmax(0,1fr);align-items:start;padding:.75rem 0}.loading-ranking-row{min-height:5.3125rem}.loading-ranking-row>span:first-child{grid-row:1/span 2;align-self:center}.loading-ranking-row>span:last-child{grid-column:2}.ranking-list li>span{grid-row:1/span 2;align-self:center}.ranking-list li>b{overflow-wrap:anywhere;white-space:normal;grid-column:2}}.progress-stamps{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem;display:grid}.progress-stamps>div{border:1px solid var(--color-border);background:var(--color-card);text-align:center;border-radius:50% 50% 46% 54%;padding:1rem .5rem;display:grid}.progress-stamps b{font:600 1.7rem Fraunces,serif}.progress-stamps span{color:var(--color-text-secondary);text-transform:uppercase;font-size:.68rem;font-weight:800}.progress-ledger,.settings-card{border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-card);gap:1rem;padding:1.2rem;display:grid}.privacy-page{gap:1rem;display:grid}.account-deletion{gap:.5rem;display:grid}.account-deletion label{gap:.25rem;display:grid}.danger-action{color:var(--color-error,#9f1c18)}.privacy-page .settings-card section{gap:.5rem;display:grid}.privacy-page :is(p,ul){margin:0;line-height:1.6}.privacy-home{color:var(--color-text-primary);justify-self:start;font-weight:700}.progress-loading .progress-stamps>div{align-content:center;justify-items:center;gap:.45rem;min-width:0;min-height:5.27rem}.progress-loading .progress-stamps .loading-line{width:80%}.loading-progress-ledger .loading-status{color:var(--color-text-secondary);margin:0}.loading-progress-ledger{min-height:14.5156rem}.loading-progress-ledger .skill-progress>div{align-items:center;min-height:1.15rem}.loading-progress-ledger .loading-line{max-width:45%}.loading-progress-track{background:var(--color-surface-secondary);border-radius:.3rem;width:100%;height:.65rem}.loading-settings{min-height:23rem}.loading-settings .loading-control{width:min(11rem,100%)}.skill-progress{gap:.4rem;display:grid}.skill-progress>div{justify-content:space-between;gap:1rem;font-size:.8rem;display:flex}.skill-progress span{color:var(--color-text-secondary)}.skill-progress progress{width:100%;height:.65rem;accent-color:var(--color-success)}.settings-card{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);margin-top:1rem}.settings-card h2{margin:0;font:600 1.7rem Fraunces,serif}.settings-card fieldset{border:0;min-width:0;padding:0}.settings-card legend,.setting-fields label{color:var(--color-text-secondary);font-size:.75rem;font-weight:800}.inline-options{flex-wrap:wrap;gap:.5rem;margin-top:.45rem;display:flex}.inline-options label{border:1px solid var(--color-border);border-radius:var(--control-radius);cursor:pointer;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;max-width:100%;min-height:2.75rem;padding:.5rem .75rem;display:flex}.setting-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.setting-fields label{gap:.35rem;min-width:0;display:grid}.setting-fields input,.setting-fields select{border:1px solid var(--color-text-secondary);border-radius:var(--control-radius);width:100%;min-width:0;min-height:3rem;color:var(--color-text-primary);background:var(--color-page);padding:.75rem 1rem;font-size:1rem}.text-action{border:1px solid var(--color-action);border-radius:var(--control-radius);min-height:2.75rem;color:var(--color-action);cursor:pointer;background:0 0;justify-self:start;padding:.5rem .75rem;font-weight:800}.text-action:disabled{opacity:.6;cursor:wait}.mistake-card{align-content:start;display:grid}.mistake-card h1{margin-top:0}.mistake-reveal{gap:1rem;margin-top:1.5rem;display:grid}.mistake-reveal>.primary-action{justify-self:end}.mistake-answer{border-inline-start:4px solid var(--color-success);background:var(--color-surface-secondary);overflow-wrap:anywhere;padding:1rem}.mistake-answer h2{color:var(--color-text-secondary);text-transform:uppercase;margin:0;font-size:.75rem}.mistake-answer p{margin:.25rem 0 1rem;line-height:1.5}.mistake-answer p:last-child{margin-bottom:0}.mistake-ratings{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.mistake-rating{justify-self:stretch;justify-items:center;gap:.15rem;min-width:0;padding-inline:.5rem;display:grid}.mistake-rating span{color:var(--color-text-secondary);font-size:.75rem}@media (width<=500px){.mistake-reveal>.primary-action{width:100%}.mistake-ratings{grid-template-columns:repeat(2,minmax(0,1fr))}}.trail-header h1,.status-page h1,.exercise-card h1,.journey-card h1,.screen-header h1{letter-spacing:-.025em;max-width:none;font:700 clamp(1.5rem,4vw,2.5rem)/1.25 Manrope,system-ui,sans-serif}.route-ready h2,.settings-card h2{font-family:Manrope,system-ui,sans-serif}@media (width<=520px){.mode-grid,.setting-fields{grid-template-columns:1fr}.mode-card{min-height:6.8rem}.route-ready{flex-direction:column;align-items:stretch}.route-ready .primary-action{width:100%}}
