@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}.static{position:static}.block{display:block}.hidden{display:none}}:root{--bg:#f7f8f5;--surface:#fff;--ink:#203b36;--muted:#6e7b75;--brand:#0d625b;--brand-hover:#094e48;--mint:#eaf2ed;--line:#e3e8e1;--warm:#f3eee2;--error:#a33b32}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;line-height:1.35}h1{letter-spacing:-1px;font-size:36px;font-weight:650}h2{font-size:23px;font-weight:620}h3{font-size:16px;font-weight:600}p{color:var(--muted)}small{color:var(--muted);font-size:12px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #419e91}button{border:0}input,textarea,select{color:var(--ink);background:#fff;border:1px solid #cdd6cd;border-radius:10px;padding:12px}input,textarea{width:100%;font-size:16px}textarea{resize:vertical;min-height:100px;line-height:1.6}label{font-size:14px;font-weight:500;display:block}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0}.skip-link{background:var(--brand);color:#fff;z-index:100;padding:10px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:10px}.app-shell{min-height:100dvh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fcfdfa;flex-direction:column;width:236px;padding:36px 22px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.6px;align-items:center;gap:11px;font-size:21px;font-weight:700;display:flex}.brand small{letter-spacing:1px;margin-top:2px;font-size:11px;font-weight:400;display:block}.brand-mark{background:var(--brand);color:#fff;letter-spacing:-4px;border-radius:13px;justify-content:center;align-items:center;width:40px;height:40px;padding-right:4px;font-size:31px;font-weight:750;line-height:1;display:inline-flex}.brand-mark span{color:#b2d4b8}.sidebar nav{flex-direction:column;gap:9px;margin-top:58px;display:flex}.nav-item{color:#69776f;border-radius:11px;align-items:center;gap:14px;min-height:49px;padding:13px 17px;font-size:15px;display:flex}.nav-item:hover{background:#f1f5ef}.nav-item.active{color:var(--brand);background:#e9f1e9;font-weight:650}.nav-dot{background:var(--brand);border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-note{margin-top:auto;padding:45px 15px 36px}.level-tag{letter-spacing:1.2px;color:var(--muted);border:1px solid #d9e0d5;border-radius:5px;padding:4px 9px;font-size:10px;display:inline-block}.sidebar-note p{color:#55685b;margin:14px 0 8px;font-size:22px;font-weight:500;line-height:1.65}.sidebar-note small{font-size:11px}.settings-button{color:var(--muted);border-top:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:12px;padding:13px 16px;font-size:13px;display:flex}.main-shell{flex:1;min-width:0;margin-left:236px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:82px;padding:0 50px;display:flex}.desktop-crumb{color:var(--muted);letter-spacing:1px;font-size:12px}.topbar-right{align-items:center;gap:25px;display:flex}.streak{color:#9b6548;align-items:center;gap:7px;font-size:13px;display:flex}.streak svg{color:#bf8054}.private-label{color:#879087;align-items:center;gap:6px;font-size:11px;display:flex}.main-content{max-width:1200px;margin:auto;padding:43px 50px 28px}.eyebrow{letter-spacing:2px;color:var(--brand);margin-bottom:12px;font-size:10px;font-weight:650}.today-heading{margin-bottom:29px}.today-heading h1{font-size:32px}.today-heading>p:last-child{margin-top:10px;font-size:13px}.today-grid{grid-template-columns:minmax(0,1.8fr) minmax(235px,1fr);gap:22px;display:grid}.daily-card{background:var(--brand);color:#fff;border-radius:20px;padding:26px 30px}.daily-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.day-badge{color:#d1ebd6;letter-spacing:1.5px;font-size:11px;font-weight:600}.light-tag{color:#bfd7cb;border:1px solid #559086;border-radius:30px;padding:4px 9px;font-size:10px}.daily-body{max-width:450px;padding:30px 0 28px}.small-label{letter-spacing:1px;color:var(--muted);font-size:11px;font-weight:500}.daily-body .small-label{color:#b0cdbf;margin-bottom:8px}.daily-body h2{letter-spacing:-.6px;font-size:28px;font-weight:550}.daily-body>p:last-child{color:#c4dacf;margin-top:12px;font-size:13px;line-height:1.8}.daily-meta{gap:20px;margin-bottom:18px;display:flex}.daily-meta span{color:#c7dfd1;align-items:center;gap:6px;font-size:11px;display:flex}.button{border-radius:10px;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:12px 20px;font-size:14px;font-weight:550;transition:background .16s,transform .16s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--brand);color:#fff}.button.primary:hover:not(:disabled){background:var(--brand-hover)}.button.secondary{color:var(--brand);background:#fff;border:1px solid #cedbd3}.button.secondary:hover:not(:disabled){background:var(--mint)}.daily-card .button{color:#214939;background:#d5e8b8;justify-content:space-between;width:100%;padding:14px 19px}.daily-card .button:hover:not(:disabled){background:#e1f1c8}.progress-label{color:#bdd2c4;justify-content:space-between;margin:17px 0 6px;font-size:10px;display:flex}progress{appearance:none;background:#397f71;border:0;border-radius:4px;width:100%;height:3px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#397f71}progress::-webkit-progress-value{background:#d1e5b9}progress::-moz-progress-bar{background:#d1e5b9}.today-aside{flex-direction:column;gap:18px;display:flex}.streak-card{background:#f0ede3;border:1px solid #e7e1d1;border-radius:18px;flex:1;grid-template-columns:42px 1fr;align-items:center;gap:5px 10px;padding:25px;display:grid}.streak-card>svg{color:#a9764c}.streak-card strong{font-size:34px;font-weight:550;line-height:1.2;display:block}.streak-card strong small{color:var(--ink);font-size:15px}.streak-card div>span{color:#7c7d6c;font-size:11px}.streak-card p{color:#858171;grid-column:1/-1;margin-top:12px;font-size:12px}.review-card{border:1px solid var(--line);background:#fff;border-radius:18px;flex:1;padding:23px}.section-title{align-items:center;gap:9px;margin-bottom:12px;display:flex}.section-title svg{color:#6f8877;flex-shrink:0}.section-title h3{font-size:13px}.review-card>p{font-size:12px}.review-card strong{color:var(--ink);margin-right:3px;font-size:22px;font-weight:500}.review-card>small{margin-top:5px;font-size:10px;line-height:1.7;display:block}.auto-label{color:#6c896c;align-items:center;gap:6px;margin-top:17px;font-size:10px;display:flex}.new-expressions,.today-roadmap{margin-top:33px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading>h2{font-size:17px}.section-heading>span:not(.status-badge):not(.chunk-number){color:#8a958b;font-size:11px}.chunk-preview-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.chunk-preview{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;padding:18px 21px}.chunk-number{color:#8da18c;letter-spacing:1px;margin-bottom:10px;font-size:11px;display:block}.chunk-preview h3{letter-spacing:-.3px;overflow-wrap:anywhere;font-size:18px;font-weight:550}.chunk-preview p{margin-top:7px;font-size:12px}.expression-placeholder{color:#71856f;background:#f0f3eb;border:1px dashed #d8e1d2;border-radius:12px;align-items:center;gap:12px;padding:23px;font-size:13px;display:flex}.roadmap-list{grid-template-columns:1fr 1fr;gap:0 28px;display:grid}.roadmap-item{border-top:1px solid var(--line);align-items:center;gap:13px;padding:18px 0;display:flex}.roadmap-icon{color:#758b76;background:#edf1e9;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.roadmap-item h3{font-size:12px}.roadmap-item h3 span{color:#9ca697;margin-right:5px;font-size:10px;font-weight:400}.roadmap-item p{margin-top:5px;font-size:10px}.roadmap-item>small{white-space:nowrap;color:#8b9689;margin-left:auto;font-size:10px}.page-footer{letter-spacing:.4px;color:#96a08f;justify-content:space-between;max-width:1200px;margin:auto;padding:0 50px 25px;font-size:10px;display:flex}.bottom-nav,.mobile-brand,.mobile-settings{display:none}.notice{color:#726539;background:#faf7e9;border:1px solid #e0d9b7;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:13px 16px;font-size:13px;line-height:1.7;display:flex}.notice svg{flex-shrink:0;margin-top:2px}.notice.error{color:var(--error);background:#fff1ed;border-color:#efd0c7}.busy-status{color:var(--brand);background:#eaf3ec;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 15px;font-size:13px;display:flex}.spinner{border:2px solid #a2c4b7;border-top-color:var(--brand);border-radius:50%;width:15px;height:15px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.boot{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;display:flex}.boot p{font-size:13px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:75px 20px;display:flex}.empty-state h1{font-size:28px}.empty-state>svg{color:#7b9785}.empty-state p{font-size:14px}.practice-page,.review-page{max-width:820px;margin:0 auto}.step-heading{margin-bottom:30px}.step-heading h1{font-size:31px}.step-heading>p:last-child{margin-top:12px;font-size:13px;line-height:1.8}.practice-tabs{gap:8px;margin-bottom:20px;display:flex}.practice-tabs button{color:#6d7e70;background:#eef1ea;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-size:12px;display:flex}.practice-tabs button.selected{color:var(--brand);background:#e1ede2;font-weight:650}.exercise-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:22px;padding:32px}.listening-visual{text-align:center;padding:15px 0}.headphone-disc{width:72px;height:72px;color:var(--brand);background:#edf3e9;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.wave-bars{justify-content:center;align-items:center;gap:5px;height:70px;margin:15px 0 5px;display:flex}.wave-bars i{background:#bfd1b6;border-radius:5px;width:4px;display:block}.listening-visual p{color:var(--ink);margin-bottom:4px;font-size:18px;font-weight:550}.listening-visual small{font-size:11px}.audio-block{margin:10px 0}.audio-controls{align-items:center;gap:10px;display:flex}.button.audio{color:var(--brand);background:#edf4ed;justify-content:flex-start;min-height:44px}.audio-controls select{width:auto;min-height:44px;padding:10px;font-size:12px}.audio-block .notice{margin:12px 0}.text-button{min-height:44px;color:var(--brand);text-underline-offset:4px;background:0 0;align-items:center;gap:7px;padding:7px 0;font-size:13px;text-decoration:underline;display:inline-flex}.understanding{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.choice-row{flex-wrap:wrap;gap:10px;margin:13px 0;display:flex}.choice{border:1px solid var(--line);background:#f4f6f1;border-radius:10px;min-height:44px;padding:10px 18px;font-size:13px}.choice.selected{color:var(--brand);background:#e5f1e7;border-color:#8eafa0}.quiz{border:0;margin:22px 0;padding:0}.quiz legend{color:var(--ink);margin-bottom:12px;font-size:15px;font-weight:550}.quiz-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:48px;margin:9px 0;padding:14px;font-size:13px;display:flex}.quiz-option.selected{background:#f0f6ed;border-color:#a7bfa9}.transcript{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.english-text{color:var(--ink);overflow-wrap:anywhere;margin:12px 0 23px;font-size:23px;font-weight:450;line-height:1.75}.translation{background:#f5f7f1;border-radius:10px;margin:15px 0;padding:17px;font-size:14px;line-height:1.9}.quiz-result{color:var(--brand);margin:14px 0;font-size:13px}.shadowing{border-top:1px solid var(--line);margin-top:26px;padding-top:23px}.shadowing>p{margin-top:8px;font-size:13px}.sentence{border-bottom:1px solid #eef1e9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;display:flex}.sentence>span{overflow-wrap:anywhere;max-width:100%;font-size:17px}.sentence .audio-block{margin:0}.sentence .audio-controls select{display:none}.sentence .button{padding:8px 12px;font-size:11px}.sentence .button svg{width:17px}.checkbox{align-items:center;gap:10px;min-height:44px;margin:20px 0;font-size:13px;display:flex}.hint{color:#8a8062;margin:10px 0;font-size:12px}.exercise-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:25px;padding-top:23px;display:flex}.saved{color:#64866b;align-items:center;gap:6px;font-size:12px;display:inline-flex}.exercise-footer>.saved{margin-right:auto}.intent{margin:15px 0;font-size:27px;line-height:1.6}.phrase-hint{background:#f9f8e9;border:1px solid #e4e6cb;border-radius:10px;margin:10px 0;padding:18px 21px}.phrase-hint strong{color:var(--brand);font-size:20px}.phrase-hint p{margin-top:6px;font-size:14px}.voice-input{padding-top:12px}.mic-area{text-align:center;padding:15px 0 12px}.mic-button{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;transition:background .15s;display:inline-flex;box-shadow:0 0 0 9px #f0f5ed}.mic-button.recording{background:#a34d37;box-shadow:0 0 0 9px #fae8e0}.mic-area>p{color:var(--ink);margin-top:20px;font-size:14px}.mic-area small{font-size:11px}.voice-input>label{margin-top:13px;margin-bottom:8px;font-size:12px}.input-meta{color:#879583;justify-content:space-between;align-items:flex-start;gap:12px;margin:7px 0 18px;font-size:10px;display:flex}.voice-input>.button{width:100%}.feedback{background:#fcf9ee;border:1px solid #ece0c2;border-radius:13px;margin:23px 0;padding:22px}.feedback.positive{background:#f0f6eb;border-color:#d8e6d0}.feedback-heading{color:#637e52;align-items:center;gap:9px;display:flex}.feedback-heading h3{font-size:16px}.feedback>p:not(.suggestion){margin:10px 0 16px;font-size:13px}.feedback .suggestion{color:var(--ink);margin-top:6px;font-size:22px;line-height:1.5}.feedback>small{margin-top:13px;display:block}.scenario-banner{background:#edf1e7;border-radius:14px;align-items:flex-start;gap:16px;margin-bottom:24px;padding:23px;display:flex}.scenario-avatar{width:46px;height:46px;color:var(--brand);background:#dde7d7;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.scenario-banner h2{margin:5px 0;font-size:18px}.scenario-banner p{font-size:12px;line-height:1.8}.round-count{white-space:nowrap;color:#769071;margin-left:auto;font-size:11px}.conversation{flex-direction:column;gap:23px;display:flex}.exchange{flex-direction:column;gap:12px;display:flex}.user-bubble{background:#dfebde;border-radius:16px 16px 3px;align-self:flex-end;max-width:85%;padding:17px 23px}.user-bubble p{color:var(--ink);overflow-wrap:anywhere;margin-top:6px;font-size:18px}.tutor-bubble{border:1px solid var(--line);background:#fff;border-radius:16px 16px 16px 3px;max-width:93%;padding:22px 25px}.tutor-bubble .english-text{margin-bottom:10px;font-size:23px}.tutor-bubble .audio-controls{gap:8px}.exchange>.feedback{max-width:90%;margin:0 0 15px 20px}.reply-card{margin-top:25px}.conversation-done{text-align:center;padding:40px 20px}.conversation-done>svg{color:#789a68;margin-bottom:14px;display:inline}.conversation-done h2{font-size:24px}.conversation-done p{margin:12px 0 20px;font-size:13px}.summary-banner{background:#eaf1e4;border:1px solid #dbe5d3;border-radius:15px;align-items:center;gap:20px;margin-bottom:25px;padding:22px 25px;display:flex}.summary-check{color:#6d975b;flex-shrink:0}.summary-banner h2{font-size:18px}.summary-banner p{margin-top:7px;font-size:12px}.review-chunks{grid-template-columns:1fr;gap:17px;display:grid}.review-chunk{border:1px solid var(--line);background:#fff;border-radius:15px;padding:25px 28px}.review-chunk .section-heading{margin-bottom:2px}.status-badge{color:#8e7950;background:#f3efdf;border-radius:5px;padding:4px 9px;font-size:10px}.status-badge.mastered{color:#5d7d4c;background:#e9f1e2}.review-chunk h2{margin-bottom:7px;font-size:26px;font-weight:550}.review-chunk>p{font-size:13px}.review-chunk .example{color:#73826f;margin:15px 0;font-size:17px}.performance-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0;display:grid}.performance-grid section{background:#f0f2e9;border-radius:12px;padding:20px}.performance-grid h3{font-size:12px}.performance-grid strong{margin:13px 0 3px;font-size:30px;font-weight:500;display:block}.performance-grid strong small{font-size:16px}.performance-grid p{font-size:12px}.performance-grid section>small{margin-top:10px;font-size:10px;line-height:1.6;display:block}.tomorrow-card{border:1px dashed #cfdcc7;border-radius:12px;align-items:flex-start;gap:16px;padding:22px;display:flex}.tomorrow-card>svg{color:#849a76;flex-shrink:0}.tomorrow-card h3{font-size:16px}.tomorrow-card p{margin-top:7px;font-size:12px}.tomorrow-card>.saved{white-space:nowrap;margin-left:auto}.finish-action{text-align:center;margin:28px 0 10px}.finish-action p{margin-bottom:18px;font-size:13px}.unlock-layout{grid-template-columns:1.1fr 1fr;min-height:100dvh;display:grid}.unlock-story{background:#e8eee0;flex-direction:column;justify-content:space-between;gap:80px;padding:55px 70px;display:flex}.unlock-story h1{letter-spacing:-2px;font-size:55px;font-weight:550;line-height:1.4}.unlock-story>div>p:not(.eyebrow){margin-top:24px;font-size:15px;line-height:2}.unlock-topics{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.unlock-topics span{color:#627953;border:1px solid #bacbb0;border-radius:30px;padding:7px 14px;font-size:11px}.unlock-form{place-self:center;width:100%;max-width:440px;padding:40px}.lock-symbol{color:#63845b;background:#edf2e7;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:28px;display:flex}.unlock-form h2{font-size:28px;font-weight:550}.unlock-form>p:not(.eyebrow){margin-top:12px;font-size:13px}.unlock-form form{margin-top:32px}.unlock-form label{margin-bottom:9px;font-size:12px}.unlock-form input{margin-bottom:17px}.unlock-form .button{justify-content:space-between;width:100%}.unlock-form .form-note{line-height:1.9;margin-top:24px!important;font-size:11px!important}.unlock-form .notice{margin-top:18px}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#1b312f66;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.settings-panel{background:var(--bg);border-radius:20px;width:100%;max-width:530px;max-height:90dvh;padding:35px;position:relative;overflow:auto}.settings-panel>h2{margin-bottom:14px;font-size:25px}.settings-panel>p{font-size:13px;line-height:1.9}.settings-panel>h3{margin-top:23px;margin-bottom:7px}.settings-panel>.button{width:100%;margin-top:25px}.icon-button{width:44px;height:44px;color:var(--muted);background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.close{position:absolute;top:10px;right:10px}.mobile-settings{display:none}@media (min-width:1440px){.main-content{padding-top:50px}.daily-card{min-height:380px}.daily-body{padding-top:38px;padding-bottom:38px}.today-grid{grid-template-columns:1.9fr 1fr}}@media (max-width:1150px){.sidebar{width:205px;padding-left:17px;padding-right:17px}.main-shell{margin-left:205px}.main-content{padding:32px 30px}.topbar{padding:0 30px}.page-footer{padding:0 30px 24px}.today-grid{grid-template-columns:1.6fr 1fr;gap:17px}.daily-card{padding:23px}.daily-body h2{font-size:24px}.review-card{padding:19px}.roadmap-item{gap:9px}.roadmap-item>small{display:none}}@media (max-width:900px){.sidebar{width:180px;padding:30px 13px 18px}.brand{gap:8px;font-size:19px}.brand-mark{width:35px;height:35px;font-size:28px}.sidebar .brand small{font-size:9px}.nav-item{gap:12px;padding:12px}.main-shell{margin-left:180px}.main-content{padding:29px 24px}.today-heading h1{font-size:27px}.today-grid{grid-template-columns:1fr}.today-aside{grid-template-columns:1fr 1.4fr;display:grid}.streak-card{padding:19px}.streak-card p{margin:4px 0 0}.daily-body{max-width:none;padding:24px 0}.daily-card .daily-body p{max-width:420px}.chunk-preview-grid{gap:9px}.chunk-preview{padding:15px}.chunk-preview h3{font-size:16px}.section-heading>span:not(.status-badge):not(.chunk-number){font-size:10px}.roadmap-list{grid-template-columns:1fr}.roadmap-item>small{display:block}.exercise-card{padding:24px}.step-heading h1{font-size:27px}.unlock-story{padding:40px}.unlock-story h1{font-size:43px}.unlock-form{padding:30px}.performance-grid{gap:10px}.performance-grid section{padding:16px}}@media (max-width:680px){.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:68px;padding:0 21px;padding-top:env(safe-area-inset-top);box-sizing:content-box}.desktop-crumb,.private-label{display:none}.mobile-brand{letter-spacing:-.6px;font-size:20px;font-weight:700;display:block}.mobile-brand span{letter-spacing:1px;color:var(--muted);margin-left:5px;font-size:11px;font-weight:400}.mobile-settings{display:inline-flex}.topbar-right{gap:10px}.streak{font-size:12px}.main-content{padding:29px 20px 23px}.today-heading{margin-bottom:22px}.today-heading h1{letter-spacing:-.6px;font-size:25px}.today-heading>p:last-child{max-width:290px;font-size:12px;line-height:1.8}.eyebrow{letter-spacing:1.8px;font-size:9px}.today-grid{gap:14px}.daily-card{border-radius:17px;padding:23px 24px}.daily-body{padding:27px 0}.daily-body h2{max-width:100%;font-size:25px;line-height:1.45}.daily-body>p:last-child{font-size:12px}.daily-meta{gap:16px}.today-aside{grid-template-columns:.85fr 1.3fr;gap:12px}.streak-card{border-radius:13px;grid-template-columns:30px 1fr;gap:6px;padding:17px 14px}.streak-card>svg{width:25px}.streak-card strong{font-size:28px}.streak-card div>span{font-size:10px}.streak-card p{font-size:10px;line-height:1.6}.review-card{border-radius:13px;padding:17px 15px}.review-card .section-title{gap:7px;margin-bottom:8px}.review-card .section-title h3{font-size:11px}.review-card .section-title svg{width:17px}.review-card>p{font-size:10px}.review-card strong{font-size:21px}.review-card>small{font-size:9px}.auto-label{gap:4px;margin-top:10px;font-size:9px}.auto-label svg{width:13px}.new-expressions,.today-roadmap{margin-top:26px}.section-heading{gap:8px;margin-bottom:12px}.section-heading>h2{font-size:15px}.section-heading>span:not(.status-badge):not(.chunk-number){font-size:9px}.chunk-preview-grid{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:1fr;gap:0;overflow:hidden}.chunk-preview{border:0;border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:22px 1fr;gap:4px 10px;padding:16px 18px;display:grid}.chunk-preview:last-child{border-bottom:0}.chunk-number{font-size:10px}.chunk-preview .chunk-number{grid-row:1/3;margin:4px 0}.chunk-preview h3{font-size:19px}.chunk-preview p{margin-top:0;font-size:11px}.expression-placeholder{align-items:flex-start;padding:19px;font-size:12px}.expression-placeholder svg{flex-shrink:0}.roadmap-item{gap:12px;padding:16px 0}.roadmap-item h3{font-size:12px}.roadmap-item p{font-size:10px}.page-footer{padding:0 20px calc(90px + env(safe-area-inset-bottom));gap:10px;font-size:9px}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fcfdfaee;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:#83917f;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:52px;min-height:49px;font-size:10px;display:flex}.bottom-nav a.active{color:var(--brand);background:#edf2e8}.step-heading{margin-bottom:23px}.step-heading h1{font-size:26px;line-height:1.45}.step-heading>p:last-child{font-size:12px;line-height:1.8}.practice-tabs{gap:7px}.practice-tabs button{flex:1;padding:10px 14px;font-size:11px}.exercise-card{border-radius:15px;padding:23px 19px}.english-text{font-size:22px;line-height:1.8}.button{padding:12px 17px;font-size:13px}.listening-visual{padding-top:7px}.listening-visual p{font-size:17px}.audio-controls .button{flex:1;justify-content:center}.audio-controls select{font-size:11px}.choice-row{gap:8px}.choice{flex:1;padding:10px 13px;font-size:12px}.quiz-option{padding:13px;font-size:13px}.quiz legend{font-size:14px}.transcript{padding-top:20px}.intent{font-size:24px}.feedback{padding:18px}.feedback .suggestion{font-size:21px}.exercise-footer{gap:8px}.exercise-footer .button{flex:1}.exercise-footer>.saved{width:100%;margin-bottom:3px}.scenario-banner{gap:11px;padding:18px 16px;position:relative}.scenario-avatar{border-radius:10px;width:37px;height:37px}.scenario-banner h2{padding-right:30px;font-size:16px}.scenario-banner p{font-size:11px}.scenario-banner .small-label{font-size:9px}.round-count{font-size:10px;position:absolute;top:18px;right:13px}.tutor-bubble{max-width:96%;padding:20px}.tutor-bubble .english-text{font-size:22px}.user-bubble{padding:16px 19px}.user-bubble p{font-size:17px}.exchange>.feedback{max-width:96%;margin-left:10px}.summary-banner{gap:13px;padding:19px}.summary-banner h2{font-size:16px}.summary-check svg{width:29px}.summary-banner p{font-size:11px}.review-chunk{padding:23px}.review-chunk h2{font-size:25px}.performance-grid{grid-template-columns:1fr;gap:10px}.performance-grid section{grid-template-columns:1fr 1fr;align-items:center;gap:4px 10px;padding:17px 19px;display:grid}.performance-grid strong{text-align:right;grid-area:1/2/3;margin:0}.performance-grid section>small{grid-column:1/-1;margin-top:7px}.tomorrow-card{flex-wrap:wrap;gap:12px;padding:18px}.tomorrow-card>div{flex:1;min-width:180px}.tomorrow-card>.saved{margin-left:0}.tomorrow-card h3{font-size:14px}.tomorrow-card p{font-size:11px}.finish-action .button{width:100%}.unlock-layout{flex-direction:column;display:flex}.unlock-story{gap:35px;padding:28px 28px 33px}.unlock-story .brand{font-size:20px}.unlock-story>small{display:none}.unlock-story h1{letter-spacing:-1px;font-size:37px;line-height:1.4}.unlock-story>div>p:not(.eyebrow){margin-top:14px;font-size:12px;line-height:1.9}.unlock-topics{gap:8px;margin-top:19px}.unlock-topics span{padding:5px 10px;font-size:10px}.unlock-form{max-width:none;padding:30px 28px 50px}.unlock-form .lock-symbol,.unlock-form>.eyebrow{display:none}.unlock-form h2{font-size:24px}.unlock-form>p:not(.eyebrow){margin-top:9px;font-size:12px}.unlock-form form{margin-top:23px}.unlock-form .form-note{font-size:10px!important}.settings-panel{max-height:85dvh;padding:31px 24px}.modal-backdrop{padding:15px}.settings-panel>h2{font-size:23px}.empty-state{padding:40px 10px}.empty-state h1{font-size:24px}.notice{padding:12px;font-size:12px}.busy-status{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--muted:#596b63;--on-brand:#fff;--surface-soft:#edf3ee;--warning-bg:#faf3df;--warning-ink:#70572d;--error-bg:#fff1ed}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101c1b;--surface:#192a27;--surface-soft:#223932;--ink:#e6f1eb;--muted:#b2c6ba;--brand:#83d4bf;--brand-hover:#a3e4d3;--on-brand:#122b25;--mint:#20372f;--line:#3b5148;--warm:#37342a;--error:#ffb5a9;--error-bg:#412925;--warning-bg:#373124;--warning-ink:#e7ce94}:root[data-theme=dark] :is(.sidebar,.exercise-card,.review-card,.chunk-preview,.chunk-preview-grid,.tutor-bubble,.review-chunk,input,textarea,select,.button.secondary){background:var(--surface);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] :is(.nav-item,.sidebar-note p,.private-label,.roadmap-item p,.roadmap-item>small,.chunk-number,.input-meta,.round-count,.form-note,.example,.page-footer,.section-heading>span,.auto-label,.streak-card small,.streak-card p,.streak-card div>span,.review-card small,.review-card p,.small-label,.hint){color:var(--muted)}:root[data-theme=dark] :is(.nav-item.active,.nav-item:hover,.bottom-nav a.active,.button.audio,.practice-tabs button,.translation,.scenario-banner,.scenario-avatar,.user-bubble,.summary-banner,.performance-grid section,.lock-symbol,.unlock-story,.expression-placeholder,.roadmap-icon,.headphone-disc,.feedback.positive,.status-badge.mastered){background:var(--surface-soft);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] :is(.phrase-hint,.feedback,.streak-card,.status-badge,.notice:not(.error)){background:var(--warning-bg);border-color:var(--line);color:var(--warning-ink)}:root[data-theme=dark] :is(.status-badge.mastered,.feedback-heading,.saved,.summary-check,.quiz-result,.level-tag){color:var(--brand)}:root[data-theme=dark] .notice.error{background:var(--error-bg);border-color:var(--error);color:var(--error)}:root[data-theme=dark] .busy-status{background:var(--surface-soft);color:var(--brand)}:root[data-theme=dark] .bottom-nav{background:#192a27f5}:root[data-theme=dark] .bottom-nav a{color:var(--muted)}:root[data-theme=dark] .daily-card{background:#184f46}:root[data-theme=dark] .daily-card h2{color:#fff}:root[data-theme=dark] .mic-button{box-shadow:0 0 0 9px var(--surface-soft)}:root[data-theme=dark] :is(.button.primary,.mic-button,.brand-mark){color:var(--on-brand)}:root[data-theme=dark] .practice-tabs button.selected{background:var(--brand);color:var(--on-brand)}:root[data-theme=dark] .sentence{border-color:var(--line)}:root[data-theme=dark] .feedback .suggestion{color:var(--ink)}button:active:not(:disabled),a:active{opacity:.8}.word-text p{overflow-wrap:anywhere}.word-text .word-save{margin-top:0;font-size:13px}.word-text .english-text{margin-bottom:4px}.word-text .suggestion{color:var(--ink);font-size:22px}.sentence>.word-text{width:100%}.sentence>.audio-block{flex:1;min-width:0}.playback-progress{margin-top:6px}.playback-progress input[type=range]{width:100%;min-height:44px;accent-color:var(--brand);background:0 0;border:0;padding:0;display:block}.playback-progress>div{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:12px;display:flex}.playback-progress .text-button{padding:0 8px}.save-status{color:var(--muted);align-items:center;gap:8px;padding:12px 0;font-size:14px;display:flex}.mobile-progress{display:none}.unlock-theme{z-index:2;position:absolute;top:16px;right:16px}.vocabulary-shelf{border-top:1px solid var(--line);max-width:900px;margin:32px auto 0;padding-top:24px}.word-dialog{border:1px solid var(--line);background:var(--bg);color:var(--ink);overscroll-behavior:contain;border-radius:20px;width:min(580px,100% - 24px);max-height:90dvh;padding:24px}.word-dialog::backdrop{background:#07110dc2}.word-dialog-heading{background:var(--bg);z-index:1;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky;top:-24px}.word-dialog>p{font-size:14px}.word-dialog form{margin:20px 0}.word-dialog label{margin:12px 0 8px;display:block}.word-add-row{gap:8px;margin:8px 0;display:flex}.word-add-row input{flex:1;min-width:0;font-size:16px}.word-add-row .button{flex-shrink:0}.word-tokens{flex-wrap:wrap;gap:8px;padding:8px 0;display:flex}.word-tokens button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;min-width:44px;min-height:44px;padding:8px 12px}.word-tokens button.selected{background:var(--brand);color:var(--on-brand)}.word-context{overflow-wrap:anywhere;margin:12px 0;font-size:14px}.word-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:16px 0;padding:20px}.word-card h3{overflow-wrap:anywhere;margin-bottom:8px;font-size:23px}.word-card .english-text{font-size:19px}.word-card .word-meaning{color:var(--ink);margin:14px 0 6px;font-size:18px}.word-review-actions{gap:10px;margin-top:18px;display:grid}.word-dialog summary{cursor:pointer;min-height:44px}@media (max-width:680px){body{font-size:16px}.topbar{height:60px;padding-left:16px;padding-right:16px}.topbar-right{gap:2px}.mobile-brand{white-space:nowrap;font-size:19px}.mobile-brand span{display:none}.mobile-progress{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:44px;padding:8px 16px;display:flex;position:sticky;top:0}.mobile-progress span{color:var(--muted);white-space:nowrap;font-size:12px}.mobile-progress progress{width:0;height:7px;accent-color:var(--brand);flex:1}.main-content{padding:22px 16px}.exercise-card{padding:20px 16px}.step-heading>p:last-child,.today-heading>p:last-child{max-width:none;font-size:14px}.button,.choice,.practice-tabs button{min-height:48px;font-size:14px}.audio-controls{gap:8px}.audio-controls select{min-height:48px;font-size:16px}.audio-controls .button{min-width:0;padding:10px 12px}.sentence .button{font-size:14px}.sentence>.word-text p{color:var(--ink);font-size:19px;line-height:1.7}.quiz-option{padding:14px 12px;font-size:16px}.quiz legend{font-size:16px;line-height:1.7}.choice{padding:10px 8px}.translation{font-size:16px}.hint,.shadowing>p,.feedback>p:not(.suggestion){font-size:14px}input,textarea,select{font-size:16px}.exercise-footer{flex-direction:column;align-items:stretch}.exercise-footer .button{width:100%}.word-dialog{width:100%;max-height:94dvh;padding:20px 20px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin:auto 0 0}.word-card{padding:18px 16px}.word-dialog-heading{top:-20px}.page-footer{font-size:12px}.topbar .icon-button{width:44px;height:48px}.vocabulary-shelf .section-heading{flex-wrap:wrap}.tutor-bubble{max-width:100%;padding:18px 16px}.word-save{min-width:72px}}@media (max-width:430px){.topbar .streak{display:none}}.mobile-progress progress{background:var(--line)}.mobile-progress progress::-webkit-progress-bar{background:var(--line)}.mobile-progress progress::-webkit-progress-value{background:var(--brand)}.mobile-progress progress::-moz-progress-bar{background:var(--brand)}@media (max-width:680px){.word-dialog{max-width:100vw}}:root[data-theme=dark] :is(.choice.selected,.quiz-option.selected){background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--on-brand)}:root[data-theme=dark] .quiz-option.selected input{accent-color:var(--on-brand)}.word-tokens button{align-items:center;gap:6px;display:inline-flex}.word-tokens button[aria-pressed=true]{box-shadow:inset 0 0 0 1px}:root[data-theme=dark] .choice:not(.selected){background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
