:root{color:#17202a;background:#f6f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;background:linear-gradient(180deg,#ffffffc2,#f6f7f3f2),radial-gradient(circle at top left,rgba(52,130,246,.16),transparent 32rem),radial-gradient(circle at bottom right,rgba(35,145,107,.14),transparent 28rem);padding:20px}.workspace{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:18px;min-height:calc(100vh - 40px)}.sidebar,.detail-pane,.panel,.recommendations,.topic-hero{border:1px solid rgba(23,32,42,.12);background:#ffffffe0;box-shadow:0 18px 45px #1a283814}.sidebar{border-radius:8px;display:flex;flex-direction:column;min-height:0;padding:18px}.detail-pane{border-radius:8px;min-width:0;overflow:auto;padding:18px}.brand-row,.topbar,.panel-header,.assessment-footer{align-items:center;display:flex;justify-content:space-between;gap:14px}.brand-row{justify-content:flex-start}.brand-mark{align-items:center;background:#182a3d;border-radius:8px;color:#fff;display:grid;height:44px;place-items:center;width:44px;flex:0 0 auto}.eyebrow{color:#5b6978;font-size:.72rem;font-weight:700;margin:0 0 5px;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}h1{font-size:1.25rem;line-height:1.1;margin-bottom:0}h2{font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.08;margin-bottom:12px}h3{font-size:1.05rem;line-height:1.2;margin-bottom:0}h4{color:#4a5968;font-size:.78rem;margin-bottom:10px;text-transform:uppercase}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.metric-strip span{background:#edf2f7;border-radius:8px;display:grid;gap:2px;padding:10px}.metric-strip strong{font-size:1rem}.metric-strip small,.topic-row small,.mini-node small,.center-node small,.suggestion small,.suggestion span,.status-note,.topic-hero small{color:#667587}.search-box,.filters label{align-items:center;background:#fff;border:1px solid rgba(23,32,42,.14);border-radius:8px;display:flex;gap:9px;min-height:42px;padding:0 11px}.search-box input,.filters select{background:transparent;border:0;color:#17202a;min-width:0;outline:0;width:100%}.filters{display:grid;gap:8px;margin:10px 0 14px}.result-list{display:grid;gap:7px;overflow:auto;padding-right:3px}.topic-row{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:inherit;display:grid;gap:10px;grid-template-columns:10px 1fr;min-height:58px;padding:9px;text-align:left}.topic-row:hover,.topic-row.active{background:#f0f7f5;border-color:#b8d9ce}.topic-row strong,.mini-node strong,.suggestion strong{display:block;font-size:.9rem;line-height:1.25}.topic-row small,.mini-node small,.suggestion small,.suggestion span{display:block;font-size:.76rem;line-height:1.25;margin-top:4px}.state-dot{border-radius:999px;display:block;height:10px;width:10px}.state-dot.not-started{background:#b3bdc7}.state-dot.learning{background:#d38b2a}.state-dot.mastered{background:#23916b}.topbar{margin-bottom:14px}.topbar h2{font-size:1rem;margin:0}.icon-button{align-items:center;background:#fff;border:1px solid rgba(23,32,42,.16);border-radius:8px;color:#243447;display:grid;height:40px;place-items:center;width:40px}.topic-hero{border-radius:8px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(220px,290px);margin-bottom:18px;padding:22px}.topic-hero p{color:#344253;line-height:1.55;margin-bottom:10px}.state-control{align-self:start;background:#edf2f7;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr;padding:4px}.state-control button{background:transparent;border:0;border-radius:6px;color:#394a5d;min-height:38px;padding:0 12px}.state-control button.selected{background:#fff;box-shadow:0 5px 14px #1a28381a;color:#13283b;font-weight:750}.content-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.panel,.recommendations{border-radius:8px;padding:18px}.graph-lane{align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(160px,.7fr) minmax(0,1fr);margin-top:18px}.node-column{display:grid;gap:8px}.mini-node,.suggestion{background:#fff;border:1px solid rgba(23,32,42,.14);border-radius:8px;color:inherit;min-height:68px;padding:11px;text-align:left}.mini-node:hover,.suggestion:hover{border-color:#2d76d2;box-shadow:0 8px 24px #2d76d21f}.center-node{align-items:center;align-self:center;background:linear-gradient(160deg,#182a3d,#245b50);border-radius:8px;color:#fff;display:grid;gap:8px;justify-items:center;min-height:188px;padding:18px;text-align:center}.center-node small{color:#ffffffc7}.empty-copy{background:#f4f6f8;border-radius:8px;color:#667587;font-size:.9rem;margin:0;padding:13px}.prompt{background:#f0f7f5;border-left:4px solid #23916b;color:#2d423b;line-height:1.5;margin:18px 0;padding:12px}.checklist{display:grid;gap:10px}.checklist label{align-items:flex-start;display:grid;gap:10px;grid-template-columns:18px 1fr;line-height:1.45}.checklist input{accent-color:#23916b;margin-top:3px}.assessment-footer{margin-top:18px}.score-ring{align-items:center;background:#edf2f7;border:5px solid #b3bdc7;border-radius:999px;display:grid;font-weight:800;height:72px;place-items:center;width:72px}.score-ring.mid{border-color:#d38b2a}.score-ring.strong{border-color:#23916b}.primary-button{align-items:center;background:#182a3d;border:0;border-radius:8px;color:#fff;display:inline-flex;gap:8px;justify-content:center;min-height:44px;padding:0 14px}.status-note{display:block;margin-top:12px}.recommendations{margin-top:18px}.suggestion-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}@media(max-width:1080px){.workspace,.content-grid,.topic-hero{grid-template-columns:1fr}.sidebar{max-height:none}.result-list{max-height:360px}}@media(max-width:720px){.app-shell{padding:10px}.workspace{min-height:calc(100vh - 20px)}.sidebar,.detail-pane,.panel,.recommendations,.topic-hero{padding:14px}.metric-strip,.graph-lane,.suggestion-grid,.state-control{grid-template-columns:1fr}.center-node{min-height:132px}}
