:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08111f;--panel:#0f1b2d;--panel-2:#12243a;--text:#e6edf7;--muted:#93a4bc;--accent:#6ee7b7;--accent-2:#60a5fa;--border:#94a3b838;--surface:#0f1b2d8c;--input-bg:#0f1b2d;--error:#e74c3c;--warning:#f39c12;--card-gradient:linear-gradient(180deg, #ffffff0b, #ffffff05);--body-gradient:radial-gradient(circle at top left, #13243d, var(--bg) 40%);--primary-text:#052014;--overlay-bg:#08111f99}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7fa;--panel:#fff;--panel-2:#eef1f5;--text:#1a2332;--muted:#5f6d7e;--accent:#059669;--accent-2:#2563eb;--border:#0000001a;--surface:#00000009;--input-bg:#fff;--error:#dc2626;--warning:#e67e22;--card-gradient:linear-gradient(180deg, #fffc, #ffffff80);--body-gradient:radial-gradient(circle at top left, #e8edf4, var(--bg) 40%);--primary-text:#fff;--overlay-bg:#fffc}*{box-sizing:border-box}html,body{background:var(--body-gradient);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}.theme-toggle{z-index:150;border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .15s,border-color .15s;display:flex;position:fixed;top:12px;right:12px;box-shadow:0 2px 8px #00000026}.theme-toggle:hover{border-color:var(--accent);background:var(--panel-2)}@media (max-width:768px){.theme-toggle{width:32px;height:32px;font-size:16px;top:8px;right:8px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--bg);z-index:200;padding:8px 16px;font-weight:700;text-decoration:none;transition:top .15s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-shell{min-height:100vh;padding:40px;animation:.25s ease-out page-in}@keyframes page-in{0%{opacity:0}to{opacity:1}}.hero{gap:18px;max-width:1180px;margin:0 auto 28px;display:grid}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}h1{max-width:900px;margin:0;font-size:clamp(36px,5vw,68px);line-height:.95}p{color:var(--muted);line-height:1.65}.grid{grid-template-columns:1.25fr .75fr;gap:18px;max-width:1180px;margin:0 auto;display:grid}.card{background:var(--card-gradient);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);border-radius:22px;padding:24px;box-shadow:0 20px 80px #00000014}.domain-list{gap:10px;margin-top:16px;display:grid}.domain-row{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:42px 1fr 70px;align-items:center;gap:12px;padding:12px;display:grid}.domain-num{width:34px;height:34px;color:var(--accent);background:#6ee7b71f;border-radius:999px;place-items:center;font-weight:900;display:grid}.domain-name{font-weight:800}.domain-weight{color:var(--accent-2);text-align:right;font-weight:900}.status-pill{border:1px solid var(--border);color:var(--accent);border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.warning{color:#fbbf24}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.primary,.secondary{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:11px 14px;font-weight:900;text-decoration:none;display:inline-flex}.primary{background:var(--accent);color:var(--primary-text);transition:opacity .15s,transform .1s}.primary:hover{opacity:.88;transform:translateY(-1px)}.primary:active{transform:scale(.97)}.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border);transition:border-color .15s,transform .1s}.secondary:hover{border-color:var(--accent);transform:translateY(-1px)}.secondary:active{transform:scale(.97)}.primary:disabled,.secondary:disabled{opacity:.55;cursor:not-allowed;transform:none}.metric{border-bottom:1px solid var(--border);gap:3px;padding:14px 0;display:grid}.metric:last-child{border-bottom:0}.metric strong{font-size:28px}.metric span{color:var(--muted);font-size:13px}.study-shell{grid-template-columns:minmax(0,1fr) 420px;gap:18px;max-width:1180px;margin:0 auto;display:grid}.workspace-page{padding-top:30px}.workspace-hero{max-width:1380px}.workspace-hero h1{max-width:1100px}.workspace-shell{grid-template-columns:minmax(320px,430px) minmax(0,1fr);align-items:start;gap:18px;max-width:1380px;margin:0 auto;display:grid}.workspace-source-panel,.workspace-study-panel{gap:18px;min-width:0;display:grid}.workspace-study-panel .study-shell{max-width:none;margin:0}.embedded-study-shell{grid-template-columns:minmax(0,1fr)}.embedded-study-shell .section-map{order:2}.workflow-card h2,.compact-intake-card h2{margin-top:0}.workflow-steps{gap:10px;margin:14px 0;display:grid}.workflow-steps div{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px}.workflow-steps small{color:var(--muted);margin-top:4px;line-height:1.45;display:block}.compact-intake-card p{font-size:14px}.compact-intake-card .draft-form{grid-template-columns:1fr}.compact-intake-card .large-textarea{min-height:130px}.study-main h1{font-size:clamp(30px,4vw,54px)}.callout,.current-section,.message,.practice-card,.note-deck,.tutor-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;margin-top:18px;padding:18px}.concept-list{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.concept-list span{border:1px solid var(--border);color:#bfdbfe;background:#60a5fa1a;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.hint{font-size:13px}.message{color:var(--accent);font-weight:800}.source-strip{color:var(--muted);margin:8px 0 14px;font-size:12px}.note-card-list{gap:12px;display:grid}.note-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px}.note-card small{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;font-weight:900}.note-card h4{margin:8px 0}.note-card ul{margin-bottom:0}.note-complete{margin-top:14px}.question-grounding{border:1px solid var(--border);background:#60a5fa1a;border-radius:12px;margin:10px 0;padding:10px}.question-grounding small{color:var(--muted);display:block}.tutor-thread{gap:10px;margin:12px 0;display:grid}.tutor-thread>small{color:var(--muted)}.tutor-message{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px}.tutor-message.learner{border-color:#60a5fa73}.tutor-message.tutor{border-color:#6ee7b759}.tutor-message p{margin:6px 0 0}.tutor-message small{color:var(--muted)}.tutor-input-row{grid-template-columns:1fr auto auto;gap:10px;display:grid}.tutor-input-row input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:12px;padding:11px 12px}.voice-status{color:var(--muted);margin-top:8px;display:block}.choice-list{gap:10px;margin:14px 0;display:grid}.choice{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.choice input{margin-top:3px}.choice.selected{border-color:var(--accent-2);background:#60a5fa24}.feedback,.readiness,.weakness-review,.contract-card,.remediation-card{border:1px solid var(--border);border-radius:14px;margin-top:14px;padding:13px}.feedback.correct,.readiness.ready,.contract-card.eligible,.remediation-card.ready{background:#6ee7b71a;border-color:#6ee7b78c}.feedback.incorrect,.readiness.not-ready,.contract-card.blocked,.remediation-card.active{background:#fbbf241a;border-color:#fbbf248c}.weakness-review{background:#4f46e51f}.feedback p,.readiness p,.contract-card p{margin:6px 0 0}.weakness-review ul,.remediation-card ol{gap:8px;margin-bottom:0;display:grid}.weakness-review li span,.remediation-card li span{font-weight:800;display:block}.mistake-patterns{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mistake-patterns small{border:1px solid var(--border);border-radius:999px;padding:4px 8px}.readiness small,.feedback small,.weakness-review small,.contract-card small,.remediation-card small{color:var(--muted);margin-top:6px;display:block}.reflection-box{gap:9px;margin-top:12px;display:grid}.reflection-box label{font-weight:800}.reflection-box textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;min-height:82px;color:var(--text);resize:vertical;border-radius:12px;padding:10px}.section-map{align-self:start}.domain-progress{border-top:1px solid var(--border);padding:14px 0}.domain-progress:first-of-type{border-top:0}.domain-progress h3{justify-content:space-between;gap:12px;margin:0 0 8px;font-size:14px;display:flex}.domain-progress h3 span{color:var(--accent-2)}.section-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:3px;margin:6px 0;padding:9px;display:grid}.section-row.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px #6ee7b733}.section-row small{color:var(--muted)}.admin-grid{grid-template-columns:.8fr 1.2fr;gap:18px;max-width:1180px;margin:0 auto;display:grid}.admin-panel label{color:var(--muted);gap:6px;margin:12px 0;font-weight:800;display:grid}.admin-panel input,.admin-panel select,.admin-panel textarea{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:12px;padding:11px 12px}.admin-panel textarea{resize:vertical;min-height:92px}.source-list{gap:12px;margin-top:14px;display:grid}.source-row{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:1fr auto;align-items:start;gap:12px;padding:14px;display:grid}.source-row small{color:var(--muted);margin-top:4px;display:block}.source-row p{margin-bottom:0}.package-grounding-card{background:#14532d29;border:1px solid #6ee7b759;border-radius:18px;margin:18px 0;padding:16px}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0;display:grid}.package-grid ul{color:var(--muted);margin:8px 0 0;padding-left:18px}.source-citation-list{background:#0f172a59;border-radius:14px;gap:6px;margin:12px 0;padding:12px;display:grid}.chunk-edit-form{gap:10px;margin-top:10px;display:grid}.chunk-edit-form textarea{min-height:180px}.source-filter-form{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto auto;align-items:center;gap:10px;margin:14px 0;display:grid}@media (max-width:760px){.source-filter-form{grid-template-columns:1fr}}.check-list{gap:10px;margin-top:14px;display:grid}.check-row{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px}.check-row.ok{border-color:#6ee7b759}.check-row.fail{border-color:#fbbf248c}.check-row small{color:var(--muted);margin-top:4px;display:block}.readiness-checklist{max-width:1180px;margin:18px auto 0}.admin-wide{grid-column:1/-1}.draft-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.draft-form button{align-self:end;margin:12px 0}.large-textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.form-message{color:var(--accent);margin-top:10px;font-weight:700}.warning-message{color:#fbbf24}.quality-warning{background:#fbbf241a;border:1px solid #fbbf248c;border-radius:14px;margin-top:14px;padding:12px}.quality-warning strong{color:#fbbf24}.quality-warning ul{color:var(--muted);margin-bottom:0}.quality-ok{color:var(--accent);font-weight:800}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.principle-scaffold-card{background:#6ee7b70a;border:1px solid #6ee7b740;border-radius:14px;margin-top:14px;padding:16px}.architect-lens-card{background:#60a5fa14;border:1px solid #60a5fa2e;border-radius:10px;margin:10px 0;padding:12px}.architect-lens-card h4{color:var(--accent-2);margin:0 0 6px;font-size:14px}.architect-lens-card p{margin:0;font-size:14px}.principle-list{margin-top:10px}.principle-list strong{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.principle-list.secondary strong{color:var(--muted)}.principle-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.principle-item span{font-size:14px;font-weight:700}.principle-item small{color:var(--muted);text-align:right;max-width:55%;font-size:12px}@media (max-width:1050px){.workspace-shell{grid-template-columns:1fr}}@media (max-width:850px){.page-shell{padding:22px}.grid,.study-shell,.admin-grid,.draft-form,.package-grid{grid-template-columns:1fr}}.flow-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .3s;display:grid}.flow-shell.flow-focus-mode{grid-template-columns:0 1fr}.flow-shell.flow-focus-mode .flow-sidebar{opacity:0;pointer-events:none;width:0;padding:0;overflow:hidden}.flow-focus-exit{z-index:1000;border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--muted);cursor:pointer;opacity:.6;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:opacity .2s;display:flex;position:fixed;top:12px;left:12px}.flow-focus-exit:hover{opacity:1;background:var(--surface)}.flow-sidebar{background:var(--panel);border-right:1px solid var(--border);padding:24px 16px;transition:opacity .2s,padding .3s;overflow-y:auto}.flow-domain{margin-top:16px}.flow-domain-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:800;list-style:none;display:flex}.flow-domain-label::-webkit-details-marker{display:none}.flow-domain-label:before{content:"▶";font-size:8px;transition:transform .2s}details.flow-domain[open]>.flow-domain-label:before{transform:rotate(90deg)}.flow-domain-progress-badge{color:var(--accent);background:#6ee7b726;border-radius:99px;margin-left:auto;padding:1px 6px;font-size:10px}.flow-section-row{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:10px;margin:3px 0;padding:8px 10px}.flow-section-row span{font-size:13px;font-weight:600;display:block}.flow-section-row small{color:var(--muted);font-size:11px}.flow-section-row.navigable:not(:disabled){cursor:pointer}.flow-section-row.navigable:not(:disabled):hover{border-color:var(--border);background:#ffffff0a}.flow-section-row.locked:disabled{opacity:.55;cursor:not-allowed}.flow-section-row.active{background:#6ee7b71a;border:1px solid #6ee7b740}.flow-section-row.done span{color:var(--accent)}.flow-main{justify-content:center;align-items:center;padding:40px;display:flex}.flow-main-with-dock{flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:100vh;padding:0}.flow-main-scroll{flex:1;justify-content:center;align-items:center;min-height:0;padding:40px;display:flex;overflow-y:auto}.step-fade{animation:.2s ease-out step-in}@keyframes step-in{0%{opacity:0}to{opacity:1}}.flow-phase-rail{border-bottom:1px solid var(--border);background:var(--input-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 24px 14px}.flow-phase-section-title{color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.flow-phase-pilot-chip{color:var(--accent-2);letter-spacing:.04em;margin:0 0 12px;font-size:12px;font-weight:700}.flow-phase-pills{flex-wrap:wrap;gap:8px;display:flex}.flow-phase-pill{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:800}.flow-phase-pill.active{color:var(--accent);background:#6ee7b714;border-color:#6ee7b773}.flow-phase-pill.completed{color:var(--accent);opacity:.6}.flow-strategy-callout{background:#60a5fa0f;border:1px solid #60a5fa40;border-radius:16px;margin:0 0 20px;padding:16px 18px}.flow-strategy-label{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:12px;font-weight:800}.flow-strategy-body{color:var(--text);margin:0;font-size:14px;line-height:1.55}.flow-practice-strategy-hint{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.55}.flow-practice-strategy-hint strong{color:var(--accent-2)}.flow-actions-wrap{flex-wrap:wrap}.flow-actions-sub{margin-top:8px}.flow-linkish{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.flow-linkish:hover{color:var(--text)}.flow-tts-btn{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:10px;padding:6px 12px;font-size:12px;font-weight:700}.flow-tts-btn:hover{color:var(--text);border-color:#60a5fa66}.flow-assistant-dock{border-top:1px solid var(--border);background:var(--panel);flex-shrink:0}.flow-assistant-dock.open{box-shadow:0 -8px 32px #00000059}.flow-assistant-toggle{background:var(--input-bg);width:100%;color:var(--muted);cursor:pointer;text-align:left;letter-spacing:.04em;border:0;padding:12px 20px;font-size:13px;font-weight:800}.flow-assistant-toggle:hover{color:var(--text)}.flow-assistant-panel{border-top:1px solid var(--border);padding:0 20px 20px}.flow-assistant-lead{color:var(--muted);margin:14px 0 10px;font-size:13px;line-height:1.5}.flow-tutor-thread-compact{max-height:200px}.flow-screen{width:100%;max-width:640px;animation:.3s flowFadeIn}@keyframes flowFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.flow-step-label{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;font-size:11px;font-weight:800}.flow-screen h1{margin:0 0 12px;font-size:clamp(28px,4vw,48px);line-height:1.1}.flow-screen h2{margin:0 0 12px;font-size:clamp(20px,3vw,32px);line-height:1.2}.flow-subtitle{color:var(--muted);margin:0 0 20px;font-size:16px;line-height:1.6}.flow-hint{color:var(--muted);margin-top:16px;font-size:13px}.flow-source-line{color:var(--muted);margin-top:20px;font-size:11px}.evidence-ledger{background:linear-gradient(135deg, var(--overlay-bg), var(--surface));border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:16px}.evidence-ledger-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.evidence-ledger-title{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:13px;font-weight:700}.evidence-ledger-summary{color:var(--muted);font-size:13px;font-weight:600}.evidence-ledger-ready{color:var(--accent)}.evidence-ledger-grid{flex-direction:column;gap:8px;display:flex}.evidence-ku{background:#ffffff08;border:1px solid #0000;border-radius:8px;padding:10px 12px;transition:border-color .15s}.evidence-ku.proven{background:#6ee7b70d;border-color:#6ee7b733}.evidence-ku.repair{background:#f871710d;border-color:#f8717133}.evidence-ku.building{border-color:#f39c1226}.evidence-ku-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.evidence-ku-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.evidence-ku-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:8px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.evidence-ku-badge.proven{color:var(--accent);background:#6ee7b726}.evidence-ku-badge.building{color:#f39c12;background:#f39c1226}.evidence-ku-badge.repair{color:#f87171;background:#f8717126}.evidence-ku-badge.empty{color:var(--muted);background:#ffffff0f}.evidence-ku-bar-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.evidence-ku-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.evidence-ku.repair .evidence-ku-bar-fill{background:#f87171}.evidence-ku.building .evidence-ku-bar-fill{background:#f39c12}.evidence-ku-meta{color:var(--muted);gap:12px;margin-top:5px;font-size:11px;display:flex}.evidence-ku-need{color:var(--accent);font-weight:600}.flow-evidence-title{flex:1}.flow-evidence-stat{text-align:right;min-width:40px;font-weight:600}.flow-concept-chips{flex-wrap:wrap;gap:8px;margin:16px 0 24px;display:flex}.flow-chip{border:1px solid var(--border);color:#bfdbfe;background:#60a5fa14;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.flow-actions{gap:12px;margin-top:24px;display:flex}.flow-primary{cursor:pointer;background:var(--accent);color:#052014;border:0;border-radius:14px;padding:14px 28px;font-size:15px;font-weight:800;transition:opacity .15s,transform .1s,box-shadow .15s}.flow-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #6ee7b74d}.flow-primary:active{transform:scale(.97)}.flow-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.flow-secondary{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:14px;padding:14px 28px;font-size:15px;font-weight:800;transition:border-color .15s,transform .1s}.flow-secondary:hover{border-color:var(--accent);transform:translateY(-1px)}.flow-secondary:active{transform:scale(.97)}.flow-progress-bar{background:var(--panel-2);border-radius:2px;height:4px;margin-bottom:28px;overflow:hidden}.flow-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.flow-note-card{border:1px solid var(--border);background:linear-gradient(#ffffff0a,#ffffff03);border-radius:18px;margin:8px 0;padding:28px;animation:.25s ease-out card-enter}@keyframes card-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.question-enter{animation:.2s ease-out question-slide}@keyframes question-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.flow-note-card-weak{background:linear-gradient(#fbbf2408,#ffffff03);border-color:#fbbf244d}.flow-mastery-summary{background:#6ee7b70f;border:1px solid #6ee7b72e;border-radius:8px;margin-top:20px;padding:16px}.flow-mastery-summary p{color:var(--accent);margin:0 0 8px;font-weight:700}.flow-learner-badge{background:var(--panel-2);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.flow-learner-badge span{color:var(--accent);font-weight:600}.flow-switch-learner{color:var(--muted);cursor:pointer;opacity:.7;background:0 0;border:none;font-size:11px;text-decoration:underline}.flow-switch-learner:hover{opacity:1}.flow-ordering{flex-direction:column;gap:8px;margin:16px 0;display:flex}.flow-ordering-item{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.flow-ordering-num{color:var(--accent-2);min-width:20px;font-weight:800}.flow-ordering-text{flex:1}.flow-ordering-controls{gap:4px;display:flex}.flow-ordering-controls button{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:14px}.flow-ordering-controls button:disabled{opacity:.3;cursor:default}.flow-ordering-controls button:hover:not(:disabled){background:#60a5fa26}.flow-matching{flex-direction:column;gap:12px;margin:16px 0;display:flex}.flow-matching-row{align-items:center;gap:12px;display:flex}.flow-matching-left{color:var(--accent-2);flex:1;font-weight:600}.flow-matching-select{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.flow-quick-hint{color:var(--accent-2);background:#60a5fa0f;border:1px solid #60a5fa2e;border-radius:8px;margin:12px 0;padding:12px 16px;font-size:14px}.flow-gate-score{color:var(--accent);margin-top:8px;font-size:18px;font-weight:800}.dim-breakdown{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;width:100%;max-width:400px;margin-top:16px;padding:14px 16px;display:flex}.dim-row{align-items:center;gap:10px;display:flex}.dim-label{color:var(--muted);flex-shrink:0;min-width:100px;font-size:12px;font-weight:600}.dim-bar-track{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.dim-bar-fill{border-radius:3px;height:100%;transition:width .4s}.dim-value{text-align:right;flex-shrink:0;min-width:32px;font-size:12px;font-weight:700}.gate-decision-icon{text-align:center;margin-bottom:8px}.gate-reason{color:var(--muted);background:#ffffff0a;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:13px;line-height:1.5}.gate-attempts-left{color:#f39c12;margin-top:8px;font-size:13px;font-weight:600}.flow-practice-stats{opacity:.7;font-weight:400}.flow-choice-key{border:1px solid var(--border);width:20px;height:20px;color:var(--muted);background:#ffffff0f;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:10px;font-size:11px;font-weight:700;display:inline-flex}.flow-session-timer{color:var(--muted);opacity:.7;margin-bottom:8px;font-size:11px}.flow-sidebar-session-stats{flex-wrap:wrap;gap:6px;margin-bottom:10px;font-size:11px;display:flex}.flow-sidebar-session-stats span{background:var(--surface);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:10px;padding:2px 8px}.flow-domain-complete{color:var(--accent);background:#6ee7b714;border:1px solid #6ee7b733;border-radius:8px;margin-top:12px;padding:12px 20px;font-size:16px;font-weight:800}.flow-progress-overview{background:var(--panel);border:1px solid var(--border);border-radius:10px;max-width:500px;margin-top:32px;padding:20px}.flow-progress-stats{color:var(--muted);gap:16px;margin-bottom:16px;font-size:13px;display:flex}.flow-progress-stats span:first-child{color:var(--accent);font-weight:700}.flow-domain-progress{border-bottom:1px solid var(--border);justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.flow-domain-progress:last-child{border-bottom:none}.flow-domain-progress-title{color:var(--muted)}.flow-domain-progress-count{color:var(--text);font-weight:700}.flow-review-badge{color:#fbbf24e6;cursor:pointer;background:#fbbf2414;border:1px solid #fbbf2433;border-radius:6px;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px;font-size:12px;display:flex}.flow-review-count{font-size:14px;font-weight:800}.session-recs{gap:8px;max-width:520px;margin:20px 0;display:grid}.session-rec-card{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.session-rec-card:hover{border-color:var(--accent);background:#6ee7b70a}.session-rec-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.session-rec-icon-continue{color:#60a5fa;background:#60a5fa1f}.session-rec-icon-gate_ready{color:#6ee7b7;background:#6ee7b71f}.session-rec-icon-review_due{color:#fbbf24;background:#fbbf241f}.session-rec-icon-weakness,.session-rec-icon-remediation{color:#f87171;background:#f871711f}.session-rec-icon-stuck{color:#fbbf24;background:#fbbf241f}.session-rec-icon-new_section{color:#94a3b8;background:#94a3b81a}.session-rec-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-rec-title{color:var(--text);font-size:13px;font-weight:600}.session-rec-desc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.session-rec-action{color:var(--accent);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.flow-review-panel{background:#fbbf240a;border:1px solid #fbbf2426;border-radius:10px;max-width:500px;margin-top:24px;padding:16px 20px}.flow-review-headline{margin-bottom:10px;font-size:14px}.flow-review-urgent{color:#ef4444e6;font-weight:700}.flow-review-section-btn{text-align:left;width:100%;color:var(--text);cursor:pointer;background:#fbbf240f;border:1px solid #fbbf241f;border-radius:6px;margin-bottom:6px;padding:8px 12px;font-size:13px;display:block}.flow-review-section-btn:hover{background:#fbbf241f}.flow-loading{min-height:40vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.flow-loading-bar{background:#ffffff0f;border-radius:2px;width:120px;height:3px;position:relative;overflow:hidden}.flow-loading-bar:after{content:"";background:var(--accent);border-radius:2px;width:40%;height:100%;animation:1s ease-in-out infinite loadSlide;position:absolute;top:0;left:0}@keyframes loadSlide{0%{left:-40%}to{left:100%}}.flow-shortcuts-help{color:var(--muted);margin-top:12px;font-size:11px}.flow-shortcuts-help summary{cursor:pointer}.flow-shortcuts-list{flex-direction:column;gap:3px;margin-top:6px;display:flex}.flow-shortcuts-list kbd{background:#ffffff14;border:1px solid #ffffff26;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:10px;display:inline-block}.flow-question-badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.flow-question-type-badge{text-transform:uppercase;letter-spacing:.05em;color:#93c5fde6;background:#93c5fd14;border:1px solid #93c5fd33;border-radius:4px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.flow-difficulty-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.flow-difficulty-badge.weak{color:#6ee7b7e6;background:#6ee7b714;border:1px solid #6ee7b740}.flow-difficulty-badge.moderate{color:#fbbf24e6;background:#fbbf2414;border:1px solid #fbbf2440}.flow-difficulty-badge.strong{color:#f87171e6;background:#f8717114;border:1px solid #f8717140}.flow-milestone-toast{color:var(--accent);z-index:1000;background:#6ee7b726;border:1px solid #6ee7b766;border-radius:20px;padding:10px 24px;font-size:14px;font-weight:700;animation:.3s ease-out milestoneIn;position:fixed;top:20px;left:50%;transform:translate(-50%)}@keyframes milestoneIn{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.flow-daily-goal{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;max-width:400px;margin-top:16px;padding:12px 16px;display:flex}.flow-daily-goal-label{color:var(--text);white-space:nowrap;font-size:13px}.flow-daily-goal-bar{background:#ffffff0f;border-radius:3px;flex:1;height:6px;overflow:hidden}.flow-daily-goal-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.flow-daily-goal-count{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.flow-confidence-rating{text-align:center;margin-top:12px}.flow-confidence-label{color:var(--muted);font-size:12px}.flow-confidence-options{justify-content:center;gap:8px;margin-top:6px;display:flex}.flow-confidence-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:16px;padding:4px 14px;font-size:12px;transition:all .15s}.flow-confidence-btn:hover{background:#6ee7b714;border-color:#6ee7b74d}.flow-confidence-btn.guessed:hover{background:#f8717114;border-color:#f871714d}.flow-confidence-btn.unsure:hover{background:#fbbf2414;border-color:#fbbf244d}.flow-confidence-ack{text-align:center;border-radius:16px;margin-top:12px;padding:6px 14px;font-size:12px}.flow-confidence-ack.guessed{color:#f87171;background:#f871710f}.flow-confidence-ack.unsure{color:#fbbf24;background:#fbbf240f}.flow-confidence-ack.confident{color:var(--accent);background:#6ee7b70f}.flow-feedback-trigger{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px dashed #ffffff1f;border-radius:6px;margin-top:12px;padding:6px 10px;font-size:11px;display:block}.flow-feedback-trigger:hover{color:var(--text);border-color:#ffffff40}.flow-feedback-widget{margin-top:12px}.flow-feedback-input{background:var(--panel-2);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:8px;font-family:inherit;font-size:12px}.flow-feedback-submit{color:var(--accent);cursor:pointer;background:#6ee7b71a;border:1px solid #6ee7b740;border-radius:4px;padding:4px 12px;font-size:11px}.flow-feedback-cancel{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:11px}.flow-feedback-thanks{color:var(--accent);font-size:11px}.flow-session-summary{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-top:20px;padding:16px 20px}.flow-session-summary-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-top:10px;display:grid}.flow-session-stat{text-align:center;background:var(--panel-2);border-radius:8px;padding:10px 8px}.flow-session-stat-value{color:var(--accent);font-size:20px;font-weight:800;display:block}.flow-session-stat-label{color:var(--muted);margin-top:2px;font-size:11px;display:block}.flow-card-type{color:var(--accent-2);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:900}.flow-note-card h2{margin-top:8px}.flow-note-card ul{margin-top:12px;padding-left:18px}.flow-note-card li{color:var(--muted);margin:6px 0;line-height:1.5}.flow-note-rail-wrap{margin:8px 0 20px}.flow-notes-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;line-height:1.55;display:flex}.flow-notes-legend-block{margin-bottom:10px;display:block}.flow-legend-swatch{vertical-align:middle;border-radius:4px;flex-shrink:0;width:11px;height:11px;margin-right:6px;display:inline-block}.flow-legend-sw-assessed{background:#6ee7b759;border:1px solid #6ee7b7a6}.flow-legend-sw-pending{background:#fbbf242e;border:1px solid #fbbf248c}.flow-legend-sw-info{background:#94a3b833;border:1px solid #94a3b866}.flow-note-rail{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.flow-note-rail-spaced{margin-bottom:16px}.flow-note-rail-pill{border:1px solid var(--border);background:var(--surface);min-width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:10px;padding:0 8px;font-size:12px;font-weight:800;transition:border-color .15s,transform .12s,box-shadow .15s}.flow-note-rail-pill:hover{border-color:#60a5fa73}.flow-note-rail-pill.active{border-color:#60a5fa80;box-shadow:0 0 0 2px #60a5fa59}.flow-note-rail-pill.assessed{color:#bbf7d0;background:#6ee7b71a;border-color:#6ee7b773}.flow-note-rail-pill.pending{color:#fde68a;background:#fbbf2414;border-color:#fbbf2466}.flow-note-rail-pill.info{color:var(--muted);border-color:#94a3b859}.flow-note-card-assessed{background:linear-gradient(#6ee7b712,#ffffff03);border-color:#6ee7b76b;box-shadow:0 0 0 1px #6ee7b71f}.flow-note-card-pending{background:linear-gradient(#fbbf240f,#ffffff03);border-color:#fbbf2459}.flow-note-card-info{border-color:#94a3b847}.flow-choices{gap:10px;margin:20px 0;display:grid}.flow-choice{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:14px;padding:16px;font-size:15px;line-height:1.5;transition:border-color .15s,background .15s,transform .1s,box-shadow .15s}.flow-choice:hover{border-color:#60a5fa66;transform:translateY(-1px)}.flow-choice:active{transform:scale(.98)}.flow-choice.selected{border-color:var(--accent);background:#6ee7b714;box-shadow:0 0 0 2px #6ee7b726}.flow-ku-label{color:var(--accent-2);margin-bottom:8px;font-size:13px;font-weight:700}.flow-adaptive-hint{color:#ffffff80;margin-bottom:6px;font-size:12px;font-style:italic}.flow-evidence-awarded{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.flow-evidence-strength-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:10px;padding:3px 10px;font-size:11px;font-weight:700}.flow-evidence-strength-pill.strong{color:var(--accent);background:#6ee7b733}.flow-evidence-strength-pill.medium_strong{color:#6ee7b7cc;background:#6ee7b71f}.flow-evidence-strength-pill.medium{color:#f39c12;background:#f39c1226}.flow-evidence-strength-pill.weak{color:var(--muted);background:#ffffff14}.flow-evidence-strength-pill.none{color:#f87171;background:#f871711a}.flow-evidence-mastered-pill{color:var(--accent);background:#6ee7b733;border-radius:10px;padding:3px 10px;font-size:11px;font-weight:700}.flow-evidence-ku-label{color:var(--muted);font-size:12px}.flow-stuck-hint{color:#fbbf24e6;background:#fbbf240f;border:1px solid #fbbf2433;border-radius:10px;margin:12px 0;padding:10px 14px;font-size:13px}.misconception-card{background:linear-gradient(135deg,#f871710f,#fbbf240a);border:1px solid #f8717133;border-radius:12px;margin-top:16px;padding:16px}.misconception-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.misconception-severity{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.misconception-severity.critical{color:#f87171;background:#f8717126}.misconception-severity.moderate{color:#fbbf24;background:#fbbf2426}.misconception-severity.minor{color:var(--muted);background:#ffffff14}.misconception-code{color:var(--muted);font-family:monospace;font-size:11px}.misconception-title{color:var(--text);margin:0 0 6px;font-size:15px;font-weight:700}.misconception-desc{color:var(--muted);margin:0 0 10px;font-size:13px;line-height:1.5}.misconception-correction{background:#6ee7b70f;border:1px solid #6ee7b726;border-radius:8px;padding:10px 12px}.misconception-correction-label{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.misconception-correction p{color:var(--text);margin:0;font-size:13px;line-height:1.5}.dim-attribution{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.dim-attr-tag{letter-spacing:.03em;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.dim-attr-tag.rec{color:#60a5fa;background:#60a5fa1f}.dim-attr-tag.con{color:#a78bfa;background:#a78bfa1f}.dim-attr-tag.rel{color:#fbbf24;background:#fbbf241f}.dim-attr-tag.app{color:var(--accent);background:#6ee7b71f}.dim-attr-tag.own{color:#a78bfa;background:#a78bfa14;border:1px dashed #a78bfa4d}.dim-attr-tag.scn{color:var(--accent);background:#6ee7b714;border:1px dashed #6ee7b74d}.gate-diagnostic{background:var(--panel-2);border:1px solid var(--border);border-radius:14px;margin:16px 0;padding:16px 20px}.gate-diagnostic-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.gate-diagnostic-title{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.gate-diagnostic-estimate{border-radius:6px;padding:3px 10px;font-size:12px;font-weight:700}.gate-diagnostic-estimate.ready{color:var(--accent);background:#6ee7b726}.gate-diagnostic-estimate.close{color:#fbbf24;background:#fbbf241f}.gate-diagnostic-estimate.far{color:#f87171;background:#f871711f}.gate-diagnostic-checks{gap:6px;margin-bottom:14px;display:grid}.gate-diag-row{border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.gate-diag-row.met{background:#6ee7b70a}.gate-diag-row.unmet{background:#f871710a}.gate-diag-icon{text-align:center;width:18px;font-size:14px}.gate-diag-row.met .gate-diag-icon{color:var(--accent)}.gate-diag-row.unmet .gate-diag-icon{color:#f87171}.gate-diag-label{color:var(--text);flex:1}.gate-diag-value{color:var(--text);font-weight:600}.gate-diag-need{color:var(--muted);margin-left:4px;font-size:11px}.gate-diagnostic-hint{color:var(--accent-2);background:#60a5fa0f;border:1px solid #60a5fa26;border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:13px}.gate-recovery-panel{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:16px}.gate-recovery-section{margin-bottom:12px}.gate-recovery-section:last-child{margin-bottom:0}.gate-recovery-heading{color:#f87171;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:700}.gate-recovery-heading.passing{color:var(--accent)}.gate-recovery-row{border-radius:8px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;font-size:13px;display:flex}.gate-recovery-row.unmet{background:#f871710a}.gate-recovery-row.met{background:#6ee7b70a}.gate-recovery-info{flex-direction:column;flex:1;gap:2px;display:flex}.gate-recovery-label{color:var(--text);font-weight:600}.gate-recovery-progress{color:var(--muted);font-size:11px}.gate-recovery-action{color:#f87171;cursor:pointer;white-space:nowrap;background:#f8717114;border:1px solid #f8717140;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:600;transition:background .15s}.gate-recovery-action:hover{background:#f8717126}.gate-recovery-row.met .gate-recovery-label{color:var(--accent)}.gate-unlock-overlay{z-index:200;background:var(--overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.gate-unlock-card{background:var(--panel);border:2px solid var(--accent);text-align:center;border-radius:16px;max-width:400px;padding:32px 40px;animation:.3s scaleIn;box-shadow:0 20px 60px #0000004d}.gate-unlock-icon{margin-bottom:8px;font-size:48px}.gate-unlock-title{color:var(--accent);margin:0 0 8px;font-size:24px;font-weight:800}.gate-unlock-text{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.6}.gate-unlock-actions{justify-content:center;gap:10px;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gate-readiness-banner{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;margin-top:14px;padding:10px 14px}.gate-readiness-banner.ready{background:#6ee7b70a;border-color:#6ee7b766}.gate-readiness-bar-track{background:var(--surface);border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.gate-readiness-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.gate-readiness-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gate-readiness-text{color:var(--muted);font-size:12px;font-weight:600}.gate-readiness-text.ready{color:var(--accent)}.gate-readiness-remaining{color:var(--muted);font-size:11px;font-style:italic}.gate-readiness-cta{color:var(--accent);cursor:pointer;background:#6ee7b71f;border:1px solid #6ee7b759;border-radius:6px;margin-left:auto;padding:4px 12px;font-size:12px;font-weight:700;transition:background .15s}.gate-readiness-cta:hover{background:#6ee7b733}.gate-mistakes-panel{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:14px 16px}.gate-mistakes-toggle{color:var(--accent-2);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:13px;font-weight:600}.gate-mistakes-toggle:hover{text-decoration:underline}.gate-mistake-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:12px}.gate-mistake-item:last-child{margin-bottom:0}.gate-mistake-prompt{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.5}.gate-mistake-answers{flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.gate-mistake-yours{color:#f87171;background:#f871710f;border-radius:4px;padding:3px 10px;text-decoration:line-through}.gate-mistake-correct{color:var(--accent);background:#6ee7b70f;border-radius:4px;padding:3px 10px;font-weight:600}.gate-mistake-review-btn{color:var(--accent-2);cursor:pointer;background:#60a5fa14;border:1px solid #60a5fa40;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s}.gate-mistake-review-btn:hover{background:#60a5fa26}.gate-history{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:14px 16px}.gate-history-compact{margin:12px 0}.gate-history-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:12px;font-weight:700}.gate-history-list{gap:6px;display:grid}.gate-history-row{background:var(--surface);border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.gate-history-row.current{border-color:var(--accent);background:#6ee7b70f}.gate-history-num{color:var(--muted);min-width:24px;font-weight:700}.gate-history-score{color:var(--text);min-width:36px;font-weight:600}.gate-history-delta{font-size:12px;font-weight:600}.gate-history-delta.up{color:#6ee7b7}.gate-history-delta.down{color:#f87171}.gate-history-badge{letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.gate-history-badge.pass{color:#6ee7b7;background:#6ee7b726}.gate-history-badge.fail{color:#f87171;background:#f871711a}.gate-history-date{color:var(--muted);margin-left:auto;font-size:11px}.gate-history-current-tag{color:var(--accent);background:#6ee7b71a;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.gate-history-trend{border-radius:6px;margin:8px 0 0;padding:6px 10px;font-size:12px;font-weight:500}.gate-history-trend.up{color:#6ee7b7;background:#6ee7b714}.gate-history-trend.down{color:#f87171;background:#f871710f}.dim-compass{background:var(--panel-2);border:1px solid var(--border);border-radius:14px;margin:16px 0;padding:16px}.dim-practice-hint{color:var(--accent-2);background:#60a5fa0f;border:1px solid #60a5fa26;border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:13px}.dim-missing-flag{color:#fbbf24cc;margin:6px 0 0;font-size:12px}.dim-compass-compact{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:8px;margin:6px 0 12px;padding:8px 12px;display:flex}.dim-compact-item{flex:1;align-items:center;gap:4px;min-width:80px;display:flex}.dim-compact-label{color:var(--muted);letter-spacing:.05em;flex-shrink:0;width:24px;font-size:10px;font-weight:700}.dim-compact-bar{background:var(--surface);border-radius:2px;flex:1;height:4px;overflow:hidden}.dim-compact-fill{border-radius:2px;height:100%;transition:width .4s}.dim-compact-pct{color:var(--muted);text-align:right;width:20px;font-size:10px}.deep-drill-context{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.deep-drill-severity{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700}.deep-drill-severity.critical{color:#f87171;background:#f8717126}.deep-drill-severity.high{color:#fb923c;background:#fb923c26}.deep-drill-severity.moderate{color:#fbbf24;background:#fbbf2426}.deep-drill-severity.low{color:var(--muted);background:#ffffff14}.deep-drill-type{color:var(--text);font-size:14px;font-weight:600}.deep-drill-diagnosis{color:var(--muted);width:100%;margin-top:4px;font-size:13px;line-height:1.5}.deep-drill-card{background:var(--panel-2);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;padding:24px}.deep-drill-drill-type{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-2);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.deep-drill-prompt{color:var(--text);margin:0 0 12px;font-size:17px;line-height:1.5}.deep-drill-hint{color:var(--muted);font-size:13px;font-style:italic}.deep-drill-input-area{gap:12px;display:grid}.deep-drill-feedback{background:#6ee7b70f;border:1px solid #6ee7b726;border-radius:12px;padding:16px}.deep-drill-feedback-msg{color:var(--text);margin-bottom:12px;font-size:14px;line-height:1.5}.deep-drill-complete{text-align:center;padding:32px 0}.deep-drill-complete h2{color:var(--accent);margin-bottom:8px}.flow-weakness-section{margin:20px 0}.flow-weakness-section h3{color:var(--accent-2);margin-bottom:10px;font-size:14px}.flow-weakness-rec{color:var(--muted);margin:2px 0 0;font-size:12px}.flow-mistake-pattern{background:#fbbf240a;border:1px solid #fbbf241a;border-radius:8px;margin-bottom:6px;padding:8px 12px;font-size:13px}.flow-result-banner{border-radius:18px;margin:8px 0 20px;padding:28px;animation:.25s ease-out result-appear}@keyframes result-appear{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.flow-result-banner.correct{background:#6ee7b714;border:1px solid #6ee7b74d}.flow-result-banner.incorrect{background:#fbbf2414;border:1px solid #fbbf244d}.flow-result-banner h2{margin-bottom:8px}.flow-textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);resize:vertical;border-radius:14px;margin-top:16px;padding:16px;font-size:15px;line-height:1.5}.flow-tutor-thread{gap:10px;max-height:360px;margin:16px 0;display:grid;overflow-y:auto}.flow-tutor-msg{border:1px solid var(--border);border-radius:14px;padding:12px 16px}.flow-tutor-msg.learner{border-color:#60a5fa59}.flow-tutor-msg.tutor{border-color:#6ee7b740}.flow-tutor-msg small{color:var(--muted);font-size:11px;font-weight:700}.flow-tutor-msg p{margin:4px 0 0;line-height:1.5}.flow-tutor-input{grid-template-columns:1fr auto;gap:10px;margin-top:12px;display:grid}.flow-tutor-input input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:14px;padding:14px 16px;font-size:15px}.flow-gate-checklist{gap:10px;margin:24px 0;display:grid}.flow-check-item{border:1px solid var(--border);border-radius:14px;padding:14px 18px;font-size:15px;font-weight:600}.flow-check-item.done{color:var(--accent);border-color:#6ee7b759}.flow-gate-result{text-align:center;margin:20px 0}.flow-gate-result.passed h1{color:var(--accent)}.flow-gate-result.failed h1{color:#fbbf24}.flow-mastery-burst{border:2px solid var(--accent);background:linear-gradient(135deg,#2ecc7114,#3498db14);border-radius:16px;padding:32px 24px 24px;animation:.6s flowBurstIn;position:relative;overflow:hidden}.flow-mastery-burst:before{content:"";pointer-events:none;background:radial-gradient(circle,#2ecc7126 0%,#0000 60%);width:200%;height:200%;animation:2s ease-out forwards flowPulse;position:absolute;top:-50%;left:-50%}.flow-mastery-burst .flow-mastery-icon{margin-bottom:8px;font-size:56px;animation:.8s flowBounce}.flow-mastery-burst h1{margin:0 0 8px;font-size:clamp(24px,4vw,36px)}.flow-mastery-burst .flow-mastery-sub{color:var(--muted);margin:0;font-size:15px}@keyframes flowBurstIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes flowPulse{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.2)}}@keyframes flowBounce{0%{transform:scale(0)rotate(-10deg)}50%{transform:scale(1.3)rotate(5deg)}70%{transform:scale(.9)rotate(-2deg)}to{transform:scale(1)rotate(0)}}.flow-toast{background:var(--panel-2);border:1px solid var(--accent);z-index:100;cursor:pointer;border-radius:14px;max-width:400px;padding:14px 20px;font-size:14px;font-weight:700;animation:.3s flowFadeIn;position:fixed;top:20px;right:20px}.flow-page{max-width:none;padding:0}.flow-sidebar-links{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:24px;padding-top:16px;display:flex}.flow-sidebar-links a{color:var(--muted);border-radius:8px;padding:6px 10px;font-size:13px;text-decoration:none;transition:background .15s}.flow-sidebar-links a:hover{background:var(--panel-2);color:var(--fg)}.flow-mobile-menu-btn{display:none}@media (max-width:700px){.flow-shell{grid-template-columns:1fr}.flow-sidebar{z-index:100;width:280px;display:none;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 24px #00000080}.flow-sidebar.flow-sidebar-open{display:block}.flow-mobile-menu-btn{z-index:101;background:var(--panel-2);border:1px solid var(--border);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed;top:12px;left:12px}.flow-main{padding:56px 24px 24px}.flow-main-with-dock .flow-main-scroll{padding:20px 16px 28px}.flow-phase-rail{padding:10px 14px 12px}.flow-screen{padding:0 8px}.flow-choices li button{padding:12px;font-size:15px}}.flow-drill-history{margin:16px 0}.flow-drill-history summary{cursor:pointer;color:var(--accent-2);font-size:13px;font-weight:700}.flow-drill-history-list{gap:8px;max-height:300px;margin-top:10px;display:grid;overflow-y:auto}.flow-drill-history-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 12px}.flow-drill-history-item.correct{border-left:3px solid var(--accent)}.flow-drill-history-item.incorrect{border-left:3px solid #f87171}.flow-drill-history-header{align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.flow-correct-icon{color:var(--accent);font-weight:900}.flow-incorrect-icon{color:#f87171;font-weight:900}.flow-drill-history-ku{flex:1;font-weight:700}.flow-drill-history-prompt{margin:4px 0 0;font-size:13px;line-height:1.4}.flow-drill-history-explanation{color:var(--muted);background:#ffffff08;border-radius:6px;margin:6px 0 0;padding:8px;font-size:12px}.flow-domain-celebration{text-align:center;background:linear-gradient(135deg,#6ee7b714,#60a5fa14);border:1px solid #6ee7b740;border-radius:16px;margin:16px 0;padding:24px;animation:.5s flowFadeIn}.flow-domain-celebration-icon{margin-bottom:8px;font-size:48px}.flow-concepts-checklist{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:14px}.flow-concept-item{color:var(--muted);align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.flow-concept-item.mastered{color:var(--accent)}.flow-concept-item small{opacity:.7;font-size:12px}.flow-concept-item.clickable{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;transition:background .15s}.flow-concept-item.clickable:hover{background:#ffffff0a}.flow-concept-item.expanded{background:#ffffff0f}.ku-item-title{flex:1}.ku-expand-icon{color:var(--muted);margin-left:4px;font-size:10px}.ku-status-badge{letter-spacing:.03em;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600}.ku-status-badge.in_progress{color:#60a5fa;background:#60a5fa1f}.ku-status-badge.needs_repair{color:#fbbf24;background:#fbbf241f}.ku-status-badge.blocked{color:#f87171;background:#f871711f}.ku-status-badge.ready{color:#6ee7b7;background:#6ee7b71f}.ku-detail-wrapper{border-bottom:1px solid #ffffff0a}.ku-detail-wrapper:last-child{border-bottom:none}.ku-detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:0 0 10px 10px;margin:0 0 4px;padding:12px 14px 16px}.ku-detail-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ku-detail-type{text-transform:uppercase;color:var(--accent-2);letter-spacing:.04em;background:#60a5fa1a;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.ku-detail-level{color:var(--muted);font-size:11px}.ku-detail-relevance{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.ku-detail-relevance.high{color:#f87171;background:#f871711a}.ku-detail-relevance.medium{color:#fbbf24;background:#fbbf241a}.ku-detail-relevance.low{color:#94a3b8;background:#94a3b81a}.ku-detail-evidence{background:var(--surface);border-radius:8px;gap:16px;margin-bottom:10px;padding:8px 12px;display:flex}.ku-detail-stat{flex-direction:column;gap:2px;display:flex}.ku-detail-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.ku-detail-stat-value{color:var(--text);font-size:14px;font-weight:600}.ku-detail-types{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.ku-detail-types-label{color:var(--muted);font-size:11px;font-weight:600}.ku-detail-type-tag{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.ku-detail-type-tag.covered{color:#6ee7b7;background:#6ee7b71a}.ku-detail-type-tag.needed{color:#fbbf24;background:#fbbf2414;border:1px dashed #fbbf244d}.ku-detail-weaknesses{gap:6px;margin:8px 0;display:grid}.ku-detail-weakness{background:#f871710f;border:1px solid #f8717126;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.ku-weakness-type{color:var(--text);font-weight:600}.ku-weakness-severity{text-transform:uppercase;font-size:10px;font-weight:700}.ku-weakness-severity.high,.ku-weakness-severity.critical{color:#f87171}.ku-weakness-severity.moderate{color:#fbbf24}.ku-weakness-severity.low{color:#94a3b8}.ku-weakness-diag{width:100%;color:var(--muted);margin:2px 0 0;font-size:11px}.ku-detail-drills{margin:8px 0}.ku-detail-drills-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:11px;font-weight:600}.ku-detail-drill-row{border-bottom:1px solid #ffffff08;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.ku-detail-drill-row:last-child{border-bottom:none}.ku-drill-type{color:var(--accent-2);min-width:72px;font-size:10px;font-weight:600}.ku-drill-prompt{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ku-drill-attempts{color:var(--text);font-size:11px;font-weight:600}.ku-detail-practice-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:10px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:opacity .15s}.ku-detail-practice-btn:hover{opacity:.85}.progress-stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;max-width:1180px;margin:0 auto 24px;display:grid}.progress-stat-card{border:1px solid var(--border);text-align:center;background:linear-gradient(#ffffff0a,#ffffff04);border-radius:16px;padding:20px}.progress-stat-card strong{color:var(--accent);font-size:2rem;display:block}.progress-stat-card span{color:var(--muted);font-size:13px}.progress-goal-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;max-width:1180px;margin:0 auto 24px;padding:18px}.progress-goal-bar{background:#ffffff14;border-radius:99px;height:8px;margin-bottom:6px;overflow:hidden}.progress-goal-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .3s}.progress-domains{gap:18px;max-width:1180px;margin:0 auto;display:grid}.progress-domain-card{padding:20px}.progress-domain-header{align-items:center;gap:14px;margin-bottom:12px;display:flex}.progress-domain-pct{color:var(--accent);margin-left:auto;font-size:1.5rem;font-weight:900}.progress-domain-bar{background:#ffffff14;border-radius:99px;height:6px;margin-bottom:14px;overflow:hidden}.progress-domain-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:99px;height:100%;transition:width .3s}.progress-section-list{gap:4px;display:grid}.progress-section-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;transition:background .15s;display:flex}.progress-section-row:hover{background:#ffffff0f}.progress-section-row.mastered{background:#6ee7b714}.progress-section-row.active{background:#60a5fa14}.progress-section-icon{text-align:center;width:20px;color:var(--muted)}.progress-section-row.mastered .progress-section-icon{color:var(--accent)}.progress-section-row.active .progress-section-icon{color:var(--accent-2)}.progress-section-title{flex:1}.progress-section-detail{color:var(--muted);font-size:12px}.learn-landing-page{justify-content:center;align-items:flex-start;padding-top:32px;padding-bottom:48px;display:flex}.learn-landing-inner{width:100%;max-width:720px;animation:.35s flowFadeIn}.learn-landing-title{letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(30px,5vw,48px);line-height:1.08}.learn-landing-lead{margin-bottom:28px}.learn-source-section{margin-bottom:36px}.learn-source-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2);margin:0 0 6px;font-size:15px;font-weight:800}.learn-source-sub{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.5}.learn-source-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.learn-source-card{text-align:left;background:var(--surface);color:var(--text);cursor:not-allowed;opacity:.72;border:1px dashed #94a3b859;border-radius:14px;flex-direction:column;align-items:flex-start;padding:16px 14px 36px;transition:border-color .15s,opacity .15s;display:flex;position:relative}.learn-source-card-active{cursor:pointer;opacity:1;border-style:solid;border-color:var(--accent);text-decoration:none}.learn-source-card-active:hover{border-color:var(--accent);background:var(--surface);transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.learn-source-card:disabled{pointer-events:none}.learn-source-card-label{margin-bottom:6px;font-size:14px;font-weight:800;line-height:1.3}.learn-source-card-hint{color:var(--muted);font-size:12px;line-height:1.45}.learn-source-card-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;position:absolute;bottom:10px;right:12px}.learn-pilot-section{background:linear-gradient(145deg,#6ee7b717,#0f1b2d80);border:1px solid #6ee7b747;border-radius:18px;margin-bottom:32px;padding:22px 20px}.learn-pilot-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.learn-pilot-test-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.learn-pilot-module-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:8px;display:grid}.learn-pilot-module-card{text-align:left;color:inherit;background:var(--surface);border:1px solid #6ee7b759;border-radius:16px;flex-direction:column;align-items:flex-start;padding:18px 18px 20px;text-decoration:none;transition:border-color .15s,background .15s,transform .12s;display:flex}.learn-pilot-module-card:hover{background:var(--surface);border-color:#6ee7b78c;transform:translateY(-1px)}.learn-pilot-module-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);margin-bottom:6px;font-size:11px;font-weight:900}.learn-pilot-module-title{margin-bottom:8px;font-size:18px;font-weight:800;line-height:1.25}.learn-pilot-module-desc{color:var(--muted);flex:1;margin-bottom:14px;font-size:13px;line-height:1.5}.learn-pilot-module-cta{color:var(--accent);font-size:13px;font-weight:800}.learn-resume-section{border:1px solid var(--border);background:var(--surface);border-radius:16px;margin-bottom:28px;padding:18px 20px}.learn-resume-line{color:var(--muted);margin:0 0 8px;font-size:15px;line-height:1.55}.learn-resume-stats{color:var(--muted);margin:0 0 12px;font-size:13px}.today-plan-card{background:linear-gradient(135deg, var(--overlay-bg), var(--surface));border:1px solid var(--border);border-radius:14px;margin-bottom:18px;padding:18px 20px}.today-plan-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.today-plan-label{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:13px;font-weight:700}.today-plan-done-badge{color:var(--accent);background:#6ee7b726;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700}.today-plan-goal{margin-bottom:14px}.today-plan-goal-text{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.today-plan-goal-count{color:var(--accent);font-size:13px;font-weight:700}.today-plan-goal-bar{background:var(--surface);border-radius:3px;height:6px;overflow:hidden}.today-plan-goal-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.streak-at-risk-banner{background:#f8717114;border:1px solid #f8717140;border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;animation:2s ease-in-out infinite streakPulse;display:flex}@keyframes streakPulse{0%,to{border-color:#f8717140}50%{border-color:#f8717180}}.streak-at-risk-icon{flex-shrink:0;font-size:20px}.streak-at-risk-body{flex-direction:column;flex:1;gap:1px;font-size:13px;line-height:1.4;display:flex}.streak-at-risk-body strong{color:#f87171f2}.streak-at-risk-body span{color:var(--muted);font-size:12px}.streak-at-risk-cta{color:#f87171f2;white-space:nowrap;background:#f8717126;border:1px solid #f871714d;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600;text-decoration:none}.streak-at-risk-cta:hover{background:#f8717140}.today-plan-stats{gap:4px;margin-bottom:12px;display:flex}.today-plan-stat{background:#ffffff08;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 6px;display:flex}.today-plan-stat-value{color:var(--text);font-size:20px;font-weight:700;line-height:1.2}.today-plan-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.today-plan-actions{flex-direction:column;gap:8px;display:flex}.today-plan-action{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.today-plan-action:hover{border-color:var(--accent);background:var(--surface)}.today-plan-action-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.today-plan-action-dot.urgent{background:var(--error)}.today-plan-action-dot.warning{background:#f39c12}.today-plan-action-dot.active{background:var(--accent)}.today-plan-action-text{flex:1;min-width:0}.today-plan-action-cta{color:var(--accent);flex-shrink:0;font-size:12px;font-weight:600}.today-plan-streak{color:var(--muted);align-items:center;gap:8px;padding:6px 0 0;font-size:13px;display:flex}.today-plan-streak-flame{font-size:16px}.learn-tracks-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:14px;display:grid}.learn-track-card{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;flex-direction:column;gap:6px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s,background .15s;display:flex}.learn-track-card:hover{border-color:var(--accent);background:var(--surface);transform:translateY(-1px)}.learn-track-card-header{align-items:flex-start;gap:12px;display:flex}.learn-track-card-new{border-style:dashed}.learn-track-card-new:hover{border-style:solid}.learn-track-title{font-size:15px;font-weight:700;line-height:1.3}.learn-track-current{color:var(--muted);font-size:12px}.learn-track-progress{color:var(--accent);font-size:12px;font-weight:600}.learn-track-bar{background:var(--border);border-radius:2px;height:4px;margin-top:2px;overflow:hidden}.learn-track-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.track-card-wrapper{position:relative}.track-card-wrapper>.track-delete-btn{position:absolute;top:8px;right:8px}.track-delete-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px;transition:color .15s,background .15s}.track-delete-btn:hover{color:var(--error);background:#e74c3c1a}.track-delete-confirm{z-index:2;background:#e74c3c14;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;top:6px;right:6px}.track-delete-yes{background:var(--error)!important;color:#fff!important;border-radius:4px!important;padding:3px 10px!important;font-size:11px!important}.track-delete-no{padding:3px 8px!important;font-size:11px!important}.learn-landing-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:16px;padding-top:20px;display:flex}.learn-landing-footer a{color:var(--muted);font-size:13px;text-decoration:none}.learn-landing-footer a:hover{color:var(--text);text-decoration:underline}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.start-page{justify-content:center;display:flex}.start-inner{width:100%;max-width:680px;padding:24px 16px}.start-title{margin:0 0 8px;font-size:28px;font-weight:900;line-height:1.2}.start-lead{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.6}.start-steps{align-items:center;gap:6px;margin-bottom:28px;display:flex}.start-step{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.start-step-active{border-color:var(--accent);color:var(--accent);background:#6ee7b714}.start-step-num{font-size:14px;font-weight:900}.start-step-text{font-weight:600}.start-step-arrow{background:var(--border);flex-shrink:0;width:16px;height:2px}.start-alt-actions{border-top:1px solid var(--border);text-align:center;margin-top:32px;padding-top:20px}.start-alt-label{color:var(--muted);margin:0 0 12px;font-size:13px}.start-alt-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.intake-section{flex-direction:column;gap:16px;display:flex}.compact-intake{gap:12px}.intake-field-group{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:500px){.intake-field-group{grid-template-columns:1fr}}.intake-label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:flex}.intake-input{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.intake-input:focus{border-color:var(--accent)}.intake-dropzone{background:var(--surface);cursor:pointer;text-align:center;border:2px dashed #94a3b859;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:140px;padding:24px 16px;transition:border-color .15s,background .15s;display:flex}.intake-dropzone:hover,.intake-dropzone-active{border-color:var(--accent);background:#6ee7b70f}.intake-dropzone-has-file{border-style:solid;border-color:var(--accent);background:#6ee7b70f}.intake-drop-icon{opacity:.6;font-size:32px}.intake-drop-text{color:var(--text);font-size:14px}.intake-drop-text strong{color:var(--accent)}.intake-drop-formats{color:var(--muted);font-size:12px}.intake-file-selected{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.intake-file-icon{font-size:24px}.intake-file-name{color:var(--text);font-size:14px;font-weight:700}.intake-file-size{color:var(--muted);font-size:12px}.intake-file-remove{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:12px}.intake-file-remove:hover{background:#6ee7b71f}.intake-toggle-paste{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px;text-decoration:underline}.intake-textarea{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);resize:vertical;border-radius:10px;outline:none;padding:12px;font-family:inherit;font-size:14px;transition:border-color .15s}.intake-textarea:focus{border-color:var(--accent)}.intake-submit{background:var(--accent);color:#0f1b2d;cursor:pointer;border:none;border-radius:10px;padding:12px 24px;font-size:15px;font-weight:800;transition:opacity .15s,transform .1s}.intake-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.intake-submit:disabled{opacity:.45;cursor:not-allowed}.intake-message{color:var(--muted);background:var(--panel);border-radius:8px;padding:8px 12px;font-size:13px}.intake-message-success{color:var(--accent);border:1px solid #6ee7b74d}.intake-build-progress{background:var(--panel);border:1px solid var(--border);border-radius:12px;align-items:center;gap:20px;padding:20px 24px;animation:.25s ease-out result-appear;display:flex}.intake-build-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.intake-build-steps{flex-direction:column;gap:8px;display:flex}.intake-build-step{color:var(--muted);opacity:.4;align-items:center;gap:8px;font-size:13px;transition:opacity .3s,color .3s;display:flex}.intake-build-step.active{opacity:1;color:var(--accent)}.intake-build-step.done{opacity:.7;color:var(--text)}.intake-build-step-dot{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:inline-flex}.intake-build-step.active .intake-build-step-dot{border-color:var(--accent);animation:1.2s ease-in-out infinite pulse-dot}.intake-build-step.done .intake-build-step-dot{border-color:var(--accent);background:var(--accent);color:#0f1b2d;font-weight:800}@keyframes pulse-dot{0%,to{box-shadow:0 0 #6ee7b766}50%{box-shadow:0 0 0 4px #6ee7b700}}.intake-mode-switcher{background:var(--panel);border:1px solid var(--border);border-radius:10px;gap:4px;padding:3px;display:flex}.intake-mode-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.intake-mode-btn:hover{color:var(--text)}.intake-mode-active{background:var(--panel-2);color:var(--accent)}.intake-youtube-input{flex-direction:column;gap:8px;display:flex}.intake-youtube-hint{color:var(--error);margin:0;font-size:12px}.intake-youtube-info{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.intake-preview-btn{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:6px 14px;font-size:13px;transition:background .15s}.intake-preview-btn:hover:not(:disabled){background:#6ee7b71a}.intake-preview-btn:disabled{opacity:.5;cursor:not-allowed}.intake-preview-panel{border:1px solid var(--border);background:var(--panel);border-radius:12px;overflow:hidden}.intake-preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.intake-preview-title{color:var(--text);margin:0;font-size:15px;font-weight:700}.intake-preview-method{color:var(--muted);background:var(--panel-2);text-transform:capitalize;border-radius:6px;padding:2px 8px;font-size:11px}.intake-preview-stats{border-bottom:1px solid var(--border);color:var(--accent);flex-wrap:wrap;gap:16px;padding:10px 16px;font-size:13px;display:flex}.intake-preview-sections{flex-direction:column;display:flex}.intake-preview-section{border-bottom:1px solid var(--border)}.intake-preview-section:last-child{border-bottom:none}.intake-preview-section-header{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex}.intake-preview-section-header:hover{background:#ffffff08}.intake-preview-section-num{color:var(--accent);min-width:20px;font-size:11px;font-weight:800}.intake-preview-section-title{flex:1;font-weight:600}.intake-preview-section-counts{color:var(--muted);white-space:nowrap;font-size:11px}.intake-preview-expand{color:var(--muted);font-size:10px}.intake-preview-section-detail{padding:8px 16px 14px 46px}.intake-preview-objective{color:var(--muted);margin:0 0 8px;font-size:12px;font-style:italic}.intake-preview-ku-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.intake-preview-ku-list li{align-items:baseline;gap:8px;font-size:12px;display:flex}.intake-preview-ku-list li strong{color:var(--text)}.intake-preview-ku-meta{color:var(--muted);font-size:11px}.track-home-page{min-height:100vh}.track-home-inner{flex-direction:column;gap:24px;max-width:820px;margin:0 auto;padding:32px 20px 64px;display:flex}.track-home-back{color:var(--muted);font-size:13px;text-decoration:none}.track-home-back:hover{color:var(--text)}.track-home-title{color:var(--text);margin:0;font-size:28px;font-weight:800}.track-home-desc{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.track-home-stats{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.track-home-stat-sep{background:var(--border);border-radius:50%;width:4px;height:4px}.track-home-domain{flex-direction:column;gap:12px;display:flex}.track-home-domain-title{color:var(--text);margin:0;font-size:18px;font-weight:700}.track-home-section-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:600px){.track-home-section-grid{grid-template-columns:1fr 1fr}}.track-home-section-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .1s;display:flex}.track-home-section-card:hover{border-color:var(--accent);transform:translateY(-1px)}.track-section-order{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.track-section-title{color:var(--text);font-size:15px;font-weight:700}.track-section-meta{color:var(--muted);font-size:12px}.track-section-state{margin-top:4px;font-size:12px;font-weight:600}.track-state-mastered{color:var(--accent)}.track-state-in-progress{color:#f59e0b}.track-state-not-started{color:var(--muted)}.track-section-score{color:var(--muted);font-size:11px}.track-section-mastered{border-color:#6ee7b74d}.track-section-in-progress{border-color:#f59e0b4d}.track-home-actions{flex-wrap:wrap;gap:12px;padding-top:8px;display:flex}.search-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:flex-start;padding-top:min(20vh,120px);animation:.15s flowFadeIn;display:flex;position:fixed;inset:0}.search-modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(560px,92vw);overflow:hidden;box-shadow:0 16px 48px #00000080}.search-input-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.search-icon{opacity:.5;font-size:16px}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:16px}.search-input::placeholder{color:var(--muted)}.search-esc{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px}.search-hint{color:var(--muted);text-align:center;margin:0;padding:20px 16px;font-size:14px}.search-results{max-height:360px;padding:6px 0;overflow-y:auto}.search-result-row{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex}.search-result-row:hover,.search-result-row.selected{background:var(--surface)}.search-result-type{background:var(--surface);border:1px solid var(--border);width:24px;height:24px;color:var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.search-result-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-result-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.search-result-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.search-trigger{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:border-color .15s;display:flex}.search-trigger:hover{border-color:var(--accent);color:var(--text)}.search-trigger kbd{background:var(--panel);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:11px}.print-note-deck{display:none}@media print{body,html{color:#111!important;background:#fff!important}.flow-sidebar,.flow-hamburger,.flow-phase-rail,.flow-actions,.flow-progress-bar,.flow-step-label,.flow-note-card,.flow-screen>div:not(.print-note-deck),.flow-dock,.flow-toast,.search-overlay,.search-trigger,.flow-sidebar-session-stats,.flow-review-badge,.evidence-ledger,footer,nav,header,aside,.mobile-bottom-nav{display:none!important}.print-note-deck{color:#111;margin:0;padding:20px;font-family:Georgia,Times New Roman,serif;display:block!important}.print-deck-title{border-bottom:2px solid #333;margin:0 0 4px;padding-bottom:8px;font-size:22pt}.print-deck-sub{color:#666;margin:0 0 20px;font-size:10pt}.print-card{page-break-inside:avoid;border-bottom:1px solid #ddd;margin-bottom:18px;padding:12px 0}.print-card-type{text-transform:uppercase;letter-spacing:1px;color:#888;margin-bottom:2px;font-size:8pt}.print-card-title{margin:0 0 6px;font-size:14pt}.print-card p{margin:0 0 6px;font-size:11pt;line-height:1.5}.print-card ul{margin:4px 0 6px;padding-left:20px;font-size:11pt;line-height:1.5}.print-card li{margin-bottom:3px}}.flow-session-summary-step{max-width:640px}.session-summary-stats{background:var(--panel);border:1px solid #ffffff0f;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;padding:16px;display:grid}.session-summary-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.session-summary-stat-value{color:var(--accent);font-size:28px;font-weight:800;line-height:1}.session-summary-stat-label{color:var(--muted);text-align:center;font-size:11px}.session-summary-dimensions{background:var(--panel);border:1px solid #ffffff0f;border-radius:10px;margin:20px 0;padding:16px 20px}.session-summary-dimensions h3{color:var(--text);margin:0 0 12px;font-size:14px}.session-summary-dim-grid{flex-direction:column;gap:8px;display:flex}.session-summary-dim-row{align-items:center;gap:8px;display:flex}.session-summary-dim-icon{color:#93c5fdcc;text-align:center;flex-shrink:0;width:32px;font-size:10px;font-weight:700}.session-summary-dim-label{width:140px;color:var(--muted);flex-shrink:0;font-size:12px}.session-summary-dim-bar-track{background:#ffffff0f;border-radius:4px;flex:1;height:8px;overflow:hidden}.session-summary-dim-bar-fill{background:linear-gradient(90deg,#6ee7b799,#6ee7b7e6);border-radius:4px;height:100%;transition:width .5s}.session-summary-dim-pct{text-align:right;width:36px;color:var(--text);font-size:12px;font-weight:600}.session-summary-dim-delta{text-align:right;width:40px;font-size:11px;font-weight:700}.session-summary-dim-delta.up{color:#6ee7b7e6}.session-summary-dim-delta.down{color:#ef4444cc}.session-summary-kus{background:var(--panel);border:1px solid #ffffff0f;border-radius:10px;margin:20px 0;padding:16px 20px}.session-summary-kus h3{color:var(--text);margin:0 0 12px;font-size:14px}.session-summary-ku-section{margin-bottom:14px}.session-summary-ku-heading{margin-bottom:6px;font-size:12px;font-weight:700}.session-summary-ku-heading.improved{color:#6ee7b7e6}.session-summary-ku-heading.needs-work{color:#fbbf24e6}.session-summary-ku-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.session-summary-ku-badge{text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.session-summary-ku-badge.mastered{color:#6ee7b7e6;background:#6ee7b726}.session-summary-ku-badge.progress{color:#93c5fde6;background:#93c5fd1a}.session-summary-ku-badge.needs-work{color:#fbbf24e6;background:#fbbf241a}.session-summary-ku-title{color:var(--text);flex:1}.session-summary-ku-score{color:var(--muted);flex-shrink:0;font-size:12px}.session-summary-hint{color:var(--text);background:#93c5fd0a;border:1px solid #93c5fd26;border-radius:8px;margin:16px 0;padding:12px 16px;font-size:13px;line-height:1.5}@media (max-width:600px){.session-summary-stats{grid-template-columns:repeat(2,1fr)}.session-summary-dim-label{width:80px;font-size:11px}.session-summary-dim-icon{display:none}}.progress-section-row{position:relative}.progress-section-row.expanded{background:#ffffff0a}.progress-section-expand{color:var(--muted);flex-shrink:0;margin-left:4px;font-size:9px}.progress-section-study-link{color:var(--accent);opacity:0;flex-shrink:0;margin-left:8px;font-size:11px;text-decoration:none;transition:opacity .15s}.progress-section-row:hover .progress-section-study-link{opacity:1}.progress-section-dims{background:#ffffff05;border-bottom:1px solid #ffffff0a;padding:8px 12px 12px 36px}.progress-dims-grid{flex-direction:column;gap:6px;display:flex}.progress-dim-row{align-items:center;gap:6px;display:flex}.progress-dim-abbr{color:#93c5fdb3;text-align:center;flex-shrink:0;width:28px;font-size:9px;font-weight:700}.progress-dim-label{width:100px;color:var(--muted);flex-shrink:0;font-size:11px}.progress-dim-bar-track{background:#ffffff0f;border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-dim-bar-fill{border-radius:3px;height:100%;transition:width .4s}.progress-dim-bar-fill.good{background:#6ee7b7cc}.progress-dim-bar-fill.mid{background:#fbbf24b3}.progress-dim-bar-fill.low{background:#ef4444b3}.progress-dim-pct{text-align:right;width:32px;color:var(--text);font-size:11px;font-weight:600}.progress-dim-overall{color:var(--muted);text-align:right;margin-top:4px;font-size:12px}.progress-dim-overall strong{color:var(--text)}@media (max-width:600px){.progress-section-dims{padding-left:12px}.progress-dim-label{width:70px}.progress-dim-abbr{display:none}}.review-drill-container{max-width:640px}.review-context-banner{background:#93c5fd0a;border:1px solid #93c5fd1f;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:12px;display:flex}.review-context-ku{color:var(--text);font-weight:700}.review-context-section{color:var(--muted)}.review-context-overdue{color:#ef4444e6;background:#ef44441a;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.review-results-list{flex-direction:column;gap:4px;margin-top:16px;display:flex}.review-result-row{background:var(--panel);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.review-result-row.correct{border-left:3px solid #6ee7b7b3}.review-result-row.incorrect{border-left:3px solid #ef444499}.review-result-icon{flex-shrink:0;font-size:14px}.review-result-row.correct .review-result-icon{color:#6ee7b7e6}.review-result-row.incorrect .review-result-icon{color:#ef4444e6}.review-result-info{flex-direction:column;gap:1px;display:flex}.review-result-title{color:var(--text);font-weight:600}.review-result-section{color:var(--muted);font-size:11px}.review-session-progress{border-top:1px solid #ffffff0f;align-items:center;gap:12px;margin-top:20px;padding:10px 0;display:flex}.review-session-dots{flex-wrap:wrap;gap:4px;display:flex}.review-dot{border-radius:50%;width:8px;height:8px}.review-dot.correct{background:#6ee7b7cc}.review-dot.incorrect{background:#ef4444b3}.review-dot.current{background:#fff3;animation:1.5s infinite pulse}.review-session-accuracy{color:var(--muted);margin-left:auto;font-size:12px}.flow-choice.correct-answer{background:#6ee7b70f!important;border-color:#6ee7b780!important}.flow-choice.selected-wrong{opacity:.7;animation:.3s ease-in-out shake;border-color:#ef444466!important}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.focus-drill-rail{border-bottom:1px solid #ffffff0f;gap:4px;margin-bottom:8px;padding:8px 0 16px;display:flex;overflow-x:auto}.focus-drill-rail-item{color:var(--muted);white-space:nowrap;background:#ffffff08;border-radius:16px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:11px;display:flex}.focus-drill-rail-item.current{color:var(--text);background:#93c5fd1a;font-weight:600}.focus-drill-rail-item.done{color:#6ee7b7cc;background:#6ee7b714}.focus-drill-rail-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.focus-drill-rail-item.current .focus-drill-rail-dot{background:#93c5fde6}.focus-drill-rail-item.done .focus-drill-rail-dot{background:#6ee7b7e6}.focus-drill-rail-label{text-overflow:ellipsis;max-width:140px;overflow:hidden}.focus-context-banner{background:#ef44440a;border:1px solid #ef444426;border-radius:8px;margin-bottom:16px;padding:12px 14px}.focus-context-main{align-items:center;gap:8px;margin-bottom:4px;display:flex}.focus-context-label{text-transform:uppercase;color:#ef4444cc;font-size:11px;font-weight:700}.focus-context-ku{color:var(--text);font-size:14px;font-weight:600}.focus-context-meta{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.focus-context-severity{color:#ef4444cc;font-weight:600}.focus-context-counter{color:var(--text);margin-left:auto;font-weight:600}.focus-adaptive-note{color:#93c5fdcc;background:#93c5fd0a;border-radius:6px;margin-bottom:12px;padding:6px 12px;font-size:12px;font-style:italic}.focus-drill-results{flex-direction:column;gap:8px;margin-top:16px;display:flex}.focus-drill-result-row{background:var(--panel);border:1px solid #ffffff0f;border-radius:8px;padding:10px 14px}.focus-drill-result-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.focus-drill-result-title{color:var(--text);font-size:14px;font-weight:600}.focus-drill-result-section{color:var(--muted);font-size:11px}.focus-drill-result-dots{align-items:center;gap:4px;display:flex}.focus-drill-result-score{color:var(--text);margin-left:8px;font-size:12px;font-weight:600}@media (max-width:600px){.focus-drill-rail{gap:3px}.focus-drill-rail-label{max-width:80px}}.mobile-bottom-nav{z-index:900;background:var(--panel);padding:6px 0 env(safe-area-inset-bottom,6px);border-top:1px solid #ffffff14;display:none;position:fixed;bottom:0;left:0;right:0}@media (max-width:768px){.mobile-bottom-nav{justify-content:space-around;align-items:center;display:flex}body{padding-bottom:64px}}.mobile-nav-tab{color:var(--muted);-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:6px 12px;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-tab:active{transform:scale(.9)}.mobile-nav-tab.active{color:var(--accent)}.mobile-nav-tab.active .mobile-nav-icon{transform:scale(1.15)}.mobile-nav-icon{font-size:20px;line-height:1;transition:transform .15s}.mobile-nav-label{font-size:10px;font-weight:600}.mobile-nav-tab.active .mobile-nav-label:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin:2px auto 0;display:block}.onboarding-overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.onboarding-modal{background:var(--panel);border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:480px;padding:32px;box-shadow:0 20px 60px #00000080}.onboarding-modal h2{color:var(--accent);margin:0 0 4px;font-size:1.4rem}.onboarding-intro{color:var(--muted);margin:0 0 20px;font-size:14px}.onboarding-steps{flex-direction:column;gap:16px;display:flex}.onboarding-step{align-items:flex-start;gap:14px;display:flex}.onboarding-step-num{width:28px;height:28px;color:var(--bg);background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.onboarding-step strong{color:var(--text);margin-bottom:2px;font-size:14px;display:block}.onboarding-step p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.gate-blocked-reasons{flex-direction:column;gap:4px;margin-top:8px;display:flex}.gate-blocked-reason{color:#ef4444e6;background:#ef44440f;border-left:2px solid #ef444480;border-radius:4px;padding:4px 10px;font-size:12px}.gate-first-timer-info{color:var(--text);background:#93c5fd0a;border:1px solid #93c5fd26;border-radius:8px;margin:16px 0;padding:14px 16px;font-size:13px;line-height:1.6}.gate-first-timer-info strong{color:var(--accent);margin-bottom:4px;display:block}.gate-first-timer-info p{color:var(--muted);margin:0}.shortcut-hint-banner{color:#93c5fde6;background:#93c5fd0f;border:1px solid #93c5fd26;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:8px 14px;font-size:12px;animation:.3s hintFadeIn;display:flex}.shortcut-hint-banner kbd{background:#ffffff14;border:1px solid #ffffff26;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:11px;display:inline-block}.shortcut-hint-banner button{color:#93c5fd99;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.streak-heatmap{grid-template-columns:repeat(30,1fr);gap:3px;display:grid}.streak-cell{aspect-ratio:1;border-radius:2px;min-width:0}.streak-cell.level-0{background:#ffffff0a}.streak-cell.level-1{background:#6ee7b733}.streak-cell.level-2{background:#6ee7b766}.streak-cell.level-3{background:#6ee7b7a6}.streak-cell.level-4{background:#6ee7b7e6}.streak-legend{justify-content:flex-end;align-items:center;gap:3px;margin-top:8px;display:flex}@media (max-width:600px){.streak-heatmap{grid-template-columns:repeat(15,1fr)}}.accuracy-trend-chart{align-items:flex-end;gap:2px;height:60px;display:flex}.accuracy-trend-bar-wrap{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.accuracy-trend-bar-track{background:#ffffff08;border-radius:2px;align-items:flex-end;width:100%;height:48px;display:flex;overflow:hidden}.accuracy-trend-bar-fill{border-radius:2px 2px 0 0;width:100%;transition:height .3s}.accuracy-trend-bar-fill.good{background:#6ee7b7b3}.accuracy-trend-bar-fill.mid{background:#fbbf2499}.accuracy-trend-bar-fill.low{background:#ef444499}.accuracy-trend-label{color:var(--muted);font-size:8px}@media (max-width:600px){.accuracy-trend-label{display:none}}.ide-root{color:#c9d1d9;background:#0d0e14;flex-direction:column;height:100vh;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:13px;display:flex;overflow:hidden}.ide-topbar{background:#161b22;border-bottom:1px solid #21262d;flex-shrink:0;align-items:center;height:44px;display:flex}.ide-logo{border-right:1px solid #21262d;align-items:center;gap:8px;height:100%;padding:0 20px;display:flex}.ide-logo-icon{color:#0d0e14;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.ide-logo-text{color:#e6edf3;letter-spacing:-.3px;font-size:13px;font-weight:700}.ide-lang-switcher{height:100%;display:flex}.ide-lang-btn{color:#6e7681;cursor:pointer;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 16px;font-family:inherit;font-size:12px;font-weight:400;transition:all .15s;display:flex}.ide-topbar-right{align-items:center;gap:4px;margin-left:auto;padding:0 16px;display:flex}.ide-toolbar-btn{color:#6e7681;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 8px;font-size:14px;line-height:1;transition:all .15s}.ide-toolbar-btn:hover{color:#e6edf3;background:#21262d;border-color:#30363d}.ide-gate-ready-btn{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:11px;font-weight:700;animation:2s infinite ide-pulse}@keyframes ide-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes ide-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ide-section-label{color:#6e7681;background:#21262d;border-radius:6px;padding:4px 10px;font-size:11px}.ide-main{flex:1;display:flex;overflow:hidden}.ide-file-tree{background:#161b22;border-right:1px solid #21262d;flex-direction:column;flex-shrink:0;width:180px;display:flex}.ide-panel-header{color:#6e7681;letter-spacing:1px;text-transform:uppercase;padding:12px 12px 6px;font-size:10px;font-weight:700}.ide-file-list{padding:0 8px}.ide-file-item{cursor:pointer;color:#8b949e;border-radius:4px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;transition:all .1s;display:flex}.ide-file-icon{opacity:.6;font-size:10px}.ide-topics-list{flex:1;padding:0 8px;overflow-y:auto}.ide-topic-item{color:#6e7681;cursor:pointer;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex}.ide-editor-area{flex-direction:column;flex-shrink:0;min-width:0;display:flex}.ide-editor-tabs{background:#161b22;border-bottom:1px solid #21262d;align-items:center;height:36px;display:flex}.ide-editor-tab-active{cursor:default;background:#0d0e14;border-bottom:2px solid;border-right:1px solid #21262d;align-items:center;gap:8px;height:100%;padding:0 16px;font-size:12px;display:flex}.ide-editor-tab-inactive{color:#6e7681;cursor:pointer;background:#161b22;border-bottom:2px solid #0000;border-right:1px solid #21262d;align-items:center;gap:8px;height:100%;padding:0 16px;font-size:12px;transition:all .15s;display:flex}.ide-editor-tab-inactive:hover{color:#8b949e;background:#1c2128}.ide-file-item.active{font-weight:600}.ide-editor-actions{gap:6px;margin-left:auto;padding:0 12px;display:flex}.ide-run-btn{cursor:pointer;letter-spacing:.5px;border:1px solid;border-radius:5px;align-items:center;gap:6px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s;display:flex}.ide-run-btn.disabled{color:#6e7681;cursor:not-allowed;background:#21262d;border-color:#30363d}.ide-spinner{animation:1s linear infinite ide-spin;display:inline-block}.ide-code-area{background:#0d1117;flex-shrink:0;display:flex;position:relative;overflow:hidden}.ide-code-area .cm-editor{background:#0d1117;height:100%}.ide-code-area .cm-editor.cm-focused{outline:none}.ide-output-panel{background:#161b22;flex-direction:column;min-height:36px;display:flex;overflow:hidden}.ide-output-header{flex-shrink:0;align-items:center;gap:16px;height:36px;padding:0 16px;display:flex}.ide-output-panel .ide-output-header{border-bottom:1px solid #21262d}.ide-output-label{color:#6e7681;letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:700}.ide-output-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.ide-output-status{font-size:10px;font-weight:600}.ide-output-status.success{color:#3fb950}.ide-output-status.error{color:#f85149}.ide-output-action-btn{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:4px;padding:2px 6px;font-size:12px;transition:all .15s}.ide-output-action-btn:hover{color:#e6edf3;background:#21262d}.ide-output-content{color:#e6edf3;background:#0a0c10;flex:1;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.7;overflow-y:auto}.ide-output-line{white-space:pre-wrap}.ide-output-line.success{color:#3fb950;font-weight:600}.ide-output-line.error{color:#f85149;font-weight:600}.ide-output-line.warning{color:#d29922}.ide-terminal-cursor{vertical-align:text-bottom;background:#e6edf3;width:7px;height:14px;margin-left:1px;animation:1s step-end infinite ide-cursor-blink;display:inline-block}@keyframes ide-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.ide-template-wrapper{position:relative}.ide-template-btn{cursor:pointer;color:#6e7681;letter-spacing:.3px;background:0 0;border:1px solid #30363d;border-radius:5px;padding:4px 8px;font-family:inherit;font-size:10px;font-weight:600;transition:all .15s}.ide-template-btn:hover{color:#e6edf3;background:#21262d}.ide-template-btn.active{border-color:currentColor}.ide-template-dropdown{z-index:100;background:#161b22;border:1px solid #30363d;border-radius:8px;min-width:180px;padding:6px 0;animation:.15s ide-dropdown-in;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0006}@keyframes ide-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ide-template-dropdown-title{color:#6e7681;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #21262d;margin-bottom:4px;padding:6px 12px 8px;font-size:10px;font-weight:700}.ide-template-item{text-align:left;color:#e6edf3;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 12px;font-size:13px;transition:background .1s;display:block}.ide-template-item:hover{background:#21262d}.ide-stdin-toggle{cursor:pointer;color:#6e7681;letter-spacing:.3px;background:0 0;border:1px solid #30363d;border-radius:5px;padding:4px 8px;font-family:inherit;font-size:10px;font-weight:600;transition:all .15s}.ide-stdin-toggle.active{border-color:currentColor}.ide-stdin-panel{background:#161b22;border-top:1px solid #21262d;flex-shrink:0}.ide-stdin-header{border-bottom:1px solid #21262d;justify-content:space-between;align-items:center;padding:4px 16px;display:flex}.ide-stdin-clear{color:#6e7681;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:10px}.ide-stdin-textarea{color:#e6edf3;resize:none;background:#0d0e14;border:none;outline:none;width:100%;height:60px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.5}.ide-resize-handle-h{cursor:col-resize;background:#0d1117;flex-shrink:0;justify-content:center;align-items:center;width:5px;transition:background .15s;display:flex;position:relative}.ide-resize-handle-h:hover,.ide-resize-handle-h:active{background:#21262d}.ide-resize-handle-h .ide-resize-grip{background:#30363d;border-radius:1px;width:2px;height:24px;transition:background .15s}.ide-resize-handle-h:hover .ide-resize-grip{background:#58a6ff}.ide-resize-handle-v{cursor:row-resize;background:#0d1117;flex-shrink:0;justify-content:center;align-items:center;height:5px;transition:background .15s;display:flex}.ide-resize-handle-v:hover,.ide-resize-handle-v:active{background:#21262d}.ide-resize-handle-v .ide-resize-grip{background:#30363d;border-radius:1px;width:24px;height:2px;transition:background .15s}.ide-resize-handle-v:hover .ide-resize-grip{background:#58a6ff}.ide-right-panel{background:#161b22;flex-direction:column;min-width:0;display:flex;overflow:hidden}.ide-panel-tabs{border-bottom:1px solid #21262d;height:36px;display:flex}.ide-panel-tab{color:#6e7681;cursor:pointer;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;font-family:inherit;font-size:11px;transition:all .15s}.ide-chat-messages{flex:1;padding:12px;overflow-y:auto}.ide-chat-empty{text-align:center;height:100%;color:var(--muted,#6e7681);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px;font-size:12px;line-height:1.7;display:flex}.ide-chat-empty p{margin:0}.ide-chat-typing{gap:4px;padding:4px 0;display:inline-flex}.ide-chat-typing span{background:#6e7681;border-radius:50%;width:6px;height:6px;animation:1.2s infinite ide-typing-bounce}.ide-chat-typing span:nth-child(2){animation-delay:.2s}.ide-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes ide-typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ide-chat-bubble code{color:#79c0ff;background:#0d1117;border:1px solid #30363d;border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:11px}.ide-chat-row{align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.ide-chat-row.learner{flex-direction:row-reverse}.ide-chat-avatar{color:#0d0e14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:flex}.ide-chat-bubble{white-space:pre-wrap;border:1px solid;max-width:90%;padding:10px 12px;font-size:12px;line-height:1.6}.ide-chat-bubble.agent{color:#c9d1d9;border-radius:4px 12px 12px}.ide-chat-bubble.learner{color:#e6edf3;border-radius:12px 4px 12px 12px}.ide-chat-input-area{border-top:1px solid #21262d;flex-shrink:0;gap:8px;padding:10px;display:flex}.ide-chat-input{color:#e6edf3;background:#21262d;border:1px solid #30363d;border-radius:6px;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:12px}.ide-chat-send{color:#0d0e14;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;width:34px;font-size:14px;font-weight:700}.ide-evidence-panel{flex:1;padding:12px;overflow-y:auto}.ide-gate-status{background:#21262d;border:1px solid;border-radius:8px;margin-bottom:12px;padding:12px}.ide-dim-row{margin-bottom:6px}.ide-dim-label{color:#8b949e;justify-content:space-between;margin-bottom:3px;font-size:11px;display:flex}.ide-dim-bar-bg{background:#30363d;border-radius:2px;height:4px;overflow:hidden}.ide-dim-bar-fill{border-radius:2px;height:100%;transition:width .5s}.ide-gate-met{color:#3fb950;text-align:center;background:#3fb95022;border:1px solid #3fb95044;border-radius:6px;margin-top:10px;padding:8px;font-size:11px;font-weight:700}.ide-evidence-item{background:#21262d;border:1px solid;border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.ide-evidence-type{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:20px;font-size:9px;font-weight:700;display:flex}.ide-evidence-body{flex:1;min-width:0}.ide-evidence-label{color:#c9d1d9;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ide-evidence-time{color:#6e7681;margin-top:2px;font-size:10px}.ide-statusbar{color:#8b949e;background:#161b22;border-top:1px solid #21262d;flex-shrink:0;justify-content:space-between;align-items:center;height:24px;padding:0 12px;font-size:11px;display:flex}.ide-statusbar-left,.ide-statusbar-right{align-items:center;gap:0;display:flex}.ide-statusbar-item{white-space:nowrap;padding:0 8px}.ide-statusbar-sep{background:#30363d;width:1px;height:12px}.ide-error-clickable{cursor:pointer;border-left:2px solid #0000;padding-left:4px;transition:all .15s;position:relative}.ide-error-clickable:hover{background:#f8514915;border-left-color:#f85149}.ide-error-clickable:hover:after{content:"Ask AI";color:#f85149;letter-spacing:.5px;background:#f8514933;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.ide-evidence-status{font-size:12px}.ide-modal-overlay{z-index:100;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ide-gate-modal{background:#161b22;border:1px solid;border-radius:12px;width:90%;max-width:440px;padding:32px}.ide-gate-topic{letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.ide-gate-title{color:#e6edf3;letter-spacing:-.5px;margin-bottom:16px;font-size:20px;font-weight:700}.ide-gate-desc{color:#8b949e;margin-bottom:24px;font-size:13px;line-height:1.6}.ide-gate-question{color:#c9d1d9;background:#21262d;border:1px solid #30363d;border-radius:8px;margin-bottom:20px;padding:16px;font-size:13px;line-height:1.7}.ide-gate-code{color:#79c0ff}.ide-gate-textarea{color:#e6edf3;resize:none;box-sizing:border-box;background:#0d0e14;border:1px solid #30363d;border-radius:6px;outline:none;width:100%;height:100px;margin-bottom:16px;padding:10px;font-family:inherit;font-size:12px}.ide-gate-actions{gap:10px;display:flex}.ide-gate-cancel{color:#6e7681;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:6px;flex:1;padding:10px;font-family:inherit;font-size:12px}.ide-gate-submit{color:#0d0e14;cursor:pointer;border:none;border-radius:6px;flex:2;padding:10px;font-family:inherit;font-size:12px;font-weight:700}.ide-root ::-webkit-scrollbar{width:4px;height:4px}.ide-root ::-webkit-scrollbar-track{background:0 0}.ide-root ::-webkit-scrollbar-thumb{background:#30363d;border-radius:2px}@media (max-width:768px){.ide-file-tree{display:none}.ide-right-panel{min-width:220px}.ide-lang-btn span:first-child{display:none}}.ide-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.15s ide-overlay-in;display:flex;position:fixed;inset:0}@keyframes ide-overlay-in{0%{opacity:0}to{opacity:1}}.ide-modal{background:#161b22;border:1px solid #30363d;border-radius:12px;flex-direction:column;width:420px;max-width:90vw;max-height:70vh;animation:.2s ide-modal-in;display:flex;box-shadow:0 16px 48px #00000080}@keyframes ide-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.ide-modal-header{border-bottom:1px solid #21262d;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ide-modal-title{color:#e6edf3;font-size:14px;font-weight:700}.ide-modal-close{color:#6e7681;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:16px;transition:all .15s}.ide-modal-close:hover{color:#e6edf3;background:#21262d}.ide-modal-body{flex:1;padding:16px 20px;overflow-y:auto}.ide-shortcut-row{border-bottom:1px solid #21262d22;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.ide-shortcut-row:last-child{border-bottom:none}.ide-shortcut-keys{color:#79c0ff;background:#0d1117;border:1px solid #30363d;border-radius:4px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.ide-shortcut-action{color:#8b949e;font-size:13px}.ide-history-empty{text-align:center;color:#6e7681;padding:24px 0;font-size:13px}.ide-history-item{border:1px solid #21262d;border-radius:6px;margin-bottom:8px;padding:10px 12px;transition:background .15s}.ide-history-item:hover{background:#0d111722}.ide-history-item.success{border-left:3px solid #3fb950}.ide-history-item.error{border-left:3px solid #f85149}.ide-history-item-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.ide-history-dot{font-size:8px}.ide-history-dot.success{color:#3fb950}.ide-history-dot.error{color:#f85149}.ide-history-lang{color:#8b949e;letter-spacing:.5px;font-size:10px;font-weight:700}.ide-history-time{color:#6e7681;margin-left:auto;font-size:11px}.ide-history-preview{color:#6e7681;white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}@media (max-width:600px){.ide-right-panel,.ide-logo-text,.ide-resize-handle-h{display:none}.ide-toolbar-btn{padding:4px;font-size:12px}}.drill-history-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.drill-history-stat{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:10px;padding:14px}.drill-history-stat-value{color:var(--accent);font-size:1.5rem;font-weight:800;display:block}.drill-history-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.drill-history-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.drill-history-views{background:var(--panel);border-radius:8px;gap:4px;padding:3px;display:flex}.drill-history-view-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 14px;font-size:13px;transition:all .15s}.drill-history-view-btn.active{background:var(--panel-2);color:var(--text);font-weight:600}.drill-history-domain-filter{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.drill-history-domain-btn{background:var(--panel);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px;transition:all .15s}.drill-history-domain-btn.active{border-color:var(--accent);color:var(--accent);background:#6ee7b71f;font-weight:600}.drill-history-timeline{flex-direction:column;gap:16px;display:flex}.drill-history-day-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;display:flex}.drill-history-day-date{font-size:14px;font-weight:700}.drill-history-day-stats{color:var(--muted);font-size:12px}.drill-history-item{cursor:pointer;border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .1s;display:flex;position:relative}.drill-history-item:hover{background:var(--panel)}.drill-history-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.drill-history-dot.correct{background:var(--accent)}.drill-history-dot.incorrect{background:#ef4444}.drill-history-item-main{flex:1;min-width:0}.drill-history-item-prompt{color:var(--text);font-size:13px;line-height:1.5;display:block}.drill-history-item-meta{color:var(--muted);margin-top:2px;font-size:11px;display:block}.drill-history-item-time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px}.drill-history-item-explanation{background:var(--panel-2);width:100%;color:var(--muted);border-radius:6px;margin-top:6px;padding:10px 12px;font-size:12px;line-height:1.6}.drill-history-concepts{flex-direction:column;gap:8px;display:flex}.drill-history-ku-row{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.drill-history-ku-info{flex:1;min-width:0}.drill-history-ku-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.drill-history-ku-meta{color:var(--muted);font-size:11px}.drill-history-ku-bar-area{flex-shrink:0;align-items:center;gap:8px;width:140px;display:flex}.drill-history-ku-bar-bg{background:#94a3b826;border-radius:3px;flex:1;height:6px;overflow:hidden}.drill-history-ku-bar-fill{border-radius:3px;height:100%;transition:width .3s}.drill-history-ku-bar-fill.good{background:var(--accent)}.drill-history-ku-bar-fill.mid{background:#fbbf24}.drill-history-ku-bar-fill.low{background:#ef4444}.drill-history-ku-pct{text-align:right;width:32px;font-size:12px;font-weight:700}.drill-history-ku-count{color:var(--muted);text-align:right;width:40px;font-size:11px}.drill-history-trend-chart{border-bottom:1px solid var(--border);align-items:flex-end;gap:3px;height:160px;padding:12px 0;display:flex}.drill-history-trend-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:8px;max-width:32px;height:100%;display:flex}.drill-history-trend-fill{border-radius:3px 3px 0 0;width:100%;min-height:2px;transition:height .3s}.drill-history-trend-fill.good{background:#6ee7b7b3}.drill-history-trend-fill.mid{background:#fbbf2499}.drill-history-trend-fill.low{background:#ef444499}.drill-history-trend-label{color:var(--muted);writing-mode:vertical-lr;font-size:8px;transform:rotate(180deg)}.drill-history-trend-legend{color:var(--muted);justify-content:center;gap:16px;margin-top:10px;font-size:11px;display:flex}.drill-history-trend-legend-item{align-items:center;gap:4px;display:flex}.drill-history-trend-dot{border-radius:2px;width:8px;height:8px;display:inline-block}.drill-history-trend-dot.good{background:#6ee7b7b3}.drill-history-trend-dot.mid{background:#fbbf2499}.drill-history-trend-dot.low{background:#ef444499}@media (max-width:600px){.drill-history-stats{grid-template-columns:repeat(2,1fr)}.drill-history-domain-filter{margin-left:0}.drill-history-ku-bar-area{width:80px}.drill-history-trend-label{display:none}}.reading-decision-screen{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.reading-decision-inner{text-align:center;width:100%;max-width:520px}.reading-decision-kicker{color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px;font-family:monospace;font-size:11px}.reading-decision-title{color:var(--text);margin:0 0 8px;font-size:28px;font-weight:700}.reading-decision-book{color:var(--muted);margin:0 0 40px;font-size:14px;font-style:italic}.reading-decision-card{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:12px;margin-bottom:24px;padding:28px}.reading-decision-question{color:var(--text);margin:0 0 8px;font-family:system-ui,sans-serif;font-size:16px;font-weight:700}.reading-decision-desc{color:var(--muted);margin:0 0 20px;font-family:system-ui,sans-serif;font-size:14px;line-height:1.6}.reading-decision-buttons{gap:12px;display:flex}.reading-decision-btn{cursor:pointer;border:none;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:14px;font-family:system-ui,sans-serif;font-size:14px;font-weight:700;display:flex}.reading-decision-btn.primary-choice{background:var(--accent);color:var(--primary-text)}.reading-decision-btn.secondary-choice{background:var(--panel-2);border:2px solid var(--border);color:var(--text)}.reading-decision-btn-sub{opacity:.7;font-size:11px;font-weight:400}.reading-decision-detected{color:var(--muted);font-family:system-ui,sans-serif;font-size:12px}.reading-view{min-height:100vh}.reading-topbar{z-index:10;background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 24px;display:flex;position:sticky;top:0}.reading-topbar-brand{color:var(--accent);letter-spacing:1px;font-family:monospace;font-size:11px;font-weight:700;text-decoration:none}.reading-topbar-sep{color:var(--muted);font-size:12px}.reading-topbar-title{color:var(--text);font-size:13px}.reading-topbar-badge{border-radius:4px;padding:3px 10px;font-family:monospace;font-size:10px;font-weight:700}.reading-topbar-badge.ide,.reading-topbar-badge.evidence{color:var(--accent);background:#6ee7b714;border:1px solid #6ee7b74d}.reading-content{max-width:800px;margin:0 auto;padding:40px 24px 80px}.reading-book-header{border-bottom:2px solid var(--border);margin-bottom:40px;padding-bottom:24px}.reading-book-kicker{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-family:monospace;font-size:11px}.reading-book-title{color:var(--text);letter-spacing:-.5px;margin:0;font-size:36px;font-weight:700;line-height:1.2}.reading-section{margin-bottom:40px}.reading-section-title{color:var(--text);letter-spacing:-.3px;border-left:3px solid var(--accent);margin:0 0 16px;padding-left:12px;font-size:22px;font-weight:700}.reading-section-text{margin-bottom:20px}.reading-paragraph{color:var(--text);margin:0 0 16px;font-size:16px;line-height:1.8}.reading-inline-code{background:var(--surface);border:1px solid var(--border);color:var(--accent-2);border-radius:3px;padding:1px 5px;font-family:monospace;font-size:14px}.reading-code-readonly{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;margin:16px 0;padding:16px;font-family:monospace;font-size:13px;line-height:1.6;overflow-x:auto}.reading-code-ref{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:12px 16px;font-family:monospace;font-size:12px}.reading-exercises-section{border-top:2px solid var(--border);margin-top:20px;padding-top:32px}.reading-exercises-heading{color:var(--text);margin:0 0 8px;font-size:22px;font-weight:700}.reading-exercises-desc{color:var(--muted);margin:0 0 24px;font-family:system-ui,sans-serif;font-size:14px}.reading-exercise-item{margin-bottom:32px}.reading-exercise-header{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.reading-exercise-number{color:var(--accent);background:#6ee7b714;border:1px solid #6ee7b74d;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px;font-weight:700}.reading-exercise-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.reading-exercise-description{color:var(--text);margin-bottom:12px;font-family:system-ui,sans-serif;font-size:15px;line-height:1.7}.reading-ide-collapsed{border:1px solid var(--border);cursor:pointer;background:var(--panel);border-left:3px solid;border-radius:6px;margin:16px 0;transition:border-color .15s;overflow:hidden}.reading-ide-collapsed:hover{border-color:var(--accent)}.reading-ide-collapsed-header{border-bottom:1px solid var(--border);background:var(--panel-2);align-items:center;gap:10px;padding:8px 14px;display:flex}.reading-ide-collapsed-lang{color:var(--muted);font-family:monospace;font-size:11px}.reading-ide-collapsed-ref{color:var(--muted);margin-left:4px;font-size:10px}.reading-ide-collapsed-code{color:var(--muted);background:0 0;max-height:80px;margin:0;padding:12px 14px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.6;overflow:hidden}.reading-ide-exercise-badge{letter-spacing:.5px;border-radius:3px;padding:2px 8px;font-family:monospace;font-size:10px;font-weight:700}.reading-ide-open-cta{align-items:center;gap:4px;font-family:monospace;font-size:11px;display:flex}.reading-ide-expanded{border:1px solid var(--border);background:var(--panel);border-left:3px solid;border-radius:6px;margin:16px 0;font-family:JetBrains Mono,Fira Code,monospace;overflow:hidden}.reading-ide-header{background:var(--panel-2);border-bottom:1px solid var(--border);align-items:center;gap:8px;height:40px;padding:0 14px;display:flex}.reading-ide-header-sep{color:var(--border);font-size:10px}.reading-ide-header-title{color:var(--muted);font-size:11px}.reading-ide-run-btn{cursor:pointer;letter-spacing:.4px;border:1px solid;border-radius:5px;align-items:center;gap:5px;padding:4px 14px;font-family:inherit;font-size:11px;font-weight:700;display:flex}.reading-ide-run-btn:disabled{cursor:not-allowed}.reading-ide-close-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:11px}.reading-ide-body{height:480px;display:flex}.reading-ide-editor-panel{border-right:1px solid var(--border);flex-direction:column;flex:0 0 60%;display:flex}.reading-ide-editor-area{flex:1;display:flex;position:relative;overflow:hidden}.reading-ide-line-numbers{background:var(--panel);text-align:right;width:40px;color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:14px 0;font-size:12px;line-height:1.6;overflow-y:hidden}.reading-ide-line-numbers div{padding-right:8px}.reading-ide-textarea{background:var(--panel);color:var(--text);resize:none;tab-size:4;border:none;outline:none;flex:1;padding:14px 12px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.reading-ide-terminal{background:var(--panel-2);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;height:150px;display:flex}.reading-ide-terminal-tabs{border-bottom:1px solid var(--border);flex-shrink:0;height:30px;display:flex}.reading-ide-tab{color:var(--muted);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;padding:0 14px;font-family:inherit;font-size:10px;font-weight:700}.reading-ide-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.reading-ide-tab-badge{background:var(--error);color:#fff;border-radius:10px;margin-left:5px;padding:0 5px;font-size:9px}.reading-ide-shortcut-hint{color:var(--muted);align-items:center;margin-left:auto;padding:0 12px;font-size:10px;display:flex}.reading-ide-terminal-output{flex:1;padding:8px 14px;font-family:monospace;font-size:12px;line-height:1.6;overflow-y:auto}.reading-ide-stdout{color:var(--accent);white-space:pre-wrap;margin:0}.reading-ide-stderr{color:var(--error);white-space:pre-wrap;margin:0}.reading-ide-tutor-panel{background:var(--panel-2);flex-direction:column;flex:0 0 40%;display:flex}.reading-ide-tutor-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;height:30px;padding:0 14px;display:flex}.reading-ide-tutor-avatar{width:16px;height:16px;color:var(--panel);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;font-size:8px;font-weight:700;display:flex}.reading-ide-tutor-avatar.small{width:20px;height:20px}.reading-ide-tutor-label{letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:700}.reading-ide-chat-messages{flex:1;padding:10px;overflow-y:auto}.reading-ide-chat-row{align-items:flex-start;gap:6px;margin-bottom:10px;display:flex}.reading-ide-chat-row.learner{flex-direction:row-reverse}.reading-ide-chat-bubble{background:var(--surface);border:1px solid var(--border);max-width:220px;color:var(--text);white-space:pre-wrap;border-radius:4px 10px 10px;padding:8px 10px;font-size:11px;line-height:1.6}.reading-ide-chat-bubble.learner{border-radius:10px 4px 10px 10px}.reading-ide-chat-input{border-top:1px solid var(--border);flex-shrink:0;gap:6px;padding:8px;display:flex}.reading-ide-chat-field{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:5px;outline:none;flex:1;padding:6px 8px;font-family:inherit;font-size:11px}.reading-ide-chat-send{color:var(--panel);cursor:pointer;border:none;border-radius:5px;flex-shrink:0;width:28px;font-size:13px;font-weight:700}.reading-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:20px 24px}.reading-card-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.reading-card-icon{font-size:16px}.reading-card-type{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);font-size:11px;font-weight:700}.reading-card-title{color:var(--text);margin:0 0 10px;font-size:17px;font-weight:700}.reading-bullets{margin:8px 0 12px;padding-left:20px}.reading-bullets li{color:var(--text);margin-bottom:4px;font-size:15px;line-height:1.7}.reading-question-box{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;margin-top:12px;padding:14px 16px;font-size:14px;line-height:1.7}.reading-choices{margin:8px 0 0;padding-left:24px;list-style:upper-alpha}.reading-choices li{color:var(--text);margin-bottom:4px;font-size:14px;line-height:1.6}.reading-card-sources{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.reading-source-tag{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.reading-challenge-block{margin-top:16px}.reading-challenge-toggle{background:var(--surface);border:1px solid var(--border);color:var(--accent);cursor:pointer;text-align:left;border-radius:6px;width:100%;padding:8px 14px;font-size:13px;font-weight:600}.reading-challenge-toggle:hover{border-color:var(--accent)}.reading-challenge-item{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:14px 16px}.reading-challenge-question{color:var(--text);margin:0 0 10px;font-size:14px;font-weight:600;line-height:1.6}.reading-challenge-choices{flex-direction:column;gap:6px;display:flex}.reading-challenge-choice{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:6px;padding:8px 12px;font-size:13px;transition:border-color .15s}.reading-challenge-choice:hover:not(:disabled){border-color:var(--accent)}.reading-challenge-choice:disabled{cursor:default;opacity:.7}.reading-challenge-choice.correct{border-color:var(--accent);color:var(--accent);background:#6ee7b714}.reading-challenge-choice.wrong{border-color:var(--error);color:var(--error);background:#e74c3c14}.reading-challenge-result{border-radius:6px;margin-top:10px;padding:10px 14px;font-size:13px;line-height:1.6}.reading-challenge-result.correct{color:var(--accent);background:#6ee7b714;border:1px solid #6ee7b733}.reading-challenge-result.wrong{color:var(--error);background:#e74c3c14;border:1px solid #e74c3c33}.reading-challenge-result p{color:var(--text);margin:4px 0 0}@media (max-width:768px){.reading-ide-body{flex-direction:column;height:auto}.reading-ide-editor-panel{border-right:none;border-bottom:1px solid var(--border);flex:none}.reading-ide-tutor-panel{flex:none;height:300px}.reading-decision-buttons{flex-direction:column}.reading-book-title{font-size:24px}.reading-content{padding:24px 16px 60px}.reading-card{padding:16px}}.ku-progress-panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:8px 0 12px;overflow:hidden}.ku-progress-toggle{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.ku-progress-toggle:hover{background:#ffffff08}.ku-progress-summary{color:var(--muted);margin-left:auto;font-size:12px;font-weight:400}.ku-progress-chevron{color:var(--muted);font-size:10px}.ku-progress-list{gap:4px;padding:0 14px 12px;display:grid}.ku-progress-item{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:background .15s;display:flex}.ku-progress-item:hover{background:#ffffff08}.ku-progress-item.mastered{opacity:.65}.ku-progress-icon{text-align:center;flex-shrink:0;width:18px;font-size:12px}.ku-progress-item.mastered .ku-progress-icon{color:var(--accent)}.ku-progress-item.in-progress .ku-progress-icon{color:#fbbf24cc}.ku-progress-item.not-started .ku-progress-icon{color:var(--muted)}.ku-progress-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ku-progress-detail{color:var(--muted);flex-shrink:0;font-size:11px;font-weight:600}.ku-progress-item.mastered .ku-progress-detail{color:var(--accent)}.ku-progress-item.in-progress .ku-progress-detail{color:#fbbf24cc}.session-recap-banner{border:1px solid var(--border);background:linear-gradient(135deg,#93c5fd0d,#6ee7b70d);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.session-recap-stats{flex:1;gap:16px;display:flex}.session-recap-stat{flex-direction:column;align-items:center;gap:1px;display:flex}.session-recap-value{color:var(--text);font-size:18px;font-weight:700;line-height:1.2}.session-recap-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:10px}.session-recap-time{color:var(--muted);white-space:nowrap;font-size:11px}.domain-timeline{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:14px 16px}.domain-timeline-label{color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:600;display:block}.domain-timeline-track{justify-content:center;align-items:center;gap:0;display:flex}.domain-timeline-step-wrap{align-items:center;display:flex}.domain-timeline-connector{background:var(--border);flex-shrink:0;width:20px;height:2px}.domain-timeline-connector.done{background:var(--accent)}.domain-timeline-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;transition:transform .15s;display:flex}.domain-timeline-dot.done{border:2px solid var(--accent);color:var(--accent);background:#6ee7b726}.domain-timeline-dot.current{color:#93c5fde6;background:#93c5fd26;border:2px solid #93c5fdb3;transform:scale(1.15);box-shadow:0 0 8px #93c5fd40}.domain-timeline-dot.started{color:#fbbf24cc;background:#fbbf241a;border:2px solid #fbbf2466}.domain-timeline-dot.upcoming{border:2px solid var(--border);color:#0000;background:0 0}@media (max-width:600px){.domain-timeline-connector{width:10px}.domain-timeline-dot{width:22px;height:22px;font-size:9px}}.notes-complete-card{text-align:center;max-width:560px;margin:0 auto;padding:32px 24px}.notes-complete-icon{margin-bottom:8px;font-size:48px}.notes-complete-title{margin:0 0 8px;font-size:1.5rem}.notes-complete-subtitle{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.5}.notes-complete-section-label{color:var(--text);text-align:left;margin:0 0 8px;font-size:13px;font-weight:600}.notes-complete-concepts{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:10px;margin-bottom:20px;padding:16px}.notes-complete-concept-list{color:var(--text);margin:0;padding:0 0 0 20px;font-size:13px;line-height:1.8}.notes-complete-concept-list li::marker{color:var(--accent)}.notes-complete-readiness{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:10px;padding:16px}.notes-complete-ku-list{flex-wrap:wrap;gap:6px;display:flex}.notes-complete-ku-chip{border:1px solid var(--border);color:var(--muted);background:#ffffff08;border-radius:20px;padding:4px 10px;font-size:12px;display:inline-block}.notes-complete-ku-chip.mastered{color:var(--accent);background:#6ee7b714;border-color:#6ee7b740}.notes-complete-ku-chip.started{color:#fbbf24e6;background:#fbbf2414;border-color:#fbbf2440}.notes-complete-ku-chip.new{color:#93c5fde6;background:#93c5fd0f;border-color:#93c5fd33}.mistake-pattern-nudge{background:#f871710f;border:1px solid #f8717133;border-radius:10px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.mistake-pattern-icon{flex-shrink:0;margin-top:1px;font-size:16px}.mistake-pattern-body{color:var(--text);flex:1}.mistake-pattern-body em{color:#f87171e6;font-style:normal;font-weight:600}.mistake-pattern-action{color:#f87171e6;cursor:pointer;white-space:nowrap;background:#f871711f;border:1px solid #f8717140;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600}.mistake-pattern-action:hover{background:#f8717133}.session-summary-patterns{margin-top:16px}.session-summary-pattern-row{align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.session-summary-pattern-count{color:#f87171e6;background:#f871711f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.7s linear infinite spin}@keyframes skeleton-pulse{0%{opacity:.06}50%{opacity:.12}to{opacity:.06}}.skeleton{background:var(--text);border-radius:6px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-line{border-radius:4px;height:14px;margin-bottom:10px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.long{width:90%}.skeleton-card{background:var(--text);border-radius:12px;height:80px;margin-bottom:12px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-stat{background:var(--text);border-radius:10px;width:100px;height:60px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-circle{background:var(--text);border-radius:50%;animation:1.5s ease-in-out infinite skeleton-pulse}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.toast{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:10px 20px;font-size:14px;font-weight:500;animation:.25s ease-out toast-in;display:flex;box-shadow:0 4px 16px #0000004d}.toast-success{background:#10b981e6}.toast-info{background:#6366f1d9}.toast-error{background:#e74c3ce6}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.inline-code{color:var(--accent-2);background:#ffffff14;border-radius:4px;padding:1px 5px;font-family:SF Mono,Fira Code,monospace;font-size:.9em}.quick-notes-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:flex-end;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.quick-notes-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:360px;max-width:100%;max-height:60vh;animation:.2s ease-out quick-notes-in;display:flex;box-shadow:0 8px 32px #0006}@keyframes quick-notes-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.quick-notes-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.quick-notes-title{color:var(--text);font-size:14px;font-weight:700}.quick-notes-hint{color:var(--muted);margin-left:auto;font-size:11px}.quick-notes-close{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0 4px;font-size:18px}.quick-notes-close:hover{color:var(--text)}.quick-notes-textarea{min-height:200px;color:var(--text);resize:none;background:0 0;border:none;flex:1;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.6}.quick-notes-textarea::placeholder{color:var(--muted)}.quick-notes-textarea:focus{outline:none}.quick-notes-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;display:flex}.quick-notes-clear{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px}.quick-notes-clear:hover{color:var(--text);border-color:var(--text)}.spinner{vertical-align:middle;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:.6s linear infinite spin;display:inline-block}.offline-banner{z-index:10000;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#e74c3ceb;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;animation:.3s ease-out offline-slide-in;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner-dot{background:#fff;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite offline-pulse}@keyframes offline-slide-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes offline-pulse{0%,to{opacity:1}50%{opacity:.4}}.scroll-to-top{z-index:900;border:1px solid var(--border);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:opacity .2s,transform .2s;animation:.2s ease-out scroll-top-in;display:flex;position:fixed;bottom:80px;right:20px;box-shadow:0 2px 12px #0000004d}.scroll-to-top:hover{background:var(--surface);transform:translateY(-2px)}@keyframes scroll-top-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.confetti-container{pointer-events:none;z-index:9998;position:fixed;inset:0;overflow:hidden}.confetti-particle{border-radius:2px;animation:2.2s cubic-bezier(.25,.46,.45,.94) forwards confetti-fall;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}to{opacity:0;transform:translateY(80vh)rotate(720deg)scale(.3)}}.answer-reveal{animation:.3s ease-out answer-slide-in}@keyframes answer-slide-in{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.session-timer{color:var(--muted);opacity:.7;font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11px;display:inline-flex}.session-timer-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite timer-pulse}@keyframes timer-pulse{0%,to{opacity:.4}50%{opacity:1}}.learning-path-steps{justify-content:center;align-items:center;gap:0;margin:16px 0 20px;display:flex}.learning-path-step{background:var(--surface);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;transition:all .2s;display:flex}.learning-path-step.active{border-color:var(--accent);background:#6ee7b726}.learning-path-step.done{border-color:var(--accent);opacity:.7;background:#6ee7b71a}.learning-path-number{background:var(--border);width:22px;height:22px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.learning-path-step.active .learning-path-number,.learning-path-step.done .learning-path-number{background:var(--accent);color:#052014}.learning-path-label{color:var(--muted);font-size:13px;font-weight:600}.learning-path-step.active .learning-path-label{color:var(--text)}.learning-path-connector{background:var(--border);width:24px;height:2px}.auto-advance-badge{opacity:.8;font-size:12px;font-weight:400}
