.app{max-width:880px;margin:0 auto;padding:32px 24px 64px}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;margin-bottom:32px;border-bottom:1px solid var(--paper-line);flex-wrap:wrap}.header-mark{display:flex;align-items:center;gap:14px}.wordmark{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.01em}.tagline{font-size:12.5px;color:var(--ink-soft);font-family:var(--font-body)}@media (max-width: 400px){.wordmark{font-size:16px}}.stats-strip{display:flex;gap:24px}.stat-item{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--font-mono)}.stat-value{font-size:18px;font-weight:600;color:var(--ink)}.stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.stamp{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid currentColor;box-shadow:0 0 0 3px var(--paper),0 0 0 4px currentColor;font-family:var(--font-mono);font-weight:600;flex-shrink:0;background:var(--paper)}.stamp--ink{color:var(--ink)}.stamp--gold{color:var(--gold)}.section-heading h1{font-family:var(--font-display);font-size:30px;margin:0 0 6px;font-weight:600}.section-heading p{color:var(--ink-soft);margin:0 0 24px}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.topic-card{position:relative;text-align:left;background:#fff;border:1px solid var(--paper-line);border-radius:10px;padding:20px;cursor:pointer;font-family:inherit;color:inherit;transition:border-color .15s ease,transform .15s ease}.topic-card:hover{border-color:var(--gold);transform:translateY(-1px)}.topic-card-top{margin-bottom:14px}.ai-pick-badge{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:4px;background:var(--gold);color:#fff;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:100px}.topic-name{font-family:var(--font-display);font-size:17px;font-weight:600;margin-bottom:4px}.topic-hint{font-size:13px;color:var(--ink-soft);margin-bottom:14px;line-height:1.4}.mastery-track{height:5px;border-radius:3px;background:var(--paper-line);overflow:hidden;margin-bottom:8px}.mastery-fill{height:100%;background:var(--teal);border-radius:3px;transition:width .3s ease}.topic-meta{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft)}.question-view{max-width:640px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--ink-soft);font-family:var(--font-mono);font-size:12.5px;cursor:pointer;padding:0;margin-bottom:20px}.back-link:hover{color:var(--ink)}.question-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;flex-wrap:wrap;gap:8px}.eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.mini-stats{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.mini-stats .dot{margin:0 6px}.state-panel{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 0;color:var(--ink-soft)}.state-panel--error p{text-align:center;max-width:420px}.spin{animation:spin 1s linear infinite;color:var(--gold)}@keyframes spin{to{transform:rotate(360deg)}}.question-card{background:#fff;border:1px solid var(--paper-line);border-radius:12px;padding:28px}.question-text{font-family:var(--font-display);font-size:19px;line-height:1.45;margin:0 0 22px}.options{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;border-radius:8px;border:1px solid var(--paper-line);background:var(--paper);font-family:inherit;font-size:14.5px;color:var(--ink);cursor:pointer}.option:hover:not(:disabled){border-color:var(--gold)}.option:disabled{cursor:default}.option-letter{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink-soft);width:18px;flex-shrink:0}.option-icon{margin-left:auto;flex-shrink:0}.option--correct{border-color:var(--teal);background:#2c6b6814}.option--correct .option-icon{color:var(--teal)}.option--incorrect{border-color:#b3462c;background:#b3462c0f}.option--incorrect .option-icon{color:#b3462c}.explanation{margin-top:22px;padding-top:20px;border-top:1px dashed var(--paper-line)}.explanation-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:6px}.explanation p{line-height:1.55;margin:0 0 18px}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:14px;border-radius:8px;padding:11px 18px;cursor:pointer;border:none}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:var(--gold)}.btn--ghost{background:transparent;border:1px solid var(--paper-line);color:var(--ink)}.footer{margin-top:56px;padding-top:20px;border-top:1px solid var(--paper-line);font-size:12px;color:var(--ink-soft);text-align:center}@media (max-width: 560px){.header{flex-direction:column;align-items:flex-start}.stats-strip{align-self:stretch;justify-content:space-between}}.ap-shell-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--ink);border-bottom:1px solid #2a3a58;position:sticky;top:0;z-index:100}.ap-shell-brand{display:flex;align-items:center;gap:10px;min-height:44px;background:none;border:none;padding:4px 2px;cursor:pointer;border-radius:6px}.ap-shell-brand-icon,.ap-shell-brand-compact-word{display:none}.ap-shell-brand-full{display:flex}@media (max-width: 640px){.ap-shell-brand-compact-word{display:flex}.ap-shell-brand-full{display:none}}@media (max-width: 390px){.ap-shell-brand-icon{display:flex}.ap-shell-brand-compact-word{display:none}}.ap-shell-tabs{display:flex;align-items:center;gap:4px}.ap-shell-tab{font-family:var(--font-body);font-weight:600;font-size:13.5px;letter-spacing:.01em;padding:9px 14px;min-height:44px;border-radius:7px;border:1px solid transparent;background:transparent;color:#9aa7bf;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap}.ap-shell-tab:hover{color:var(--paper)}.ap-shell-tab.active{color:var(--gold-bright);background:#d4af371a;box-shadow:inset 0 -2px 0 var(--gold)}.ap-shell-tab .ap-shell-tab-mid,.ap-shell-tab .ap-shell-tab-short{display:none}@media (max-width: 640px){.ap-shell-nav{padding:10px;gap:6px}.ap-shell-tabs{gap:0}.ap-shell-tab{padding:9px 8px;font-size:12.5px}.ap-shell-tab .ap-shell-tab-full{display:none}.ap-shell-tab .ap-shell-tab-mid{display:inline}}@media (max-width: 390px){.ap-shell-nav{padding:10px 12px;gap:6px}.ap-shell-tabs{gap:2px}.ap-shell-tab{padding:9px}.ap-shell-tab .ap-shell-tab-mid{display:none}.ap-shell-tab .ap-shell-tab-short{display:inline}}:root{--ink: #16233b;--ink-deep: #0d1622;--ink-soft: #5b6a85;--paper: #faf7f1;--paper-line: #e7e0d2;--surface-muted: #f1ece1;--gold: #b4841e;--gold-bright: #d4af37;--teal: #2c6b68;--rust: #b3462c;--success: #2c6b68;--warning: #b4841e;--error: #b3462c;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);background-image:radial-gradient(circle at 1px 1px,var(--paper-line) 1px,transparent 0);background-size:28px 28px;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}*:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}button{font-family:inherit}
