:root{--indigo:#6366f1;--teal:#10b981;--red:#ff5757;--orange:#FF914D;--yellow:#FFDE59;--green:#7ED957;--blue:#38B6FF;--purple:#CB6CE6;--dark:#10162f;--bg:#fafafa;--border:#000}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans','Noto Sans SC',sans-serif;background:var(--bg);color:#1a1a1a;line-height:1.6}
a{color:var(--indigo);text-decoration:none}a:hover{text-decoration:underline}
.mono{font-family:'Space Mono',monospace}
.header{background:var(--dark);color:#fff;padding:40px 0;text-align:center;border-bottom:4px solid var(--border)}
.header h1{font-size:36px;font-weight:900;letter-spacing:-1px}
.header .sub{font-size:16px;opacity:0.7;margin-top:8px}
.header .nav{margin-top:16px;font-size:14px}.header .nav a{color:#fff;opacity:0.7;margin:0 8px}.header .nav a:hover{opacity:1}
.tags{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.tag{padding:5px 14px;font-size:12px;font-weight:700;font-family:'Space Mono',monospace;border:2px solid rgba(255,255,255,0.3)}
.tag.a{background:var(--indigo);border-color:var(--indigo)}
.bar{display:flex;justify-content:center;gap:32px;padding:16px 0;background:#fff;border-bottom:3px solid var(--border);flex-wrap:wrap}
.bar .s{text-align:center}.bar .n{font-size:24px;font-weight:900;color:var(--indigo)}.bar .l{font-size:11px;color:#888;font-family:'Space Mono',monospace}
.c{max-width:1300px;margin:0 auto;padding:32px 24px}
.box{border:3px solid #000;background:#fff;box-shadow:6px 6px 0 #000;overflow:hidden;margin-bottom:28px}
.box-h{padding:14px 24px;border-bottom:3px solid #000;color:#fff}
.pill{display:inline-block;padding:2px 8px;font-weight:700;font-size:11px;font-family:'Space Mono',monospace}
.wk{padding:4px 24px;font-weight:800;font-size:14px;border-bottom:1px solid #ddd}
/* Lesson card */
.lesson{margin:16px 24px;border:2px solid #e5e5e5;transition:border-color 0.15s}
.lesson:hover{border-color:var(--indigo)}
.lesson-head{padding:10px 16px;display:flex;align-items:center;gap:10px;background:#fafafa;border-bottom:1px solid #eee}
.lesson-head h4{font-size:15px;font-weight:700;flex:1}
.lesson-body{padding:12px 16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.lesson-body h5{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#999;margin-bottom:6px;font-family:'Space Mono',monospace}
.lesson-body p{font-size:13px;line-height:1.7;color:#444}
.tools{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.tool{font-size:11px;padding:2px 8px;background:#f0f0f0;font-family:'Space Mono',monospace;font-weight:600}
.tool.oc{background:#E84142;color:#fff}
.review{display:inline-block;padding:2px 8px;font-size:11px;font-weight:700;font-family:'Space Mono',monospace;margin-top:6px}
.review.teacher{background:#ede9fe;color:var(--indigo)}
.review.ai{background:#d1fae5;color:var(--teal)}
.review.both{background:#fef3c7;color:#92400e}
/* AI self-study bar */
.ai-self{padding:12px 24px;font-size:12px;background:#f8f9ff;border-top:2px solid #ddd}
.ai-self-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:8px}
.ai-self-card{padding:8px 10px;border:1px solid #ddd;background:#fff}
.ai-self-card .lab-tag{padding:2px 6px;background:#e0e7ff;font-weight:700;font-size:10px;font-family:'Space Mono',monospace}
.ai-self-card .lab-name{font-weight:700;margin-top:4px;font-size:12px}
.ai-self-card .lab-desc{color:#888;margin-top:2px;font-size:11px}
/* Phase nav cards */
.phase-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.phase-card{border:3px solid #000;box-shadow:5px 5px 0 #000;padding:20px;transition:all 0.15s;text-decoration:none;color:#000;display:block}
.phase-card:hover{box-shadow:none;transform:translate(4px,4px);text-decoration:none}
.phase-card .pnum{font-size:12px;font-family:'Space Mono',monospace;font-weight:700;opacity:0.6}
.phase-card h3{font-size:18px;font-weight:900;margin:6px 0}
.phase-card .pdesc{font-size:13px;color:#666;line-height:1.6}
.phase-card .pweek{font-size:12px;font-family:'Space Mono',monospace;margin-top:10px;opacity:0.5}
/* Grid helpers */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
/* Details/FAQ */
details{border:2px solid #eee;margin-bottom:6px}
details summary{padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;background:#fafafa}
details>div{padding:10px 16px;font-size:13px;line-height:1.8;border-top:1px solid #eee}
.footer{margin-top:40px;padding:24px;text-align:center;border-top:3px solid var(--border);color:#888;font-size:13px}
