:root{--ink:#1c2430;--muted:#667085;--line:#d9dee7;--bg:#f5f7fa;--surface:#fff;--accent:#1f5eff;--accent-soft:#eaf0ff;--success:#1d7a46;--success-soft:#e9f7ef;--danger:#b42318;--danger-soft:#fff0ee;--info:#0b5cab;--info-soft:#edf6ff;--shadow:0 8px 30px rgba(31,43,61,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header.compact{position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);background:rgba(255,255,255,.94)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0}.compact .header-inner{padding:16px 0}h1,h2,h3{line-height:1.2;margin:0 0 12px}h1{font-size:clamp(2rem,4vw,3.2rem)}h2{font-size:clamp(1.8rem,3vw,2.4rem)}h3{font-size:1.1rem}p{margin:0 0 14px}.eyebrow,.section-kicker,.lab-tag{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.section-kicker{margin-bottom:6px}.muted{color:var(--muted)}.text-link{color:var(--accent);text-decoration:none;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:10px;border:1px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.button.secondary{background:transparent;color:var(--accent)}.button.small{padding:8px 12px;font-size:.9rem}.complete-btn{margin-top:18px}.hero{padding:44px;margin-top:28px}.hero-actions{margin-top:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.mini-card{padding:24px}.num,.step-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:900;margin-bottom:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.note{padding:18px;margin:18px 0 36px}.page-home{padding-bottom:48px}.course-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:30px 0 60px}.sidebar{align-self:start;position:sticky;top:92px;padding:18px}.sidebar-title{font-weight:900;margin-bottom:12px}.nav-item{display:block;padding:9px 10px;border-radius:8px;color:var(--ink);text-decoration:none;margin:3px 0}.nav-item:hover,.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:800}.progress-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.progress-label{display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted);margin-bottom:7px}.progress-track{height:8px;background:#edf0f4;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:var(--accent);border-radius:999px}.content{min-width:0}.lesson-section{padding:20px 0 54px;scroll-margin-top:100px}.lesson-section>p{max-width:820px}.lead{font-size:1.15rem}.step-list{display:grid;gap:12px;margin:20px 0}.step-card{display:flex;gap:14px;padding:18px}.step-num{flex:0 0 auto}.command-card,.exercise-card,.code-lab,.prediction,.break-card,.repair-loop,.checkpoint-card{padding:22px;margin:18px 0}.command-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}.command-row:last-child{border-bottom:0}.command-row.two{grid-template-columns:1fr 1fr}.command-row pre{margin:8px 0 0}pre{margin:14px 0;padding:14px 16px;background:#111827;color:#f8fafc;border-radius:10px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.92rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;background:#f1f3f6;padding:2px 5px;border-radius:5px}pre code{background:none;padding:0}.callout{padding:15px 16px;border-radius:10px;border:1px solid var(--line);margin-top:14px}.callout.success{background:var(--success-soft);border-color:#b7e4c8;color:#175b37}.callout.info{background:var(--info-soft);border-color:#b8dbfb;color:#0a4a82}.flow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:24px;margin:18px 0}.flow-node{padding:14px 16px;border:1px solid var(--line);border-radius:12px;min-width:132px;text-align:center;background:#fbfcfe}.flow-node span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.flow-node code{display:block;margin-top:6px}.flow-node.result{border-color:#b7e4c8;background:var(--success-soft)}.flow-arrow{font-size:1.5rem;color:var(--muted)}.lab-tag{margin-bottom:10px}.lab-tag.danger{color:var(--danger)}.lab-tag.checkpoint{color:#7a4b00}.mini-actions{margin-top:8px}.prediction input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;margin:8px 0 12px;font:inherit}.hidden{display:none}.break-card{border-left:5px solid var(--danger)}.repair-loop{background:#fbfcfe}.repair-loop ol{margin:0;padding-left:20px}.checkpoint-card{border-left:5px solid #c08a00}.final-section{padding-top:0}details{margin-top:14px}details summary{cursor:pointer;font-weight:800}.boundary{border-color:#c7d5ff}.success{font-weight:700}
@media (max-width:900px){.course-layout{grid-template-columns:1fr}.sidebar{position:static}.grid-3,.grid-2,.command-row,.command-row.two{grid-template-columns:1fr}.header-inner{align-items:flex-start;flex-direction:column}.compact .header-inner{flex-direction:row;align-items:center}.flow{justify-content:flex-start}.flow-arrow{transform:rotate(-90deg)}}
@media (max-width:620px){.shell{width:min(100% - 20px,1180px)}.header-inner{padding:20px 0}.compact .header-inner{flex-direction:column;align-items:flex-start}.hero{padding:28px 22px}.lesson-section{padding-top:14px}.button{width:100%}}
