*{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}body{color:#e5e9ef;background:#11151b;min-height:100vh;margin:0}#root{max-width:1100px;margin:0 auto;padding:12px 20px 40px}button{font:inherit;cursor:pointer;color:#e5e9ef;background:#1b222c;border:1px solid #313a46;border-radius:8px;padding:8px 14px}button:hover{background:#232c39}button:disabled{opacity:.4;cursor:default}button.active{color:#fff;background:#2f6df6;border-color:#2f6df6}h1,h2{margin:.3em 0}.site{flex-direction:column;gap:0;display:flex}.navbar{border-bottom:1px solid #2a323e;align-items:center;gap:18px;margin-bottom:20px;padding:14px 4px;display:flex}.brand{color:#e5e9ef;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem;font-weight:800}.nav-links{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.nav-link{color:#9aa4b2;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:600}.nav-link:hover{color:#e5e9ef;background:#1b222c}.nav-link.active{color:#7fb3ff;background:#1b222c;border-color:#2a323e}.landing{padding:10px 0 40px}.hero{text-align:center;max-width:720px;margin:20px auto 44px}.hero h1{margin:0 0 16px;font-size:2.4rem;line-height:1.15}.hero-sub{color:#9aa4b2;margin:0 auto 26px;font-size:1.05rem;line-height:1.55}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.ghost-btn.big{border-color:#2a323e;padding:10px 22px;font-weight:700}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-width:980px;margin:0 auto 40px;display:grid}.feature-card{text-align:left;background:#171d26;border:1px solid #2a323e;border-radius:12px;padding:18px}.feature-emoji{font-size:1.6rem}.feature-card h3{margin:8px 0 6px}.feature-card p{color:#9aa4b2;margin:0;font-size:.9rem;line-height:1.5}.why-block{text-align:left;background:#171d26;border:1px solid #2a323e;border-radius:12px;max-width:720px;margin:0 auto;padding:20px 24px}.why-block h2{margin-top:0}.why-block p{color:#c3ccd8;margin:0;line-height:1.6}.course-page{padding-bottom:30px}.course-intro{text-align:center}.course-intro h1{margin-bottom:6px;font-size:2rem}.course-intro .tagline{max-width:640px}.course-layout{grid-template-columns:250px 1fr;align-items:start;gap:20px;max-width:1100px;margin:24px auto 0;display:grid}.course-toc{background:#171d26;border:1px solid #2a323e;border-radius:12px;flex-direction:column;gap:4px;padding:10px;display:flex;position:sticky;top:16px}.course-toc-item{text-align:left;color:#9aa4b2;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:.85rem;line-height:1.3;display:flex}.course-toc-item:hover{color:#e5e9ef;background:#1b222c}.course-toc-item.active{color:#7fb3ff;background:#1b222c}.course-toc-num{color:#c3ccd8;background:#232b38;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:flex}.course-toc-item.active .course-toc-num{color:#fff;background:#2f6df6}.course-toc-emoji{margin-right:2px}.course-article{text-align:left;background:#171d26;border:1px solid #2a323e;border-radius:12px;max-height:78vh;padding:28px 32px;overflow-y:auto}.course-article-head{margin-bottom:18px}.course-chapter-label{color:#6f7885;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.course-article h2{margin:4px 0 6px;font-size:1.6rem}.course-dek{color:#9aa4b2;margin:0 0 4px;font-size:1rem}.course-section{margin:20px 0}.course-section h3{color:#e5e9ef;margin:0 0 8px;font-size:1.05rem}.course-section p{color:#c3ccd8;margin:0 0 14px;font-size:.96rem;line-height:1.7}.course-nav-row{border-top:1px solid #2a323e;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding-top:18px;display:flex}.course-diagram{background:#10151d;border:1px solid #2a323e;border-radius:10px;margin:0 0 22px;padding:14px 10px 8px}.course-diagram figcaption{color:#6f7885;text-align:center;margin-top:4px;font-size:.8rem;line-height:1.4}@media (width<=820px){.course-layout{grid-template-columns:1fr}.course-toc{flex-flow:wrap;position:static}.course-toc-item{flex:auto}}.menu{text-align:center;padding-top:10px}.menu h1{font-size:2.6rem}.tagline{color:#9aa4b2;max-width:560px;margin:0 auto 28px}.level-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:24px;display:grid}.level-card{text-align:left;flex-direction:column;gap:4px;padding:16px;display:flex}.level-card:hover{border-color:#2f6df6}.level-card.sandbox{border-style:dashed}.level-num{color:#9aa4b2;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.level-name{font-size:1.05rem;font-weight:700}.level-meta{color:#9aa4b2;font-size:.85rem}.level-stars{color:#f2b23e;font-size:1.1rem}.game header{align-items:center;gap:16px;padding:6px 0 10px;display:flex}.level-title{flex-direction:column;flex:1;display:flex}.real-world{color:#9aa4b2;font-size:.8rem}.hud{align-items:center;gap:14px;display:flex}.cost{font-variant-numeric:tabular-nums;font-weight:600}.cost.over{color:#ff6259}.truck-info{color:#9aa4b2}.ghost-btn{background:0 0;border-color:#0000}.ghost-btn:hover{background:#1b222c}.intro{color:#c3ccd8;background:#1b222c;border-left:3px solid #2f6df6;border-radius:0 8px 8px 0;margin:0 0 10px;padding:10px 14px;font-size:.95rem}.canvas-wrap{position:relative}.bridge-canvas{touch-action:none;-webkit-user-select:none;user-select:none;background:#141a22;border:1px solid #2a323e;border-radius:10px;width:100%;height:auto;display:block}.bridge-canvas.tool-build{cursor:crosshair}.bridge-canvas.tool-delete .member-editable,.bridge-canvas.tool-delete .node-editable{cursor:not-allowed}.bridge-canvas.tool-predict .member-editable{cursor:pointer}.member-hot{animation:.4s infinite alternate hotflash}@keyframes hotflash{0%{opacity:1}to{opacity:.45}}.member-broken{opacity:.6}.truck.falling{animation:.9s ease-in forwards fall}@keyframes fall{to{opacity:0;transform:translateY(300px)rotate(18deg)}}.legend{color:#c3ccd8;background:#11151bd9;border-radius:8px;gap:14px;padding:6px 12px;font-size:.8rem;display:flex;position:absolute;top:10px;right:12px}.sw{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.tool-group{gap:6px;display:flex}.test-btn{background:#2fa14d;border-color:#2fa14d;margin-left:auto;padding:10px 22px;font-weight:700}.test-btn:hover{background:#37b458}.weight-slider{color:#c3ccd8;align-items:center;gap:8px;font-size:.9rem;display:flex}.build-error{color:#ffb4ad;background:#3a2528;border:1px solid #7a3b3b;border-radius:8px;margin-top:8px;padding:10px 14px}.hint{color:#9aa4b2;margin-top:8px;font-size:.9rem}.panel{background:#171d26;border:1px solid #2a323e;border-radius:12px;margin-top:14px;padding:18px 20px}.panel.success{border-color:#2fa14d}.panel.failure{border-color:#a13a34}.stars-big{color:#f2b23e;font-size:2rem}.why{color:#d9e0e8}.predict-right{color:#57d474;font-weight:600}.predict-wrong{color:#f2b23e}.panel-actions{gap:10px;margin-top:12px;display:flex}.concept-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:12px;display:grid}.concept-card{background:#1b222c;border:1px solid #2a323e;border-radius:10px;padding:12px 14px}.concept-card strong{color:#7fb3ff}.concept-card p{color:#c3ccd8;margin:6px 0 0;font-size:.88rem;line-height:1.45}.modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#171d26;border:1px solid #2a323e;border-radius:14px;width:92%;max-width:720px;max-height:80vh;padding:18px 22px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.glossary-list{gap:10px;margin-top:10px;display:grid}.menu-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.study-era{color:#9aa4b2;margin:4px 0 12px;font-size:.85rem}.study-lesson{color:#d9e0e8;background:#1b222c;border-left:3px solid #f2b23e;border-radius:0 8px 8px 0;padding:10px 14px}.study-card{text-align:left;background:#1b222c;border:1px solid #2a323e;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.study-card:hover:not(.locked){border-color:#f2b23e}.study-card strong{color:#f2c96a}.study-card span{color:#c3ccd8;font-size:.85rem}.study-card.locked{opacity:.55;cursor:default}.study-card.locked strong{color:#9aa4b2}.unlock-banner{color:#f2d79a;background:#241f14;border:1px solid #6b5a2a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:.9rem;display:flex}.unlock-banner .ghost-btn{color:#f2c96a;margin-left:auto}.quiz{background:#1b222c;border:1px solid #2a323e;border-radius:10px;margin-top:14px;padding:14px 16px}.quiz-prompt{color:#d9e0e8;margin:0 0 10px;font-weight:600}.quiz-options{gap:8px;display:grid}.quiz-option{text-align:left;padding:10px 14px}.quiz-option:hover:not(:disabled){border-color:#2f6df6}.quiz-option.right{color:#9be6b0;background:#17301f;border-color:#2fa14d}.quiz-option.wrong{color:#ffb4ad;background:#301a1a;border-color:#a13a34}.quiz-feedback{margin:10px 0 0;font-size:.9rem}.quiz-feedback.right{color:#57d474}.quiz-feedback.wrong{color:#f2b23e}.legend-hint{color:#9aa4b2;font-style:italic}.member-inspectable{cursor:pointer}.math-panel{background:#11151bf0;border:1px solid #2a323e;border-radius:10px;width:260px;padding:10px 14px;font-size:.85rem;position:absolute;bottom:12px;left:12px}.math-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.math-table{border-collapse:collapse;width:100%}.math-table td{color:#c3ccd8;padding:3px 0}.math-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:#e5e9ef;font-weight:600}.math-table tr.math-hot td:last-child{color:#ff6259}.math-broken{color:#9aa4b2;margin:4px 0 0}.math-graph{background:#11151b;border-radius:6px;margin-top:8px;display:block}.math-graph-hint{color:#6b7480;margin:4px 0 0;font-size:.72rem}.deck-gap line{animation:.8s ease-in-out infinite alternate gappulse}@keyframes gappulse{0%{opacity:.4}to{opacity:.9}}.modal.tutorial{max-width:520px}.tutorial-body{color:#d9e0e8;min-height:96px;line-height:1.55}.tutorial-dots{justify-content:center;gap:6px;margin:6px 0 4px;display:flex}.tutorial-dots .dot{background:#2a323e;border-radius:50%;width:8px;height:8px;transition:background .2s}.tutorial-dots .dot.on{background:#2f6df6}.modal.tutorial .panel-actions{justify-content:flex-end}.modal.tutorial .panel-actions .ghost-btn{margin-right:auto}
