:root{color-scheme:light;--bg:#f6f7f9;--bg-soft:#edf2f7;--surface:#ffffff;--surface-alt:#f9fafb;--ink:#111827;--ink-soft:#334155;--muted:#64748b;--line:#d8dee8;--line-strong:#c7d0df;--blue:#2356d8;--blue-soft:#e8efff;--green:#0f766e;--green-soft:#e7f5f2;--amber:#b45309;--amber-soft:#fff3d8;--red-soft:#fff1f2;--shadow-sm:0 10px 28px rgba(15,23,42,0.07);--shadow-md:0 22px 60px rgba(15,23,42,0.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(246,247,249,.94)),radial-gradient(circle at 12% 0,rgba(35,86,216,.13),transparent 30rem),radial-gradient(circle at 88% 8%,rgba(15,118,110,.1),transparent 25rem),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin:0;letter-spacing:0}p{margin:0}.homeRoot,.shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:36px 0 64px}.chapterBlock,.homeCard,.homeHero,.homeHeroPanel,.homeModuleCard,.homeSection,.panel,.phaseCard,.progressHero{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm)}.homeHero,.progressHero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);grid-gap:24px;gap:24px;align-items:stretch;min-height:380px;padding:36px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(249,250,251,.9)),linear-gradient(120deg,rgba(35,86,216,.08),rgba(15,118,110,.08));box-shadow:var(--shadow-md)}.homeHeroMain,.progressHero>div:first-child{display:flex;min-width:0;flex-direction:column;justify-content:center}.eyebrow,.homeKicker,.homeLabel{margin:0 0 10px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.homeHero h1,.progressHero h1{max-width:820px;font-size:clamp(44px,7vw,82px);line-height:.98}.homeLead,.lead{max-width:760px;margin-top:20px;color:var(--ink-soft);font-size:clamp(17px,2vw,21px);line-height:1.7}.homeActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.homeButton{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font-weight:800;text-decoration:none}.homeButton:hover,.homeModuleCard:hover{border-color:rgba(35,86,216,.55);transform:translateY(-1px)}.homeButtonPrimary{border-color:var(--blue);background:var(--blue);color:#ffffff}.homeHeroPanel{display:grid;align-content:center;grid-gap:0;gap:0;padding:24px;background:var(--surface)}.homeStatusRow{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.homeStatusRow:last-child{border-bottom:0}.homeStatusRow span,.mutedText{color:var(--muted)}.homeStatusRow strong{text-align:right}.homeGrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-gap:18px;gap:18px;margin-top:18px}.homeCard,.homeSection{padding:24px}.homeCardWide{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(232,239,255,.68)),var(--surface)}.chapterHeader h2,.homeCard h2,.homeSection h2,.panel h2{font-size:clamp(24px,3vw,34px);line-height:1.16}.chapterHeader p,.homeCard p:not(.homeLabel),.homeModuleCard p,.mutedText{margin-top:12px;color:var(--muted);line-height:1.65}.homeSection{margin-top:18px}.homeSectionHeader{margin-bottom:18px}.homeChecklist,.taskList{margin:0;padding:0;list-style:none}.homeChecklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.homeChecklist li{display:flex;gap:10px;align-items:flex-start;min-height:74px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt);color:var(--ink-soft);line-height:1.5}.homeChecklist span{display:inline-grid;place-items:center;flex:0 0 22px;height:22px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:13px;font-weight:900}.dashboardGrid,.homeModuleGrid,.phaseGrid{display:grid;grid-gap:16px;gap:16px}.homeModuleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.homeModuleCard{display:block;min-height:158px;padding:18px;background:var(--surface-alt);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.homeModuleTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.homeModuleTop h3{font-size:18px;line-height:1.25}.homeBadge{flex:0 0 auto;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}.homeBadge-active{background:var(--green-soft);color:var(--green)}.homeBadge-planned{background:var(--blue-soft);color:var(--blue)}.progressShell{padding-top:32px}.progressHero{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)}.progressMeter{display:grid;place-items:center;align-content:center;min-height:220px;padding:24px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f5faf9),var(--surface)}.progressMeter strong{color:var(--green);font-size:clamp(54px,7vw,88px);line-height:1}.progressMeter span{margin-top:8px;color:var(--muted);font-size:14px;font-weight:800;text-transform:uppercase}.dashboardGrid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.panel{min-height:190px;padding:24px;background:var(--surface)}.wide{grid-column:span 2}.chapterList{margin-top:28px}.chapterBlock{margin-top:18px;padding:24px;background:rgba(255,255,255,.9)}.chapterHeader{display:flex;justify-content:space-between;gap:18px}.phaseGrid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.phaseCard{padding:18px;background:var(--surface);box-shadow:none}.phaseTitle{display:flex;align-items:flex-start;gap:12px}.phaseTitle span{display:inline-grid;place-items:center;flex:0 0 auto;min-width:44px;height:34px;padding:0 9px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-weight:900}.phaseTitle strong{padding-top:6px;line-height:1.35}.taskList{margin-top:16px;border-top:1px solid var(--line)}.taskList li{display:grid;grid-template-columns:58px minmax(0,1fr);grid-gap:10px;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);line-height:1.5}.taskList li:last-child{border-bottom:0}.taskList span{align-self:start;padding:3px 0;color:var(--amber);font-size:12px;font-weight:900;text-transform:uppercase}.taskList .done{color:var(--muted)}.taskList .done span{color:var(--green)}.progressShell{width:100%;min-height:100vh;margin:0;padding:28px max(18px,calc((100vw - 1180px) / 2)) 72px;background:linear-gradient(180deg,rgba(16,18,24,.96),rgba(10,12,16,1)),#0d0f14;color:#edf2f7}.progressShell .chapterBlock,.progressShell .panel,.progressShell .phaseCard,.progressShell .progressHero{border-color:rgba(148,163,184,.2);background:rgba(22,26,34,.9);box-shadow:0 24px 70px rgba(0,0,0,.3)}.progressShell .progressHero{min-height:auto;padding:28px;background:linear-gradient(135deg,rgba(30,35,46,.98),rgba(15,18,24,.96)),#151922}.progressShell .eyebrow{color:#7dd3fc}.progressShell .chapterHeader p,.progressShell .lead,.progressShell .mutedText,.progressShell .phaseTitle small,.progressShell .progressMeter span,.progressShell .progressNextBox p,.progressShell .progressStack dd{color:#a7b0bf}.progressShell .progressHero h1{max-width:760px;font-size:clamp(34px,5vw,64px);line-height:1.04}.progressSource{margin-top:10px;color:#9aa5b5;font-size:12px;font-weight:700}.phaseProgress,.progressTrack{height:10px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.18)}.progressTrack{margin-top:24px}.phaseProgress span,.progressTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#f59e0b)}.progressHeroStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:16px}.progressHeroStats div,.progressNextBox{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(255,255,255,.04);padding:12px}.progressHeroStats small,.progressHeroStats span{display:block;color:#9aa5b5;font-size:12px}.progressHeroStats strong{display:block;margin:4px 0 2px;color:#ffffff;font-size:22px;line-height:1.2}.progressShell .progressMeter{align-content:stretch;justify-items:stretch;min-height:100%;border-color:rgba(148,163,184,.18);background:rgba(255,255,255,.04)}.progressShell .progressMeter strong{color:#86efac;text-align:center;font-size:clamp(58px,8vw,92px)}.progressShell .progressMeter>span{text-align:center}.progressNextBox{margin-top:22px}.progressNextBox h2{margin-bottom:8px;font-size:24px}.progressNextBox code,.progressShell .taskList code{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border:1px solid rgba(125,211,252,.24);border-radius:999px;background:rgba(125,211,252,.09);color:#bae6fd;font-size:12px;font-weight:800}.progressNextBox code{margin-top:12px;padding:5px 9px}.progressShell .dashboardGrid{grid-template-columns:1.35fr .85fr .65fr}.progressShell .panel h2{color:#ffffff;font-size:clamp(24px,3vw,32px)}.chapterBlockActive{outline:1px solid rgba(125,211,252,.45)}.progressShell .chapterHeader{align-items:flex-start}.chapterScore{flex:0 0 auto;min-width:112px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(255,255,255,.04);text-align:right}.chapterScore span,.chapterScore strong{display:block}.chapterScore strong{font-size:24px}.chapterScore span{color:#a7b0bf;font-size:12px;font-weight:800;text-transform:uppercase}.progressShell .phaseGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.progressShell .phaseCard{display:flex;flex-direction:column;min-height:100%;padding:16px;background:rgba(17,21,29,.88);box-shadow:none}.progressShell .phaseCard-current{border-color:rgba(34,197,94,.5);background:linear-gradient(180deg,rgba(34,197,94,.12),rgba(17,21,29,.9))}.progressShell .phaseCard-next{border-color:rgba(245,158,11,.46)}.progressShell .phaseCard-complete{border-color:rgba(134,239,172,.28)}.progressShell .phaseTitle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.progressShell .phaseTitle span{background:rgba(125,211,252,.13);color:#7dd3fc}.progressShell .phaseTitle small,.progressShell .phaseTitle strong{display:block}.progressShell .phaseTitle em{padding:5px 9px;border:1px solid rgba(148,163,184,.22);border-radius:999px;color:#e5e7eb;font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.progressShell .phaseProgress{margin-top:14px}.progressShell .taskList{margin-top:14px;border-top-color:rgba(148,163,184,.15)}.progressShell .taskList li{grid-template-columns:56px minmax(0,1fr) auto;align-items:start;border-bottom-color:rgba(148,163,184,.12);color:#d7dce5}.progressShell .taskList span{color:#fbbf24}.progressShell .taskList li.done{color:#8c96a6}.progressShell .taskList li.done span{color:#86efac}.progressShell .taskList p{line-height:1.5}.progressShell .taskList code{padding:4px 8px}.progressInfoGrid{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:16px;gap:16px;margin-top:18px}.progressPills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.progressPills span{border:1px solid rgba(125,211,252,.2);border-radius:999px;background:rgba(125,211,252,.08);color:#dff6ff;padding:6px 10px;font-size:13px;font-weight:800}.progressStack{margin:14px 0 0}.progressStack div{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);grid-gap:10px;gap:10px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.14)}.progressStack div:last-child{border-bottom:0}.progressStack dt{color:#edf2f7;font-weight:900}.progressStack dd{margin:0}@media (max-width:980px){.dashboardGrid,.homeChecklist,.homeGrid,.homeHero,.homeModuleGrid,.phaseGrid,.progressHero{grid-template-columns:1fr}.wide{grid-column:auto}.progressInfoGrid,.progressShell .dashboardGrid,.progressShell .phaseGrid{grid-template-columns:1fr}.homeHero,.progressHero{min-height:auto}}@media (max-width:640px){.homeRoot,.shell{width:min(100% - 20px,1180px);padding:12px 0 36px}.chapterBlock,.homeCard,.homeHero,.homeHeroPanel,.homeSection,.panel,.progressHero{padding:18px}.homeHero h1,.progressHero h1{font-size:42px}.homeLead,.lead{font-size:16px}.homeActions{flex-direction:column}.homeButton{width:100%}.chapterHeader,.homeModuleTop,.homeStatusRow{display:block}.homeStatusRow strong{display:block;margin-top:4px;text-align:left}.homeBadge{display:inline-flex;margin-top:10px}.taskList li{grid-template-columns:1fr;gap:4px}.progressShell{padding:12px 10px 40px}.progressShell .chapterBlock,.progressShell .panel,.progressShell .progressHero{padding:16px}.progressHeroStats{grid-template-columns:repeat(2,minmax(0,1fr))}.progressShell .phaseTitle{grid-template-columns:auto minmax(0,1fr)}.progressShell .phaseTitle em{grid-column:1/-1;width:-moz-fit-content;width:fit-content;margin-top:10px}.progressShell .taskList li{grid-template-columns:1fr}.chapterScore{width:-moz-fit-content;width:fit-content;margin-top:14px;text-align:left}}.progressCompactHero{border:1px solid rgba(148,163,184,.2);border-radius:8px;background:linear-gradient(135deg,rgba(30,35,46,.98),rgba(15,18,24,.96)),#151922;box-shadow:0 24px 70px rgba(0,0,0,.3);padding:18px}.chapterTabList,.progressFirstView,.progressHeroTop,.progressMiniStats,.terminalStatusHeader{display:flex;gap:12px}.progressHeroTop,.progressMiniStats,.terminalStatusHeader{align-items:center;justify-content:space-between}.progressHeroTop h1{color:#ffffff;font-size:clamp(32px,5vw,54px);line-height:1}.progressHomeLink{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid rgba(125,211,252,.28);border-radius:8px;background:rgba(125,211,252,.08);color:#dff6ff;font-size:13px;font-weight:900;text-decoration:none}.progressFirstView{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.35fr);margin-top:14px}.chapterTabList button,.chapterXCard,.progressCurrentPanel,.terminalStatusCard{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(255,255,255,.04)}.chapterXCard,.progressCurrentPanel,.terminalStatusCard{padding:14px}.progressCurrentPanel h2{color:#ffffff;font-size:clamp(20px,3vw,30px);line-height:1.2}.currentTaskLine{margin-top:8px;color:#d7dce5;font-size:15px;line-height:1.45}.progressCurrentPanel .progressTrack{margin-top:14px}.progressMiniStats{flex-wrap:wrap;margin-top:10px}.chapterXCard span,.progressMiniStats span,.terminalStatusCard small{color:#a7b0bf;font-size:12px;font-weight:800}.chapterXCard strong,.terminalStatusCard p{color:#edf2f7;line-height:1.45}.statusSyncList{display:grid;grid-gap:7px;gap:7px;margin:10px 0 0}.statusSyncList div{display:grid;grid-template-columns:minmax(88px,.48fr) minmax(0,1fr);grid-gap:8px;gap:8px;align-items:baseline}.statusSyncList dd,.statusSyncList dt{margin:0;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.statusSyncList dt{color:#a7b0bf;font-weight:900}.statusSyncList dd{color:#edf2f7;font-weight:800}.terminalStatusHeader span{color:#86efac;font-size:12px;font-weight:900;text-transform:uppercase}.terminalStatusCard small{display:block;margin-top:10px}.chapterXCard{display:grid;grid-gap:5px;gap:5px;margin-top:12px}.progressSummaryGrid .panel{min-height:118px;padding:16px}.progressSummaryGrid .panel,.progressSummaryGrid .panel h2{overflow-wrap:anywhere}.progressSummaryGrid .panel h2{font-size:clamp(18px,2vw,24px)}.progressShell .completionResetButton{width:-moz-fit-content;width:fit-content;min-height:32px;margin-top:12px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(255,255,255,.04);color:#d7dce5;cursor:pointer;font:inherit;font-size:12px;font-weight:900;padding:0 10px}.progressShell .completionResetButton:hover{border-color:rgba(125,211,252,.4);color:#ffffff}.chapterTabs{margin-top:18px}.chapterTabList{flex-wrap:wrap;margin-bottom:12px}.chapterTabList button{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;color:#d7dce5;cursor:pointer;font:inherit;font-size:13px;font-weight:900}.chapterTabList button.active{border-color:rgba(125,211,252,.5);background:rgba(125,211,252,.12);color:#ffffff}.chapterTabList strong{color:#86efac;font-size:12px}.phaseDisclosureList{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.phaseDisclosureList .phaseCard{min-height:auto}.phaseDisclosureList summary{cursor:pointer;list-style:none}.phaseDisclosureList summary::-webkit-details-marker{display:none}.phaseDisclosureList summary:after{color:#7dd3fc;content:"+";font-weight:900}.phaseDisclosureList details[open] summary:after{content:"-"}.progressShell .phaseDisclosureList .phaseTitle{grid-template-columns:auto minmax(0,1fr) auto auto}.progressShell .displayTaskList li{grid-template-columns:24px minmax(0,1fr) auto}.displayTaskList input{width:18px;height:18px;margin:3px 0 0;accent-color:#22c55e}.progressShell .completionModalBackdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(2,6,23,.68)}.progressShell .completionModal{width:min(480px,100%);border:1px solid rgba(134,239,172,.32);border-radius:8px;background:#10141d;box-shadow:0 30px 90px rgba(0,0,0,.45);padding:20px}.progressShell .completionModal h2{color:#ffffff;font-size:22px}.progressShell .completionModal ul{display:grid;grid-gap:10px;gap:10px;margin:16px 0;padding:0;list-style:none}.progressShell .completionModal li{display:grid;grid-gap:3px;gap:3px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:rgba(255,255,255,.04);padding:10px}.progressShell .completionModal li span{color:#86efac;font-size:12px;font-weight:900}.progressShell .completionModal li strong{color:#edf2f7}.progressShell .completionModal button{width:100%;min-height:42px;border:0;border-radius:8px;background:#22c55e;color:#052e16;cursor:pointer;font:inherit;font-weight:900}@media (max-width:980px){.progressFirstView{grid-template-columns:1fr}}@media (max-width:640px){.progressCompactHero{padding:14px}.progressMiniStats{align-items:flex-start;flex-direction:column;gap:5px}.statusSyncList div{grid-template-columns:1fr;gap:2px}.chapterTabList{display:grid;grid-template-columns:1fr 1fr}.chapterTabList button{justify-content:space-between;width:100%}.progressShell .displayTaskList li,.progressShell .phaseDisclosureList .phaseTitle{grid-template-columns:24px minmax(0,1fr)}.progressShell .phaseDisclosureList .phaseTitle span{min-width:24px;height:28px;padding:0}.displayTaskList code,.phaseDisclosureList summary:after,.progressShell .phaseDisclosureList .phaseTitle em{grid-column:2;width:-moz-fit-content;width:fit-content}}