:root { --ink:#141717; --muted:#697170; --paper:#f6f5f0; --panel:#fffefa; --line:#d5d5cb; --acid:#ddff3f; --teal:#08756e; --blue:#3957c7; --orange:#ff865a; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace; }
* { box-sizing:border-box; } html { background:var(--paper); scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; } button { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; }
.skip { position:fixed; top:-80px; left:12px; z-index:99; padding:10px; background:var(--acid); color:var(--ink); }.skip:focus { top:12px; }
.shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); }.sidebar { position:fixed; inset:0 auto 0 0; width:250px; display:flex; flex-direction:column; padding:27px 20px 20px; color:#e4ebe3; background:var(--ink); }
.wordmark { display:flex; align-items:center; gap:9px; color:white; font:800 14px var(--mono); letter-spacing:-.7px; text-decoration:none; }.wordmark span { display:grid; place-items:center; width:30px; height:30px; background:var(--acid); color:var(--ink); font-size:11px; }.sidebar-intro { margin:26px 2px 30px; color:#a6aeaa; font-size:12px; line-height:1.5; }
nav { display:grid; gap:4px; }.nav-link { display:flex; align-items:center; gap:11px; width:100%; padding:11px 9px; border:0; border-left:2px solid transparent; background:transparent; color:#aeb6b1; cursor:pointer; text-align:left; font-size:13px; }.nav-link b { color:#68736d; font:10px var(--mono); }.nav-link:hover,.nav-link.active { border-left-color:var(--acid); background:#202522; color:white; }.nav-link.active b { color:var(--acid); }
.side-foot { display:grid; grid-template-columns:8px 1fr; gap:0 8px; margin-top:auto; padding-top:18px; border-top:1px solid #39413c; color:#dbe2db; font:10px var(--mono); letter-spacing:.3px; }.live-dot { width:7px; height:7px; margin-top:4px; border-radius:50%; background:#66c7a0; }.side-foot small { grid-column:2; margin-top:7px; color:#84918a; font:9px var(--mono); letter-spacing:0; }
main { grid-column:2; min-width:0; }.topbar { position:sticky; top:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:68px; padding:0 5vw; border-bottom:1px solid var(--line); background:rgba(246,245,240,.94); backdrop-filter:blur(12px); color:var(--muted); font:10px var(--mono); letter-spacing:.9px; }.top-actions { display:flex; align-items:center; gap:9px; }.ghost,.primary { border:1px solid var(--ink); padding:10px 13px; cursor:pointer; font:11px var(--mono); }.ghost { background:transparent; }.ghost:hover { background:#e4e3dc; }.primary { background:var(--acid); color:var(--ink); }.primary:hover { background:var(--ink); color:var(--acid); }.small { padding:9px 12px; }
#view { width:min(1240px,91vw); margin:0 auto; padding:45px 0 75px; }.eyebrow { color:var(--teal); font:700 11px var(--mono); letter-spacing:1px; }.hero h1,.lesson-detail h1 { max-width:830px; margin:13px 0 15px; font-size:clamp(43px,6vw,77px); line-height:.93; letter-spacing:-3.7px; }.hero h1 em { color:var(--teal); font-style:normal; }.intro { max-width:720px; color:var(--muted); font-size:17px; line-height:1.5; }
.program-line { display:flex; flex-wrap:wrap; gap:0; margin-top:38px; border:1px solid var(--ink); background:var(--panel); }.program-line span { flex:1 1 170px; padding:14px 16px; border-right:1px solid var(--line); color:var(--muted); font:11px var(--mono); }.program-line b { display:block; margin-bottom:3px; color:var(--ink); font-size:13px; }.program-line span:nth-child(2) { background:var(--acid); }.program-line span:last-child { border-right:0; background:var(--ink); color:#e8eee8; }.program-line span:last-child b { color:var(--acid); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:62px 0 20px; }.section-head h2 { max-width:650px; margin:7px 0 0; font-size:31px; letter-spacing:-1.5px; line-height:1; }.section-head p { max-width:310px; margin:0; color:var(--muted); font-size:12px; }
.stat-grid,.role-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.stat { padding:17px; border:1px solid var(--line); background:var(--panel); }.stat:nth-child(2) { background:var(--acid); border-color:var(--ink); }.stat strong { display:block; font:800 31px var(--mono); letter-spacing:-1.5px; }.stat span { color:var(--muted); font:10px var(--mono); text-transform:uppercase; }
.role { min-height:138px; padding:16px; border:1px solid var(--line); background:var(--panel); }.role.featured { border-color:var(--ink); }.role h3 { margin:0; font-size:15px; letter-spacing:-.4px; }.role p { margin:9px 0 15px; color:var(--muted); font-size:11px; }.bar { height:7px; overflow:hidden; border:1px solid var(--ink); background:var(--paper); }.bar span { display:block; height:100%; background:var(--teal); }.role small { display:block; margin-top:6px; font:10px var(--mono); }
.phase-map { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--ink); }.phase-node { min-height:165px; padding:18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--panel); cursor:pointer; text-align:left; }.phase-node:hover { background:var(--acid); }.phase-node.active { background:var(--ink); color:white; }.phase-node b { display:block; color:var(--teal); font:10px var(--mono); }.phase-node.active b { color:var(--acid); }.phase-node h3 { margin:35px 0 4px; font-size:20px; letter-spacing:-1px; }.phase-node p { margin:0; color:var(--muted); font-size:11px; }.phase-node.active p { color:#bcc7bf; }
.project-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.project { min-height:195px; padding:20px; background:var(--ink); color:#ebf0e9; }.project:nth-child(2) { background:var(--teal); }.project:nth-child(3) { background:var(--orange); color:var(--ink); }.project .eyebrow { color:var(--acid); }.project:nth-child(3) .eyebrow { color:var(--ink); }.project h3 { margin:31px 0 8px; font-size:23px; letter-spacing:-1px; }.project p { margin:0; font-size:12px; }.project button { margin-top:16px; }
.view-header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:29px; }.view-header h1 { margin:10px 0 0; font-size:43px; letter-spacing:-2px; }.view-header p { max-width:390px; margin:0; color:var(--muted); font-size:13px; }.phase-tabs { display:flex; gap:8px; overflow:auto; padding-bottom:12px; }.phase-tab { flex:0 0 auto; border:1px solid var(--line); padding:10px 12px; background:transparent; cursor:pointer; text-align:left; font:10px var(--mono); }.phase-tab b { display:block; font-size:12px; }.phase-tab[aria-selected="true"] { border-color:var(--ink); background:var(--ink); color:white; }.phase-tab[aria-selected="true"] b { color:var(--acid); }
.module-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:15px; }.modules { display:grid; gap:10px; }.module { display:grid; grid-template-columns:45px minmax(0,1fr) auto; align-items:center; gap:14px; padding:16px; border:1px solid var(--line); background:var(--panel); }.module:hover { border-color:var(--ink); }.module-number { color:var(--teal); font:700 11px var(--mono); }.module h3 { margin:0 0 4px; font-size:17px; letter-spacing:-.5px; }.module p { margin:0; color:var(--muted); font-size:12px; }.module button { padding:8px 9px; border:1px solid var(--ink); background:var(--acid); cursor:pointer; font:10px var(--mono); }
.sidebar-card { padding:20px; background:var(--ink); color:#e6eee6; }.sidebar-card + .sidebar-card { margin-top:10px; background:#e9e8df; color:var(--ink); }.sidebar-card .eyebrow { color:var(--acid); }.sidebar-card + .sidebar-card .eyebrow { color:var(--teal); }.sidebar-card h3 { margin:12px 0 10px; font-size:21px; letter-spacing:-1px; }.sidebar-card p,.sidebar-card li { color:#b9c4bc; font-size:12px; }.sidebar-card + .sidebar-card p,.sidebar-card + .sidebar-card li { color:var(--muted); }.sidebar-card ul { padding-left:16px; margin:10px 0 0; }
.lesson-detail { max-width:1000px; }.lesson-topline { display:flex; justify-content:space-between; gap:20px; }.lesson-state { color:var(--muted); font:10px var(--mono); }.lesson-objective { max-width:760px; margin:0 0 35px; color:var(--muted); font-size:18px; }.four-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ink); border-left:1px solid var(--line); }.four-grid section { min-height:145px; padding:17px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--panel); }.four-grid section:nth-child(3n+1) { background:#edede5; }.four-grid h3 { margin:0 0 10px; color:var(--teal); font:700 11px var(--mono); letter-spacing:.6px; text-transform:uppercase; }.four-grid p { margin:0; font-size:13px; line-height:1.48; }
.proof-panel { display:flex; justify-content:space-between; gap:25px; margin-top:15px; padding:24px; background:var(--ink); color:#ecf2ea; }.proof-panel .eyebrow { color:var(--acid); }.proof-panel h2 { max-width:390px; margin:9px 0 0; font-size:25px; letter-spacing:-1px; line-height:1; }.gate-controls { display:grid; grid-template-columns:1fr 1fr; gap:7px; align-content:center; min-width:330px; }.gate-controls button { padding:10px; border:1px solid #59635d; background:transparent; color:#dfe8df; cursor:pointer; text-align:left; font:10px var(--mono); }.gate-controls button.done { border-color:var(--acid); background:var(--acid); color:var(--ink); }.gate-controls button:hover { border-color:var(--acid); }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.portfolio-card { padding:22px; border:1px solid var(--ink); background:var(--panel); }.portfolio-card h2 { margin:25px 0 9px; font-size:25px; letter-spacing:-1px; }.portfolio-card p { color:var(--muted); font-size:13px; }.portfolio-card ul { padding-left:17px; font-size:12px; }.portfolio-card li { margin:7px 0; }.portfolio-card button { margin-top:9px; }
.track-picks { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }.track-pick { min-height:135px; padding:14px; border:1px solid var(--line); background:var(--panel); cursor:pointer; text-align:left; }.track-pick.selected { border-color:var(--ink); background:var(--acid); }.track-pick h3 { margin:23px 0 5px; font-size:15px; letter-spacing:-.6px; }.track-pick p { margin:0; color:var(--muted); font-size:10px; }.track-pick.selected p { color:#364129; }
.interview-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.question-card { padding:19px; border:1px solid var(--line); background:var(--panel); }.question-card h3 { margin:11px 0 8px; font-size:18px; letter-spacing:-.7px; }.question-card p { color:var(--muted); font-size:13px; }.question-card button { margin-top:7px; }.empty { padding:40px; border:1px dashed var(--line); color:var(--muted); text-align:center; }
@media (max-width:920px) { .shell { grid-template-columns:1fr; }.sidebar { position:static; width:auto; min-height:auto; padding:16px 5vw; }.sidebar-intro,.side-foot { display:none; } nav { display:flex; overflow:auto; margin-top:16px; }.nav-link { width:auto; flex:0 0 auto; }.nav-link b { display:none; } main { grid-column:1; }.topbar { padding:0 5vw; }.stat-grid { grid-template-columns:1fr 1fr; }.role-grid,.project-strip,.portfolio-grid { grid-template-columns:1fr; }.phase-map { grid-template-columns:1fr 1fr; }.module-layout { grid-template-columns:1fr; }.track-picks { grid-template-columns:1fr 1fr; }.view-header,.section-head,.proof-panel { display:grid; grid-template-columns:1fr; }.gate-controls { min-width:0; }.four-grid,.interview-grid { grid-template-columns:1fr; } }
@media (max-width:570px) { #view { width:min(94vw,600px); padding-top:28px; }.topbar { min-height:58px; }.topbar #breadcrumb,#reset-progress { display:none; }.top-actions { width:100%; justify-content:flex-end; }.hero h1,.lesson-detail h1 { font-size:43px; letter-spacing:-2.3px; }.stat-grid,.phase-map { grid-template-columns:1fr; }.program-line span { border-bottom:1px solid var(--line); }.module { grid-template-columns:35px 1fr; }.module button { grid-column:2; justify-self:start; }.track-picks { grid-template-columns:1fr; } }
