:root{color-scheme:light;--bg:#f3f5f2;--surface:#ffffff;--surface-soft:#eef4f1;--surface-blue:#eef3f8;--surface-amber:#f7f0df;--ink:#17211d;--muted:#60706a;--faint:#89958f;--line:#d8dfd9;--line-strong:#bdc8c0;--teal:#0d6f69;--blue:#2f628f;--green:#3d7a4f;--amber:#946916;--shadow:0 18px 44px rgba(24,35,30,0.08)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button{font:inherit}.app-shell{grid-template-columns:286px minmax(0,1fr)}.app-shell,.sidebar{min-height:100vh;display:grid}.sidebar{padding:22px;border-right:1px solid var(--line);background:#fbfcfa;grid-template-rows:auto auto 1fr;grid-gap:20px;gap:20px;position:-webkit-sticky;position:sticky;top:0}.brand-block{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:var(--ink);color:#ffffff;font-weight:900;letter-spacing:0}.brand-block small,.brand-block strong,.countdown-card span,.countdown-card strong{display:block}.brand-block strong{font-size:18px}.brand-block small,.countdown-card span,.eyebrow,small{color:var(--muted)}.countdown-card{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px;display:grid;grid-gap:6px;gap:6px}.countdown-card span{font-size:12px;font-weight:800;text-transform:uppercase}.countdown-card strong{font-size:18px}.countdown-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.nav-list{display:grid;grid-gap:6px;gap:6px;align-content:flex-start}.nav-item{width:100%;min-height:58px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;display:grid;grid-gap:4px;gap:4px}.nav-item.active,.nav-item:hover{border-color:var(--line);background:var(--surface);box-shadow:0 8px 22px rgba(24,35,30,.06)}.nav-item span{font-weight:800}.nav-item small{font-size:12px}.content-shell{min-width:0;padding:28px;display:grid;grid-gap:22px;gap:22px;align-content:flex-start}.topbar{min-height:78px;padding-bottom:22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.achievement-card h3,.mission-card h3,.phase-card h3,.practice-card h3,.progress-row h3,.queue-row h3,.section-title h2,.source-card h3,.topbar h1{margin:0;letter-spacing:0}.topbar h1{font-size:34px;line-height:1.05}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.icon-button{width:38px;height:38px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:900;cursor:pointer}.eyebrow{margin:0 0 6px;letter-spacing:0;text-transform:uppercase}.eyebrow,.pill{font-size:12px;font-weight:900}.pill{min-height:28px;width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;white-space:nowrap}.pill-green{background:#e5f1e7;color:var(--green)}.pill-teal{background:#e2f1ef;color:var(--teal)}.pill-amber{background:#f8ecd2;color:var(--amber)}.pill-neutral{background:#edf0ee;color:var(--muted)}.screen-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px}.stat-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.main-panel,.practice-card,.side-panel,.source-card,.stat{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.stat{min-height:128px;padding:18px;display:grid;grid-gap:8px;gap:8px;align-content:flex-start;border-top-width:4px}.stat span{color:var(--muted);font-weight:800;font-size:13px}.stat strong{font-size:32px;line-height:1}.stat small{line-height:1.35}.stat-teal{border-top-color:var(--teal)}.stat-blue{border-top-color:var(--blue)}.stat-green{border-top-color:var(--green)}.stat-amber{border-top-color:var(--amber)}.main-panel,.side-panel{padding:20px}.wide-panel{min-width:0}.section-title{margin-bottom:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-title h2,.side-panel h2{font-size:23px;line-height:1.18}.side-panel h2{margin:0 0 14px}.achievement-list,.learning-list,.lesson-queue,.mission-list,.phase-list,.plain-list,.progress-list,.week-preview{display:grid;grid-gap:12px;gap:12px}.week-card{min-height:132px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;padding:14px;display:grid;grid-gap:8px;gap:8px;align-content:flex-start}.week-card.active{background:var(--surface-soft);border-color:#b9d1ca}.week-card span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.week-card h3{margin:0;font-size:17px}.answer-feedback p,.objective-copy,.question-panel p,.week-card p{margin:0;color:var(--muted);line-height:1.5}.phase-card{min-height:126px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;padding:14px;display:grid;grid-template-columns:86px minmax(0,1fr);grid-gap:14px;gap:14px}.day-box,.phase-marker{border-radius:8px;background:var(--surface-blue);display:grid;place-items:center;text-align:center;color:var(--blue);font-weight:900;padding:8px}.phase-body{min-width:0;display:grid;grid-gap:10px;gap:10px}.row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.row-between span{color:var(--muted);font-size:13px;font-weight:800}.accent-panel p,.achievement-card p,.before-after p,.check-row p,.exam-panel p,.mission-card p,.phase-card p,.practice-card p,.progress-row p,.queue-row p,.source-card p,.source-card small{margin:0;color:var(--muted);line-height:1.5}.progress-track{width:100%;height:8px;border-radius:999px;background:#e2e7e1;display:block;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue));display:block}.check-row{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:flex-start}.achievement-card>span,.check-row span{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--surface-soft);color:var(--teal);font-size:11px;font-weight:900}.mission-card{min-height:104px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;display:grid;grid-template-columns:62px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center}.mission-card.done{background:#f2f8f2}.context-summary{margin-top:16px}.accent-panel{background:var(--surface-soft)}.primary-action,.secondary-action{min-height:42px;border-radius:8px;border:1px solid var(--line-strong);font-weight:900;cursor:pointer}.primary-action{margin-top:16px;padding:0 16px;background:var(--ink);color:#ffffff}.inline-action{margin-top:0}.secondary-action{padding:0 12px;background:var(--surface);color:var(--ink)}.action-done{color:var(--teal)}.action-done,.action-notice{background:var(--surface-soft)}.action-notice{min-height:48px;border:1px solid #b9d1ca;border-radius:8px;color:var(--ink);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.action-notice span{font-weight:800}.action-notice button{min-height:32px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:900;cursor:pointer}.lesson-layout{grid-template-columns:minmax(0,1fr) 340px}.lesson-layout,.lesson-reader{display:grid;grid-gap:18px;gap:18px}.lesson-summary-block{display:grid;grid-gap:14px;gap:14px}.compact-title{margin-bottom:0}.summary-picker{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.summary-tab{min-width:58px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:900;cursor:pointer}.summary-tab.active,.summary-tab:hover{border-color:#b9d1ca;background:var(--surface-soft);color:var(--teal)}.lesson-focus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:14px;gap:14px}.focus-card,.mistake-card{min-height:170px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fbfcfa;display:grid;grid-gap:10px;gap:10px;align-content:flex-start}.mistake-card{min-height:auto;background:var(--surface-amber)}.lesson-focus-grid .why-card{background:var(--surface-blue)}.focus-card span,.mistake-card span,.practice-card span,.source-card span,.source-strip span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.source-strip{border:1px solid var(--line);border-radius:8px;background:var(--surface-blue);padding:14px;display:grid;grid-gap:5px;gap:5px}.source-strip p{margin:0;color:var(--ink);font-weight:800}.source-link-list{display:flex;gap:8px;flex-wrap:wrap}.source-link-list button,.source-link-list span{min-height:34px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);padding:7px 10px;font-weight:800}.source-link-list button{cursor:pointer}.queue-row{min-height:78px;padding:12px;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;gap:12px;align-items:center}.queue-row.active{border-color:#b9d1ca}.queue-row.active,.score-chip{background:var(--surface-soft)}.score-chip{width:76px;min-height:54px;border-radius:8px;display:grid;place-items:center;text-align:center;padding:6px}.score-chip strong{font-size:20px}.score-chip span{color:var(--muted);font-size:11px;font-weight:800}.practice-layout,.stack-screen{display:grid;grid-gap:16px;gap:16px}.practice-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:flex-start}.practice-grid,.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.practice-card,.source-card{min-height:214px;padding:18px;display:grid;grid-gap:12px;gap:12px;align-content:flex-start}.practice-card{width:100%;text-align:left;cursor:pointer}.practice-card.active{border-color:#b9d1ca;background:var(--surface-soft)}.practice-card h3,.source-card h3{font-size:20px;line-height:1.2}.practice-workbench{display:grid;grid-gap:14px;gap:14px}.practice-workbench h2,.question-panel h3{margin:0;font-size:24px;line-height:1.22}.exam-panel{display:grid;grid-gap:16px;gap:16px}.exam-panel h2{margin:0;font-size:32px}.exam-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.exam-hero div{min-height:112px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;padding:14px;display:grid;align-content:center;grid-gap:6px;gap:6px}.exam-hero strong{font-size:26px}.exam-hero span{color:var(--muted);font-weight:800}.question-panel{display:grid;grid-gap:16px;gap:16px}.answer-list{display:grid;grid-gap:10px;gap:10px}.answer-option{min-height:58px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;color:var(--ink);padding:12px;text-align:left;font-weight:800;cursor:pointer}.answer-option.selected{border-color:var(--blue);background:var(--surface-blue)}.answer-option.correct{border-color:var(--green);background:#e5f1e7}.answer-feedback{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px;display:grid;grid-gap:10px;gap:10px}.divider-row{min-height:46px;border-bottom:1px solid var(--line);align-items:center}.divider-row:last-child{border-bottom:0}.progress-row{min-height:84px;border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;grid-template-columns:190px minmax(0,1fr) 64px;grid-gap:14px;gap:14px;align-items:center}.progress-row strong{text-align:right;font-size:20px}.next-action{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}.achievement-card{min-height:92px;border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:flex-start}.source-card div{display:grid;grid-gap:6px;gap:6px}.source-card.active-source{border-color:#b9d1ca;background:var(--surface-soft)}.source-card .source-status-row{display:flex;gap:8px;flex-wrap:wrap}.source-card strong{line-height:1.4}.source-card blockquote{margin:0;border-left:4px solid var(--teal);background:var(--surface-soft);border-radius:0 8px 8px 0;padding:12px;color:var(--ink);line-height:1.45}.summary-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px;display:grid;grid-gap:16px;gap:16px}.summary-card-compact{gap:14px}.summary-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.summary-card h3{margin:0;font-size:23px;line-height:1.2;letter-spacing:0}.summary-meta{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.summary-meta span{min-height:28px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);padding:6px 9px;font-size:12px;font-weight:900;white-space:nowrap}.summary-thesis{margin:0;color:var(--ink);font-size:18px;font-weight:800;line-height:1.45}.summary-exam-note,.summary-section{display:grid;grid-gap:8px;gap:8px}.summary-exam-note>span,.summary-footer-label,.summary-section>span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.summary-section ul{margin:0;padding-left:20px;display:grid;grid-gap:8px;gap:8px}.summary-exam-note p,.summary-section li{color:var(--muted);line-height:1.5}.summary-exam-note{border:1px solid var(--line);border-radius:8px;background:var(--surface-blue);padding:14px}.summary-exam-note p{margin:0}.summary-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.summary-footer{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.summary-footer>div{min-width:0;display:grid;grid-gap:8px;gap:8px}.summary-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.summary-actions>span{color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}@media (max-width:1120px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.practice-grid,.source-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout,.practice-layout,.screen-grid{grid-template-columns:1fr}}@media (max-width:760px){.app-shell{display:block}.sidebar{min-height:auto;position:static;border-right:0;border-bottom:1px solid var(--line)}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.content-shell{padding:18px}.row-between,.section-title,.summary-card-header,.summary-footer,.topbar{align-items:stretch;flex-direction:column}.topbar h1{font-size:28px}.exam-hero,.lesson-focus-grid,.mission-card,.phase-card,.practice-grid,.progress-row,.source-grid,.stat-grid,.summary-two-column{grid-template-columns:1fr}.day-box,.phase-marker{min-height:44px}.progress-row strong{text-align:left}}