:root{--bg:#f8fafc;--card:#ffffff;--soft:#fafbfc;--hover:#f1f5f9;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--primary:#0ea5e9;--primary-dark:#0284c7;--green:#16a34a;--green-bg:#dcfce7;--red:#dc2626;--red-bg:#fee2e2;--select:#e0f2fe;--amber:#d97706;--amber-bg:#fef3c7;--shadow-rgb:15,23,42;--nav-accent:#2563eb;--nav-accent-strong:#1d4ed8;--nav-accent-soft:#dbeafe;--nav-bg:rgba(255,255,255,0.85)}[data-theme=dark]{--bg:#0b1220;--card:#111827;--soft:#1f2937;--hover:#1f2937;--border:#334155;--text:#e2e8f0;--muted:#94a3b8;--primary:#38bdf8;--primary-dark:#7dd3fc;--nav-accent:#60a5fa;--nav-accent-strong:#93c5fd;--nav-accent-soft:#1e3a8a;--nav-bg:rgba(15,23,42,0.78);--green:#4ade80;--green-bg:#052e16;--red:#f87171;--red-bg:#450a0a;--select:#0c4a6e;--amber:#fbbf24;--amber-bg:#422006;--shadow-rgb:0,0,0}[data-theme=dark] body{color-scheme:dark}[data-theme=dark] .card,[data-theme=dark] .stats-card,[data-theme=dark] .study-card,[data-theme=dark] .study-search{background:var(--card);color:var(--text)}[data-theme=dark] .study-bar-row.open,[data-theme=dark] .study-card-pill,[data-theme=dark] .study-examples,[data-theme=dark] .study-sub-summary[aria-expanded=true]{background:var(--soft)}[data-theme=dark] .study-card-topic{background:var(--soft);color:var(--muted)}[data-theme=dark] .progress,[data-theme=dark] .stat-cell .stat-bar,[data-theme=dark] .topic-bar{background:#1f2937}[data-theme=dark] .pill,[data-theme=dark] .practice-stats .pill{background:var(--soft);border-color:var(--border);color:var(--text)}[data-theme=dark] .study-pattern{background:var(--card);border-color:var(--border);color:var(--text)}[data-theme=dark] .study-pattern.answer{background:var(--green-bg);border-color:#166534;color:#bbf7d0}[data-theme=dark] .study-card-pill{color:#fbbf24;background:var(--amber-bg);border-color:#854d0e}[data-theme=dark] .choice{background:var(--card);border-color:var(--border);color:var(--text)}[data-theme=dark] .choice.selected{background:var(--select);border-color:var(--primary)}[data-theme=dark] .choice.correct{background:var(--green-bg);border-color:#166534}[data-theme=dark] .choice.wrong{background:var(--red-bg);border-color:#7f1d1d}[data-theme=dark] .feedback.correct,[data-theme=dark] .study-answer-line{background:var(--green-bg);border-color:#166534;color:#bbf7d0}[data-theme=dark] .feedback.incorrect{background:var(--red-bg);color:#fecaca;border-color:#7f1d1d}[data-theme=dark] .answer-explanation{background:var(--soft);border-color:var(--border);color:var(--text)}[data-theme=dark] .kbd{background:var(--soft);border-color:var(--border);color:var(--muted)}[data-theme=dark] .btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}[data-theme=dark] .btn-ghost:hover{background:var(--soft)}[data-theme=dark] .btn-secondary{background:var(--soft);color:var(--text);border-color:var(--border)}[data-theme=dark] .modes-secondary .stats-card{box-shadow:0 6px 20px rgba(0,0,0,.3)}[data-theme=dark] .study-bar-summary:hover,[data-theme=dark] .study-sub-summary:hover{background:var(--hover)}[data-theme=dark] .answer-row{background:var(--card);border-color:var(--border)}[data-theme=dark] .answer-summary:hover,[data-theme=dark] .answer-summary[aria-expanded=true]{background:var(--soft)}[data-theme=dark] .answer-detail{background:var(--soft);border-top-color:var(--border)}[data-theme=dark] .answer-meta .tag{background:var(--card);color:var(--muted);border-color:var(--border)}[data-theme=dark] .answer-choice{background:var(--card);border-color:var(--border);color:var(--text)}[data-theme=dark] .answer-choice.correct{background:var(--green-bg);border-color:#166534;color:#bbf7d0}[data-theme=dark] .answer-letter{background:var(--green-bg);color:#bbf7d0}[data-theme=dark] .answer-letter.multi{background:#2e1065;color:#c4b5fd}[data-theme=dark] .answer-hotspot,[data-theme=dark] .filter-bar{background:var(--card);border-color:var(--border)}[data-theme=dark] .filter-input,[data-theme=dark] .filter-select{background:var(--soft);color:var(--text);border-color:var(--border)}[data-theme=dark] .filter-select option{background:var(--card);color:var(--text)}.theme-toggle{width:36px;height:36px;border-radius:6px;background:transparent;border:1px solid var(--border);color:var(--text);font-size:14px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;transition:border-color .12s,box-shadow .12s,color .12s}.theme-toggle:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);padding:24px;line-height:1.5;min-height:100vh}.top-nav-spacer{height:64px}@media (max-width:720px){.top-nav-spacer{height:56px}}a{color:var(--primary)}a:hover{color:var(--primary-dark)}.wrap{max-width:1200px;margin:0 auto}.wrap.narrow{max-width:880px}header{margin-bottom:16px}.crumb{font-size:13px;color:var(--muted)}.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}h1{font-size:22px;margin:4px 0 0}h2{margin:0}.topbar{justify-content:space-between;margin-bottom:12px;gap:16px}.stats-row,.topbar{display:flex;align-items:center;flex-wrap:wrap}.stats-row{font-size:13px;color:var(--muted);gap:14px}.stats-row .num{color:var(--text);font-weight:600}.progress{background:#e2e8f0;height:6px;border-radius:3px;overflow:hidden;margin-bottom:16px}.progress-bar{background:var(--primary);height:100%;transition:width .25s}.progress-bar.practice{background:linear-gradient(90deg,#10b981,#059669)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.qhead{color:var(--primary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.qhead,.qmeta{font-size:12px}.qmeta{color:var(--muted);margin-top:4px}.stem{font-size:16px;margin:14px 0 18px;white-space:pre-wrap}.stem mark.kw{background:transparent;color:inherit;padding:1px 4px;border-radius:4px;font-weight:600}.stem mark.kw-service{background:var(--select);color:var(--primary-dark);box-shadow:inset 0 -2px 0 rgba(2,132,199,.35)}.stem mark.kw-keyword{background:#fef9c3;color:#713f12}.choices{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.choice{padding:12px 16px;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .12s;display:flex;gap:10px;align-items:flex-start;background:var(--card);-webkit-user-select:none;-moz-user-select:none;user-select:none}.choice:hover{border-color:#cbd5e1}.choice.selected{border-color:var(--primary);background:var(--select)}.choice.correct{border-color:var(--green);background:var(--green-bg)}.choice.wrong{border-color:var(--red);background:var(--red-bg)}.choice.disabled{cursor:default;opacity:1}.choice-label{font-weight:700;min-width:22px}.choice-text{flex:1 1}.choice-mark{font-size:18px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}button{padding:10px 18px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-family:inherit}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{background:#cbd5e1;cursor:not-allowed}.btn-secondary{background:#475569;color:white}.btn-secondary:hover{background:#334155}.btn-secondary:disabled{background:#cbd5e1;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover{background:#f1f5f9}.btn-danger{background:transparent;color:var(--red);border:1px solid var(--red)}.btn-danger:hover{background:var(--red-bg)}.feedback{margin-top:14px;padding:12px 16px;border-radius:8px;font-size:14px;display:none}.feedback.show{display:block}.feedback.correct{background:var(--green-bg);color:#14532d;border-left:4px solid var(--green)}.feedback.incorrect{background:var(--red-bg);color:#7f1d1d;border-left:4px solid var(--red)}.hint{font-size:12px;color:var(--muted);margin-top:8px}.summary{text-align:center;padding:32px}.summary .big{font-size:48px;font-weight:700;color:var(--primary)}.summary .sub{color:var(--muted);margin-top:8px}.summary .pass-badge{display:inline-block;margin-top:14px;padding:6px 16px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px}.summary .pass-badge.pass{background:var(--green-bg);color:#14532d}.summary .pass-badge.fail{background:var(--red-bg);color:#7f1d1d}footer{margin-top:24px;text-align:center;font-size:12px;color:var(--muted)}.kbd{font-family:ui-monospace,SFMono-Regular,monospace;background:#f1f5f9;padding:1px 5px;border-radius:3px;border:1px solid var(--border);font-size:11px}.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px;margin-bottom:22px}.modes.modes-primary{grid-template-columns:repeat(3,1fr)}.modes.modes-secondary,.modes.modes-tertiary{grid-template-columns:1fr 1fr}@media (max-width:980px){.modes.modes-primary,.modes.modes-secondary,.modes.modes-tertiary{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.mode-card{color:white;border-radius:14px;padding:24px;box-shadow:0 6px 20px rgba(15,23,42,.1);display:flex;flex-direction:column;text-decoration:none;transition:transform .18s,box-shadow .18s}.mode-card:focus-visible,.mode-card:hover{color:white;transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.18)}.mode-card.mock{background:linear-gradient(135deg,#0ea5e9,#0369a1)}.mode-card.practice{background:linear-gradient(135deg,#10b981,#059669)}.mode-card.answers{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.mode-card.answers .mode-cta{color:#5b21b6}.mode-card.answers .mode-cta:hover{background:#f5f3ff}.mode-card.study{background:linear-gradient(135deg,#f43f5e,#be123c)}.mode-card.study .mode-cta{color:#be123c}.mode-card.study .mode-cta:hover{background:#fff1f2}.mode-card.topics{background:linear-gradient(135deg,#6366f1,#4338ca)}.mode-card.topics .mode-cta{color:#4338ca}.mode-card.topics .mode-cta:hover{background:#eef2ff}.mode-card.video{background:linear-gradient(135deg,#f97316,#c2410c)}.mode-card.video .mode-cta{color:#9a3412}.mode-card.video .mode-cta:hover{background:#fff7ed}.mode-card.sandbox{background:linear-gradient(135deg,#14b8a6,#0f766e)}.mode-card.sandbox .mode-cta{color:#115e59}.mode-card.sandbox .mode-cta:hover{background:#f0fdfa}.mode-card .mode-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:6px}.mode-card h2{margin:0 0 6px;font-size:22px;color:white}.mode-card .mode-meta{font-size:13px;opacity:.92;margin-bottom:16px;line-height:1.45}.mode-card .mode-cta{background:white;font-size:15px;padding:11px 20px;text-decoration:none;display:inline-block;border-radius:8px;font-weight:700;align-self:flex-start;transition:transform .12s,box-shadow .12s}.mode-card .mode-cta:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.12)}.mode-card.mock .mode-cta{color:#0369a1}.mode-card.mock .mode-cta:hover{background:#f0f9ff}.mode-card.practice .mode-cta{color:#047857}.mode-card.practice .mode-cta:hover{background:#ecfdf5}.mode-card .mode-extra{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22);font-size:13px;min-height:24px}.mode-card .mode-extra a{color:white;opacity:.9;text-decoration:underline}.mode-card .mode-extra a:hover{opacity:1}.mode-card .mode-extra .empty{opacity:.85}.mode-card .mode-note{margin-top:14px;font-size:11px;line-height:1.4;opacity:.82;font-style:italic}.recent-row{display:flex;gap:12px;align-items:center;padding:4px 0}.recent-row .badge{display:inline-block;min-width:22px;text-align:center;font-weight:700}.recent-row .badge.pass{color:#bef264}.recent-row .badge.fail{color:#fecaca}.stats-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(15,23,42,.06)}.stats-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.stats-card-title{display:flex;flex-direction:column;gap:4px}.progress-view-select{font-family:inherit;font-size:13px;font-weight:600;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:6px;padding:4px 24px 4px 8px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 12px),calc(100% - 8px);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.progress-view-select:focus{outline:2px solid var(--primary);outline-offset:1px}[data-theme=dark] .progress-view-select{background-color:var(--soft)}[data-theme=dark] .progress-view-select option{background:var(--card);color:var(--text)}.stats-card-header .mode-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}.stats-card-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px 24px;gap:18px 24px;flex:1 1;align-content:center}.stat-cell{display:flex;flex-direction:column;gap:2px}.stat-cell .stat-num{font-size:22px;font-weight:700;color:var(--text);line-height:1.1}.stat-cell .stat-num.accent{color:var(--primary)}.stat-cell .stat-num.green{color:var(--green)}.stat-cell .stat-num.amber{color:var(--amber)}.stat-cell .stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stat-cell .stat-bar{height:4px;background:#e2e8f0;border-radius:2px;margin-top:6px;overflow:hidden}.stat-cell .stat-bar .fill{height:100%;background:var(--primary);transition:width .3s}.stat-cell .stat-bar .fill.green{background:var(--green)}.btn-clear{font-size:12px;padding:6px 12px}.section-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:8px 0 10px}.topic-section{margin-bottom:24px}.topic-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--border);padding-bottom:6px;margin-bottom:6px}.topic-title{font-size:18px;color:var(--text);margin:0}.topic-progress{font-size:12px;color:var(--muted);font-weight:500}.topic-progress .done{color:var(--green);font-weight:700}.topic-progress.empty{opacity:.65}.topic-meta{font-size:12px;color:var(--muted);margin-bottom:8px}.topic-bar{height:3px;background:#eef2f6;border-radius:2px;overflow:hidden;margin-bottom:12px}.topic-bar .fill{height:100%;background:var(--green);transition:width .3s}.sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:8px;gap:8px}.sub-link{display:block;padding:12px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text);background:var(--card);transition:.12s}.sub-link:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.05)}.sub-name{font-weight:600;font-size:14px}.sub-meta{font-size:12px;color:var(--muted);margin-top:2px}.sub-progress{font-size:11px;color:var(--green);margin-top:4px;min-height:14px}.practice-stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.practice-stats .pill{background:var(--card);border:1px solid var(--border);padding:4px 10px;border-radius:999px}.practice-stats .pill .num{font-weight:700;color:var(--text)}.practice-stats .pill.correct .num{color:var(--green)}.practice-stats .pill.miss .num{color:var(--red)}.practice-stats .pill.queue .num{color:var(--primary-dark)}.miss-badge,.practice-stats .pill.accuracy .num{color:var(--amber)}.miss-badge{display:inline-block;margin-left:8px;background:var(--amber-bg);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.loading{color:var(--muted)}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin-bottom:18px}.filter-cell{display:flex;flex-direction:column;gap:4px;min-width:180px}.filter-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.filter-input,.filter-select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:white;color:var(--text);font-size:14px;font-family:inherit;min-width:0;width:100%}.filter-input:focus,.filter-select:focus{outline:2px solid var(--primary);outline-offset:1px}.filter-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);padding:6px 0}.filter-toggle input{width:16px;height:16px;cursor:pointer}.answer-group{margin-bottom:22px}.answer-group-title{font-size:14px;color:var(--text);margin:0 0 8px;border-bottom:1px solid var(--border);padding-bottom:6px;display:flex;align-items:baseline;gap:8px}.answer-group-count{font-size:12px;color:var(--muted);font-weight:500}.answer-list{display:flex;flex-direction:column;gap:6px}.answer-row{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.answer-row.open{box-shadow:0 1px 4px rgba(0,0,0,.04)}.answer-summary{width:100%;background:transparent;border:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 14px;text-align:left;font-family:inherit;font-weight:500}.answer-summary:hover{background:#f8fafc}.answer-summary[aria-expanded=true]{background:#f1f5f9}.answer-id{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:var(--muted);min-width:42px}.answer-stem{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.answer-letter{background:var(--green-bg);color:#14532d;font-weight:700;font-size:12px;padding:3px 10px;border-radius:999px;letter-spacing:.04em}.answer-letter.multi{background:#ede9fe;color:#5b21b6}.answer-toggle{color:var(--muted);font-size:14px}.answer-detail{padding:4px 14px 14px;border-top:1px solid var(--border);background:#fafbfc}.answer-meta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}.answer-meta .tag{font-size:11px;color:var(--muted);background:white;border:1px solid var(--border);padding:2px 8px;border-radius:999px}.answer-stem-full{font-size:14px;color:var(--text);white-space:pre-wrap;margin-bottom:10px}.answer-choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.answer-choice{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:flex-start;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:white;font-size:13px}.answer-choice.correct{border-color:var(--green);background:var(--green-bg);color:#14532d}.answer-choice-label{font-weight:700}.answer-choice-text{white-space:pre-wrap}.answer-choice-mark{color:var(--green);font-weight:700}.answer-hotspot{margin:8px 0 12px;border:1px solid var(--border);border-radius:6px;background:white;padding:8px}.answer-hotspot img{display:block;max-width:100%;height:auto;border-radius:4px}.answer-explanation{margin-top:12px;padding:10px 12px;background:var(--green-bg);color:#14532d;border-radius:6px;border-left:3px solid var(--green);font-size:13px}.answer-explanation-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#166534;margin-bottom:4px}.answer-explanation-text{white-space:pre-wrap}.top-nav{position:fixed;top:0;left:0;right:0;z-index:90;background:var(--card);border-bottom:1px solid var(--border)}.top-nav-inner{padding:12px 24px;display:flex;align-items:center;gap:16px}.top-nav-left{flex:1 1 auto;min-width:0}.top-nav-right{display:flex;align-items:center;gap:8px}@media (max-width:720px){.top-nav-inner{padding:10px 14px;gap:10px}}.profile-button{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:13px;cursor:pointer;transition:border-color .12s,box-shadow .12s,color .12s}.profile-button:hover{border-color:var(--nav-accent);color:var(--nav-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nav-accent) 18%,transparent)}.profile-button.signed-in{border-color:color-mix(in srgb,var(--green) 60%,var(--border));color:var(--text)}.profile-button.signed-in:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 6px color-mix(in srgb,var(--green) 70%,transparent)}.profile-button.signed-in:hover{border-color:var(--green);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}.profile-button.signed-in .profile-button-icon{display:none}.profile-button-icon{font-size:13px}.profile-button-label{font-family:ui-monospace,SFMono-Regular,monospace;font-weight:600;letter-spacing:.02em;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-button-caret{font-size:9px;color:var(--muted)}.profile-modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(15,23,42,.35);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 16px;animation:profile-modal-fade .12s ease-out}[data-theme=dark] .profile-modal-backdrop{background:rgba(0,0,0,.45)}@keyframes profile-modal-fade{0%{opacity:0}to{opacity:1}}.profile-modal-card{width:100%;max-width:420px;background:rgba(255,255,255,.55);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:var(--text);border:1px solid color-mix(in srgb,var(--nav-accent) 18%,rgba(255,255,255,.4));border-radius:14px;box-shadow:0 20px 60px rgba(var(--shadow-rgb),.35),inset 0 1px 0 rgba(255,255,255,.5);display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .profile-modal-card{background:rgba(17,24,39,.55);border-color:color-mix(in srgb,var(--nav-accent) 22%,rgba(255,255,255,.08));box-shadow:0 20px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06)}.profile-modal-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.profile-modal-title{font-size:16px;font-weight:700;margin:0;flex:1 1 auto}.profile-modal-back,.profile-modal-close{width:30px;height:30px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center}.profile-modal-back:hover,.profile-modal-close:hover{background:var(--hover);color:var(--text)}.profile-modal-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.profile-modal-input{width:100%;box-sizing:border-box;font-size:14px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-family:inherit}.profile-modal-input:focus{outline:2px solid var(--primary);outline-offset:-1px}.profile-modal-input.pin-input{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.4em;text-align:center;max-width:140px}.profile-modal-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.profile-modal-pin-row{display:flex;gap:12px;flex-wrap:wrap}.profile-modal-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.profile-modal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:13px;cursor:pointer;text-align:left;transition:background .1s,border-color .1s}.profile-modal-row:hover{background:var(--hover);border-color:var(--primary)}.profile-modal-row.create{background:var(--soft);border-style:dashed}.profile-modal-row.create:hover{background:var(--hover);border-color:var(--primary)}.profile-modal-row-name{font-weight:600}.profile-modal-row-meta{font-size:11px;color:var(--muted)}.profile-modal-body-center{align-items:center}.profile-modal-field-center{align-items:center;text-align:center}.profile-modal-actions-center{justify-content:center}.profile-modal-hint{font-size:12px;color:var(--muted)}.profile-modal-create-btn{width:100%;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600;background:var(--nav-accent);color:#fff;border:1px solid var(--nav-accent);border-radius:8px;cursor:pointer;transition:background .12s,box-shadow .12s}.profile-modal-create-btn:hover{background:var(--nav-accent-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--nav-accent) 22%,transparent)}.profile-modal-error{font-size:13px;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;padding:8px 10px;border-radius:6px}[data-theme=dark] .profile-modal-error{color:#fecaca;background:#450a0a;border-color:#7f1d1d}.profile-modal-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.profile-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--soft);border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.profile-modal-foot-text b{color:var(--text);font-weight:700}.pin-input{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.4em;text-align:center}.subject-switcher{display:flex;gap:8px;flex-wrap:wrap}.subject-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;text-decoration:none;color:var(--muted);font-size:13px;transition:border-color .12s,box-shadow .12s,color .12s}.subject-pill:hover{color:var(--text);border-color:var(--nav-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nav-accent) 16%,transparent)}.subject-pill.active{color:#fff;border-color:var(--nav-accent);background:var(--nav-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nav-accent) 25%,transparent);cursor:default}.subject-pill .subject-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:3px;background:transparent;border:1px solid var(--border);color:var(--muted);transition:color .12s,border-color .12s,background .12s}.subject-pill:hover .subject-code{color:var(--nav-accent);border-color:var(--nav-accent)}.subject-pill.active .subject-code{color:#fff;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.12)}.subject-pill .subject-name{font-weight:500}.gate-shell{min-height:calc(100vh - 48px);display:flex;align-items:center;justify-content:center;padding:16px}.gate-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px 24px;box-shadow:0 10px 30px rgba(15,23,42,.1);display:flex;flex-direction:column;gap:10px}.gate-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.gate-title{margin:0;font-size:22px}.gate-meta{margin:0 0 10px;font-size:13px;color:var(--muted)}.gate-input{padding:11px 14px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:15px;background:white;color:var(--text)}.gate-input:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.gate-input[aria-invalid=true]{border-color:var(--red);outline-color:var(--red)}.gate-error{font-size:13px;color:var(--red);background:var(--red-bg);border-radius:6px;padding:8px 12px}.gate-submit{margin-top:4px}.study-bar-row{border-bottom:1px solid var(--border)}.study-bar-row:last-child{border-bottom:none}.study-bar-row.open{background:#fafbfc}.study-bar-summary{width:100%;background:transparent;border:none;cursor:pointer;display:grid;grid-template-columns:minmax(160px,1.5fr) auto minmax(120px,2fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 14px;text-align:left;font-family:inherit;font-size:13px}.study-bar-summary:hover{background:#f1f5f9}.study-bar-name{font-weight:600;color:var(--text)}.study-bar-count{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;color:var(--muted);min-width:32px;text-align:right}.study-bar{display:block;background:#eef2f6;height:6px;border-radius:3px;overflow:hidden}.study-bar .fill{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-dark));transition:width .3s}.study-bar-toggle{color:var(--muted);font-size:14px}.study-bar-footer{padding:10px 14px;text-align:center;border-top:1px solid var(--border);background:#fafbfc}.study-service-detail{display:flex;flex-direction:column;border-top:1px solid var(--border);background:white}.study-service-q{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:6px 18px;font-size:12px;border-bottom:1px solid #f1f5f9}.study-service-q:last-child{border-bottom:none}.study-sub{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;overflow:hidden}.study-sub.open{box-shadow:0 1px 4px rgba(0,0,0,.04)}.study-sub-summary{width:100%;background:transparent;border:none;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 14px;text-align:left;font-family:inherit}.study-sub-summary:hover{background:#f8fafc}.study-sub-summary[aria-expanded=true]{background:#f1f5f9}.study-sub-name{font-weight:600;font-size:14px;color:var(--text)}.study-sub-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.study-sub-topic{background:#f1f5f9}.study-multi-badge,.study-sub-topic{border-radius:999px;padding:2px 8px;font-size:11px}.study-multi-badge{background:#ede9fe;color:#5b21b6;font-weight:600}.study-sub-toggle{color:var(--muted);font-size:14px}.study-sub-detail{padding:6px 14px 14px;border-top:1px solid var(--border);background:#fafbfc}.study-block{margin-top:10px}.study-block-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.study-pattern-list{display:flex;flex-wrap:wrap;gap:6px}.study-pattern{background:white;border:1px solid var(--border);padding:4px 10px;border-radius:999px;font-size:12px;color:var(--text)}.study-pattern b{color:var(--muted);font-weight:600;margin-left:4px;font-size:11px}.study-pattern.answer{background:var(--green-bg);border-color:#bbf7d0;color:#14532d}.study-pattern.answer b{color:#166534}.study-controls{display:inline-flex;gap:6px;margin-left:12px;text-transform:none;letter-spacing:normal}.study-multi-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:8px 14px;font-size:13px;border-bottom:1px solid var(--border)}.study-multi-row:last-child{border-bottom:none}.study-multi-id{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:var(--muted);min-width:42px}.study-multi-stem{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.study-multi-letters{background:#ede9fe;color:#5b21b6;font-weight:700;font-size:12px;padding:3px 10px;border-radius:999px;letter-spacing:.04em}.study-answer-list{display:flex;flex-direction:column;gap:3px;max-width:42ch;min-width:0;align-items:flex-end}.study-answer-line{font-size:12px;color:#166534;font-weight:500;background:var(--green-bg);border:1px solid #bbf7d0;padding:2px 8px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.4}.study-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.study-search{flex:1 1 280px;min-width:240px;font-size:14px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--text)}.study-search:focus{outline:2px solid var(--primary);outline-offset:-1px}.study-topic-pills{display:flex;flex-wrap:wrap;gap:6px}.study-topic{background:white;border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12px;color:var(--text);cursor:pointer;font-family:inherit}.study-topic:hover{background:#f1f5f9}.study-topic.active{background:var(--primary);color:white;border-color:var(--primary);font-weight:600}.study-atlas{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px;margin-top:18px}.study-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.study-card:hover{box-shadow:0 4px 14px rgba(15,23,42,.08)}.study-card.open{box-shadow:0 6px 22px rgba(15,23,42,.12);border-color:var(--primary)}.study-card-head{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:none;cursor:pointer;font-family:inherit;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border)}.study-card.open .study-card-head{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.study-card-name{font-size:16px;font-weight:700;color:var(--primary-dark);letter-spacing:-.01em}.study-card.open .study-card-name{color:white}.study-card-count{font-size:13px;font-weight:700;background:white;border-radius:999px;padding:2px 10px;min-width:32px;text-align:center}.study-card-count,.study-card.open .study-card-count{color:var(--primary-dark)}.study-card-body{padding:12px 16px 14px;display:flex;flex-direction:column;gap:12px;flex:1 1}.study-card-block{display:flex;flex-direction:column;gap:6px}.study-card-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.study-card-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.study-card-list li{display:flex;gap:6px;align-items:baseline;justify-content:space-between;font-size:13px;color:var(--text);line-height:1.4}.study-card-text{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.study-card-x{color:var(--muted);font-size:11px;font-weight:600;flex-shrink:0}.study-card-pills{display:flex;flex-wrap:wrap;gap:5px}.study-card-pill{font-size:12px;color:#b45309;font-weight:600;background:#fef3c7;border:1px solid #fde68a;padding:2px 9px;border-radius:4px}.study-card-topics{display:flex;flex-wrap:wrap;gap:4px;padding-top:4px;border-top:1px solid var(--border)}.study-card-topic{font-size:10px;color:var(--muted);background:#f1f5f9;border-radius:4px;padding:2px 6px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.study-card-expand{background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--primary);text-align:left;padding:4px 0;align-self:flex-start}.study-card-expand:hover{color:var(--primary-dark);text-decoration:underline}.study-examples{gap:10px;padding:10px;margin-top:4px;background:#fafbfc;border-radius:8px;border:1px solid var(--border)}.study-example,.study-examples{display:flex;flex-direction:column}.study-example{gap:4px;padding-bottom:8px;border-bottom:1px dashed var(--border)}.study-example:last-child{border-bottom:none;padding-bottom:0}.study-example-stem{font-size:12px;color:var(--text);line-height:1.4}.study-example-answer{display:flex;flex-direction:column;gap:2px}.study-example-line{font-size:12px;color:#166534;font-weight:600;line-height:1.4}