/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after{--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}::backdrop{--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.min-h-screen{min-height:100vh}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.paused{animation-play-state:paused}.running{animation-play-state:running}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--background:#f4efe6;--foreground:#17211d;--muted:#e7dfd1;--muted-foreground:#6e746e;--coral:#f26852;--ink:#17211d;--cream:#fffaf1;--lime:#d9f36b;--line:#d8d0c3}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% -5%,#ffd9ca 0,transparent 26%),var(--background);color:var(--foreground);font-family:var(--font-geist-sans),Arial,sans-serif;margin:0}button,input{font:inherit}button{cursor:pointer}:is(button:focus-visible,input:focus-visible){outline-offset:3px;outline:3px solid #f2685247}.app-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4efe6e0;border-bottom:1px solid #d8d0c3bf;grid-template-columns:1fr minmax(220px,430px) 1fr;align-items:center;gap:22px;max-width:1280px;margin:auto;padding:17px 26px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:11px;display:flex}.brand>div:last-child{display:grid}.brand b{font-size:16px}.brand span{color:var(--muted-foreground);margin-top:2px;font-size:11px}.coach-mark,.coach-avatar,.mini-avatar{background:var(--ink);color:var(--cream);place-items:center;font-weight:900;display:grid}.coach-mark{border-radius:13px;width:40px;height:40px}.coach-avatar{width:66px;height:66px;box-shadow:8px 8px 0 var(--lime);border-radius:23px;font-size:26px}.mini-avatar{border-radius:16px;flex:none;width:46px;height:46px}.header-progress{gap:7px;display:grid}.header-progress>span{text-align:center;text-transform:uppercase;letter-spacing:.13em;color:#73776f;font-size:11px;font-weight:900}.header-progress>div{background:#ddd5c8;border-radius:9px;height:6px;overflow:hidden}.header-progress i{background:var(--coral);border-radius:9px;height:100%;transition:all .35s;display:block}.timer{background:var(--cream);border:1px solid var(--line);border-radius:999px;justify-self:end;align-items:center;gap:8px;padding:9px 12px;display:flex}.timer button{background:#ede5d8;border:0;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#bd4e3d;font-size:11px;font-weight:900}.welcome-layout,.dialogue-layout,.session-layout{max-width:1200px;margin:auto;padding:34px 24px 64px}.welcome-layout{grid-template-columns:minmax(0,1fr) 350px;gap:25px;display:grid}.coach-card,.method-panel,.dialogue-card,.session-map,.practice-area{border:1px solid var(--line);background:#fffaf1f2;box-shadow:0 18px 50px #382c1e12}.coach-card{border-radius:34px;padding:clamp(27px,5vw,52px)}.coach-intro{align-items:center;gap:22px;margin-bottom:28px;display:flex}.coach-intro h1{letter-spacing:-.04em;margin:5px 0 0;font-size:36px}.welcome-copy .lead{font-size:clamp(20px,2.4vw,27px);line-height:1.38}.welcome-copy>p:last-child{color:#5c665f;font-size:15px;line-height:1.75}.coach-card h2{margin:27px 0 10px;font-size:16px}.rules{gap:0;margin-bottom:24px;display:grid}.rules>div{border-top:1px solid #e4dbce;align-items:center;gap:13px;padding:13px 2px;display:flex}.rules svg{color:#bd4e3d;flex:none}.rules span{display:grid}.rules small{color:var(--muted-foreground);margin-top:3px;line-height:1.45}.ready-question{font-weight:800;color:var(--ink)!important;font-size:16px!important}.start-button,.continue-button{background:var(--coral);color:#fff;letter-spacing:.02em;border:0;border-radius:16px;justify-content:center;align-items:center;gap:9px;padding:16px 20px;font-weight:900;transition:all .2s;display:flex;box-shadow:0 6px #b84738}.start-button{width:100%}.start-button:hover,.continue-button:hover{transform:translateY(-2px)}.start-button.compact{width:auto;min-width:260px}.method-panel{border-radius:28px;align-self:start;padding:30px;position:sticky;top:92px}.method-panel h2{letter-spacing:-.04em;margin:11px 0 30px;font-size:31px;line-height:1.1}.method-step{border-top:1px solid #e1d9cc;gap:14px;padding:16px 0;display:flex}.method-step>b{color:#bd4e3d}.method-step span{display:grid}.method-step small{color:var(--muted-foreground);margin-top:4px;line-height:1.4}.american-pill{background:var(--lime);text-align:center;border-radius:14px;margin-top:20px;padding:13px;font-size:13px;font-weight:900}.dialogue-layout{max-width:1080px}.dialogue-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px;display:flex}.dialogue-head h1{letter-spacing:-.05em;margin:8px 0;font-size:45px}.dialogue-head p{color:#5e675f;max-width:650px;line-height:1.6}.outline-button,.listen-button{border:1px solid var(--line);background:var(--cream);border-radius:14px;align-items:center;gap:8px;padding:12px 15px;font-weight:800;display:inline-flex}.dialogue-card{border-radius:28px;padding:26px}.dialogue-line{border-radius:14px;grid-template-columns:54px minmax(0,1fr) 34px;align-items:start;gap:14px;padding:12px 13px;display:grid}.dialogue-line:hover{background:#f2eadf}.dialogue-line>span{color:#bd4e3d;padding-top:3px;font-size:12px;font-weight:900}.dialogue-line.jake>span{color:#4b6542}.dialogue-line p{margin:0;line-height:1.55}.dialogue-line button{color:#85877e;opacity:.15;background:0 0;border:0}.dialogue-line:hover button{opacity:1}.dialogue-action{justify-content:space-between;align-items:center;gap:24px;margin-top:22px;display:flex}.dialogue-action>div{gap:4px;display:grid}.dialogue-action span{color:var(--muted-foreground);font-size:13px}.session-layout{grid-template-columns:270px minmax(0,1fr);gap:25px;max-width:1120px;display:grid}.session-map{border-radius:26px;align-self:start;padding:25px;position:sticky;top:100px}.session-map h2{margin:8px 0 24px;font-size:28px}.route-item{opacity:.45;border-top:1px solid #e3dbce;align-items:center;gap:12px;padding:13px 0;display:flex}.route-item.active{opacity:1}.route-item>span{background:#ebe3d6;border-radius:10px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.route-item.active>span{background:var(--coral);color:#fff}.route-item div{display:grid}.route-item small{color:var(--muted-foreground);margin-top:2px}.target-box{background:#eee7da;border-radius:16px;gap:8px;margin-top:23px;padding:16px;display:grid}.target-box b{margin-bottom:3px}.target-box span{font-size:12px}.practice-area{border-radius:30px;min-height:650px;padding:clamp(23px,4vw,43px)}.step-label{justify-content:space-between;gap:14px;margin-bottom:30px;display:flex}.step-label span{text-transform:uppercase;letter-spacing:.15em;color:#bd4e3d;font-size:11px;font-weight:900}.step-label b{background:#e8e0d3;border-radius:999px;padding:6px 11px;font-size:12px}.malwina-message{align-items:flex-start;gap:17px;display:flex}.malwina-message>div:last-child{width:100%}.malwina-message span{color:#757a73;font-size:12px;font-weight:900}.malwina-message p{letter-spacing:-.025em;margin:8px 0 13px;font-size:clamp(22px,3.2vw,31px);font-weight:750;line-height:1.35}.malwina-message em{color:#bd4e3d;background:#fde4dc;border-radius:10px;align-items:center;gap:7px;padding:8px 10px;font-size:12px;font-style:normal;font-weight:800;display:inline-flex}.answer-zone{margin-top:36px}.answer-zone label{text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px;font-size:11px;font-weight:900;display:block}.answer-input{background:#fff;border:2px solid #d8d0c3;border-radius:18px;grid-template-columns:minmax(0,1fr) 49px 49px;display:grid;overflow:hidden}.answer-input:focus-within{border-color:var(--coral)}.answer-input.is-correct{border-color:#71915c}.answer-input.needs-work{border-color:#de8a44}.answer-input input{background:0 0;border:0;outline:0;min-width:0;padding:16px 18px}.answer-input button{background:#fff;border:0;border-left:1px solid #e2dbcf;place-items:center;display:grid}.answer-input button:last-child{background:var(--ink);color:#fff}.answer-input button:disabled{opacity:.35;cursor:not-allowed}.answer-input button.recording{background:var(--coral);color:#fff;animation:1s infinite pulse}.listening-note{color:#bd4e3d;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.listening-note i{background:var(--coral);border-radius:50%;width:8px;height:8px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.5}}.feedback{margin-top:25px;animation:.35s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.feedback-title{align-items:center;gap:8px;margin-bottom:10px;font-weight:900;display:flex}.feedback-title svg{width:20px}.feedback-title.good{color:#587b48}.feedback-title.retry{color:#b66324}.model-card{background:var(--ink);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:21px 22px;display:flex}.model-card>div{gap:5px;display:grid}.model-card span{text-transform:uppercase;letter-spacing:.13em;color:#bac4bd;font-size:10px;font-weight:800}.model-card strong{font-size:22px}.model-card p{color:#c6cec9;margin:3px 0 0;font-size:13px;line-height:1.45}.model-card button{background:var(--lime);color:var(--ink);border:0;border-radius:13px;align-items:center;gap:7px;padding:12px 14px;font-weight:900;display:flex}.speak-again{background:#eef6ce;border-radius:13px;align-items:center;gap:9px;margin:12px 0;padding:12px 14px;font-size:13px;font-weight:800;display:flex}.continue-button{margin-left:auto}.step-footer{border-top:1px solid #e2dacd;justify-content:space-between;align-items:center;gap:20px;margin-top:35px;padding-top:18px;display:flex}.step-footer>span{color:var(--muted-foreground);font-size:12px}.step-footer>div{gap:4px;display:flex}.step-footer i{background:#ddd5c8;border-radius:5px;width:10px;height:4px;display:block}.step-footer i.filled{background:var(--coral)}.done-screen{text-align:center;border:1px solid var(--line);background:var(--cream);border-radius:36px;max-width:720px;margin:70px auto;padding:55px;box-shadow:0 20px 60px #382c1e17}.done-orbit{background:var(--lime);border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 25px;display:grid;box-shadow:0 0 0 12px #d9f36b40}.done-screen h1{letter-spacing:-.05em;margin:11px 0;font-size:50px}.done-screen>p{color:#626c65;font-size:17px;line-height:1.65}.score-card{border:1px solid var(--line);border-radius:20px;grid-template-columns:1fr 1fr;margin:28px 0;display:grid;overflow:hidden}.score-card>div{padding:22px;display:grid}.score-card>div+div{border-left:1px solid var(--line)}.score-card b{font-size:31px}.score-card span{color:var(--muted-foreground);margin-top:4px;font-size:11px}.done-rule{background:#eef6ce;border-radius:14px;margin-bottom:22px;padding:15px;font-weight:800}.done-screen .start-button{margin:auto}@media (max-width:850px){.app-header{grid-template-columns:1fr auto}.header-progress{display:none}.welcome-layout,.session-layout{grid-template-columns:1fr}.method-panel,.session-map{position:static}.session-map{display:none}.dialogue-head,.dialogue-action{flex-direction:column;align-items:stretch}.dialogue-action .start-button{width:100%}.welcome-layout,.dialogue-layout,.session-layout{padding:24px 16px 48px}.practice-area{min-height:0}.app-header{padding:14px 16px}}@media (max-width:560px){.brand b{font-size:13px}.brand span{display:none}.timer{padding:8px 10px}.coach-card{border-radius:25px;padding:26px 21px}.coach-intro h1{font-size:29px}.method-panel{border-radius:22px}.dialogue-card{padding:12px}.dialogue-line{grid-template-columns:42px minmax(0,1fr)}.dialogue-line button{display:none}.model-card{flex-direction:column;align-items:stretch}.model-card button{justify-content:center}.continue-button{width:100%}.step-footer>div{display:none}.done-screen{margin:25px 15px;padding:35px 20px}.done-screen h1{font-size:40px}.score-card{grid-template-columns:1fr}.score-card>div+div{border-left:0;border-top:1px solid var(--line)}}.app-games{max-width:1120px;margin:0 auto;padding:32px 24px}.app-games h1{font-size:2rem}.app-games h3{margin:1rem 0;font-size:1.3rem}.app-games p{margin:.75rem 0;line-height:1.65}.app-games .interactive-games{background:#fffcf7;border:1px solid #d5c9b9;border-radius:16px;margin:24px 0;padding:24px}.app-games .game-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.app-games .outline,.app-games .primary{cursor:pointer;border:1px solid #ad997d;border-radius:10px;margin:5px;padding:12px 16px}.app-games .primary{color:#fff;background:#443729}.app-games .game-menu button{text-align:left;gap:12px;padding:24px;display:grid}.app-games .matching-board{grid-template-columns:1fr 1.4fr;gap:12px;display:grid}.app-games .matching-board>div{gap:8px;display:grid}.app-games .matching-board button{text-align:left;white-space:normal}.app-games .pair-selected{outline:3px solid #796240}.app-games .fading-sentence,.app-games .mistake-sentence{flex-wrap:wrap;gap:8px;margin:20px 0;font-size:1.25rem;display:flex}.app-games .hidden-word{text-align:center;background:#e5ddcf;border-radius:5px;min-width:40px}.app-games .dialogue-bubble{background:#eee5d8;border-radius:16px;margin:16px 0;padding:20px}.app-games .dialogue-bubble.own{color:#fff;background:#514331;margin-left:20px}.app-games .mistake-highlight{background:#fff0d3;border:2px solid #a76b16}.app-games .game-feedback{background:#e5efdf;border-radius:10px;padding:16px}.app-games input:not([type=checkbox]){border:1px solid #ad997d;max-width:100%;padding:12px;display:block}.app-games .game-timer{align-items:center;gap:8px;display:flex}.app-games button:disabled{opacity:.55;cursor:default}@media (max-width:600px){.app-games{padding:20px 12px}.app-games .interactive-games{padding:12px}.app-games .game-menu{grid-template-columns:1fr}.app-games .matching-board{grid-template-columns:1fr 1fr;gap:4px}.app-games .matching-board button{padding:10px;font-size:14px}}.pronunciation-panel{color:#302b25;background:#fffcf6;border:1px solid #bfb19d;border-radius:12px;margin:14px 0;padding:18px}.pronunciation-panel h3{margin:0 0 12px;font-size:1.1rem}.pronunciation-panel p{font-size:1rem;line-height:1.6}.pronunciation-note{line-height:1.5;font-size:.875rem!important}.pronunciation-scores{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;display:grid}.pronunciation-scores>div{border:1px solid #ded3c4;border-radius:8px;gap:8px;padding:12px;display:grid}.pronunciation-scores span{font-size:.875rem}.pronunciation-scores strong{font-size:1.4rem}.pronunciation-words{padding-left:20px}.pronunciation-words li{margin:14px 0}.pronunciation-words button{border:1px solid #c1b29b;border-radius:6px;padding:6px 10px}.pronunciation-panel details{margin:16px 0}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.module-body{max-width:1120px;margin:0 auto;padding:28px 24px 48px}.module-card{background:#fff;border:1px solid #dce2d7;border-radius:16px;gap:16px;margin:20px 0;padding:28px;display:grid}.module-card h1{font-size:clamp(26px,4vw,40px);line-height:1.2}.module-card h2{font-size:23px;line-height:1.4}.module-card p,.module-card li{font-size:16px;line-height:1.7}.module-card ul,.module-card ol{list-style:revert;padding-left:24px}.module-card video{width:100%;max-height:480px}.module-script{white-space:pre-line;max-width:780px;line-height:1.8}.module-progress progress{accent-color:#456443;width:100%;height:10px;margin-top:8px;display:block}.module-notice{background:#f6eedc;border-radius:8px;padding:16px;line-height:1.6}.module-toolbar{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.module-stage-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.module-stage-nav button{border:1px solid #dce2d7;border-radius:8px;padding:10px 14px}.module-stage-nav button[aria-current=step]{color:#fff;background:#294534}.module-shell button:disabled{opacity:.45;cursor:not-allowed}:is(.module-shell button:focus-visible,.module-shell a:focus-visible){outline-offset:3px;outline:3px solid #a88a43}.module-notes{gap:12px;display:grid}.module-notes details{background:#f1f4ed;border-radius:10px;padding:18px}.module-notes p{white-space:pre-line;margin-top:12px;line-height:1.7}.module-open{gap:16px;display:grid}.module-open textarea{border:1px solid #bcc9b8;border-radius:8px;width:100%;min-height:100px;padding:12px;display:block}.module-feedback{background:#f3f5ef;border-radius:10px;gap:14px;padding:20px;display:grid}.module-feedback label{align-items:flex-start;gap:10px;display:flex}.module-feedback input{flex-shrink:0;margin-top:5px}.module-home-link{background:#fff;border:1px solid #dce2d7;border-radius:16px;flex-wrap:wrap;gap:20px;margin-bottom:26px;padding:24px;display:flex}.module-home-link>a{flex:1;min-width:220px}.module-home-link h2{margin:8px 0;font-size:24px}.module-home-link p{margin:10px 0}.module-shell .app-header>div{min-width:0}.module-shell .app-header p{font-size:14px}@media (max-width:600px){.module-body{padding:16px}.module-card{padding:18px}.module-shell .app-header{flex-wrap:wrap;gap:12px;height:auto;padding:12px}.module-shell .app-header img{width:56px;height:56px}.module-card .start-button{white-space:normal;width:100%}.module-home-link{padding:18px}}.sentence-position{color:#fff;background:#294534;border-radius:16px;flex-wrap:wrap;align-items:center;gap:28px;margin:24px 0 8px;padding:22px 26px;display:flex}.sentence-position>span{letter-spacing:.08em;font-size:14px;font-weight:700}.sentence-position strong{letter-spacing:0;font-size:clamp(36px,5vw,48px);line-height:1.15;display:block}.sentence-position small{font-size:.65em;font-weight:500}.sentence-position p{margin:0;font-size:clamp(18px,2.5vw,24px);line-height:1.4}.module-day-card{align-self:start;min-width:0}.module-day-card:hover{transform:none}.module-day-card .day-open{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.day-open>span{letter-spacing:.08em;color:var(--coral);font-size:14px;font-weight:800}.module-day-card .day-open p{height:auto;margin:12px 0 18px;font-size:16px}.day-preview-toggle{text-align:left;border:0;border-top:1px solid var(--line);color:#294534;cursor:pointer;background:0 0;width:100%;margin-top:18px;padding:14px 0 0;font-size:16px;font-weight:700;display:block}.day-sentence-preview{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.day-sentence-preview h3{margin:0 0 12px;font-size:16px;line-height:1.4}.day-sentence-preview ol{margin:0;padding-left:22px;list-style:decimal}.day-sentence-preview li{overflow-wrap:anywhere;margin:0 0 12px;padding-left:3px;font-size:16px;line-height:1.6}@media (max-width:600px){.sentence-position{gap:14px;padding:20px}.sentence-position p{flex-basis:100%}}.lesson-card{gap:22px}.lesson-stage-label{color:#294534;background:#edf2e7;border:1px solid #c3d0bc;border-radius:8px;justify-self:start;padding:7px 12px;font-size:16px;font-weight:800;line-height:1.4;display:inline-block}.module-card .lesson-sentence{color:#23392b;overflow-wrap:anywhere;max-width:900px;margin:0;font-size:clamp(26px,3.5vw,36px);font-weight:800;line-height:1.35}.lesson-translation{background:#fff4df;border:1px solid #dfca9f;border-left:5px solid #a8792d;border-radius:12px;max-width:900px;padding:12px 16px}.lesson-translation>span{letter-spacing:.06em;color:#69512c;margin-bottom:5px;font-size:14px;font-weight:700;line-height:1.4;display:block}.module-card .lesson-translation p,.module-card .lesson-translation h2{color:#332b20;overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700;line-height:1.45}.lesson-translation strong{font-weight:700}.module-stage-nav button[aria-current=step]{border:2px solid #294534;font-weight:800}.module-progress{color:#294534;font-size:17px;font-weight:700}.lesson-card .chunk-level>span{letter-spacing:.07em;color:#6e422a;font-size:14px}.lesson-card .voice-feedback>b{font-size:18px;font-weight:800}.lesson-card .voice-feedback.good{font-size:17px;font-weight:700}.lesson-card>.start-button{min-height:52px;font-size:18px;font-weight:800}.module-notes summary{font-size:16px;font-weight:600}.module-toolbar>span{font-size:17px;font-weight:700}@media (max-width:600px){.lesson-card{gap:18px}.lesson-translation{padding:10px 14px}.module-card .lesson-translation p,.module-card .lesson-translation h2{font-size:17px}}.lesson-card .voice-practice{margin-top:10px}.lesson-card .classic-recorder{margin-top:0}.lesson-card .record-box.voice-practice{margin-block:6px!important}.module-games.app-games{min-width:0;max-width:none;padding:0}.game-day-selector{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.game-day-selector button[aria-pressed=true]{color:#fff;background:#294534;border-color:#294534}.module-games .sentence-games{padding:12px 0}.module-games .game-menu strong{font-size:20px}.module-games .game-menu span{font-size:16px;line-height:1.5}.module-games .game-choices{gap:8px;display:grid}.module-games .game-choices button{text-align:left;white-space:normal;overflow-wrap:anywhere}.module-games .game-answer{border:1px dashed #a8b39e;border-radius:12px;flex-wrap:wrap;gap:8px;min-height:64px;margin:16px 0;padding:12px;display:flex}.module-games .textlink{color:#294534;padding:10px 0;font-weight:600;text-decoration:underline}.module-games .game-timer{margin:16px 0}.module-games input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.module-games details>summary{cursor:pointer;font-size:17px;font-weight:700;line-height:1.5}.module-games .interactive-games{overflow-wrap:anywhere}.module-games .outline{color:#332b20;background:#fffaf1}.module-games .outline.pair-selected{background:#e7eedf;outline-color:#294534}.module-games .mistake-highlight{background:#fff0d3;border:2px solid #a76b16}.module-games .matching-board button{margin:0;font-size:16px}.module-games .action-round{scroll-margin-top:24px}@media (max-width:600px){.module-games .matching-board{gap:8px}.module-games .matching-board button{padding:10px;font-size:15px}.module-games .game-menu button{margin:0}.module-games .module-card{padding:16px}}.games-heading{margin-bottom:24px}.games-heading h1{margin:8px 0;font-size:clamp(28px,4vw,38px);font-weight:800;line-height:1.2}.game-setup{background:#edf2e7;border-radius:16px;margin-bottom:28px;padding:20px 24px}.game-setup h2,.game-picker h2{margin:0 0 16px;font-size:21px;font-weight:750}.game-setup .game-day-selector{margin:12px 0}.game-setup p{margin-bottom:0}.clear-game-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.game-choice-card{text-align:left;color:#25392c;cursor:pointer;background:#fffdf8;border:1px solid #c9d2c3;border-radius:16px;flex-direction:column;align-items:flex-start;min-width:0;padding:24px;display:flex}.game-choice-card>span{letter-spacing:.06em;color:#596c51;font-size:14px;font-weight:600}.game-choice-card>strong{margin-top:10px;font-size:24px;line-height:1.3}.game-choice-card p{flex:1;font-size:16px;line-height:1.5}.game-choice-card>b{margin-top:8px;font-size:17px}.game-choice-card:hover{background:#f4f7ee;border-color:#294534}.more-games{border-top:1px solid #d8dfd1;margin:24px 0;padding:20px 0}.more-games>summary{cursor:pointer;font-size:17px;font-weight:650}.game-session-note{color:#5b6358;font-size:14px}.module-games .active-game .interactive-games{margin:0;padding:24px}.active-game>.sentence-games{background:#fffdf8;border:1px solid #d5c9b9;border-radius:16px;padding:24px}.module-games .active-game .primary{background:#294534;border-color:#294534;padding:14px 22px;font-size:17px;font-weight:750}.module-games .active-game .outline{font-size:16px}.active-game .action-round>p:first-child{color:#294534;font-size:17px;font-weight:750}.active-game .game-feedback{font-weight:600}@media (max-width:600px){.clear-game-menu{grid-template-columns:1fr}.game-choice-card{padding:20px}.game-setup,.module-games .active-game .interactive-games,.active-game>.sentence-games{padding:16px}.module-games .active-game .primary{width:100%;margin:8px 0}.game-choice-card>strong{font-size:22px}}.fix-game{max-width:800px}.fix-game .fix-step{margin:20px 0;font-size:clamp(22px,3vw,28px);font-weight:800;line-height:1.3}.module-games .fix-game .mistake-sentence{background:#f4f6ef;border-radius:14px;gap:6px;padding:16px}.module-games .fix-game .mistake-sentence button{margin:0;padding:8px 10px;font-size:20px}.fix-context{background:#f4f6ef;border-radius:12px;padding:16px;font-size:20px;line-height:1.7}.fix-context mark{color:#3d2e12;background:#ffdf9e;border-radius:4px;padding:3px 5px;font-weight:700}.fix-form{gap:14px;margin:22px 0;display:grid}.fix-form label{font-size:17px;font-weight:600}.module-games .fix-form input{border-radius:10px;width:100%;max-width:400px;margin-top:10px;font-size:20px}.module-games .fix-form .primary{justify-self:start;margin:0}.fix-hint{color:#4e5c46;margin:18px 0}.fix-hint summary{cursor:pointer;font-size:16px}.fix-hint p{background:#f4f6ef;border-radius:10px;padding:12px}.fix-success{color:#294534;font-weight:700}.fix-correct-sentence{color:#294534;font-size:clamp(22px,3vw,28px);font-weight:750;line-height:1.5}@media (max-width:600px){.module-games .fix-game .mistake-sentence button{font-size:18px}.fix-form .primary{justify-self:stretch}}.time-equation{background:var(--ink);color:#fff;border-radius:20px;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:25px 0;padding:18px;display:grid}.time-equation>div{text-align:center;display:grid}.time-equation b{color:var(--lime);font-size:25px}.time-equation span{text-transform:uppercase;letter-spacing:.1em;color:#bbc5be;font-size:10px}.time-equation>i{color:#89958d;font-style:normal}.round-blueprint{gap:0;margin:20px 0;display:grid}.round-blueprint span{border-top:1px solid #e1d9cc;justify-content:space-between;padding:12px 2px;font-size:13px;display:flex}.round-blueprint b{color:#bd4e3d}.timed-layout{grid-template-columns:255px minmax(0,1fr);gap:24px;max-width:1140px;margin:auto;padding:34px 24px 64px;display:grid}.round-aside,.round-main{border:1px solid var(--line);background:#fffaf1f5;box-shadow:0 18px 50px #382c1e12}.round-aside{border-radius:25px;align-self:start;padding:24px;position:sticky;top:96px}.round-number{align-items:end;gap:7px;margin:10px 0 19px;display:flex}.round-number b{letter-spacing:-.06em;font-size:56px;line-height:1}.round-number span{color:var(--muted-foreground);padding-bottom:7px}.round-clock{background:var(--ink);color:#fff;border-radius:15px;align-items:center;gap:11px;padding:13px;display:flex}.round-clock>svg{color:var(--lime)}.round-clock>div{display:grid}.round-clock b{font-size:19px}.round-clock span{color:#b9c2bc;font-size:10px}.phase-track{margin:21px 0;display:grid}.phase-track>button{color:#94968f;align-items:center;gap:10px;padding:8px 0;font-size:12px;font-weight:700;display:flex}.phase-track i{background:#e9e1d5;border-radius:8px;place-items:center;width:22px;height:22px;font-style:normal;display:grid}.phase-track .now{color:var(--ink);font-weight:900}.phase-track .now i{background:var(--coral);color:#fff}.phase-track .past{color:#6c7e64}.phase-track .past i{background:var(--lime);color:var(--ink)}.sentence-dots{border-top:1px solid #e1d9cc;grid-template-columns:repeat(5,1fr);gap:5px;padding-top:18px;display:grid}.sentence-dots i{background:#ded6ca;border-radius:8px;height:6px}.sentence-dots i.done{background:#9fb36e}.sentence-dots i.current{background:var(--coral)}.round-main{border-radius:30px;flex-direction:column;min-height:690px;padding:clamp(24px,4vw,42px);display:flex}.round-top{border-bottom:1px solid #e3dbcf;justify-content:space-between;gap:14px;padding-bottom:17px;display:flex}.round-top span{text-transform:uppercase;letter-spacing:.14em;color:#bd4e3d;font-size:11px;font-weight:900}.round-top b{font-size:12px}.phase-card{flex:1;padding:35px 2px 25px;animation:.3s ease-out rise}.phase-card>h2{letter-spacing:-.035em;margin:10px 0 20px;font-size:clamp(25px,3.4vw,38px);line-height:1.28}.phase-card>blockquote{border-left:5px solid var(--coral);margin:18px 0 25px;padding-left:20px;font-size:clamp(21px,3vw,31px);font-weight:800;line-height:1.4}.speak-reminder{color:#a94537;background:#fde4dc;border-radius:12px;align-items:center;gap:8px;padding:11px 13px;font-size:13px;font-weight:800;display:flex}.phase-card .answer-input{margin-top:20px}.attempt-result{border-radius:12px;margin-top:11px;padding:11px 13px;font-size:13px;font-weight:800}.attempt-result.good{color:#536c3f;background:#e8f2c5}.attempt-result.retry{color:#9a5d24;background:#fff0d8}.timer-freeze{background:var(--ink);color:#fff;border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;display:flex}.timer-freeze>div{display:grid}.timer-freeze span{color:#c6cec9;margin-top:3px;font-size:11px}.model-phase>p{color:#5c675f;max-width:650px;font-size:16px;line-height:1.6}.audio-hero,.text-audio{background:var(--coral);color:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:13px 17px;font-weight:900;display:inline-flex}.phase-instruction{color:#5e675f;border-top:1px solid #e3dbcf;margin-top:24px;padding-top:19px;font-size:14px;line-height:1.55}.chunk-phase>p{color:var(--muted-foreground)}.chunk-focus{background:var(--ink);color:#fff;text-align:left;border:0;border-radius:22px;align-items:center;gap:16px;width:100%;margin:18px 0;padding:24px;display:flex}.chunk-focus>svg{color:var(--lime);flex:none}.chunk-focus strong{font-size:clamp(22px,3.2vw,34px);line-height:1.25}.chunk-progress{gap:7px;display:flex}.chunk-progress span{background:#e9e1d5;border-radius:10px;place-items:center;width:31px;height:31px;font-size:11px;font-weight:900;display:grid}.chunk-progress span.active{background:var(--coral);color:#fff}.chunk-progress span.learned{background:var(--lime)}.chunk-progress svg{width:14px}.repeat-phase>p{color:#5c675f}.repeat-buttons{grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0;display:grid}.repeat-buttons button{text-align:left;border:1px solid var(--line);background:#f3ecdf;border-radius:16px;gap:5px;padding:15px;display:grid}.repeat-buttons button>span{background:#ded6ca;border-radius:10px;place-items:center;width:31px;height:31px;display:grid}.repeat-buttons button small{color:var(--muted-foreground)}.repeat-buttons button.said{background:#eff7d2;border-color:#c4d285}.repeat-buttons button.said>span{background:var(--lime)}.repeat-buttons svg{width:16px}.text-audio{color:#a94537;background:0 0;border:1px solid #e4c2b9;padding:10px 13px}.recall-button{background:var(--ink);color:#fff;border:0;border-radius:14px;align-items:center;gap:8px;padding:14px 17px;font-weight:900;display:inline-flex}.recall-button.done{background:#708d56}.reinforce-phase{text-align:center;align-content:center;place-items:center;display:grid}.reinforce-phase h2{max-width:740px}.reinforce-phase>p{color:var(--muted-foreground)}.done-orbit.small{width:58px;height:58px;margin-bottom:18px}.locked-footer{border-top:1px solid #e3dbcf;justify-content:space-between;align-items:end;gap:20px;padding-top:16px;display:flex}.locked-footer>div{flex:1;gap:7px;display:grid}.locked-footer span{color:var(--muted-foreground);font-size:11px}.locked-footer>div>div{background:#e1d9cd;border-radius:8px;height:6px;overflow:hidden}.locked-footer i{background:var(--coral);height:100%;transition:width 1s linear;display:block}.locked-footer>b{font-size:22px}@media (max-width:850px){.timed-layout{grid-template-columns:1fr;padding:24px 16px 48px}.round-aside{grid-template-columns:1fr auto;align-items:center;display:grid;position:static}.round-aside>.eyebrow,.round-aside>.round-number{display:none}.round-clock{grid-column:1}.phase-track{display:none}.sentence-dots{grid-column:1/-1;grid-template-columns:repeat(5,1fr)}.round-main{min-height:660px}}@media (max-width:560px){.time-equation{gap:5px;padding:14px 9px}.time-equation b{font-size:20px}.time-equation span{font-size:8px}.round-main{border-radius:22px;min-height:620px;padding:22px 18px}.round-top{flex-direction:column;align-items:flex-start}.phase-card{padding-top:25px}.repeat-buttons{grid-template-columns:1fr}.repeat-buttons button{grid-template-columns:auto 1fr;align-items:center}.repeat-buttons button small{grid-column:2}.chunk-progress{flex-wrap:wrap}.locked-footer span{display:none}}.prep-layout{grid-template-columns:300px minmax(0,1fr);gap:24px;max-width:1180px;margin:auto;padding:34px 24px 64px;display:grid}.prep-list,.prep-main{border:1px solid var(--line);background:#fffaf1f5;box-shadow:0 18px 50px #382c1e12}.prep-list{border-radius:25px;align-self:start;max-height:calc(100vh - 120px);padding:22px;position:sticky;top:96px;overflow:auto}.prep-list h2{margin:8px 0 18px}.prep-list>button{text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px;display:grid}.prep-list>button>b{background:#e8e0d4;border-radius:9px;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.prep-list>button>span{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.prep-list>button:hover{background:#f0e8dc}.prep-list>button.active{background:var(--ink);color:#fff}.prep-list>button.active>b{background:var(--coral)}.prep-main{border-radius:30px;padding:clamp(25px,4vw,42px)}.prep-head{border-bottom:1px solid #e1d9cd;justify-content:space-between;align-items:start;gap:24px;padding-bottom:26px;display:flex}.prep-head h1{letter-spacing:-.04em;margin:9px 0;font-size:clamp(28px,4vw,42px);line-height:1.22}.prep-head p{color:var(--muted-foreground);font-size:15px}.prep-head .audio-hero{flex:none}.prep-note{background:#eef6ce;border-radius:15px;align-items:center;gap:12px;margin:22px 0;padding:14px 16px;display:flex}.prep-note>span{gap:3px;font-size:13px;display:grid}.prep-note svg{color:#5e7849}.prep-main h3{margin:25px 0 12px;font-size:15px}.prep-chunks{gap:8px;display:grid}.prep-chunks>button{text-align:left;background:#f5eee3;border:1px solid #ded6ca;border-radius:14px;grid-template-columns:33px minmax(0,1fr) 30px;align-items:center;gap:12px;padding:12px 13px;display:grid}.prep-chunks>button:hover{border-color:var(--coral);background:#fff}.prep-chunks>button>span{background:#e3dbcf;border-radius:9px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.prep-chunks>button>b{font-size:15px}.prep-chunks svg{color:#bd4e3d;width:17px}.prep-actions{justify-content:space-between;margin:20px 0;display:flex}.prep-actions button{color:#9d493c;background:0 0;border:0;padding:8px;font-weight:800}.prep-actions button:disabled{opacity:.25}.prep-start{border-top:1px solid #e1d9cd;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;display:flex}.prep-start>div{display:grid}.prep-start span{color:var(--muted-foreground);margin-top:4px;font-size:12px}.unlock-button{background:var(--coral);color:#fff;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:12px 15px;font-weight:900;display:inline-flex}.unlock-button:disabled{color:#898b85;cursor:not-allowed;background:#d6cec2}.unlock-button svg{width:17px}.locked-footer{align-items:center}.locked-footer>button+*{flex:none}@media (max-width:850px){.prep-layout{grid-template-columns:1fr;padding:24px 16px 48px}.prep-list{max-height:none;display:flex;position:static;overflow:auto}.prep-list>.eyebrow,.prep-list>h2{display:none}.prep-list>button{grid-template-columns:1fr;min-width:58px;padding:7px}.prep-list>button>span{display:none}.prep-head{flex-direction:column}.prep-start{flex-direction:column;align-items:stretch}.prep-start .start-button{width:100%}}@media (max-width:560px){.prep-main{border-radius:22px;padding:22px 18px}.prep-chunks>button>b{font-size:13px}.unlock-button{width:100%}.locked-footer{flex-direction:column;align-items:stretch}.locked-footer>div{width:100%}}.logo-button{cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:flex}.logo-button img{object-fit:contain;border-radius:50%;width:76px;height:76px}.brand{min-width:90px}.coach-logo{object-fit:contain;border-radius:50%;flex:none;width:92px;height:92px}.days-layout{max-width:1120px;margin:auto;padding:58px 24px 72px}.days-hero{text-align:center;max-width:760px;margin:0 auto 38px}.days-hero h1{letter-spacing:-.06em;margin:13px 0 24px;font-size:clamp(44px,7vw,76px);line-height:.98}.days-hero h1 em{color:var(--coral);font-family:Georgia,serif;font-weight:400}.days-hero p{color:var(--muted-foreground);font-size:17px;line-height:1.65}.day-grid{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}.day-card{border:1px solid var(--line);text-align:left;background:#fffaf1f5;border-radius:24px;grid-column:span 2;padding:24px;transition:all .2s;box-shadow:0 14px 38px #382c1e0f}.day-card:nth-child(4){grid-column:2/span 2}.day-card:hover{border-color:var(--coral);transform:translateY(-4px);box-shadow:0 20px 45px #382c1e1c}.day-card>span{letter-spacing:.15em;color:var(--coral);font-size:10px;font-weight:900}.day-card h2{letter-spacing:-.035em;margin:10px 0;font-size:25px}.day-card p{height:54px;color:var(--muted-foreground);font-size:13px;line-height:1.5;overflow:hidden}.day-card>div{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.day-card>div b{margin-right:auto;font-size:12px}.day-card i{color:#66804f;align-items:center;gap:4px;font-size:11px;font-style:normal;display:flex}.text-back{color:var(--coral);background:0 0;border:0;align-items:center;gap:5px;margin-bottom:15px;padding:0;font-weight:800;display:flex}@media (max-width:850px){.logo-button img{width:58px;height:58px}.brand{min-width:62px}.day-grid{grid-template-columns:1fr 1fr}.day-card,.day-card:nth-child(4){grid-column:auto}.days-layout{padding-top:36px}}@media (max-width:560px){.day-grid{grid-template-columns:1fr}.days-hero{text-align:left}.days-hero h1{font-size:48px}.day-card p{height:auto}.coach-logo{width:68px;height:68px}}.voice-practice{gap:12px;max-width:720px;margin-top:22px;display:grid}.voice-record{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:17px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 20px;font-size:15px;font-weight:900;transition:transform .2s,background .2s;display:flex}.voice-record:hover{transform:translateY(-2px)}.voice-record.recording{background:var(--coral);animation:1.1s infinite voice-pulse}.voice-record svg{width:21px}.voice-reps{justify-content:center;gap:9px;display:flex}.voice-reps i{color:#85877f;background:#e7dfd2;border-radius:11px;place-items:center;width:34px;height:34px;font-style:normal;font-weight:900;display:grid}.voice-reps i.done{background:var(--lime);color:var(--ink)}.voice-transcript{border:1px solid var(--line);background:#fff;border-radius:14px;gap:5px;padding:14px 16px;display:grid}.voice-transcript span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);font-size:11px;font-weight:900}.voice-transcript q{font-size:16px;font-weight:750;line-height:1.45}.voice-feedback{text-align:left;border-radius:14px;gap:6px;padding:13px 15px;font-size:13px;display:grid}.voice-feedback.good{color:#50673e;background:#eaf4c8}.voice-feedback.retry{color:#965922;background:#fff0d8}.voice-feedback span{line-height:1.45}.voice-feedback button{color:inherit;background:0 0;border:0;justify-self:start;padding:5px 0;font-weight:800;text-decoration:underline}.reinforce-phase .voice-practice{width:min(100%,620px)}@keyframes voice-pulse{50%{box-shadow:0 0 0 10px #cd5b4524}}@media (max-width:560px){.voice-record{padding:15px}.voice-feedback{font-size:12px}}.unlimited-note{color:#4f643e;background:#eef6ce;border-radius:13px;align-items:center;gap:9px;padding:11px 13px;font-size:13px;line-height:1.4;display:flex}.unlimited-note svg{flex:none}.chunk-trainer{gap:16px;margin-top:18px;display:grid}.chunk-level{gap:10px;display:grid}.chunk-level>span{letter-spacing:.13em;color:var(--coral);font-size:11px;font-weight:900}.chunk-level .chunk-focus{margin:0}.chunk-next{background:var(--coral);color:#fff;border:0;border-radius:13px;justify-content:center;justify-self:end;align-items:center;gap:8px;padding:13px 16px;font-weight:900;display:inline-flex}.chunk-next:disabled{color:#8f918b;cursor:not-allowed;background:#d8d0c4}.chunk-next svg{width:17px}@media (max-width:560px){.chunk-next{width:100%}.unlimited-note{align-items:flex-start}}.repeat-guide{background:#f4f8eb;border-radius:16px;margin-bottom:16px;padding:20px}.repeat-count{gap:12px;margin-bottom:14px;display:flex}.repeat-count span{color:#53634c;border:2px solid #bbc7b0;border-radius:50%;place-items:center;width:46px;height:46px;font-size:22px;font-weight:800;display:grid}.repeat-count .current{color:#294534;background:#fff;border-color:#294534}.repeat-count .done{color:#fff;background:#294534;border-color:#294534}.repeat-guide h3{margin:0 0 10px;font-size:24px;line-height:1.3}.repeat-guide p{margin:8px 0;font-size:17px;line-height:1.5}.repeat-guide .repeat-hint{color:#4d5d47;font-size:15px}.quick-banner{background:var(--ink);color:#fff;border-radius:15px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:15px 16px;display:flex}.quick-banner svg{color:var(--lime);flex:none;margin-top:2px}.quick-banner span{gap:4px;font-size:13px;line-height:1.45;display:grid}.quick-banner b{color:var(--lime);font-size:14px}.phase-back{color:#9d493c;background:0 0;border:0;align-items:center;gap:6px;padding:3px 8px 3px 0;font-size:12px;font-weight:900;display:inline-flex}.phase-back svg{width:16px}.phase-back:disabled{opacity:.3;cursor:not-allowed}.round-top{align-items:center}.round-top>span{margin-left:auto}@media (max-width:560px){.round-top>span{margin-left:0}.phase-back{font-size:13px}}.phase-track>button{text-align:left;cursor:pointer;background:0 0;border:0}.phase-track>button:disabled{cursor:default}.phase-jump{border-bottom:1px solid #e3dbcf;flex-wrap:wrap;align-items:center;gap:8px;padding:13px 0;display:flex}.phase-jump>span{color:var(--muted-foreground);font-size:12px;font-weight:800}.phase-jump button{color:#914a3d;background:#f5eee3;border:1px solid #e0d5c7;border-radius:999px;align-items:center;gap:5px;padding:8px 11px;font-size:12px;font-weight:900;display:inline-flex}.phase-jump button:hover{border-color:var(--coral);background:#fff}.phase-jump svg{width:13px}@media (max-width:560px){.phase-jump{align-items:flex-start}.phase-jump>span{width:100%}.phase-jump button{padding:7px 9px;font-size:11px}}.weekly-review{max-width:850px;margin:0 auto;padding:48px 24px 72px}.weekly-review>h1{letter-spacing:-.055em;margin:10px 0 16px;font-size:clamp(38px,6vw,62px)}.review-lead{color:var(--muted-foreground);max-width:720px;font-size:17px;line-height:1.65}.review-task,.self-talk,.conversation-task{border:1px solid var(--line);background:#fffaf1f7;border-radius:28px;margin-top:28px;padding:clamp(24px,4vw,40px);box-shadow:0 18px 50px #382c1e12}.review-count{letter-spacing:.12em;color:var(--coral);font-size:12px;font-weight:900}.review-task blockquote{border-left:5px solid var(--coral);margin:20px 0;padding-left:18px;font-size:clamp(22px,3vw,31px);font-weight:800;line-height:1.4}.review-task>.start-button,.self-talk>.start-button,.conversation-task>.start-button{margin-top:18px;margin-left:auto}.self-talk{text-align:center}.self-clock{letter-spacing:-.07em;color:var(--coral);margin:10px 0;font-size:clamp(58px,10vw,92px);font-weight:900}.self-talk h2{font-size:28px}.self-talk p{color:var(--muted-foreground);line-height:1.6}.keyword-row{flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0;display:flex}.keyword-row b{border:1px solid var(--line);background:#f2eadf;border-radius:999px;padding:8px 12px;font-size:12px}.self-talk .voice-record{max-width:520px;margin:auto}.sarah-bubble{background:var(--ink);color:#fff;border-radius:22px 22px 22px 6px;max-width:620px;padding:20px 22px;font-size:21px;font-weight:800;line-height:1.45}.conversation-task>p{color:var(--muted-foreground);margin:16px 0}@media (max-width:560px){.weekly-review{padding:30px 16px 50px}.review-task,.self-talk,.conversation-task{border-radius:22px;padding:22px 18px}.review-task>.start-button,.self-talk>.start-button,.conversation-task>.start-button{width:100%}}.teacher-preview{max-width:1120px;margin:auto;padding:48px 24px 72px}.teacher-preview>h1{letter-spacing:-.055em;margin:9px 0 12px;font-size:clamp(42px,6vw,68px)}.teacher-preview>p{color:var(--muted-foreground);max-width:720px;font-size:16px;line-height:1.6}.teacher-days{grid-template-columns:repeat(5,1fr);gap:9px;margin:28px 0;display:grid}.teacher-days button{border:1px solid var(--line);text-align:left;background:#f5eee3;border-radius:15px;gap:5px;padding:14px;display:grid}.teacher-days button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.teacher-days b{font-size:13px}.teacher-days span{color:var(--muted-foreground);font-size:11px;line-height:1.3}.teacher-days .active span{color:#c8d0ca}.teacher-detail{grid-template-columns:minmax(0,1fr) 310px;gap:22px;display:grid}.teacher-detail>div,.teacher-detail aside{border:1px solid var(--line);background:#fffaf1f7;border-radius:25px;padding:25px}.teacher-detail h2{margin:8px 0 18px;font-size:31px}.teacher-detail ol{gap:13px;padding-left:22px;display:grid}.teacher-detail li{padding-left:6px;line-height:1.5}.teacher-detail aside{align-self:start;gap:7px;display:grid}.teacher-detail h3{margin:0 0 8px}.teacher-detail aside button{text-align:left;background:#f5eee3;border:1px solid #dfd5c8;border-radius:12px;justify-content:space-between;align-items:center;padding:11px 12px;font-weight:800;display:flex}.teacher-detail aside button:hover{border-color:var(--coral);background:#fff}.teacher-detail aside svg{width:16px}.teacher-return{z-index:20;background:var(--ink);color:#fff;border:0;border-radius:999px;align-items:center;gap:7px;padding:12px 16px;font-size:11px;font-weight:900;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 30px #0000002e}.teacher-return svg{width:15px}@media (max-width:850px){.teacher-days{grid-template-columns:1fr 1fr}.teacher-detail{grid-template-columns:1fr}.teacher-detail aside{position:static}}@media (max-width:560px){.teacher-preview{padding:30px 16px 56px}.teacher-days{grid-template-columns:1fr}.teacher-return{bottom:12px;right:12px}.teacher-detail>div,.teacher-detail aside{border-radius:20px;padding:20px}}.studio{--ink:#193d38;--accent:#aa4935;--paper:#fffcf5;color:var(--ink);background:#f3f0e8;min-height:100vh;font-family:Arial,sans-serif;font-size:16px;line-height:1.55}.studio *{box-sizing:border-box}.studio button,.studio select{font:inherit;cursor:pointer;background:var(--paper);color:var(--ink);border:1px solid #c9cfc5;border-radius:10px;padding:10px 16px}.studio button:hover{border-color:var(--ink);background:#e8eee5}:is(.studio button:focus-visible,.studio a:focus-visible,.studio textarea:focus-visible,.studio select:focus-visible){outline-offset:4px;outline:3px solid #b75b38}.studio button:disabled{opacity:.4;cursor:not-allowed}.studio .primary{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}.studio .primary:hover{background:#28584e}.studio-header{background:var(--paper);border-bottom:1px solid #d8dacc;justify-content:space-between;align-items:center;gap:20px;padding:16px max(24px,50vw - 660px);display:flex}.studio-brand{color:inherit;align-items:center;gap:16px;font-size:21px;font-weight:700;text-decoration:none;display:flex}.studio-brand img{border-radius:50%;flex:none}.studio-brand small{font-size:14px;font-weight:400;display:block}.studio-layout{grid-template-columns:260px minmax(0,1fr);gap:40px;max-width:1320px;margin:auto;padding:32px 24px 64px;display:grid}.studio-sidebar h1{letter-spacing:-1px;margin:14px 0 28px;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.15}.studio .eyebrow{letter-spacing:.1em;color:#80614b;font-size:12px;font-weight:700}.studio-sidebar nav{gap:8px;display:grid}.studio-sidebar nav button{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:14px;padding:14px 10px;display:flex}.studio-sidebar nav button[aria-current]{background:var(--ink);color:#fff}.studio-sidebar nav b{font-family:Georgia,serif;font-size:24px;font-weight:400}.studio-sidebar nav small{opacity:.8;font-size:13px;display:block}.local-progress{border-top:1px solid #c7d0c4;margin-top:26px;padding:22px 0;display:grid}.local-progress b{font-size:28px}.studio-sidebar>small{color:#586b62;font-size:13px;display:block}.daily-heading h2{letter-spacing:-1px;margin:8px 0;font-family:Georgia,serif;font-size:38px;font-weight:400}.daily-heading p{color:#596960;max-width:680px;margin:0 0 26px}.next-action{background:#e0e9d8;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:flex}.next-action h3{margin:6px 0;font-size:23px}.next-action p{max-width:460px;margin:0}.next-action button{flex:none}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.studio .activity{text-align:left;background:var(--paper);border-color:#d7dacc;border-radius:16px;align-content:start;padding:24px;display:grid}.activity>span{color:var(--accent);font-family:Georgia,serif;font-size:24px}.activity h3{margin:8px 0;font-size:22px}.activity p{color:#5a685f;margin:0 0 16px}.activity>b{align-self:end;font-size:14px}.method-note{background:var(--paper);border-radius:12px;margin-top:24px;padding:18px}.method-note summary{cursor:pointer;font-weight:700}.studio .work-card{background:var(--paper);border:1px solid #d4dacd;border-radius:20px;padding:32px;box-shadow:0 16px 40px #243c2810}.work-card h2{letter-spacing:-.4px;overflow-wrap:anywhere;margin:22px 0;font-size:28px;line-height:1.35}.card-meta{color:#6b6451;justify-content:space-between;gap:16px;font-size:14px;display:flex}.card-meta span{white-space:nowrap}.mini-tabs,.button-row,.rating-row,.session-nav{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;display:flex}.mini-tabs button[aria-current]{background:var(--ink);color:#fff}.translation{color:#5f6d64}.tip{background:#edf0e3;border-left:3px solid #9fae82;gap:6px;padding:18px;display:grid}.chunk-area{color:#fff;background:#193d38;border-radius:14px;margin-top:20px;padding:20px}.chunk-area h3{font-size:25px;font-weight:500}.record-box{border-top:1px solid #d4dacd;border-bottom:1px solid #d4dacd;margin:22px 0;padding:16px 0}.record-box label{gap:8px;font-size:14px;display:grid}.record-box audio{width:100%}.record-box small{color:#667267;margin-top:12px;font-size:13px;display:block}.studio .recording{color:#fff;background:#a6322c}.answer-label{gap:8px;margin:18px 0;font-size:14px;display:grid}.studio textarea{font:inherit;resize:vertical;color:#193d38;background:#fff;border:1px solid #bac9b9;border-radius:10px;width:100%;min-height:100px;padding:14px}.feedback{background:#ecf1e3;border-radius:14px;margin-top:20px;padding:22px}.feedback p{margin:12px 0}.preview-bar{color:#fff;text-align:center;background:#254e47;padding:12px 24px;font-size:14px}.studio .preview-skip{border-style:dashed;margin-top:20px}.storage-message{background:#fae2c9;padding:15px}.story-lines section{border-bottom:1px solid #d4dacd;padding:14px 0}.story-lines p{font-size:19px}.story-lines small{color:#526458;margin-bottom:12px;font-size:15px;display:block}.bottom-action{margin-top:24px}.big-time{font-variant-numeric:tabular-nums;font-size:70px}.completion{padding:48px!important}.session-nav{font-size:14px}.session-nav span{margin-left:auto}.studio .feedback{animation:none}.studio .button-row>span{font-size:14px}.studio-main{min-width:0}@media (max-width:1000px){.studio-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.next-action{flex-direction:column;align-items:stretch}}@media (max-width:760px){.studio-layout{padding:20px 16px;display:block}.studio-sidebar h1,.studio-sidebar>.eyebrow,.studio-sidebar>small,.local-progress{display:none}.studio-sidebar nav{margin-bottom:24px;display:flex;overflow:auto}.studio-sidebar nav button{min-width:165px;padding:10px}.studio-header{padding:12px 16px}.studio-brand{gap:10px;font-size:17px}.studio-brand small{display:none}.studio-brand img{width:54px;height:54px}.studio-header>button{font-size:14px}.daily-heading h2{font-size:31px}.studio .work-card{padding:22px 18px}.card-meta{flex-wrap:wrap}.activity-grid{gap:12px}.studio .activity{padding:18px}.activity h3{font-size:20px}.work-card h2{font-size:25px}}@media (max-width:440px){.activity-grid{grid-template-columns:1fr}.rating-row button{width:100%}.studio-brand span{max-width:140px}.completion{padding:24px!important}}.guided .studio-header{justify-content:flex-start;max-width:none;padding:16px max(20px,50vw - 470px)}.guided .studio-header>span{font-size:20px;font-weight:700}.guided .studio-header>button{margin-left:auto}.guided-body{max-width:820px;margin:auto;padding:36px 24px 64px}.guided h1{margin:12px 0;font:400 36px/1.2 Georgia,serif}.guided .eyebrow{font-size:14px}.day-picker{grid-template-columns:repeat(5,1fr);gap:10px;margin:28px 0;display:grid}.day-picker button{text-align:center;gap:5px;padding:16px 8px;display:grid}.day-picker small{font-size:14px}.day-picker [aria-current]{background:var(--ink);color:#fff}.start-card{text-align:center}.start-card .primary{min-width:220px;margin:16px 0}.start-card>small{font-size:14px;display:block}.local-note{text-align:center;color:#596960;font-size:14px}.lesson-position{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.guided-steps{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px;display:grid}.guided-steps button{background:0 0;border-color:#0000;justify-items:center;gap:6px;padding:10px 4px;font-size:14px;display:grid}.guided-steps button>span{border:1px solid #b8c4b5;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.guided-steps [aria-current]{background:#e0e9d8;font-weight:700}.guided-steps [aria-current]>span{background:var(--ink);color:#fff}.sentence-card h2{min-height:80px;font-size:30px}.guided-footer{border-top:1px solid #d4dacd;align-items:center;gap:12px;margin-top:24px;padding-top:22px;display:flex}.guided-footer>.primary{min-width:140px;margin-left:auto}.guided details{margin:16px 0;font-size:15px}.guided summary{cursor:pointer}.guided .record-help{color:#526458;font-size:14px}.guided .feedback small{margin-top:14px;font-size:14px;display:block}.guided .record-box{margin-bottom:8px}.day-speaking{text-align:left;margin:24px 0}.day-speaking>button{margin:auto;display:block}.repeat-check{background:#edf0e3;border-radius:10px;padding:14px}.guided button:disabled{cursor:not-allowed}@media (max-width:560px){.guided-body{padding:24px 14px 40px}.guided h1{font-size:29px}.guided .studio-header{gap:12px;padding:10px 14px}.guided .studio-header img{width:64px;height:64px}.guided .studio-header>span{font-size:16px}.day-picker{gap:5px}.day-picker button{padding:12px 3px;font-size:14px}.day-picker small{font-size:12px}.guided-steps button{font-size:13px}.sentence-card h2{font-size:25px}.lesson-position{font-size:14px}.guided .work-card{padding:22px 16px}}.lesson-video{background:#fff;border:1px solid #ddd;border-radius:18px;max-width:1100px;margin:32px auto;padding:24px}.lesson-video h2{margin:12px 0;font-size:28px}.lesson-video p{font-size:16px;line-height:1.6}.lesson-video video{background:#111;border-radius:12px;width:100%;max-height:520px;margin-top:20px;display:block}.classic-recorder.studio{background:0 0;min-height:0;font-size:16px}.classic-recorder .record-box{margin:16px 0}.record-transcript{gap:8px;margin:16px 0;font-size:14px;display:grid}.record-transcript textarea{font:inherit;color:#222;background:#fff;border:1px solid #bbb;border-radius:8px;width:100%;min-height:80px;padding:12px}.record-fallback{margin:16px 0;font-size:14px}.record-fallback summary{cursor:pointer}.record-fallback button{background:#fff;border:1px solid #bbb;border-radius:8px;padding:10px}.record-fallback button:disabled{opacity:.4}.record-fallback p{font-size:14px!important}@media (max-width:720px){.lesson-video{margin:18px 12px;padding:16px}}
