:root{--ink:#172035;--muted:#677083;--paper:#f7f8fc;--surface:#fff;--indigo:#26366f;--indigo-dark:#172247;--saffron:#f3b53f;--mint:#91d9c1;--line:#dfe3ee;--shadow:0 18px 50px rgba(30,43,87,.10);--display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--body:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;--mono:"SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 90% 0%,rgba(200,215,255,.65),transparent 26rem),var(--paper);font-family:var(--body);line-height:1.62}.shell{min-height:100vh;display:grid;grid-template-columns:320px minmax(0,1fr)}.rail{position:sticky;top:0;height:100vh;overflow:auto;background:var(--indigo-dark);color:#f7f8ff;padding:28px 24px 40px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--saffron);color:var(--indigo-dark);font-family:var(--display);font-weight:800;font-size:1.25rem}.brand span{display:block;color:#aeb9dc;font-size:.75rem}.progress-card{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;margin-bottom:24px}.progress-head{display:flex;justify-content:space-between;font-size:.77rem;color:#c6cdec}.progress-head strong{color:#fff}.progress-track{height:7px;background:rgba(255,255,255,.12);border-radius:999px;margin-top:11px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--saffron),#ffe08a)}.phase-label{margin:22px 8px 7px;color:#8794c5;text-transform:uppercase;letter-spacing:.14em;font-size:.63rem;font-weight:800}.day-button{width:100%;border:0;background:transparent;color:#d9def3;text-align:left;border-radius:12px;padding:10px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;cursor:pointer}.day-button:hover,.day-button.active{background:rgba(255,255,255,.09)}.day-button.is-locked{opacity:.55;cursor:default}.day-number{font-family:var(--mono);color:#8794c5;font-size:.72rem}.day-name{font-size:.78rem;line-height:1.25;font-weight:600}.day-state{font-size:.72rem}.rail-foot{color:#8794c5;font-size:.68rem;margin:30px 8px 0}.workspace{min-width:0}.topbar{height:70px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(38,54,111,.08);background:rgba(247,248,252,.82);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.top-actions{display:flex;gap:8px}.icon-button,.secondary-button,.complete-button,.save-answer{border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 13px;cursor:pointer;font-size:.78rem;font-weight:700}.complete-button{background:var(--indigo);color:#fff;border-color:var(--indigo)}.mobile-menu{display:none}main{width:min(100%,1120px);margin:0 auto;padding:58px clamp(22px,5vw,76px) 90px}.lesson-hero{margin-bottom:54px}.eyebrow{color:var(--indigo);text-transform:uppercase;font-size:.69rem;letter-spacing:.16em;font-weight:800}h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(2.9rem,6vw,5.2rem);margin:16px 0 18px}h2{font-size:clamp(1.85rem,3vw,2.55rem);margin:0 0 18px}.deck{font-family:var(--display);color:#4f5a72;font-size:clamp(1.12rem,2vw,1.42rem);max-width:760px}.lesson-meta{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:var(--muted);background:rgba(255,255,255,.65);font-size:.7rem;font-weight:700}.lesson-content section{margin:0 0 52px;max-width:850px}.compare-grid,.three-layers,.five-layers{display:grid;gap:12px;margin:24px 0}.compare-grid{grid-template-columns:repeat(2,1fr)}.three-layers{grid-template-columns:repeat(3,1fr)}.five-layers{grid-template-columns:repeat(5,1fr)}.concept-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 7px 20px rgba(30,43,87,.04)}.concept-card h3{font-family:var(--body);font-size:.95rem;letter-spacing:0}.concept-card p{color:var(--muted);font-size:.78rem}.callout{border-left:4px solid var(--saffron);background:#fff7e5;padding:16px 18px;border-radius:12px;margin:22px 0}blockquote{margin:24px 0;border-left:4px solid var(--saffron);padding:6px 0 6px 22px;color:#3b4660;font-family:var(--display);font-size:1.24rem}code{font-family:var(--mono);background:#eef0f7;padding:.12rem .38rem;border-radius:5px}pre{overflow:auto;padding:20px;border-radius:15px;background:#172247;color:#eaf0ff;font-family:var(--mono);font-size:.78rem}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:22px 0}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:.82rem}th{background:#eef1ff}.exercise{background:var(--indigo-dark);color:#fff!important;padding:28px;border-radius:22px;max-width:900px!important}.exercise h2,.exercise strong{color:#fff}.exercise textarea{width:100%;min-height:160px;background:rgba(0,0,0,.18);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:13px;padding:15px;margin:14px 0}.exercise .save-answer{background:var(--saffron);color:var(--indigo-dark);border:0}.quiz{background:#fff;border:1px solid var(--line);padding:28px;border-radius:22px}.roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.roadmap-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;min-height:145px}.roadmap-card.available{border-top:5px solid var(--saffron);cursor:pointer}.roadmap-card .day{color:var(--indigo);font-family:var(--mono);font-size:.64rem;font-weight:800}.roadmap-card h3{font-family:var(--body);font-size:.96rem;letter-spacing:0}.status{color:var(--muted);font-size:.78rem}.toast{position:fixed;right:24px;bottom:24px;background:var(--indigo-dark);color:#fff;border-radius:12px;padding:12px 16px;opacity:0;transition:.2s}.toast.show{opacity:1}@media(max-width:1020px){.shell{grid-template-columns:280px minmax(0,1fr)}.five-layers{grid-template-columns:repeat(3,1fr)}.roadmap-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{display:block}.rail{position:fixed;z-index:50;width:min(88vw,330px);transform:translateX(-105%);transition:.25s}.menu-open .rail{transform:none}.mobile-menu{display:inline-flex}.topbar{padding:0 16px}.crumb{display:none}main{padding:38px 18px 70px}.compare-grid,.three-layers,.five-layers,.roadmap-grid{grid-template-columns:1fr}}