:root{color:#0b1d3a;background:#dfeaf8;--ink: #0b1d3a;--muted: #637087;--line: #e7edf5;--paper: #ffffff;--page: #dfeaf8;--green: #00a77a;--green-dark: #008d67;--green-soft: #e6f8f2;--surface-soft: #f8fafc;--surface-raised: #ffffff;--app-surface: #f8fafc;--stage-bg: #dfeaf8;--stage-glow: rgba(255, 255, 255, .72);--shadow-card: 0 18px 44px rgba(31, 45, 68, .045);--shadow-panel: 0 24px 68px rgba(31, 45, 68, .07);--orange: #ff9f1c;--violet: #8e44f6;--blue: #5d7ce4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{color:#eef5ff;background:#071225;--ink: #eef3fb;--muted: #9aa7bb;--line: #20314d;--paper: #0b1d3a;--page: #071225;--green: #00d596;--green-dark: #00a77a;--green-soft: rgba(0, 167, 122, .18);--surface-soft: #10243f;--surface-raised: #0f223d;--app-surface: #0a172a;--stage-bg: #071225;--stage-glow: rgba(0, 213, 150, .1);--shadow-card: 0 20px 54px rgba(0, 0, 0, .24);--shadow-panel: 0 28px 80px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,#root{min-height:100%;background:var(--page)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}body{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(circle at 18% 8%,var(--stage-glow),transparent 28rem),linear-gradient(180deg,var(--stage-bg) 0%,var(--page) 100%);background-attachment:fixed;background-repeat:no-repeat;background-size:cover;overflow-x:hidden;-webkit-font-smoothing:antialiased}.app-shell{--app-width: min(1560px, calc(100vw - clamp(28px, 8vw, 160px)) );--app-y: clamp(20px, 5vh, 52px);--app-pad: 22px;--sidebar-width: 284px;width:min(1560px,calc(100vw - clamp(28px,8vw,160px)));min-height:calc(100vh - clamp(42px,8vh,104px));margin:clamp(20px,5vh,52px) auto;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);gap:22px;padding:var(--app-pad);overflow:visible;border:1px solid rgba(255,255,255,.72);border-radius:30px;background:#ffffffc2;box-shadow:0 34px 100px #162b4a1f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.sidebar{position:fixed;z-index:20;top:calc(var(--app-y) + var(--app-pad));left:calc((100vw - var(--app-width)) / 2 + var(--app-pad));width:var(--sidebar-width);height:calc(100dvh - (var(--app-y) * 2) - (var(--app-pad) * 2));min-height:0;max-height:none;padding:26px 22px;display:flex;flex-direction:column;gap:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;color:var(--ink);border:1px solid rgba(232,238,247,.9);border-radius:24px;background:#ffffffeb;box-shadow:0 22px 54px #1f2d440e}.sidebar::-webkit-scrollbar{display:none}.workspace{grid-column:2}.brand{display:flex;align-items:center;gap:14px;padding:4px 8px 12px}.mobile-menu-button{display:none}.brand-mark,.avatar,.metric-icon,.path-index,.progress-card-head>div{display:inline-grid;place-items:center;flex:0 0 auto}.brand-mark{width:48px;height:48px;color:#fff;overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 12px 28px #0b1d3a1f}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand strong{display:block;color:var(--ink);font-size:30px;line-height:1.1;letter-spacing:0}.brand span{display:block;margin-top:6px;color:#8a8d93;font-size:14px}.main-nav{display:grid;gap:8px}.main-nav button,.path-item,.review-stack button,.review-list button,.filter-row button,.ghost-button,.primary-action,.link-button{border:0;border-radius:8px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.main-nav button{position:relative;min-height:48px;display:flex;align-items:center;gap:14px;padding:0 16px;color:#5d6674;background:transparent;font-size:16px;font-weight:700;text-align:left;box-shadow:none}.main-nav button:before{content:"";position:absolute;left:-22px;top:13px;width:3px;height:22px;border-radius:999px;background:transparent;transition:background .18s ease}.main-nav button:hover{color:var(--ink);background:#f4f8fc;box-shadow:none;transform:none}.main-nav button.active{color:#10213d;background:color-mix(in srgb,var(--green-soft) 64%,#f5f8fc);box-shadow:none}.main-nav button.active:before{background:var(--green)}.main-nav button svg{color:currentColor}.trip-card,.profile-card{margin-top:auto;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fafafa}.profile-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-top:auto;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--paper) 78%,var(--surface-soft));box-shadow:inset 0 0 0 1px #e7edf5d1}.profile-card strong,.profile-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card .avatar{width:34px;height:34px;font-size:14px}.trip-card span,.trip-card small,.profile-card span,.profile-card small{display:block;color:#7b7e85}.trip-card strong,.profile-card strong{display:block;margin:0 0 3px;color:var(--ink);font-size:15px}.trip-card button,.link-button{margin-top:18px;width:100%;min-height:44px;color:#0f426b;background:#c8f4ff;font-weight:800}.workspace{min-width:0;padding:0;color:var(--ink)}.workspace-topbar{min-height:78px;display:grid;grid-template-columns:minmax(110px,max-content) minmax(280px,520px) minmax(0,1fr);align-items:center;gap:18px;margin-bottom:22px;padding:16px 20px;border:1px solid rgba(232,238,247,.88);border-radius:24px;background:#ffffffe6;box-shadow:0 18px 44px #1f2d440b}.workspace-topbar h1{margin:0;color:#101827;font-size:22px;line-height:1;font-weight:900}.search-shell{position:relative;min-width:0;z-index:5}.global-search{min-height:42px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid transparent;border-radius:14px;background:#f6f7f9;color:#83868d;box-shadow:inset 0 0 0 1px #e8ecf27a}.global-search:focus-within{background:#fff;border-color:color-mix(in srgb,var(--green) 34%,var(--line));box-shadow:0 12px 28px #00a77a1a,0 0 0 4px #00a77a1a}.global-search input{width:100%;min-width:0;border:0;outline:0;color:#202329;background:transparent}.global-search input:focus-visible{outline:0}.search-clear{min-width:24px;height:24px;display:inline-grid;place-items:center;color:#666a70;border-radius:7px;background:#fff;font-size:12px;font-weight:700}.search-clear{border:0;color:#8a8e96;background:transparent;padding:0}.search-clear:hover{color:var(--green);background:var(--green-soft);transform:none}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 22px 46px #161a1f24}.search-results button{min-height:60px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:10px 12px;color:#23262c;border:1px solid transparent;border-radius:12px;background:#fff;text-align:left}.search-results button:hover,.search-results button:focus-visible{border-color:#ccefe1;background:#f4fff9;transform:none}.search-results button>span:first-child{grid-row:span 2;width:34px;height:34px;display:inline-grid;place-items:center;color:var(--green);border-radius:50%;background:var(--green-soft)}.search-results strong,.search-results small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results small{grid-column:2 / 3;color:#747982}.search-results em{grid-column:3;grid-row:1 / span 2;color:#0c8f60;font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.search-empty{padding:16px}.search-empty strong,.search-empty small{display:block}.search-empty small{margin-top:6px;color:#777b82}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.topbar-actions span,.topbar-actions button{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid transparent;border-radius:14px;color:#25282d;background:#f7f8fa;font-weight:700}.topbar-actions button{width:44px;height:44px;justify-content:center;padding:0;border-color:#e8ecf2b8;box-shadow:0 10px 22px #1f2d440a}.topbar-actions button:hover{color:var(--green);border-color:color-mix(in srgb,var(--green) 34%,var(--line));background:#fff;transform:none}.top-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:18px;margin-bottom:24px}.top-strip.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.metric,.wide-metric,.traveler{min-height:94px;padding:18px 20px;border:1px solid rgba(232,238,247,.9);border-radius:20px;background:#ffffffeb;box-shadow:0 18px 44px #1f2d440b}.metric{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px}.metric-card .progress-track{grid-column:1 / -1}.metric-icon{width:54px;height:54px;color:#fff;background:linear-gradient(145deg,var(--green),var(--green-dark));border-radius:999px;box-shadow:0 14px 30px #00a77a2e}.metric span,.wide-metric span,.traveler span,.section-title span,.rail-title span,.progress-card span{color:#777b82;font-size:14px;font-weight:700}.metric strong,.wide-metric strong{display:block;margin:2px 0;color:#101b31;font-size:26px;line-height:1;white-space:nowrap}.metric small,.traveler span,.progress-card small,.path-copy small,.phrase-row small,.review-stack small,.review-list small,.speech-card small{color:#778096;font-size:13px}.wide-metric{display:grid;gap:10px}.progress-track{height:8px;border-radius:999px;background:#ececec;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00a76f,#18c98b)}.traveler{display:flex;align-items:center;gap:12px}.traveler strong{display:block}.avatar{width:46px;height:46px;color:#fff;background:linear-gradient(145deg,#16bf7f,#009c68);border-radius:50%;font-weight:900}.content-grid{width:100%;min-width:0;display:grid;grid-template-columns:minmax(250px,280px) minmax(430px,1fr) 316px;gap:22px;align-items:start}.lesson-grid{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 316px}.panel,.rail-card{min-width:0;border:1px solid rgba(232,238,247,.9);border-radius:22px;background:#ffffffeb;box-shadow:0 18px 44px #1f2d440b}.panel{padding:24px}.full-panel{width:100%;max-width:none}.section-title{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:22px}.section-title h1{margin:4px 0;color:#17191d;font-size:30px;line-height:1.08;letter-spacing:0;word-break:keep-all}.section-title p{margin:0;color:#74777f}.learning-path .section-title{display:grid;gap:14px}.learning-path .ghost-button{justify-self:start}.ghost-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;color:#24272d;border:1px solid var(--line);background:#f8f8f8;font-weight:700;white-space:nowrap}.path-list{position:relative;display:grid;gap:12px}.path-list:before{content:"";position:absolute;top:26px;bottom:26px;left:20px;width:2px;border-radius:999px;background:#e3e3e4}.path-item{position:relative;min-height:72px;display:grid;grid-template-columns:40px 34px minmax(0,1fr) 26px;align-items:center;gap:10px;padding:12px;color:#24272d;border:1px solid #ececed;background:#fff;text-align:left}.path-item.active{color:#fff;background:linear-gradient(180deg,#18bd7c,#009b67);border-color:transparent;box-shadow:0 14px 28px #00a76f33}.path-item:disabled{opacity:.65}.path-index{z-index:1;width:40px;height:40px;color:#17191d;background:#f6f6f6;border:1px solid #e6e6e7;border-radius:50%;font-size:18px;font-weight:900}.path-item.active .path-index{background:#fff;color:var(--green)}.path-copy{min-width:0}.path-copy strong,.phrase-row strong,.review-stack strong,.review-list strong{display:block}.path-copy strong{word-break:keep-all}.path-copy em{width:max-content;display:block;margin-top:8px;padding:3px 8px;color:#6f7278;background:#f3f3f3;border-radius:999px;font-size:11px;font-style:normal;font-weight:900}.path-item.active .path-copy em{color:#057a52;background:#ffffff8f}.lesson-preview{padding:0;overflow:hidden}.lesson-preview .primary-action{margin:18px 24px 24px}.hero-card{position:relative;min-height:360px;overflow:hidden;border-radius:18px 18px 0 0;background:#f8ead9}.lesson-stage .hero-card{margin-bottom:22px;border-radius:18px}.hero-card.compact{min-height:260px}.hero-card img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}.speech-card{position:absolute;left:28%;right:6%;bottom:24px;padding:18px 22px;border:1px solid rgba(233,233,234,.86);border-radius:14px;background:#fffffff0;box-shadow:0 12px 24px #1d1f241a}.speech-card span{color:var(--green);font-size:13px;font-weight:900}.speech-card strong{display:block;margin:6px 0;font-size:24px}.lesson-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 24px 0}.lesson-insights article{min-height:108px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfbfb}.lesson-insights span,.audio-quality small{color:var(--muted);font-size:12px;font-weight:900}.lesson-insights strong{display:block;margin:7px 0 5px;color:var(--ink);font-size:16px;line-height:1.25}.lesson-insights small{color:#778096;line-height:1.45}.lesson-insights article:nth-child(3){background:linear-gradient(180deg,#f2fffb,#fffdfa)}.curriculum-summary{display:grid;gap:12px;margin:18px 24px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.curriculum-summary .rail-title{margin-bottom:0}.curriculum-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.curriculum-list button{min-height:70px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 12px;color:#25282d;border:1px solid var(--line);border-radius:14px;background:#fafafa;text-align:left}.curriculum-list button:hover{border-color:#ccefe1;background:#f6fff9}.curriculum-list button>svg{color:var(--green)}.curriculum-list strong,.curriculum-list small{display:block}.curriculum-list small{color:#778096;line-height:1.35}.primary-action{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 26px;color:#fff;background:linear-gradient(180deg,#17bd7c,#009a66);box-shadow:0 14px 26px #00a76f3d;font-size:18px;font-weight:900}.primary-action.small{min-height:44px;padding:0 18px;font-size:15px}.right-rail{display:grid;gap:18px}.rail-card{padding:18px}.rail-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.rail-title h2,.achievement h2{margin:0;font-size:20px}.rail-title button,.rail-title span{border:0;color:var(--green);background:transparent;font-weight:800}.phrase-list{display:grid}.phrase-row{min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.phrase-row:hover{background:#f8faf9}.phrase-row button{width:34px;height:34px;display:inline-grid;place-items:center;color:#259c73;border:0;border-radius:50%;background:var(--green-soft)}.phrase-row .favorite{color:#b8bdc9;background:transparent}.phrase-row .favorite.active{color:#ffbd2e}.link-button{color:#fff;background:linear-gradient(180deg,#17bd7c,#009a66)}.achievement>div:first-child{display:flex;align-items:center;gap:16px}.achievement svg{color:var(--orange)}.achievement strong{display:block;margin:4px 0}.stamp{margin-top:16px;width:max-content;transform:rotate(-8deg);padding:8px 14px;color:var(--green);border:2px solid #73d5b1;border-radius:10px;font-weight:900}.coach-card{display:grid;gap:14px}.coach-card .rail-title{margin-bottom:0}.coach-list{display:grid;gap:10px}.coach-list article{min-height:64px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfbfb}.coach-list article svg{color:var(--green)}.coach-list strong,.coach-list small{display:block}.coach-list small{margin-top:3px;color:#747982;line-height:1.35}.source-card{background:#fff}.source-list{display:grid;gap:12px}.source-list article{padding:12px 0;border-top:1px solid var(--line)}.source-list article:first-child{border-top:0}.source-list strong,.source-list small{display:block}.source-list strong{margin-bottom:4px;color:#172036;font-size:14px}.source-list small{color:#6f778b;line-height:1.45}.review-stack{display:grid;gap:8px}.review-stack button,.review-list button{width:100%;min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:10px 12px;color:#25282d;border:1px solid var(--line);border-radius:14px;background:#fafafa;text-align:left}.lesson-stage{min-height:780px}.lesson-counter{min-width:70px;padding:10px 14px;color:var(--green);border:1px solid #b9efd9;border-radius:999px;background:var(--green-soft);font-weight:900;text-align:center}.exercise-card{display:grid;gap:18px}.exercise-prompt{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:2px 0 10px}.exercise-prompt span{display:block;color:var(--green);font-weight:900}.exercise-prompt h2{margin:8px 0 0;font-size:26px;line-height:1.25;letter-spacing:0}.audio-button{min-width:92px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--green);border:1px solid #b9efd9;border-radius:999px;background:#f0fff9;font-weight:900}.answer-list{display:grid;gap:12px}.answer-option{min-height:70px;display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:14px;padding:14px 18px;color:#25282d;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:17px;font-weight:800;text-align:left;box-shadow:inset 0 -2px #1720360a}.answer-option:hover:not(:disabled){border-color:#a8e8cf;background:#f8fffb;box-shadow:0 12px 24px #00a76f14}.answer-option>span:first-child{width:32px;height:32px;display:inline-grid;place-items:center;color:var(--green);border-radius:50%;background:var(--green-soft);font-size:14px}.answer-option.chosen,.answer-option.correct{border-color:#32b66b;background:#f0fff5}.answer-option.wrong{border-color:#ff5e62;background:#fff1ef}.translate-box{display:grid;gap:12px}.translate-box label{color:#6f778b;font-weight:900}.translate-box input{width:100%;min-height:58px;padding:0 18px;color:#25282d;border:1px solid var(--line);border-radius:14px;background:#fff;outline:none}.translate-box input:focus{border-color:#0db7aa;box-shadow:0 0 0 4px #0db7aa24}.feedback{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:14px}.feedback>div{display:flex;align-items:center;gap:14px}.feedback strong,.feedback small{display:block}.feedback.correct{color:#128253;border:1px solid #a8e8c6;background:#effcf4}.feedback.wrong{color:#d13c3f;border:1px solid #ffc8c5;background:#fff0ee}.completion-card{min-height:300px;display:grid;place-items:center;gap:10px;padding:34px;color:#25282d;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}.completion-card svg{color:#f3a400}.completion-card h2,.completion-card p{margin:0}.completion-card span{color:var(--green);font-weight:900}.completion-actions{display:flex;gap:12px;margin-top:10px}.filter-row{width:100%;display:flex;flex-wrap:nowrap;gap:6px;margin:0 0 22px;padding:6px;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 78%,var(--page));scrollbar-width:none}.mode-tabs{width:100%;max-width:100%;display:flex;flex-wrap:nowrap;gap:6px;margin:-4px 0 14px;padding:6px;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 80%,var(--page));scrollbar-width:none}.mode-tabs::-webkit-scrollbar,.filter-row::-webkit-scrollbar{display:none}.mode-tabs button{flex:0 0 auto;min-height:38px;padding:0 16px;color:#526079;border:1px solid transparent;border-radius:10px;background:transparent;font-size:14px;font-weight:900;white-space:nowrap;box-shadow:none}.mode-tabs button.active{color:#061522;border-color:var(--green);background:linear-gradient(180deg,#6ee9c0,var(--green));box-shadow:0 8px 18px #00a77a2e}.filter-row button{flex:0 0 auto;min-height:38px;padding:0 16px;color:#555960;border:1px solid transparent;border-radius:10px;background:transparent;font-size:14px;font-weight:900;white-space:nowrap}.filter-row button:hover:not(.active){color:var(--ink);border-color:color-mix(in srgb,var(--line) 82%,var(--green));background:color-mix(in srgb,var(--paper) 86%,var(--page));transform:none}.filter-row button.active{color:#fff;border-color:var(--green);background:linear-gradient(180deg,var(--green),var(--green-dark));box-shadow:0 8px 18px #00a77a2e}.tab-toolbar{width:100%;display:flex;align-items:center;gap:10px;margin:-4px 0 22px;padding:6px;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 82%,var(--page));scrollbar-width:none}.tab-toolbar::-webkit-scrollbar{display:none}.tab-toolbar .mode-tabs,.tab-toolbar .filter-row{width:auto;max-width:none;flex:0 0 auto;margin:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent}.tab-toolbar .mode-tabs{margin-left:auto;padding-left:10px;border-left:1px solid var(--line)}.tab-toolbar .mode-tabs button,.tab-toolbar .filter-row button{min-height:36px}.tab-toolbar .filter-row{gap:4px}.tab-toolbar .filter-row button{padding:0 14px;color:#5f697a;font-weight:900}.tab-toolbar .filter-row button.active{color:#fff;border-color:var(--green);background:linear-gradient(180deg,var(--green),var(--green-dark));box-shadow:0 8px 18px #00a77a2e}.tab-toolbar .mode-tabs button{color:#667086;font-weight:800}.tab-toolbar .mode-tabs button.active{color:#05745c;border-color:color-mix(in srgb,var(--green) 42%,transparent);background:color-mix(in srgb,var(--green-soft) 72%,var(--paper));box-shadow:none}.phrase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px 22px}.phrase-grid .phrase-row{padding:14px 16px;border:1px solid var(--line);border-radius:14px}.progress-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}.progress-card{min-height:158px;display:grid;align-content:space-between;gap:12px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.progress-card-head{display:flex;align-items:center;gap:12px;min-width:0}.progress-card-head>div{width:42px;height:42px;color:#0d8e88;background:#e9fbf8;border-radius:50%}.progress-card-head svg{width:22px;height:22px}.progress-card strong{display:block;margin:4px 0 0;color:#07142f;font-size:clamp(28px,3.4vw,36px);line-height:1;letter-spacing:0}.progress-card small{display:block;line-height:1.45}.progress-view .progress-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.mistake-book-view .progress-cards,.review-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.sync-banner{min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px}.sync-banner>svg{width:42px;height:42px;padding:10px;color:var(--green);border-radius:50%;background:var(--green-soft)}.sync-banner span{display:grid;gap:4px;min-width:0}.sync-banner strong,.sync-banner small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-banner strong{color:var(--ink)}.sync-banner small{color:var(--muted)}.empty-state,.review-result-card{min-height:260px;display:grid;place-items:center;gap:10px;padding:32px;color:#526079;border:1px dashed #dce4ee;border-radius:16px;background:#fbfcfe;text-align:center}.empty-state strong,.review-result-card h2{margin:0;color:#07142f;font-size:24px}.empty-state small,.review-result-card p{max-width:560px;color:#69748a;line-height:1.6}.review-view,.settings-view{display:grid;gap:18px}.review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.review-card{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:18px;padding:24px;border:1px solid #19bd7d;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fffb);box-shadow:0 18px 44px #1f2d440f}.review-card span{color:var(--green);font-weight:900}.review-card h2{margin:8px 0;color:#07142f;font-size:30px}.review-card p{margin:0;color:#607089}.mistake-book-view{display:grid;gap:18px}.mistake-review-shell{display:grid}.mistake-list{display:grid;gap:14px}.mistake-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;color:#152441;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:0 10px 22px #1f2d4409}.mistake-row-icon{width:54px;height:54px;display:inline-grid;place-items:center;color:var(--green);border-radius:14px;background:var(--green-soft)}.mistake-row-main{display:grid;gap:6px;min-width:0}.mistake-row-main span,.mistake-row-main small,.mistake-row-main p{color:var(--muted);line-height:1.45}.mistake-row-main span{font-size:13px;font-weight:900}.mistake-row-main strong{color:var(--ink);font-size:18px;line-height:1.35}.mistake-row-main p{margin:0}.mistake-row-actions{display:flex;align-items:center;gap:8px}.mistake-row-actions button{min-height:40px;padding:0 12px;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 88%,var(--page));font-weight:900;white-space:nowrap}.mistake-row-actions button:first-child{width:40px;padding:0}.review-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-actions button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#152441;border:1px solid #e2e8f0;border-radius:12px;background:#fff;font-weight:900}.progress-insights{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.85fr);gap:16px;margin-top:18px}.progress-insights section{padding:20px;border:1px solid #edf0f5;border-radius:16px;background:#fff}.progress-insights h2,.settings-help strong{display:block;margin:0 0 14px;color:#07142f;font-size:20px}.progress-insights article{display:grid;grid-template-columns:96px minmax(0,1fr) 48px;align-items:center;gap:12px;min-height:42px;color:#526079;font-weight:800}.progress-insights section:last-child{display:grid;align-content:start;gap:12px}.progress-insights button{min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px;color:#152441;border:1px solid #e7ebf1;border-radius:14px;background:#fbfcfe;text-align:left}.progress-insights button small{color:#69748a}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.setting-group{display:grid;gap:14px;min-height:164px;padding:18px;border:1px solid #edf0f5;border-radius:16px;background:#fbfcfe}.setting-group>div:first-child{display:grid;gap:5px}.setting-group strong{color:#07142f;font-size:17px}.setting-group small{color:#69748a;line-height:1.45}.setting-options{display:grid;gap:10px}.setting-options button{min-height:58px;display:grid;gap:4px;padding:12px 14px;color:#152441;border:1px solid #e2e8f0;border-radius:13px;background:#fff;text-align:left;font-weight:900}.setting-options button span{display:inline-flex;align-items:center;gap:8px}.setting-options button small{color:#7a8498;font-weight:700}.setting-options button.active{color:#fff;border-color:transparent;background:linear-gradient(180deg,var(--green),var(--green-dark));box-shadow:0 12px 22px #00a77a33}.setting-options button.active small{color:#ffffffc7}.settings-help{padding:18px;border:1px solid #edf0f5;border-radius:16px;background:#fbfcfe}.settings-help small{color:#69748a}.compact-source{color:#607089;line-height:1.55}.toast{position:fixed;left:50%;bottom:24px;z-index:20;transform:translate(-50%);padding:12px 18px;color:#fff;border-radius:999px;background:#172036;box-shadow:0 14px 30px #17203638;font-weight:800}body.modal-open{overflow:hidden}.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh;z-index:1000;display:grid;place-items:center;padding:28px;margin:0;overflow:hidden;overscroll-behavior:contain;background:#0712256b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.settings-modal{position:relative;width:min(920px,100%);max-height:min(780px,calc(100dvh - 56px));overflow:auto;padding:28px;color:var(--ink);border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 34px 90px #0712253d}.modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;display:inline-grid;place-items:center;color:#6b7485;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--paper) 86%,var(--page));z-index:1}.modal-close:hover{color:#fff;background:var(--green);border-color:var(--green)}.settings-modal .section-title{padding-right:52px}.auth-modal{width:min(480px,100%);display:grid;gap:20px}.auth-modal-header{display:grid;gap:8px;padding-right:54px}.auth-modal-header span{color:var(--green);font-size:13px;font-weight:900}.auth-modal-header h2{margin:0;color:var(--ink);font-size:28px;line-height:1.1}.auth-modal-header p{margin:0;color:var(--muted);line-height:1.6}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:8px;color:var(--ink);font-weight:900}.auth-form input{min-height:48px;padding:0 14px;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 88%,var(--page))}.auth-form input:disabled{opacity:.62}.auth-form input[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.auth-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;color:var(--muted)!important;font-size:13px;font-weight:700!important;line-height:1.55}.auth-consent input{width:18px;min-width:18px;height:18px;min-height:18px;margin-top:2px;accent-color:var(--green)}.auth-consent span{display:flex;flex-wrap:wrap;gap:4px 8px}.auth-consent a{color:var(--green);font-weight:900;text-decoration:none}.auth-consent a:hover{text-decoration:underline}.auth-error{margin:-2px 0 0;color:#dc2626;font-size:13px;font-weight:800}.auth-form .primary-action{width:100%;margin-top:4px}.auth-modal-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.auth-modal-actions button{min-height:42px;padding:0 12px;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 88%,var(--page));font-weight:800}.auth-modal-actions button:hover:not(:disabled){color:#fff;border-color:var(--green);background:var(--green)}.auth-modal-actions button:disabled{opacity:.58}.app-shell[data-theme=dark] .auth-error{color:#fca5a5}.app-shell[data-theme=dark] .workspace,.app-shell[data-theme=dark] .sidebar,.app-shell[data-theme=dark] .panel,.app-shell[data-theme=dark] .rail-card,.app-shell[data-theme=dark] .metric,.app-shell[data-theme=dark] .lesson-node-path,.app-shell[data-theme=dark] .lesson-workbench,.app-shell[data-theme=dark] .curriculum-summary,.app-shell[data-theme=dark] .learning-tools,.app-shell[data-theme=dark] .search-results,.app-shell[data-theme=dark] .heatmap-card,.app-shell[data-theme=dark] .setting-group,.app-shell[data-theme=dark] .settings-help,.app-shell[data-theme=dark] .settings-modal,.app-shell[data-theme=dark] .progress-insights section,.app-shell[data-theme=dark] .progress-card,.app-shell[data-theme=dark] .empty-state,.app-shell[data-theme=dark] .review-card,.app-shell[data-theme=dark] .review-result-card,.app-shell[data-theme=dark] .completion-card{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 88%,var(--page))}.app-shell[data-theme=dark] .global-search,.app-shell[data-theme=dark] .global-search input,.app-shell[data-theme=dark] .topbar-actions button,.app-shell[data-theme=dark] .phrase-row,.app-shell[data-theme=dark] .coach-list article,.app-shell[data-theme=dark] .review-stack button,.app-shell[data-theme=dark] .review-list button,.app-shell[data-theme=dark] .practice-options button,.app-shell[data-theme=dark] .question-card,.app-shell[data-theme=dark] .task-list article,.app-shell[data-theme=dark] .next-card>div>span,.app-shell[data-theme=dark] .curriculum-list button,.app-shell[data-theme=dark] .tool-grid button,.app-shell[data-theme=dark] .setting-options button,.app-shell[data-theme=dark] .progress-insights button,.app-shell[data-theme=dark] .search-clear,.app-shell[data-theme=dark] .translate-box input,.app-shell[data-theme=dark] select{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 76%,var(--page))}.app-shell[data-theme=dark] h1,.app-shell[data-theme=dark] h2,.app-shell[data-theme=dark] strong,.app-shell[data-theme=dark] .question-card strong,.app-shell[data-theme=dark] .practice-meta h1,.app-shell[data-theme=dark] .practice-options button{color:var(--ink)}.app-shell[data-theme=dark] .global-search:focus-within{background:color-mix(in srgb,var(--paper) 88%,var(--page));box-shadow:0 12px 28px #00d59624,0 0 0 4px #00d59621}.app-shell[data-theme=dark] .search-results button:hover,.app-shell[data-theme=dark] .search-results button:focus-visible{border-color:color-mix(in srgb,var(--green) 54%,var(--line));background:color-mix(in srgb,var(--green-soft) 40%,var(--paper))}.app-shell[data-theme=dark] small,.app-shell[data-theme=dark] p,.app-shell[data-theme=dark] .brand span,.app-shell[data-theme=dark] .metric small,.app-shell[data-theme=dark] .phrase-row small,.app-shell[data-theme=dark] .coach-list small{color:var(--muted)}.app-shell[data-theme=dark] .setting-options button.active{color:#061522;background:linear-gradient(180deg,var(--green),#56e6b7)}.app-shell[data-theme=dark] .sync-banner,.app-shell[data-theme=dark] .mistake-row,.app-shell[data-theme=dark] .mode-tabs,.app-shell[data-theme=dark] .filter-row{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 82%,var(--page))}.app-shell[data-theme=dark] .mode-tabs button,.app-shell[data-theme=dark] .filter-row button{color:var(--muted)}.app-shell[data-theme=dark] .mode-tabs button:hover:not(.active),.app-shell[data-theme=dark] .filter-row button:hover:not(.active){color:var(--ink);border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:color-mix(in srgb,var(--paper) 68%,var(--page))}.app-shell[data-theme=dark] .mistake-row-actions button{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 74%,var(--page))}.app-shell[data-theme=dark] .mistake-row-actions button:hover{color:#061522;border-color:var(--green);background:linear-gradient(180deg,var(--green),#64eac0)}.app-shell[data-theme=dark] .mode-tabs button,.app-shell[data-theme=dark] .filter-row button,.app-shell[data-theme=dark] .answer-option,.app-shell[data-theme=dark] .review-actions button{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 78%,var(--page))}.app-shell[data-theme=dark] .mode-tabs button.active,.app-shell[data-theme=dark] .filter-row button.active{color:#061522;border-color:var(--green);background:linear-gradient(180deg,var(--green),#60eabe)}.app-shell[data-theme=dark] .tab-toolbar{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 82%,var(--page))}.app-shell[data-theme=dark] .tab-toolbar .mode-tabs,.app-shell[data-theme=dark] .tab-toolbar .filter-row{border-color:var(--line);background:transparent}.app-shell[data-theme=dark] .tab-toolbar .mode-tabs button,.app-shell[data-theme=dark] .tab-toolbar .filter-row button{background:transparent}.app-shell[data-theme=dark] .tab-toolbar .mode-tabs button,.app-shell[data-theme=dark] .tab-toolbar .filter-row button{color:var(--muted);border-color:transparent}.app-shell[data-theme=dark] .tab-toolbar .filter-row button.active{color:#061522;border-color:var(--green);background:linear-gradient(180deg,var(--green),#60eabe);box-shadow:0 8px 18px #00d59629}.app-shell[data-theme=dark] .tab-toolbar .mode-tabs button.active{color:#72eac2;border-color:color-mix(in srgb,var(--green) 46%,var(--line));background:color-mix(in srgb,var(--green-soft) 42%,var(--paper));box-shadow:none}.app-shell[data-theme=dark] .hero-card:after{background:linear-gradient(90deg,#172131f2,#1721314d,#17213105)}.app-shell[data-theme=dark] .speech-card{color:var(--ink);border-color:#ffffff1f;background:#172131e6}select{border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper)}button:hover{transform:translateY(-1px)}button:focus-visible,input:focus-visible{outline:3px solid rgba(13,183,170,.45);outline-offset:2px}.app-shell{--sidebar-width: 280px;width:100%;min-height:100dvh;margin:0;padding:0 0 0 var(--sidebar-width);display:block;overflow:visible;transform:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;perspective:none;contain:none;border:0;border-radius:0;background:radial-gradient(circle at top right,color-mix(in srgb,var(--green-soft) 24%,transparent),transparent 34rem),color-mix(in srgb,var(--app-surface) 84%,var(--page));box-shadow:none}.app-shell[data-theme=dark]{color:var(--ink);background:radial-gradient(circle at top right,rgba(0,213,150,.09),transparent 32rem),color-mix(in srgb,var(--paper) 70%,var(--page));border-color:color-mix(in srgb,var(--line) 78%,transparent)}.sidebar{position:fixed;z-index:20;top:0;right:auto;bottom:0;left:0;width:var(--sidebar-width);height:100dvh;max-height:100dvh;min-height:0;padding:30px 22px;border:0;border-right:1px solid rgba(225,233,244,.9);border-radius:0;background:#fffffff0;box-shadow:18px 0 52px #1f2d440e;overflow:hidden;overscroll-behavior:none;scrollbar-width:none}.brand-mark{width:48px;height:48px;border-radius:14px}.brand strong{font-size:30px;color:var(--ink)}.main-nav{gap:8px}.main-nav button{min-height:48px;color:#5d6674;border-radius:8px;font-size:16px;font-weight:700}.main-nav button svg{width:22px;height:22px;flex:0 0 22px;stroke-width:2.1}.workspace{width:100%;grid-column:auto;min-width:0;min-height:100dvh;padding:24px 28px 40px;background:radial-gradient(circle at 88% 0%,rgba(255,255,255,.9),transparent 28rem),color-mix(in srgb,var(--app-surface) 88%,var(--page))}.workspace-topbar{position:sticky;top:0;z-index:16;min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:18px;margin:-24px -28px 24px;padding:16px 20px;border:0;border-bottom:1px solid rgba(225,233,244,.9);border-radius:0;background:#fff;box-shadow:0 12px 34px #1f2d440d;backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08)}.workspace-topbar h1:empty{display:none}.workspace-topbar h1{display:none}.search-shell{width:100%;min-width:0;max-width:none;justify-self:stretch}.global-search{min-height:46px;width:100%;padding:0 22px;border:1px solid var(--line);border-radius:13px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.global-search:focus-within{border-color:var(--green);background:var(--paper);box-shadow:0 12px 28px #00a77a1f,0 0 0 4px #00a77a1f}.search-shell:focus-within .global-search svg{color:var(--green)}.topbar-actions button{width:44px;height:44px;min-height:44px;padding:0 14px;border:1px solid rgba(232,236,242,.82);border-radius:14px;background:#f8fafc;box-shadow:0 10px 22px #101b310a}.topbar-actions .icon-toggle{width:44px;height:44px;padding:0;display:inline-flex;justify-content:center;gap:0;color:var(--ink);font-weight:900;box-shadow:none}.topbar-actions .icon-toggle:hover{color:var(--green);background:#fff;border-color:color-mix(in srgb,var(--green) 34%,var(--line));transform:none}.topbar-actions .icon-toggle span{display:none}.app-shell[data-theme=dark] .topbar-actions .icon-toggle:hover{color:#061522;background:linear-gradient(180deg,var(--green),#60eabe);border-color:transparent}.app-shell[data-theme=dark] .topbar-actions .icon-toggle,.app-shell[data-theme=dark] .topbar-actions .icon-toggle span{color:#e6f0ff}.app-shell[data-theme=dark] .sidebar{border-right-color:color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--paper) 92%,var(--page));box-shadow:18px 0 52px #0003}.app-shell[data-theme=dark] .workspace{background:radial-gradient(circle at 88% 0%,rgba(0,213,150,.07),transparent 28rem),color-mix(in srgb,var(--app-surface) 90%,var(--page))}.app-shell[data-theme=dark] .workspace-topbar{border-bottom-color:color-mix(in srgb,var(--line) 86%,transparent);background:color-mix(in srgb,var(--app-surface) 82%,transparent);box-shadow:0 14px 36px #0003}.app-shell[data-theme=dark] .main-nav button{color:#dce8f7}.app-shell[data-theme=dark] .main-nav button:hover,.app-shell[data-theme=dark] .main-nav button.active{color:var(--ink);background:color-mix(in srgb,var(--green-soft) 54%,var(--paper));box-shadow:none}.app-shell[data-theme=dark] .main-nav button.active:before{background:var(--green)}.app-shell[data-theme=dark] .brand strong,.app-shell[data-theme=dark] .metric strong,.app-shell[data-theme=dark] .section-title h1,.app-shell[data-theme=dark] .rail-title h2,.app-shell[data-theme=dark] .hero-copy h1,.app-shell[data-theme=dark] .learning-tools h2,.app-shell[data-theme=dark] .progress-card strong,.app-shell[data-theme=dark] .progress-insights h2,.app-shell[data-theme=dark] .practice-meta h1,.app-shell[data-theme=dark] .practice-options button strong,.app-shell[data-theme=dark] .lesson-visual-caption strong{color:var(--ink)}.app-shell[data-theme=dark] .progress-card-head>div{color:var(--green);background:color-mix(in srgb,var(--green-soft) 78%,var(--paper))}.app-shell[data-theme=dark] .practice-meta p,.app-shell[data-theme=dark] .question-card small,.app-shell[data-theme=dark] .question-progress strong,.app-shell[data-theme=dark] .workbench-footer,.app-shell[data-theme=dark] .lesson-visual-caption small,.app-shell[data-theme=dark] .hero-copy p{color:var(--muted)}.app-shell[data-theme=dark] .progress-insights article,.app-shell[data-theme=dark] .progress-insights button small{color:var(--muted)}.app-shell[data-theme=dark] .practice-topline span+span,.app-shell[data-theme=dark] .question-card,.app-shell[data-theme=dark] .practice-translate,.app-shell[data-theme=dark] .lesson-visual-caption{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 82%,var(--page))}.app-shell[data-theme=dark] .question-card{background:linear-gradient(90deg,color-mix(in srgb,var(--green-soft) 28%,var(--paper)),var(--paper))}.app-shell[data-theme=dark] .question-card.playing{border-color:color-mix(in srgb,var(--green) 72%,var(--line));box-shadow:0 16px 32px #00d59624}.app-shell[data-theme=dark] .autoplay-toggle{color:var(--ink)}.app-shell[data-theme=dark] .practice-options button>span,.app-shell[data-theme=dark] .question-progress b{color:var(--ink);border-color:var(--line);background:color-mix(in srgb,var(--paper) 60%,var(--page))}.top-strip{gap:18px;margin-bottom:20px}.metric{min-height:124px;grid-template-columns:58px minmax(0,1fr);padding:22px;border:1px solid #edf0f5;border-radius:18px;box-shadow:var(--shadow-card)}.metric-icon{width:58px;height:58px;box-shadow:0 14px 26px #00a76f33}.metric strong{font-size:24px}.home-grid{grid-template-columns:minmax(0,1fr) 340px;gap:24px}.home-main{position:relative;z-index:1;display:grid;gap:18px;min-width:0;overflow:hidden}.panel,.rail-card{border:1px solid #edf0f5;border-radius:18px;box-shadow:0 18px 44px #1f2d440e}.lesson-preview{position:relative;min-height:326px}.lesson-preview .primary-action{position:absolute;left:28px;bottom:40px;z-index:3;width:220px;min-height:64px;margin:0;border-radius:8px;justify-content:space-between;box-shadow:0 18px 34px #00a76f42}.hero-card{min-height:326px;border-radius:18px;background:#fff7ed}.hero-card img{height:326px;object-position:68% center}.hero-card:after{content:"";position:absolute;top:0;right:40%;bottom:0;left:0;background:linear-gradient(90deg,#fffffff5,#ffffffbd,#fff0)}.hero-copy{position:absolute;z-index:2;left:28px;top:28px;max-width:360px}.hero-copy span{color:#69748a;font-size:13px;font-weight:800}.hero-copy h1{margin:12px 0 8px;color:#07142f;font-size:34px;line-height:1.05}.hero-copy p{margin:0;color:#65718a;font-weight:700}.speech-card{left:auto;right:8%;bottom:30px;width:min(360px,44%);border-radius:14px}.curriculum-summary{overflow:hidden;margin:0;padding:20px 22px}.curriculum-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.curriculum-list button{position:relative;min-height:120px;grid-template-columns:1fr;justify-items:center;gap:8px;padding:14px 8px;border-radius:12px;background:#fff;text-align:center}.curriculum-list button.started{border-color:#19bd7d;box-shadow:inset 0 0 0 1px #19bd7d}.curriculum-list button em{position:absolute;left:9px;top:9px;width:22px;height:22px;display:inline-grid;place-items:center;color:#07142f;border-radius:50%;background:#f2f5f9;font-size:12px;font-style:normal;font-weight:900}.curriculum-list button.started em{color:#fff;background:var(--green)}.curriculum-list button>svg{margin-top:14px}.curriculum-list strong{font-size:14px}.curriculum-list small{font-size:12px}.curriculum-list i{display:block;margin-top:8px;color:var(--green);font-size:12px;font-style:normal;font-weight:900}.learning-tools{padding:18px 20px}.learning-tools h2{margin:0 0 14px;color:#07142f;font-size:20px}.tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tool-grid button{min-height:76px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:4px 12px;padding:14px;color:#07142f;border:1px solid #e7ebf1;border-radius:12px;background:#fff;text-align:left}.tool-grid button>span{grid-row:span 2;width:42px;height:42px;display:inline-grid;place-items:center;color:#fff;border-radius:10px;background:linear-gradient(145deg,#19c987,#009c68)}.tool-grid small{color:#718096}.right-rail{position:relative;z-index:2;gap:18px}.rail-card{padding:22px}.phrase-row{min-height:66px}.heatmap-card{margin-top:0;padding:22px 24px 26px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:none;--heatmap-cell: 12px;--heatmap-gap: 4px;--heatmap-level-0: #f3f7f6;--heatmap-level-1: #d9f3e9;--heatmap-level-2: #9be4c7;--heatmap-level-3: #39bf87;--heatmap-level-4: #00a876;--heatmap-line: #dfe8e7}.home-heatmap{padding:22px 24px 26px;border-radius:12px}.home-heatmap .heatmap-title{margin-bottom:18px}.home-heatmap .heatmap-grid{gap:var(--heatmap-gap);max-height:none}.heatmap-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.heatmap-title strong{color:var(--ink);font-size:16px;font-weight:700}.heatmap-title small{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.heatmap-actions{display:grid;justify-items:end;gap:8px}.heatmap-legend{display:inline-flex;align-items:center;gap:6px;color:#9aa3ad;font-size:12px;font-weight:700;white-space:nowrap}.heatmap-legend i{width:13px;height:13px;display:inline-block;border-radius:3px;background:var(--heatmap-level-0);box-shadow:inset 0 0 0 1px var(--heatmap-line)}.heatmap-calendar{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:max-content 22px;align-items:start;gap:10px 12px;max-width:100%;overflow:visible;padding-bottom:2px}.heatmap-week-labels{grid-column:1;grid-row:1;display:grid;grid-template-rows:repeat(7,var(--heatmap-cell));row-gap:var(--heatmap-gap);align-items:center;color:#a2aab5;font-size:12px;font-weight:700}.heatmap-week-labels span{line-height:var(--heatmap-cell)}.heatmap-grid{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(var(--heatmap-weeks),minmax(0,1fr));grid-template-rows:repeat(7,var(--heatmap-cell));grid-auto-flow:column;gap:var(--heatmap-gap);min-width:0}.heatmap-grid span{width:100%;min-width:0;height:var(--heatmap-cell);border-radius:3px;background:var(--heatmap-level-0);box-shadow:inset 0 0 0 1px var(--heatmap-line)}.heatmap-grid span.soft{background:var(--heatmap-level-1)}.heatmap-grid span.active{background:var(--heatmap-level-2)}.heatmap-grid span.strong{background:var(--heatmap-level-4);box-shadow:0 5px 12px #00a8762e}.heatmap-legend i.level-1,.heatmap-grid span.level-1{background:var(--heatmap-level-1)}.heatmap-legend i.level-2,.heatmap-grid span.level-2{background:var(--heatmap-level-2)}.heatmap-legend i.level-3,.heatmap-grid span.level-3{background:var(--heatmap-level-3)}.heatmap-legend i.level-4,.heatmap-grid span.level-4{background:var(--heatmap-level-4);box-shadow:0 5px 12px #00a8762e}.heatmap-grid span.future{opacity:.42}.heatmap-empty{margin:12px 0 0 46px;color:var(--muted);font-size:13px}.heatmap-month-labels{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(var(--heatmap-weeks),minmax(0,1fr));column-gap:var(--heatmap-gap);min-width:0;color:#a2aab5;font-size:12px;font-weight:700;white-space:nowrap}.heatmap-month-labels span{min-width:0;overflow:hidden;text-align:center;text-overflow:clip}.heatmap-month-labels span:first-child{text-align:left}.heatmap-month-labels span:last-child{text-align:right}.app-shell[data-theme=dark] .heatmap-card{--heatmap-level-0: color-mix(in srgb, var(--paper) 72%, #e8fff6);--heatmap-level-1: #174437;--heatmap-level-2: #1f7357;--heatmap-level-3: #26a678;--heatmap-level-4: #4de1ae;--heatmap-line: color-mix(in srgb, var(--line) 70%, transparent)}.app-shell[data-theme=dark] .heatmap-grid span,.app-shell[data-theme=dark] .heatmap-legend i{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.lesson-grid{grid-template-columns:minmax(0,1fr) 320px;gap:26px}.lesson-focus{display:grid;min-width:0}.lesson-main{display:grid;gap:18px;min-width:0}.lesson-node-path{overflow:hidden;padding:20px 22px}.node-track{position:relative;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.node-track:before{content:"";position:absolute;left:8%;right:8%;top:31px;border-top:2px dashed #dfe5ed}.node-track button{position:relative;z-index:1;display:grid;justify-items:center;gap:8px;color:#65718a;border:0;background:transparent;font-weight:800}.node-track button span{width:52px;height:52px;display:inline-grid;place-items:center;color:#07142f;border:1px solid #dfe5ed;border-radius:50%;background:#f7f9fc;font-size:20px;box-shadow:0 8px 18px #1f2d440f}.node-track button.active span{color:#fff;border-color:transparent;background:linear-gradient(145deg,#19c987,#009c68)}.node-track button.active strong{color:var(--green)}.node-track small{font-size:12px}.lesson-workbench{display:grid;grid-template-columns:1fr;max-width:1480px;min-height:calc(100vh - 98px);padding:34px 42px 0;overflow:hidden;border:1px solid color-mix(in srgb,#dce5ef 86%,#ffffff);border-radius:28px;background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.96),transparent 30rem),linear-gradient(180deg,color-mix(in srgb,var(--paper) 96%,#eef5fb),var(--paper) 54%),var(--paper);box-shadow:0 26px 70px #1f2d441c}.lesson-practice-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(480px,1.32fr);gap:clamp(28px,3vw,48px);align-items:start}.lesson-visual{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(221,231,242,.92);border-radius:24px;align-self:start;background:#f2f6fb;box-shadow:0 22px 54px #1f2d4424}.lesson-visual:after{content:"";position:absolute;top:42%;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(6,18,38,.28))}.lesson-visual img{width:100%;height:clamp(330px,calc(100vh - 300px),620px);object-fit:cover;object-position:center;display:block}.lesson-visual-caption{position:absolute;left:clamp(16px,2vw,26px);right:clamp(16px,2vw,26px);bottom:clamp(16px,2vw,26px);z-index:2;display:grid;gap:10px;padding:clamp(16px,2vw,24px);color:#12213c;border:1px solid rgba(255,255,255,.68);border-radius:22px;background:#ffffffad;box-shadow:0 22px 52px #1f2d442e;backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18)}.lesson-visual-caption strong{display:flex;align-items:center;gap:10px;color:#10213d;font-size:clamp(18px,1.35vw,22px);font-weight:900;line-height:1.34;text-shadow:0 1px 0 rgba(255,255,255,.55)}.lesson-visual-caption svg{flex:0 0 auto;color:var(--green)}.lesson-visual-caption small{padding-left:30px;color:#5c6a82;font-size:15px;font-weight:850;line-height:1.4}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.lesson-visual-caption{background:#ffffffe6}.app-shell[data-theme=dark] .lesson-visual-caption{background:color-mix(in srgb,var(--paper) 92%,#000000)}}.lesson-practice{min-width:0;display:grid;align-content:start;gap:20px}.practice-topline{display:flex;align-items:center;justify-content:space-between;gap:18px}.practice-topline>div{display:flex;flex-wrap:wrap;gap:10px}.practice-topline span{width:max-content;display:inline-flex;align-items:center;min-height:34px;padding:0 16px;color:#008f5f;border:1px solid #22c88b;border-radius:999px;background:var(--green-soft);font-size:15px;font-weight:900}.practice-topline span+span{color:#607089;border-color:transparent;background:#f1f4f8}.favorite-lesson{min-height:38px;display:inline-flex;align-items:center;gap:8px;color:#526079;border:0;background:transparent;font-size:16px;font-weight:900}.favorite-lesson:hover{color:var(--green);transform:none}.practice-meta h1{margin:0 0 10px;color:#07142f;font-size:42px;line-height:1.08}.practice-meta p{margin:0 0 22px;color:#56647d;font-size:24px;font-weight:700}.practice-meta small{display:flex;align-items:center;gap:8px;color:#637087;font-size:17px;font-weight:700}.question-card{min-height:104px;display:grid;grid-template-columns:68px minmax(150px,.62fr) minmax(220px,1fr) auto;align-items:center;gap:24px;padding:18px 24px;border:1px solid #b9efd9;border-radius:18px;background:linear-gradient(90deg,#f8fffc,#fff);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.question-card.playing{border-color:#7be8bd;background:linear-gradient(90deg,#f1fff8,#fff);box-shadow:0 16px 32px #00ae741f}.listen-orb{width:68px;height:68px;display:inline-grid;place-items:center;color:#fff;border:0;border-radius:50%;background:linear-gradient(145deg,#19c987,#009c68);box-shadow:0 14px 28px #00b27433;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}.listen-orb:hover:not(:disabled){transform:translateY(-1px) scale(1.02)}.listen-orb.playing{animation:lessonAudioPulse 1.05s ease-in-out infinite}.listen-orb:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.question-card>span{display:grid;gap:5px}.question-card strong,.question-card small{min-width:0;display:block}.question-card strong{color:#07142f;font-size:18px;line-height:1.25;overflow-wrap:anywhere}.question-card small{color:#778096;font-size:14px;font-weight:800}.question-card em{color:var(--green);font-style:normal;font-weight:900;white-space:nowrap}.waveform{height:54px;display:flex;align-items:center;gap:4px;overflow:hidden}.waveform i{width:3px;height:var(--bar);min-height:8px;border-radius:999px;background:color-mix(in srgb,var(--green) 62%,#d8fbec);transform-origin:center}.waveform.playing i{animation:waveformBeat .72s ease-in-out infinite alternate;animation-delay:var(--delay)}.practice-options{display:grid;gap:16px}.practice-options button{min-height:78px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:22px;padding:18px 22px;color:#152441;border:1px solid #e2e8f0;border-radius:16px;background:var(--surface-raised);text-align:left;font-size:22px;font-weight:900;box-shadow:0 10px 22px #1f2d4409;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.practice-options button:hover:not(:disabled){border-color:color-mix(in srgb,var(--green) 46%,var(--line));background:color-mix(in srgb,var(--green-soft) 28%,var(--surface-raised));box-shadow:0 14px 28px #1f2d4412}.practice-options button>span{width:44px;height:44px;display:inline-grid;place-items:center;color:#152441;border:1px solid #dbe4ef;border-radius:50%;background:#f3f6fa;font-size:18px;font-weight:900}.practice-options button strong{color:inherit;line-height:1.28}.practice-options button.correct,.practice-options button.chosen{border-color:#19bd7d;background:#f2fff8}.practice-options button.wrong{border-color:#f26363;background:#fff2f1}.practice-translate{padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.workbench-footer{min-height:96px;display:grid;grid-template-columns:minmax(128px,max-content) minmax(260px,1fr) max-content;align-items:center;gap:clamp(18px,2.2vw,32px);margin:26px -42px 0;padding:0 42px;border-top:1px solid #e6edf5;color:#607089;font-weight:800}.autoplay-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#607089;border:0;background:transparent;font:inherit;font-weight:900;line-height:1.2;white-space:nowrap}.autoplay-toggle i{width:52px;height:28px;display:inline-flex;align-items:center;padding:3px;border-radius:999px;background:#dfe7f0;transition:background .2s ease}.autoplay-toggle i:after{content:"";width:22px;height:22px;display:block;border-radius:50%;background:#fff;box-shadow:0 3px 8px #1220362e;transform:translate(0);transition:transform .2s ease}.autoplay-toggle.active{color:#23455d}.autoplay-toggle.active i{background:var(--green)}.autoplay-toggle.active i:after{transform:translate(24px)}.question-progress{width:100%;min-width:0;display:grid;justify-items:stretch;gap:12px}.question-progress strong{color:#607089;font-size:17px;line-height:1.25;text-align:center;white-space:nowrap}.question-progress div{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(28px,1fr);gap:clamp(8px,1.2vw,18px)}.question-progress b{width:100%;height:8px;display:block;border-radius:999px;background:#dfe6ef}.question-progress b.active{background:var(--green)}.footer-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:16px}.workbench-footer .replay-button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 8px;color:#607089;border:0;border-radius:10px;background:transparent;font-weight:800;white-space:nowrap}.workbench-footer .replay-button:hover:not(:disabled){color:var(--green);background:color-mix(in srgb,var(--green-soft) 42%,transparent);transform:none}.workbench-footer .primary-action.small{min-width:118px;white-space:nowrap}.workbench-footer .replay-button:disabled{cursor:not-allowed;opacity:.42}.app-shell[data-theme=dark] .lesson-workbench{border-color:color-mix(in srgb,var(--line) 82%,#ffffff);background:radial-gradient(circle at top right,rgba(0,213,150,.11),transparent 24rem),linear-gradient(180deg,color-mix(in srgb,var(--paper) 86%,#14365a),color-mix(in srgb,var(--paper) 94%,var(--page)));box-shadow:var(--shadow-panel)}.app-shell[data-theme=dark] .lesson-visual{border:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--paper) 72%,var(--page));box-shadow:0 22px 54px #0000003d}.app-shell[data-theme=dark] .lesson-visual-caption{color:var(--ink);border-color:#ffffff29;background:color-mix(in srgb,var(--paper) 74%,transparent);box-shadow:0 24px 54px #00000052;backdrop-filter:blur(24px) saturate(1.12);-webkit-backdrop-filter:blur(24px) saturate(1.12)}.app-shell[data-theme=dark] .lesson-visual-caption strong{color:var(--ink);text-shadow:none}.app-shell[data-theme=dark] .lesson-visual-caption small{color:var(--muted)}.app-shell[data-theme=dark] .practice-topline span:first-child{color:#adffe1;border-color:color-mix(in srgb,var(--green) 72%,var(--line));background:color-mix(in srgb,var(--green-soft) 68%,var(--paper))}.app-shell[data-theme=dark] .favorite-lesson,.app-shell[data-theme=dark] .autoplay-toggle.active,.app-shell[data-theme=dark] .workbench-footer .replay-button{color:var(--ink)}.app-shell[data-theme=dark] .question-card{border-color:color-mix(in srgb,var(--green) 42%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--green-soft) 46%,var(--paper)),color-mix(in srgb,var(--paper) 88%,var(--page)));box-shadow:0 14px 34px #00000029}.app-shell[data-theme=dark] .question-card.playing{border-color:color-mix(in srgb,var(--green) 78%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--green-soft) 64%,var(--paper)),color-mix(in srgb,var(--paper) 88%,var(--page)));box-shadow:0 18px 42px #00d59626}.app-shell[data-theme=dark] .listen-orb{box-shadow:0 16px 32px #00d5963d}.app-shell[data-theme=dark] .waveform i{background:color-mix(in srgb,var(--green) 78%,#c8fff0)}.app-shell[data-theme=dark] .practice-options button:hover:not(:disabled){border-color:color-mix(in srgb,var(--green) 58%,var(--line));background:color-mix(in srgb,var(--green-soft) 36%,var(--paper));box-shadow:0 16px 30px #00d59614}.app-shell[data-theme=dark] .practice-options button.correct,.app-shell[data-theme=dark] .practice-options button.chosen,.app-shell[data-theme=dark] .answer-option.correct,.app-shell[data-theme=dark] .answer-option.chosen{color:var(--ink);border-color:color-mix(in srgb,var(--green) 72%,var(--line));background:color-mix(in srgb,var(--green-soft) 54%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 24%,transparent)}.app-shell[data-theme=dark] .practice-options button.correct>span,.app-shell[data-theme=dark] .practice-options button.chosen>span{color:#061522;border-color:transparent;background:linear-gradient(180deg,var(--green),#63e9bd)}.app-shell[data-theme=dark] .practice-options button.wrong,.app-shell[data-theme=dark] .answer-option.wrong{color:var(--ink);border-color:color-mix(in srgb,#ff7777 72%,var(--line));background:color-mix(in srgb,#ff5e62 18%,var(--paper))}.app-shell[data-theme=dark] .practice-options button.wrong>span{color:#ffd6d2;border-color:color-mix(in srgb,#ff7777 70%,var(--line));background:color-mix(in srgb,#ff5e62 18%,var(--paper))}.app-shell[data-theme=dark] .feedback.correct{color:#b8ffdf;border:1px solid color-mix(in srgb,var(--green) 56%,var(--line));background:color-mix(in srgb,var(--green-soft) 58%,var(--paper))}.app-shell[data-theme=dark] .feedback.wrong{color:#ffd6d2;border:1px solid color-mix(in srgb,#ff7777 62%,var(--line));background:color-mix(in srgb,#ff5e62 16%,var(--paper))}.app-shell[data-theme=dark] .feedback strong,.app-shell[data-theme=dark] .feedback small{color:inherit}.app-shell[data-theme=dark] .workbench-footer{border-color:color-mix(in srgb,var(--line) 84%,transparent);background:color-mix(in srgb,var(--paper) 78%,var(--page))}.app-shell[data-theme=dark] .autoplay-toggle i{background:color-mix(in srgb,var(--line) 74%,var(--page))}.app-shell[data-theme=dark] .autoplay-toggle.active i{background:linear-gradient(180deg,var(--green),var(--green-dark))}.app-shell[data-theme=dark] .question-progress b.active{background:var(--green)}@keyframes lessonAudioPulse{0%,to{box-shadow:0 14px 28px #00b27438,0 0 #19c98740;transform:scale(1)}50%{box-shadow:0 18px 34px #00b2744d,0 0 0 12px #19c98700;transform:scale(1.04)}}@keyframes waveformBeat{0%{transform:scaleY(.42);opacity:.5}to{transform:scaleY(1.2);opacity:1}}.lesson-side .rail-card{box-shadow:none}.task-card .task-list{display:grid;gap:14px}.task-list article{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;color:#526079;font-weight:800}.task-list article span{width:13px;height:13px;border:2px solid #18bd7c;border-radius:50%}.task-list strong{color:#12a86f}.next-card>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;align-items:center}.next-card>div>span{width:70px;height:70px;display:inline-grid;place-items:center;color:var(--green);border-radius:14px;background:var(--green-soft)}.next-card h2,.next-card strong,.next-card small{display:block;margin:0}.next-card h2{font-size:19px}.next-card small{margin-top:5px;color:#607089;line-height:1.45}.next-card .link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}@media(max-width:1180px){.app-shell{--sidebar-width: 92px;width:100%;min-height:100dvh;margin:0;padding:0 0 0 var(--sidebar-width);display:block;border-radius:0}.sidebar{top:0;left:0;width:var(--sidebar-width);height:100dvh;min-height:auto;padding:20px 12px;border-radius:0}.brand{justify-content:center;padding:0;gap:0}.main-nav button{justify-content:center;padding:0;font-size:0}.brand>div:not(.brand-mark),.trip-card,.profile-card{display:none}.content-grid,.lesson-grid{grid-template-columns:minmax(0,1fr)}.workspace-topbar{align-items:stretch}.workspace-topbar h1{display:none}.topbar-actions{justify-content:space-between}.right-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid,.lesson-grid{grid-template-columns:minmax(0,1fr)}.curriculum-list{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.top-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.top-strip.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-view .progress-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mistake-book-view .progress-cards,.review-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-workbench{min-height:auto;padding:28px 24px 0}.lesson-practice-layout{grid-template-columns:minmax(280px,.8fr) minmax(420px,1fr);gap:28px}.lesson-visual img{min-height:420px;height:420px}.practice-meta h1{font-size:36px}.practice-meta p{font-size:20px}.question-card{grid-template-columns:60px minmax(130px,1fr) minmax(160px,1fr)}.question-card em{grid-column:2 / -1;justify-self:end}.question-progress{min-width:0}.question-progress b{width:100%}.workbench-footer{grid-template-columns:minmax(128px,max-content) minmax(220px,1fr) max-content;gap:16px;margin:24px -24px 0;padding:16px 24px;min-height:auto}.footer-actions{gap:10px}.workbench-footer .primary-action.small{min-width:108px;padding-inline:16px}}@media(max-width:980px){.top-strip.three-up{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-insights,.lesson-practice-layout{grid-template-columns:1fr}.lesson-visual img{min-height:360px;height:360px}.question-card{grid-template-columns:60px minmax(140px,.72fr) minmax(180px,1fr)}.right-rail{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{--sidebar-width: 76px;width:100%;min-height:100dvh;margin:0;padding:0 0 0 var(--sidebar-width);border-radius:0;display:block}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100dvh;min-height:auto;max-height:none;padding:12px 8px;border-radius:0}.brand{justify-content:center;padding:0;gap:0}.brand>div:not(.brand-mark){display:none}.brand-mark{width:44px;height:44px}.main-nav{display:grid;grid-template-columns:1fr;gap:8px}.main-nav button{min-height:48px;flex-direction:column;justify-content:center;gap:5px;padding:6px 0;font-size:0;line-height:1.1}.main-nav button:before{display:none}.workspace{grid-column:auto;width:100%;min-height:100dvh;padding:0 12px 24px}.workspace-topbar{gap:12px;margin:0 -12px 16px;padding:12px;border-radius:0}.topbar-actions{display:grid;grid-template-columns:repeat(3,44px);justify-content:end}.topbar-actions button{justify-content:center;padding:0}.sync-banner{grid-template-columns:38px minmax(0,1fr)}.sync-banner .ghost-button{grid-column:1 / -1;width:100%}.top-strip,.progress-cards,.review-list,.phrase-grid,.right-rail,.lesson-insights{grid-template-columns:1fr}.mode-tabs,.filter-row{width:100%;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.mode-tabs::-webkit-scrollbar,.filter-row::-webkit-scrollbar{display:none}.mode-tabs button,.filter-row button{flex:0 0 auto}.top-strip.three-up{grid-template-columns:1fr}.home-heatmap{--heatmap-cell: 10px;--heatmap-gap: 3px;padding:18px}.home-heatmap .heatmap-title{display:grid;align-items:start}.home-heatmap .heatmap-actions{justify-items:start}.home-heatmap .heatmap-calendar{grid-template-columns:32px minmax(0,1fr)}.setting-group{min-height:auto}.mobile-menu-button,.profile-card{display:none}.search-results{position:static;margin-top:10px;box-shadow:none}.search-results button{grid-template-columns:30px minmax(0,1fr)}.search-results em{grid-column:2;grid-row:auto}.content-grid{gap:14px}.panel,.rail-card{padding:18px}.section-title{display:grid}.section-title h1{font-size:28px}.hero-card,.lesson-preview{min-height:360px}.lesson-preview .primary-action{left:18px;right:18px;bottom:18px;width:auto}.hero-card img{height:360px;object-position:center bottom}.hero-card:after{top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fffffff2,#ffffff8f,#ffffff1a)}.hero-copy{left:18px;top:18px;right:18px}.hero-copy h1{font-size:28px}.speech-card{left:16px;right:16px;bottom:96px;width:auto;padding:14px 16px}.speech-card strong{font-size:20px}.lesson-insights{padding:14px 0 0}.curriculum-summary{margin:0}.curriculum-list{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-list button{min-height:118px}.tool-grid{grid-template-columns:1fr}.node-track{min-width:680px;grid-template-columns:repeat(6,110px);padding-bottom:4px}.lesson-node-path{overflow-x:auto;padding-right:18px}.node-track:before{left:44px;right:auto;width:560px}.lesson-workbench{grid-template-columns:1fr;padding:16px 14px 0;border-radius:18px}.lesson-practice-layout{grid-template-columns:1fr;gap:18px}.lesson-visual img{min-height:278px;height:278px}.lesson-visual-caption{left:12px;right:12px;bottom:12px;gap:8px;padding:14px;border-radius:18px}.lesson-visual-caption strong{gap:8px;font-size:16px}.lesson-visual-caption small{padding-left:26px;font-size:13px}.practice-meta h1{font-size:28px}.question-card{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:14px}.question-card .waveform{grid-column:2}.question-card em{grid-column:2;justify-self:start}.practice-options button{min-height:72px;grid-template-columns:38px minmax(0,1fr);gap:14px;padding:14px;font-size:17px}.practice-options button>span{width:36px;height:36px;font-size:15px}.workbench-footer{grid-template-columns:1fr auto;grid-template-areas:"auto actions" "progress progress";align-items:center;gap:12px 14px;margin:16px -14px 0;padding:14px}.autoplay-toggle{grid-area:auto;justify-self:start}.question-progress{grid-area:progress;min-width:100%;justify-items:start}.question-progress div{width:100%;gap:8px}.question-progress b{width:auto}.footer-actions{grid-area:actions;justify-self:end;gap:8px}.workbench-footer .replay-button{width:44px;padding:0;justify-content:center;overflow:hidden;color:var(--muted);font-size:0}.workbench-footer .replay-button svg{flex:0 0 auto}.workbench-footer .primary-action.small{min-width:104px}.exercise-prompt,.feedback,.completion-actions{display:grid}.review-actions{grid-template-columns:1fr}.tab-toolbar{align-items:flex-start}.tab-toolbar .mode-tabs{margin-left:0;padding-left:8px}.mistake-row{grid-template-columns:1fr;align-items:stretch}.mistake-row-icon{width:44px;height:44px}.mistake-row-actions{display:grid;grid-template-columns:44px repeat(2,minmax(0,1fr))}.mistake-row-actions button:first-child{width:44px}.answer-option{grid-template-columns:32px minmax(0,1fr) 24px;padding:12px}.settings-modal-backdrop{padding:12px;align-items:center}.settings-modal{max-height:calc(100dvh - 24px);padding:22px 16px;border-radius:18px}.modal-close{top:12px;right:12px}}@media(max-width:520px){.app-shell{--sidebar-width: 64px}.sidebar{padding:10px 6px}.brand-mark{width:40px;height:40px}.main-nav button{min-height:44px}.workspace{padding-inline:10px}.workspace-topbar{margin-inline:-10px;gap:8px}.global-search{min-height:42px;padding:0 12px}.topbar-actions{grid-template-columns:repeat(3,40px);gap:6px}.topbar-actions button,.topbar-actions .icon-toggle{width:40px;height:40px;min-height:40px;border-radius:12px}.workbench-footer{grid-template-columns:1fr;grid-template-areas:"progress" "auto" "actions";gap:12px}.question-progress strong{text-align:left}.question-progress div{gap:6px}.autoplay-toggle,.footer-actions{width:100%}.footer-actions{justify-content:stretch}.workbench-footer .replay-button{flex:0 0 44px}.workbench-footer .primary-action.small{flex:1 1 auto}}
