*{box-sizing:border-box}body{color:#e5e7eb;background:#07111f;margin:0;font:15px Inter,system-ui,sans-serif}main{max-width:1440px;margin:auto;padding:28px}header{border-left:5px solid #f59e0b;padding-left:20px}.eyebrow{color:#fbbf24;text-transform:uppercase;letter-spacing:.15em}h1{margin:.1em 0;font-size:clamp(30px,5vw,58px)}.controls{background:#111d2e;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0;padding:15px;display:flex}.controls button{cursor:pointer;background:#f59e0b;border:0;border-radius:7px;padding:9px 14px;font-weight:700}.controls label{align-items:center;gap:8px;display:flex}.controls select{color:#e5e7eb;background:#07111f;border:1px solid #3b4f6c;border-radius:6px;padding:7px}.layout{grid-template-columns:minmax(0,1fr) 370px;gap:18px;display:grid}.chart,aside,.lesson,.derivative{background:#0d192a;border:1px solid #23344e;border-radius:14px}.chart{min-width:0}aside{padding:20px}dl{grid-template-columns:1fr auto;gap:9px;display:grid}dt{color:#9ca3af}dd{margin:0;font-weight:700}.lesson,.derivative{margin-top:18px;padding:22px}.lesson>div,.endpoint-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.lesson>div{grid-template-columns:repeat(3,1fr)}.endpoint-grid article{background:#111f32;border:1px solid #293b56;border-radius:10px;padding:14px}.endpoint-grid h3{color:#fbbf24;margin-top:0}.note{color:#cbd5e1;background:#17263b;border-radius:8px;padding:14px}.warning{color:#fecaca;background:#321820;border-left:4px solid #ef4444;padding:12px}.step-banner,.refit-banner{background:#17263b;border-radius:8px;padding:12px 16px}.refit-banner{color:#dcfce7;background:#123126;border:2px solid #22c55e}.grid-explanation{color:#cbd5e1;font-size:.85rem;line-height:1.4}.tuning-actions{gap:8px;margin:10px 0;display:flex}.tuning-actions button{color:#fff;cursor:pointer;background:#263a56;border:1px solid #4b6385;border-radius:6px;padding:7px}.tuning-actions button[aria-pressed=true]{background:#b45309;border-color:#f59e0b}.candidate-list{border:1px solid #334967;border-radius:7px;max-height:310px;overflow:auto}.candidate-list table{border-collapse:collapse;width:100%;font-size:11px}.candidate-list th,.candidate-list td{text-align:right;white-space:nowrap;border-bottom:1px solid #263a56;padding:5px}.candidate-list th:first-child,.candidate-list td:first-child{text-align:center}.candidate-list thead{z-index:1;background:#111d2e;position:sticky;top:0}.selected-candidate{background:#263f30}@media (width<=850px){main{padding:14px}.layout{grid-template-columns:1fr}.lesson>div,.endpoint-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.lesson>div,.endpoint-grid{grid-template-columns:1fr}}
