:root{color:#1f2328;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{height:100%;overflow:hidden}*{box-sizing:border-box}body{margin:0}button,input,select,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{grid-template-columns:minmax(220px,280px) minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.sidebar-toggle-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-backdrop{display:none}.sidebar{background:#fff;border-right:1px solid #d7dce2;grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;padding:24px;display:grid;overflow:hidden}.sidebar h1{color:#0b3b4a;margin:0 0 24px;font-size:1.5rem}.course-list,.concept-list{overscroll-behavior:contain;align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.course-button,.concept-button{color:#1f2328;text-align:left;background:#fff;border:1px solid #d7dce2;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:10px 12px;text-decoration:none;display:flex}.course-button.selected,.concept-button.selected{background:#e7f5f8;border-color:#0f718a}.concept-button.mastered{background:#edf8ef;border-color:#4d8b57}.concept-button:disabled{color:#68727d;background:#eef1f4}.concept-status{color:#68727d;text-align:right;min-width:42px}.content-panel{grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:20px 24px 24px;display:grid;overflow:hidden}.course-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.nav-toggle-button{display:none}.course-title-block{flex:auto;min-width:0}.course-title-block h2{color:#0b3b4a;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;line-height:1.2;overflow:hidden}.course-context{color:#68727d;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.8rem;line-height:1.25;overflow:hidden}.course-settings{flex:none;position:relative}.settings-button{color:#44515f;background:#fff;border:1px solid #b8c2cc;border-radius:6px;place-items:center;width:40px;height:40px;display:inline-grid}.settings-button:hover,.settings-button[aria-expanded=true]{color:#0f718a;border-color:#0f718a}.settings-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:20px;height:20px}.menu-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:22px;height:22px}.course-settings-popover{z-index:10;background:#fff;border:1px solid #d7dce2;border-radius:8px;gap:14px;width:min(390px,100vw - 48px);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 45px #1f232829}.settings-group{gap:8px;display:grid}.mode-toggle,.view-toggle{background:#fff;border:1px solid #b8c2cc;border-radius:6px;display:flex;overflow:hidden}.mode-toggle button,.view-toggle button{color:#44515f;background:#fff;border:0;border-right:1px solid #d7dce2;min-height:38px;padding:8px 12px}.mode-toggle button:last-child,.view-toggle button:last-child{border-right:0}.mode-toggle button.selected,.view-toggle button.selected{color:#fff;background:#0f718a}.course-header h2,.assessment-panel h3{margin:0}.assessment-panel h3{color:#44515f;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.2;overflow:hidden}.eyebrow{color:#68727d;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:700}.progress{color:#44515f;margin:0}.course-grid{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:stretch;gap:24px;min-height:0;display:grid;overflow:hidden}.adaptive-grid{min-height:0;display:grid;overflow:hidden}.assessment-panel{background:#fff;border:1px solid #d7dce2;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;padding:16px;transition:border-color .14s,box-shadow .14s;display:grid;overflow:hidden}.assessment-heading{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.assessment-scroll{overscroll-behavior:contain;min-height:0;padding-right:4px;overflow-y:auto}.assessment-panel.answered-correctly{border-color:#4d8b57;box-shadow:0 0 0 3px #d8f3dc}.assessment-panel.answered-incorrectly{border-color:#c9453c;box-shadow:0 0 0 3px #fde2df}.assessment-body{gap:16px;margin:0;line-height:1.6;display:grid}.assessment-paragraph{color:#1f2328;white-space:pre-wrap;max-width:72ch;margin:0;font-size:1rem}.assessment-image{max-width:720px;margin:0}.assessment-image-button{cursor:zoom-in;background:0 0;border:0;width:fit-content;max-width:100%;margin:0;padding:0;display:block}.assessment-image-button:focus-visible{outline-offset:4px;outline:3px solid #2f6fda}.assessment-image img{border:1px solid #d7dce2;border-radius:6px;max-width:100%;display:block}.assessment-image figcaption{color:#5f6975;margin-top:6px;font-size:.9rem}.assessment-image-fullscreen{z-index:1000;background:#111827eb;justify-content:center;align-items:center;padding:64px 24px 24px;display:flex;position:fixed;inset:0}.assessment-image-fullscreen-close{color:#1f2328;cursor:pointer;font:inherit;background:#fff;border:1px solid #ffffff5c;border-radius:6px;padding:10px 14px;font-weight:700;position:fixed;top:18px;right:18px}.assessment-image-fullscreen-close:focus-visible{outline-offset:3px;outline:3px solid #8ec5ff}.assessment-image-fullscreen-frame{justify-content:center;align-items:center;width:100%;max-width:1200px;max-height:100%;display:flex}.assessment-image-fullscreen-frame img{object-fit:contain;background:#fff;border:1px solid #ffffff47;border-radius:6px;max-width:100%;max-height:calc(100vh - 96px);display:block;box-shadow:0 18px 60px #00000052}.answer-input{border:1px solid #9aa6b2;border-radius:6px;width:min(180px,100%);margin:0 4px;padding:8px 10px}.choice-list{gap:10px;max-width:720px;display:grid}.choice{background:#fbfcfd;border:1px solid #d7dce2;border-radius:6px;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;line-height:1.45;display:flex}.choice:hover{background:#f3f7f8;border-color:#9aa6b2}.choice:has(input:checked){background:#e7f5f8;border-color:#0f718a}.choice input{flex:none;margin-top:4px}.choice span{min-width:0}.assessment-actions{border-top:1px solid #edf0f3;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;display:flex}.assessment-actions button{color:#fff;background:#0f718a;border:0;border-radius:6px;min-height:42px;padding:10px 14px}.answer-feedback{border:1px solid;border-radius:6px;gap:4px;max-width:720px;margin:18px 0 0;padding:12px 14px;line-height:1.45;display:grid}.correct-feedback{color:#1f6b2d;background:#edf8ef;border-color:#a8ddb1}.incorrect-feedback{color:#9f2f28;background:#fff0ee;border-color:#f3b5af}.evidence-progress{gap:8px;max-width:720px;margin-top:18px;display:grid}.question-bank-summary{flex-wrap:wrap;gap:8px;margin-top:0;display:flex}.question-bank-summary span{color:#44515f;background:#fbfcfd;border:1px solid #d7dce2;border-radius:6px;min-height:26px;padding:4px 8px}.question-bank-assessment-picker{color:#44515f;flex:320px;align-items:center;gap:8px;min-width:min(100%,320px);font-size:.86rem;display:flex}.question-bank-assessment-picker span{color:#68727d;flex:none;font-weight:700}.question-bank-assessment-picker select{color:#1f2328;background:#fff;border:1px solid #b8c2cc;border-radius:6px;flex:auto;min-width:0;height:34px;padding:5px 8px}.evidence-row{color:#44515f;background:#fbfcfd;border:1px solid #d7dce2;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:7px 10px;display:flex}.evidence-row.mastered{color:#1f6b2d;background:#edf8ef;border-color:#a8ddb1}.evidence-metrics{white-space:nowrap;flex:none;gap:8px;display:inline-flex}.learning-graph-view{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:24px;min-width:0;min-height:0;display:grid;overflow:hidden}.graph-canvas,.graph-detail{overscroll-behavior:contain;background:#fff;border:1px solid #d7dce2;border-radius:8px;min-width:0;min-height:0;overflow:auto}.graph-canvas{position:relative}.graph-svg{width:100%;min-width:760px;height:100%;min-height:420px;display:block}.graph-edge{fill:none;stroke:#a9b4bf;stroke-linecap:round;stroke-width:3px}.graph-node{cursor:pointer;outline:none}.graph-node rect{fill:#f8fafc;stroke:#9aa6b2;stroke-width:2px;transition:fill .14s,stroke .14s,stroke-width .14s}.graph-node.ready rect{fill:#e7f5f8;stroke:#0f718a}.graph-node.mastered rect{fill:#edf8ef;stroke:#4d8b57}.graph-node.locked rect{fill:#eef1f4;stroke:#b8c2cc}.graph-node.selected rect,.graph-node:focus-visible rect{stroke:#1d4ed8;stroke-width:4px}.graph-node-title{fill:#1f2328;pointer-events:none;font-size:.86rem;font-weight:700}.graph-node-stat{fill:#44515f;pointer-events:none;font-size:.76rem;font-weight:700}.graph-detail{align-content:start;gap:18px;padding:20px;display:grid}.graph-detail h3,.graph-detail p{margin:0}.graph-status{text-transform:uppercase;border-radius:999px;width:fit-content;padding:5px 10px;font-size:.78rem;font-weight:800}.graph-status.ready{color:#0f718a;background:#e7f5f8}.graph-status.mastered{color:#1f6b2d;background:#edf8ef}.graph-status.locked{color:#44515f;background:#eef1f4}.graph-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.graph-stat-grid div{background:#fbfcfd;border:1px solid #d7dce2;border-radius:6px;min-width:0;padding:10px}.graph-stat-grid dt{color:#68727d;text-transform:uppercase;font-size:.72rem;font-weight:700}.graph-stat-grid dd{color:#1f2328;margin:4px 0 0;font-size:1rem;font-weight:800}.graph-relationship-list{gap:8px;display:grid}.graph-chip-list{flex-wrap:wrap;gap:8px;display:flex}.graph-chip{color:#1f2328;background:#fff;border:1px solid #d7dce2;border-radius:999px;padding:6px 10px;line-height:1.25}.graph-chip.muted{color:#68727d}.correct{color:#247a35;font-weight:700}.incorrect{color:#b42318;font-weight:700}@media (width<=760px){.app-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr}.sidebar{z-index:40;border-bottom:0;border-right:1px solid #d7dce2;width:min(84vw,320px);height:100dvh;padding:16px 20px;transition:transform .16s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:18px 0 40px #1f23282e}.sidebar-toggle-input:checked~.sidebar{transform:translate(0)}.sidebar-backdrop{z-index:30;visibility:hidden;opacity:0;pointer-events:none;background:#1f232857;border:0;padding:0;transition:opacity .16s,visibility .16s;display:block;position:fixed;inset:0 0 0 min(84vw,320px)}.sidebar-toggle-input:checked~.sidebar-backdrop{visibility:visible;opacity:1;pointer-events:auto}.sidebar h1{margin-bottom:14px}.content-panel{gap:10px;padding:14px}.course-header{flex-direction:row;align-items:center;gap:10px}.nav-toggle-button{color:#44515f;background:#fff;border:1px solid #b8c2cc;border-radius:6px;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.nav-toggle-button:hover{color:#0f718a;border-color:#0f718a}.mode-toggle,.view-toggle{width:100%}.course-settings-popover{width:min(360px,100vw - 28px)}.mode-toggle button,.view-toggle button{flex:1;min-width:0;padding-left:8px;padding-right:8px}.course-grid{grid-template-rows:minmax(96px,28%) minmax(0,1fr);grid-template-columns:1fr}.adaptive-grid{grid-template-columns:1fr}.assessment-panel{padding:14px}.learning-graph-view{grid-template-rows:minmax(0,1fr) minmax(180px,34%);grid-template-columns:1fr;gap:16px}.graph-detail{padding:16px}}
