:root{--surface-1: #0c0f14;--surface-2: #121720;--surface-3: #18202c;--surface-4: #202b3b;--bg-main: var(--surface-1);--bg-base: var(--surface-1);--bg-subtle: var(--surface-2);--bg-surface: var(--surface-2);--bg-surface-hover: var(--surface-3);--bg-card: var(--surface-2);--bg-card-hover: var(--surface-3);--bg-panel: var(--surface-2);--bg-elevated: var(--surface-4);--bg-input: #090d13;--bg-media: #070a0f;--text-1: #f1f5f9;--text-2: #b4c2d8;--text-3: #8c9eb4;--text-inverted: #0c0f14;--text-main: var(--text-1);--text-primary: var(--text-1);--text-muted: var(--text-2);--text-secondary: var(--text-2);--text-dim: var(--text-3);--text-tertiary: var(--text-3);--border-color: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .16);--border-hover: rgba(255, 255, 255, .16);--border-focus: #f06454;--accent-coral: #f06454;--accent-coral-hover: #e05343;--accent-coral-active: #cc4536;--accent-coral-subtle: rgba(240, 100, 84, .1);--accent-coral-border: rgba(240, 100, 84, .35);--accent-coral-glow: rgba(240, 100, 84, .2);--accent: var(--accent-coral);--accent-subtle: var(--accent-coral-subtle);--accent-border: var(--accent-coral-border);--accent-hover: var(--accent-coral-hover);--accent-active: var(--accent-coral-active);--accent-cyan: var(--accent-coral);--accent-blue: var(--accent-coral);--accent-blue-hover: var(--accent-coral-hover);--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #fa5e5e;--accent-green: var(--color-success);--accent-green-subtle: rgba(34, 197, 94, .12);--accent-green-border: rgba(34, 197, 94, .32);--accent-amber: var(--color-warning);--accent-amber-subtle: rgba(245, 158, 11, .12);--accent-amber-border: rgba(245, 158, 11, .32);--accent-red: var(--color-error);--accent-red-subtle: rgba(239, 68, 68, .12);--accent-red-border: rgba(239, 68, 68, .32);--radius-control: 10px;--radius-card: 16px;--radius-pill: 999px;--radius-sm: var(--radius-control);--radius-md: var(--radius-control);--radius-lg: var(--radius-card);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--dur-press: .14s;--dur-fast: .18s;--dur-base: .24s;--dur-slow: .42s;--z-base: 1;--z-header: 100;--z-dropdown: 200;--z-modal-backdrop: 500;--z-modal: 510;--z-overlay: 600;--z-skip-link: 1000;--font-sans: "Geist Variable", "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--font-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--font-base: var(--font-sans);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--w-page: 1120px;--w-reading: 880px;--max-w-content: var(--w-page);--nav-height: 60px;--shadow-subtle: 0 1px 2px rgba(8, 11, 16, .4), 0 2px 8px rgba(8, 11, 16, .25);--shadow-card: 0 4px 16px rgba(8, 11, 16, .5), 0 1px 3px rgba(8, 11, 16, .3);--shadow-elevated: 0 12px 32px rgba(8, 11, 16, .65), 0 2px 6px rgba(8, 11, 16, .35);--skeleton-bg: var(--surface-3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100dvh;background-color:var(--surface-1);color:var(--text-1);font-family:var(--font-sans);font-size:16px;line-height:1.6;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:80px;scroll-padding-bottom:80px}[data-testid]{scroll-margin-top:80px;scroll-margin-bottom:80px}@media (max-width: 767px){html,body,.study-main{scroll-padding-top:140px;scroll-padding-bottom:90px}[data-testid]{scroll-margin-top:140px;scroll-margin-bottom:90px}}body{display:flex;flex-direction:column}#study-app{display:flex;flex-direction:column;min-height:100dvh;width:100%;overflow-x:clip}.skip-link{position:absolute;top:-9999px;left:16px;background:var(--accent-coral);color:var(--text-inverted);padding:8px 16px;font-weight:700;border-radius:var(--radius-control);z-index:var(--z-skip-link);text-decoration:none;box-shadow:var(--shadow-elevated)}.skip-link:focus{top:16px;outline:2px solid #ffffff;outline-offset:2px}:focus-visible{outline:2px solid var(--accent-coral)!important;outline-offset:2px!important}main[tabindex="-1"]:focus,main[tabindex="-1"]:focus-visible,.study-main:focus,.study-main:focus-visible{outline:none!important}button:active:not(:disabled),.btn:active:not(:disabled),.btn-google:active:not(:disabled){transform:translateY(1px)}code,kbd,samp,pre,.meta-value-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-transparency: reduce){.study-header{background:var(--surface-1)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}.study-header{background:#0c0f14f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:var(--z-header);width:100%;height:60px;max-height:64px;display:flex;align-items:center;transition:border-color var(--dur-fast) var(--ease-out)}.nav-container{max-width:var(--max-w-content);width:100%;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:100%}.brand-link{font-size:1.15rem;font-weight:700;color:var(--text-1);text-decoration:none;display:inline-flex;align-items:center;min-height:32px;gap:10px;letter-spacing:-.02em;flex-shrink:0}.brand-link:hover{color:#fff}.brand-logo{width:28px;height:28px;display:block;flex-shrink:0;object-fit:contain}.brand-badge{font-size:.72rem;background:var(--accent-coral-subtle);color:var(--accent-coral);border:1px solid var(--accent-coral-border);padding:2px 7px;border-radius:var(--radius-pill);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.study-nav{display:flex;align-items:center;gap:var(--space-2);height:100%}.nav-link{color:var(--text-2);text-decoration:none;font-size:.9rem;font-weight:500;padding:0 var(--space-3);min-height:28px;height:100%;display:inline-flex;align-items:center;border-bottom:2px solid transparent;transition:color var(--dur-fast),border-color var(--dur-fast);white-space:nowrap}.nav-link:hover{color:var(--text-1)}.nav-link.active,.nav-link[aria-current=page]{color:var(--text-1);background:transparent;border-bottom:2px solid var(--accent-coral);font-weight:600}@media (min-width: 768px) and (max-width: 940px){.nav-container{padding:0 16px;gap:12px}.brand-link{gap:8px}.study-nav{gap:4px}.nav-link{padding:0 8px;font-size:.86rem}}@media (max-width: 767px){.study-header{height:auto;max-height:none;padding:6px 0}.nav-container{flex-direction:column;align-items:stretch;gap:4px;padding:0 8px;height:auto}.brand-link{min-height:32px;font-size:1.05rem}.study-nav{display:flex;flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none;gap:4px;padding-bottom:0;height:auto}.study-nav::-webkit-scrollbar{display:none}.nav-link{flex-shrink:0;min-height:32px;height:32px;padding:0 6px;font-size:.8125rem;border-radius:var(--radius-control);text-align:center;justify-content:center}@media (max-width: 520px){.study-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:100%}.study-nav .nav-link{padding:0 2px;font-size:.775rem}}.nav-link.active,.nav-link[aria-current=page]{background:var(--surface-3)}}.study-main{flex:1;max-width:var(--max-w-content);width:100%;margin:0 auto;padding:28px 24px 90px;outline:none;box-sizing:border-box;scroll-margin-top:80px;scroll-padding-top:80px;scroll-padding-bottom:90px}#study-notice-slot:empty{display:none!important}main:focus,.study-main:focus{outline:none}.redirect-notice{background:var(--accent-amber-subtle);border:1px solid var(--accent-amber-border);color:#fde68a;padding:14px 18px;border-radius:var(--radius-md);margin-bottom:24px;font-size:.92rem;display:flex;align-items:center;gap:12px;line-height:1.45;box-shadow:0 2px 8px #0003}.redirect-notice svg{color:var(--accent-amber);flex-shrink:0}.session-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 16px;color:var(--text-muted);gap:16px}.spinner{width:38px;height:38px;border:3px solid rgba(255,255,255,.08);border-top-color:var(--accent-coral);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px;margin-bottom:20px;box-shadow:0 4px 20px #0000004d;transition:border-color .2s ease,box-shadow .2s ease}.page-title{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin-bottom:6px;color:var(--text-main);line-height:1.25}.page-subtitle{color:var(--text-muted);font-size:.95rem;line-height:1.55;margin-bottom:24px}.text-center{text-align:center}.auth-container{max-width:420px;width:100%;margin:var(--space-8) auto;background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-elevated);box-sizing:border-box}.auth-header{text-align:center;margin-bottom:var(--space-6)}.auth-header .page-title{margin-bottom:var(--space-2)}.auth-header .page-subtitle{margin-bottom:0}.auth-tabs{display:flex;background:var(--surface-1);padding:4px;border-radius:var(--radius-control);margin-bottom:var(--space-5);border:1px solid var(--border-color)}.auth-tab{flex:1;padding:8px 12px;background:transparent;border:none;color:var(--text-2);font-size:.88rem;font-weight:600;border-radius:var(--radius-control);cursor:pointer;transition:all var(--dur-fast)}.auth-tab.active{background:var(--surface-2);color:var(--text-1);box-shadow:var(--shadow-subtle)}.btn-google{width:100%;min-height:44px;background:var(--surface-3);color:var(--text-1);border:1px solid var(--border-color);padding:10px 16px;font-weight:600;font-size:.92rem;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;gap:var(--space-3);cursor:pointer;transition:background-color var(--dur-fast),border-color var(--dur-fast),transform var(--dur-press)}.auth-submit-btn,.auth-container .btn-primary{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);box-sizing:border-box}.btn-google:hover:not(:disabled){background:var(--surface-4);border-color:var(--border-strong);color:#fff}.auth-divider{display:flex;align-items:center;text-align:center;margin:var(--space-5) 0;color:var(--text-3);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-subtle)}.auth-divider span{padding:0 var(--space-3);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.form-group{margin-bottom:var(--space-4);display:flex;flex-direction:column}.form-label{display:block;font-size:.88rem;font-weight:500;margin-bottom:var(--space-1);color:var(--text-2)}.form-input{background:var(--surface-1);border:1px solid var(--border-color);border-radius:var(--radius-control);padding:11px 14px;color:var(--text-1);font-size:.95rem;min-height:44px;outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);width:100%;box-sizing:border-box}.form-input::placeholder{color:var(--text-3);opacity:1}.form-input:focus{border-color:var(--accent-coral);box-shadow:0 0 0 2px var(--accent-coral-subtle)}.form-hint{font-size:.8rem;color:var(--text-2);margin-top:var(--space-1);line-height:1.4}.form-checkbox-label{display:flex;align-items:flex-start;gap:var(--space-3);font-size:.88rem;color:var(--text-2);cursor:pointer;margin-top:var(--space-1);line-height:1.45}.form-checkbox-label input[type=checkbox]{margin-top:3px;accent-color:var(--accent-coral);width:18px;height:18px;flex-shrink:0;cursor:pointer}.form-checkbox-label a{color:var(--accent-coral);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.auth-error{background:var(--accent-red-subtle);border:1px solid var(--accent-red-border);color:#fca5a5;padding:12px 14px;border-radius:var(--radius-control);font-size:.88rem;margin-bottom:var(--space-4);line-height:1.45}.auth-info{background:var(--accent-coral-subtle);border:1px solid var(--accent-coral-border);color:#fecdd3;padding:12px 14px;border-radius:var(--radius-control);font-size:.88rem;margin-bottom:var(--space-4);line-height:1.45}[data-mode=signin] .signup-only,[data-mode=signup] .signin-only{display:none!important}.auth-forgot-row{text-align:right;margin-top:var(--space-2);margin-bottom:var(--space-4)}.auth-toggle-container{text-align:center;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.auth-signout-btn{display:inline-flex;align-items:center;justify-content:center;margin:var(--space-4) auto 0;font-size:.85rem;color:var(--text-3);text-align:center;min-height:28px}@media (max-width: 820px){.auth-signout-btn{min-height:40px;padding:8px 16px}}.verify-instructions{margin-bottom:var(--space-3)}.verify-email-box{font-size:1.05rem;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);background:var(--surface-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);border:1px solid var(--border-color);margin-bottom:var(--space-4);word-break:break-all}.verify-spam-notice{font-size:.85rem;color:var(--text-2);margin-bottom:var(--space-6)}.actions-row,.question-actions-bar,.practice-actions-bar,.result-actions-row,.result-actions,.feedback-actions,.exhausted-actions,.hero-actions,.history-empty-actions,.selection-actions,.dialog-actions,.exam-dialog-actions,.delete-dialog-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6)}@media (max-width: 380px){.question-actions-bar,.practice-actions-bar{flex-direction:column;align-items:stretch}.question-actions-bar>*,.practice-actions-bar>*{width:100%;justify-content:center}}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);background:#000000b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.modal-backdrop[hidden]{display:none!important}.submit-confirm-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-modal);width:calc(100% - 32px);max-width:440px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 16px 40px #0009;padding:24px}.verify-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;cursor:pointer;border-radius:var(--radius-control);font-family:inherit;font-weight:600;border:1px solid transparent;min-height:28px;transition:background-color var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-press);box-sizing:border-box;line-height:1.4}@media (max-width: 820px){.btn{min-height:40px}}.btn-primary{background:var(--accent-coral);color:var(--text-inverted);border:1px solid rgba(0,0,0,.12);padding:10px 18px;font-size:.92rem;font-weight:650;border-radius:var(--radius-control);text-decoration:none!important}.btn-primary:hover:not(:disabled){background:var(--accent-coral-hover);color:var(--text-inverted);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--accent-coral-active);color:var(--text-inverted);transform:translateY(1px)}.btn-primary:disabled{background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-color);cursor:not-allowed;opacity:.65;transform:none!important;box-shadow:none!important}.btn-secondary{background:#ffffff0d;color:var(--text-1);border:1px solid var(--border-color);border-radius:var(--radius-control);padding:9px 16px;font-size:.9rem;font-weight:500;text-decoration:none!important}.btn-secondary:hover:not(:disabled){background:#ffffff14;border-color:var(--border-strong);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-color);padding:8px 14px;border-radius:var(--radius-sm)}.btn-ghost:hover:not(:disabled){color:var(--text-main);background:#ffffff0d;border-color:var(--border-strong)}.btn-outline{background:transparent;color:var(--accent-coral);border:1px solid var(--accent-coral);padding:8px 16px;border-radius:var(--radius-sm)}.btn-outline:hover:not(:disabled){background:var(--accent-coral-subtle)}.btn-link{background:none;border:none;color:var(--accent-coral);font-size:.88rem;cursor:pointer;padding:4px 8px;text-align:left;text-decoration:underline;text-underline-offset:3px;font-weight:500;min-height:28px;box-sizing:border-box;display:inline-flex;align-items:center}@media (max-width: 820px){.btn-link{min-height:40px;padding:8px 12px}}.btn-link:hover{color:var(--accent-coral-hover)}.btn-danger{background:var(--accent-red-subtle);color:#fca5a5;border:1px solid var(--accent-red-border);border-radius:var(--radius-sm);padding:9px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s,border-color .15s}.btn-danger:hover{background:#ef444438;border-color:#ef444480}.btn-sm{padding:6px 12px;font-size:.82rem;min-height:28px}@media (max-width: 820px){.btn-sm{min-height:40px;padding:8px 14px;font-size:.875rem}}.btn-lg{padding:12px 24px;font-size:1rem}.btn-google:disabled,.btn-secondary:disabled,.btn:disabled:not(.btn-primary){background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-color);opacity:.65;cursor:not-allowed;transform:none!important;box-shadow:none!important}.alert-box{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.45}.error-box{background:var(--accent-red-subtle);border:1px solid var(--accent-red-border);color:#fca5a5}.warning-box{background:var(--accent-amber-subtle);border:1px solid var(--accent-amber-border);color:#fde68a}.info-box{background:var(--accent-coral-subtle);border:1px solid var(--accent-coral-border);color:#fecdd3}.success-box{background:var(--accent-green-subtle);border:1px solid var(--accent-green-border);color:#86efac}.info-text{color:var(--text-muted);font-size:.88rem;line-height:1.5}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:.78rem;font-weight:600;letter-spacing:.03em}.badge-success{background:var(--accent-green-subtle);color:#86efac;border:1px solid var(--accent-green-border)}.badge-error{background:var(--accent-red-subtle);color:#fca5a5;border:1px solid var(--accent-red-border)}.mt-4{margin-top:16px}.check-box{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;min-height:20px;margin:0;flex-shrink:0;border-radius:4px;border:1.5px solid rgba(255,255,255,.4);background-color:var(--surface-1);cursor:pointer;display:grid;place-content:center;transition:background-color var(--dur-fast),border-color var(--dur-fast)}.check-box:hover{border-color:var(--accent-coral)}.check-box:checked{background-color:var(--accent-coral);border-color:var(--accent-coral)}.check-box:checked:before{content:"";width:10px;height:6px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(-45deg) translate(1px,-1px)}.check-box:focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px}.home-page{display:flex;flex-direction:column;gap:var(--space-5)}.home-hero{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:center;padding:var(--space-2) 0 var(--space-4)}@media (min-width: 900px){.home-hero{grid-template-columns:1.15fr .85fr;gap:var(--space-6)}}.home-hero-content{display:flex;flex-direction:column;gap:var(--space-4)}.hero-title{font-size:clamp(2rem,3.6vw,2.65rem);font-weight:700;line-height:1.12;letter-spacing:-.025em;color:var(--text-1);margin:0}.hero-subtitle{font-size:1.05rem;line-height:1.6;color:var(--text-2);max-width:58ch;margin:0}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}.btn-cta{min-height:44px;padding:12px 24px;font-size:.95rem;font-weight:600}.home-hero-visual{width:100%}.hero-ecg-card{background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-card);overflow:hidden}.hero-ecg-frame{background:var(--surface-1);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-card);padding:var(--space-3);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-ecg-image{width:100%;height:auto;display:block;max-height:160px;object-fit:contain}.hero-ecg-caption{margin:var(--space-3) 0 0;font-size:.85rem;line-height:1.5;color:var(--text-2);font-family:var(--font-sans);font-weight:400;text-align:left}.home-header{display:none}.home-cards-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.home-bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-3)}.home-feature-card{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-2);padding:14px var(--space-5);margin-bottom:0;background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-decoration:none!important;color:inherit;cursor:pointer;position:relative;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.home-feature-card:hover{border-color:#ffffff38;transform:translateY(-1px)}.home-feature-card:focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px}.home-feature-card:after{content:"→";font-size:1.25rem;line-height:1;color:var(--accent-coral);align-self:flex-end;margin-top:2px;transition:transform var(--dur-fast) var(--ease-out)}.home-feature-card:hover:after{transform:translate(4px)}.home-feature-card h2{font-size:1.25rem;font-weight:700;color:var(--text-1);letter-spacing:-.01em;margin:0;line-height:1.25}.home-feature-card .card-desc{color:var(--text-2);font-size:.92rem;line-height:1.55;flex:1;margin:0}.bento-exam{grid-column:span 7;background:var(--accent-coral-subtle);border:1px solid var(--accent-coral-border)}.bento-practice{grid-column:span 5;background:var(--surface-2);background-image:linear-gradient(rgba(240,100,84,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(240,100,84,.04) 1px,transparent 1px);background-size:20px 20px;border:1px solid var(--border-color)}.bento-lessons{grid-column:span 5;background:var(--surface-2);border:1px solid var(--border-color)}.bento-history{grid-column:span 7;background:var(--surface-2);border:1px solid var(--border-color)}@media (max-width: 900px){.home-bento-grid{grid-template-columns:1fr}.bento-exam,.bento-practice,.bento-lessons,.bento-history{grid-column:span 1;min-height:auto}}.setup-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.setup-title{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.setup-lang-wrapper{display:flex;align-items:center;gap:8px}.setup-lang-label{font-size:.8125rem;color:var(--text-tertiary);white-space:nowrap}.setup-lang-select{height:36px;padding:0 32px 0 12px;font-size:.8125rem;font-weight:500;font-family:var(--font-sans);background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-control);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.setup-lang-select:hover{border-color:var(--border-hover);background-color:var(--bg-surface-hover)}.setup-lang-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filters-panel{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.filter-fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.filter-group-header{display:flex;align-items:center;justify-content:space-between}.filter-group-legend{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);display:block}.filter-chips-group{display:flex;flex-wrap:wrap;gap:8px}.filter-difficulty .filter-chips-group{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media (max-width: 520px){.filter-difficulty .filter-chips-group{grid-template-columns:repeat(2,1fr)}}.form-select,.exam-lang-select,.practice-lang-select{height:32px;min-height:28px;padding:4px 28px 4px 10px;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--text-primary);background-color:var(--surface-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238c9eb4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;border:1px solid var(--border-default);border-radius:var(--radius-control);cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color var(--dur-fast),background-color var(--dur-fast)}.form-select:hover,.exam-lang-select:hover,.practice-lang-select:hover{border-color:var(--border-hover);background-color:var(--surface-3)}.form-select:focus-visible,.exam-lang-select:focus-visible,.practice-lang-select:focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px;border-color:var(--accent-coral)}@media (max-width: 820px){.form-select,.exam-lang-select,.practice-lang-select{height:40px;min-height:40px;font-size:.875rem;padding:8px 32px 8px 12px}}.filter-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:40px;padding:8px 16px;font-size:.875rem;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;user-select:none;margin:0;overflow:hidden;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.filter-chip:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-surface-hover)}.filter-chip:has(.filter-chip-input:checked){background:var(--accent-subtle);border-color:var(--accent);color:var(--text-primary);font-weight:600;padding-left:12px}.filter-chip:has(.filter-chip-input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.filter-chip-input{position:absolute;inset:0;width:100%;height:100%;opacity:.0001;cursor:pointer;margin:0;z-index:1}.filter-chip-check{display:none;width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f06454' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;flex-shrink:0}.filter-chip:has(.filter-chip-input:checked) .filter-chip-check,.filter-chip-input:checked~.filter-chip-check{display:inline-block}.filter-chip-text{line-height:1.2}.filter-chip-pill{display:inline-flex;align-items:center;gap:6px}.filter-warning{font-size:.75rem;color:var(--accent-amber);margin-top:4px}.distractor-note{margin:0}.catalog-search-row,.filter-tools-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:0;flex-wrap:wrap}.catalog-search-row .search-container,.filter-tools-bar .search-container{flex:1;min-width:240px;display:flex;align-items:center}.filter-search-input,.catalog-search-input{width:100%;flex:1;min-width:0;height:42px;min-height:42px;padding:8px 12px;box-sizing:border-box}.catalog-search-row .selection-actions,.catalog-search-row .catalog-quick-actions,.filter-tools-bar .selection-actions,.filter-tools-bar .catalog-quick-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:0;flex-shrink:0}.catalog-search-row .selection-actions .btn,.catalog-search-row .catalog-quick-actions .btn,.filter-tools-bar .selection-actions .btn,.filter-tools-bar .catalog-quick-actions .btn{height:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}@media (max-width: 360px){.filter-tools-bar .selection-actions,.catalog-search-row .selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.filter-tools-bar .selection-actions .btn,.catalog-search-row .selection-actions .btn{padding:0 4px;font-size:.775rem}}.empty-search-message{padding:24px 16px;text-align:center;color:var(--text-2);font-size:.95rem}.catalog-quick-actions,.selection-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.catalog-quick-btn{font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:6px 12px;min-height:34px;cursor:pointer;transition:all var(--transition-fast)}.catalog-quick-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-hover);color:var(--text-primary)}.catalog-entities-list{display:flex;flex-direction:column;margin-top:8px}.catalog-group-section{border-top:1px solid var(--border-subtle);padding:16px 0}.catalog-group-section:first-child{border-top:none;padding-top:8px}.catalog-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.catalog-group-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.group-header-meta{display:flex;align-items:center;gap:12px}.group-counter{font-size:.8125rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.group-invert-btn{font-size:.75rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:4px 8px;cursor:pointer;transition:all var(--transition-fast)}.group-invert-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-hover);color:var(--text-primary)}.group-items-list,.entities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px}.entity-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:2px 12px;border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;user-select:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.entity-checkbox{flex-shrink:0;align-self:center}.entity-row:hover{border-color:var(--border-hover);background:var(--bg-surface-hover)}.entity-row:has(.check-box-input:checked){border-color:#ff6b4a66;background:#ff6b4a0a}.entity-label{flex:1;min-width:0;font-size:.8125rem;color:var(--text-primary);line-height:1.25;cursor:pointer;word-break:normal;overflow-wrap:break-word;transition:opacity var(--transition-fast);display:flex;align-items:center;min-height:28px}@media (max-width: 820px){.entity-row{min-height:44px}.entity-label{min-height:40px}}.entity-name{flex:1;font-size:.8125rem;color:var(--text-primary);line-height:1.35}.entity-count,.entity-count-badge{font-size:.75rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-tertiary);margin-left:auto;white-space:nowrap}.entity-count-badge.zero{font-family:var(--font-sans);font-size:.75rem;color:var(--text-tertiary);margin-left:auto;white-space:nowrap}.entity-row.has-zero-questions .entity-label,.entity-row:has(.entity-count-badge.zero) .entity-label{opacity:.55}.empty-reason:empty,.pool-summary:empty,.dropped-notice:empty,.alert-box:empty,.warning-box:empty,.error-box:empty,[hidden]{display:none!important}.pool-summary{display:flex;align-items:center}.pool-summary-text{font-size:.875rem;color:var(--text-secondary)}.pool-summary-count{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.empty-reason,.empty-reason-callout{font-size:.875rem;font-weight:500;color:var(--accent-amber);display:flex;align-items:center;gap:8px}.exam-config-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:14px 18px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-card);margin-bottom:24px}.exam-count-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exam-count-label{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.exam-count-input{width:72px;min-height:28px;text-align:center}@media (max-width: 820px){.exam-count-input{min-height:40px;width:80px}}.presets-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preset-btn{min-width:36px;min-height:28px;padding:4px 10px}@media (max-width: 820px){.preset-btn{min-width:40px;min-height:40px;padding:8px 14px}}.exam-timer-section{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.exam-timer-toggle-row{display:inline-flex;align-items:center;gap:8px;min-height:28px}@media (max-width: 820px){.exam-timer-toggle-row{min-height:40px}}.exam-timer-toggle-label{display:inline-flex;align-items:center;font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none;min-height:28px}@media (max-width: 820px){.exam-timer-toggle-label{min-height:40px}}.exam-seconds-row{display:inline-flex;align-items:center;gap:8px;min-height:28px}@media (max-width: 820px){.exam-seconds-row{min-height:40px}}.exam-seconds-label{font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.exam-seconds-input{width:72px;min-height:28px;text-align:center}@media (max-width: 820px){.exam-seconds-input{min-height:40px;width:80px}}.setup-launch-bar{position:sticky;bottom:0;background-color:#121720;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-subtle);padding:10px 20px;padding-bottom:max(10px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 -4px 16px #0006;margin-top:24px;max-height:80px;box-sizing:border-box}@media (max-width: 768px){.setup-launch-bar{margin-left:-12px;margin-right:-12px;width:calc(100% + 24px);padding-left:16px;padding-right:16px;background-color:#121720}}.launch-bar-left{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1;min-width:0;gap:2px}.launch-bar-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.exam-launch-controls{display:flex;align-items:center;gap:12px}.exam-config-field{display:flex;align-items:center;gap:6px}.exam-config-label{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.exam-config-select,.exam-config-input{height:38px;padding:0 10px;font-size:.875rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-control);color:var(--text-primary);text-align:center;width:84px}.exam-config-select:focus-visible,.exam-config-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exam-top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 16px;margin-bottom:24px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.exam-top-left{display:flex;align-items:center;gap:16px;flex-shrink:0}.exam-progress-badge,.exam-counter{font-family:var(--font-mono);font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap}.exam-nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(32px,38px));gap:8px;justify-content:center;align-items:center;margin:0 auto}.exam-nav-grid[data-count="5"]{grid-template-columns:repeat(5,minmax(32px,38px))}.exam-nav-grid[data-count="10"]{grid-template-columns:repeat(10,minmax(32px,38px))}.exam-nav-grid[data-count="20"]{grid-template-columns:repeat(10,minmax(30px,36px))}.exam-nav-grid[data-count="30"]{grid-template-columns:repeat(10,minmax(28px,34px))}@media (max-width: 900px){.exam-nav-grid[data-count="10"],.exam-nav-grid[data-count="20"],.exam-nav-grid[data-count="30"]{grid-template-columns:repeat(5,minmax(32px,38px))}}.exam-nav-item{min-width:38px;height:38px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);font-family:var(--font-mono);font-size:.875rem;font-weight:500;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);user-select:none}@media (max-width: 820px){.exam-nav-item{min-width:40px;height:40px}}.exam-nav-item:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--surface-3)}.exam-nav-item.is-answered,.exam-nav-item.answered,.exam-nav-item[data-answered=true]{background:var(--accent);border-color:var(--accent);color:var(--text-inverted)!important;font-weight:700}.exam-nav-item.is-current,.exam-nav-item.current,.exam-nav-item[aria-current=step]{border:2px solid var(--accent);background:var(--accent-subtle);color:var(--text-primary);font-weight:600;box-shadow:0 0 0 1px var(--accent-coral-glow)}.exam-nav-item.is-answered.is-current,.exam-nav-item.answered.current{background:var(--accent);border:2px solid var(--text-1);color:var(--text-inverted)!important;font-weight:700}.exam-nav-grid.is-compact .exam-nav-item{min-width:34px;height:34px;font-size:.8125rem;padding:0 4px}.exam-top-right{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.exam-timer{font-family:var(--font-mono);font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-control);background:var(--bg-surface);border:1px solid var(--border-subtle);transition:color var(--transition-fast),border-color var(--transition-fast)}.exam-timer[data-state=warning]{color:var(--accent-amber);border-color:#fbbf2466}.exam-timer[data-critical=true]{color:var(--accent-red);font-weight:700;border-color:#f8717180}.practice-question-layout,.exam-question-layout{width:100%}.practice-question-layout.has-signal,.exam-question-layout.has-signal{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(380px,1.15fr);gap:32px;align-items:start}.practice-question-layout.has-no-signal,.exam-question-layout.has-no-signal{display:block;max-width:65ch;margin-left:0;margin-right:auto;width:100%}.practice-question-layout.has-no-signal .question-col-media,.exam-question-layout.has-no-signal .question-col-media{position:static}.practice-signal-col,.exam-signal-col,.question-col-media{position:sticky;top:calc(var(--nav-height, 60px) + 16px);display:flex;flex-direction:column;gap:16px;min-width:0;max-width:100%}.practice-signal-container,.exam-signal-container,.review-signal-container{background:var(--bg-media);border:1px solid var(--border-subtle);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;min-height:0;width:100%;max-width:100%;box-sizing:border-box;padding:0;position:relative}.practice-signal-container:has(.signal-loading,.signal-error),.exam-signal-container:has(.signal-loading,.signal-error),.review-signal-container:has(.signal-loading,.signal-error){min-height:200px}.review-signal-container{margin:16px 0}.practice-signal-container[hidden],.exam-signal-container[hidden],.review-signal-container[hidden],.practice-signal-container.is-empty,.exam-signal-container.is-empty,.review-signal-container.is-empty{display:none!important}.signal-loading,.signal-error{margin:0;padding:48px 16px;font-size:.875rem;color:var(--text-secondary);text-align:center}.ecg-signal-image{display:block;width:100%;max-width:100%;height:auto;max-height:min(420px,calc(100vh - 140px));aspect-ratio:280 / 210;object-fit:contain;box-sizing:border-box}@media (max-height: 500px){.ecg-signal-image{max-height:200px}}.ecg-zoom-trigger{display:block;width:100%;max-width:100%;margin:0;padding:0;border:none;background:transparent;cursor:zoom-in;position:relative;border-radius:inherit;font:inherit;color:inherit;line-height:0;-webkit-appearance:none;appearance:none;box-sizing:border-box}.ecg-zoom-trigger:focus-visible{outline:2px solid var(--accent-coral)!important;outline-offset:2px!important}.ecg-zoom-badge{position:absolute;bottom:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#0c0f14e0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);color:var(--text-primary);font-size:.75rem;font-weight:500;line-height:1;opacity:.88;transition:opacity var(--dur-fast),background var(--dur-fast)}.ecg-zoom-trigger:hover .ecg-zoom-badge,.ecg-zoom-trigger:focus-visible .ecg-zoom-badge{opacity:1;background:#0c0f14f5;border-color:var(--accent-coral-border);color:#fff}body.ecg-zoom-open{overflow:hidden!important}dialog.ecg-zoom-dialog{position:fixed;inset:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;padding:0;border:none;background:#070a0ff0;color:var(--text-primary);z-index:var(--z-modal, 9999);overflow:hidden;box-sizing:border-box;transition:opacity .15s ease-out;overscroll-behavior:contain}dialog.ecg-zoom-dialog:not([open]){display:none!important}dialog.ecg-zoom-dialog[open]{display:flex;flex-direction:column}dialog.ecg-zoom-dialog::backdrop{background:#070a0ff0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow:hidden;overscroll-behavior:contain}.ecg-zoom-header{position:absolute;top:16px;right:16px;z-index:20;display:flex;align-items:center;gap:12px}.ecg-zoom-close{min-width:44px;min-height:44px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-pill);background:#ffffff24;border:1px solid rgba(255,255,255,.24);color:#fff;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast);box-shadow:0 4px 16px #00000080;box-sizing:border-box}.ecg-zoom-close:hover{background:#ffffff3d;border-color:#fff6}.ecg-zoom-close:focus-visible{outline:2px solid var(--accent-coral)!important;outline-offset:2px!important}.ecg-zoom-viewport{flex:1;width:100%;height:100%;max-width:100vw;max-height:100vh;padding:48px 24px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ecg-zoom-img{display:block;max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);width:auto;height:auto;aspect-ratio:280 / 210;object-fit:contain;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:0 12px 36px #000000a6;cursor:zoom-in;transition:transform .15s ease-out;touch-action:pan-x pan-y pinch-zoom;box-sizing:border-box}.ecg-zoom-viewport.is-zoomed{align-items:flex-start;justify-content:flex-start;padding:72px 24px 24px}.ecg-zoom-viewport.is-zoomed .ecg-zoom-img{width:1058px;max-width:none;max-height:none;cursor:zoom-out;margin:auto}@media (max-width: 767px){.ecg-zoom-viewport{align-items:center;justify-content:flex-start;padding:64px 16px 16px}.ecg-zoom-img{min-width:900px;width:900px;max-width:none;max-height:none;cursor:default}.ecg-zoom-header{top:12px;right:12px}}@media (prefers-reduced-motion: reduce){dialog.ecg-zoom-dialog,.ecg-zoom-img,.ecg-zoom-close{transition:none!important;animation:none!important}}.practice-context-box,.exam-context-box{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:16px;font-size:.875rem;color:var(--text-secondary);line-height:1.55}.practice-content-col,.exam-content-col{display:flex;flex-direction:column;gap:20px}.practice-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-breadcrumb{font-size:.8125rem;color:var(--text-tertiary)}.practice-stem,.exam-stem{font-size:1.125rem;font-weight:400;line-height:1.65;color:var(--text-primary);margin:0 0 20px;max-width:65ch;letter-spacing:-.005em}.study-specialist-notice{font-size:var(--text-xs, .75rem);line-height:1.45;color:var(--text-3);margin:0;max-width:65ch;letter-spacing:.01em}.practice-stem+.study-specialist-notice,.exam-stem+.study-specialist-notice{margin:-10px 0 16px}.review-stem+.study-specialist-notice{margin:-8px 0 0}.practice-actions-bar{margin-top:var(--space-6, 24px);display:flex;align-items:center;gap:12px}.practice-options-fieldset,.exam-options-fieldset{border:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:12px}.options-list{display:flex;flex-direction:column;gap:12px;list-style:none;padding:0;margin:0}.option-row{margin:0;position:relative}.option-row input[type=radio],.option-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0}.option-label{display:flex;align-items:center;gap:14px;min-height:56px;padding:14px 18px;border-radius:var(--radius-control);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);user-select:none;position:relative}.option-label:hover{border-color:var(--border-hover);background:var(--bg-surface-hover)}.option-label:before{content:attr(data-letter);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-family:var(--font-mono);font-size:.8125rem;font-weight:600;border:1px solid var(--border-default);background:var(--bg-base);color:var(--text-secondary);flex-shrink:0;transition:all var(--transition-fast)}.option-input:checked+.option-label,.option-label[aria-checked=true]{border-color:var(--accent);background:var(--accent-subtle)}.option-input:checked+.option-label:before,.option-label[aria-checked=true]:before{border-color:var(--accent);background:var(--accent);color:#fff}.option-input:focus-visible+.option-label,.option-label:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.option-input:disabled+.option-label,.option-label[aria-disabled=true]{opacity:.6;cursor:not-allowed}.option-text{flex:1;font-size:.9375rem;line-height:1.45;color:var(--text-primary)}.option-label.is-correct,.option-input:checked+.option-label.is-correct,.option-row.is-correct-answer .option-label{border-left:3px solid var(--accent-green)!important;border-color:var(--accent-green-border);background:var(--accent-green-subtle)!important;color:var(--text-primary);opacity:1!important}.option-label.is-correct:before,.option-input:checked+.option-label.is-correct:before,.option-row.is-correct-answer .option-label:before{border-color:var(--accent-green);background:var(--accent-green);color:#0c0f14}.option-label.is-user-wrong,.option-label.is-wrong,.option-input:checked+.option-label.is-user-wrong,.option-input:checked+.option-label.is-wrong,.option-row.is-wrong-selected .option-label{border-left:3px solid var(--accent-red)!important;border-color:var(--accent-red-border);background:var(--accent-red-subtle)!important;color:var(--text-primary);opacity:1!important}.option-label.is-user-wrong:before,.option-label.is-wrong:before,.option-input:checked+.option-label.is-user-wrong:before,.option-input:checked+.option-label.is-wrong:before,.option-row.is-wrong-selected .option-label:before{border-color:var(--accent-red);background:var(--accent-red);color:#fff}.option-label.is-dimmed{opacity:.52!important}.practice-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.practice-feedback-card{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:16px}.feedback-outcome{display:flex;align-items:center;gap:10px;font-size:1.125rem;font-weight:600}.feedback-outcome-correct{color:var(--accent-green)}.feedback-outcome-wrong{color:var(--accent-red)}.feedback-outcome-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0}.feedback-outcome-correct .feedback-outcome-icon{background:#34d39926;color:var(--accent-green)}.feedback-outcome-wrong .feedback-outcome-icon{background:#f8717126;color:var(--accent-red)}.feedback-explanation{font-size:.9375rem;line-height:1.6;color:var(--text-secondary)}.feedback-discriminator{font-size:.875rem;color:var(--text-tertiary);padding:12px 14px;border-radius:var(--radius-control);background:var(--bg-surface);border:1px solid var(--border-subtle);line-height:1.5}.feedback-references{font-size:.8125rem;color:var(--text-tertiary);margin:0;padding-left:20px;line-height:1.5}.simulator-link,.simulator-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;min-height:28px;margin:8px 0}@media (max-width: 820px){.simulator-link,.simulator-link-btn{min-height:40px;padding:8px 16px}}.exam-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;border-top:1px solid var(--border-subtle);flex-wrap:wrap}.exam-nav-btn{min-height:44px;padding:0 20px}.exam-submit-btn{min-height:44px;padding:0 24px;font-weight:600}.exam-dialog-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.exam-dialog{background:var(--bg-surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);padding:28px;max-width:440px;width:100%;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;gap:16px}.exam-dialog-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.exam-dialog-body{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.exam-dialog-actions,.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap}.study-result-wrapper{width:100%;max-width:var(--w-reading);margin-left:0;margin-right:auto}.result-header-card{text-align:left;padding:32px 32px 28px;margin-bottom:32px}.result-header-card .result-title{margin:0 0 20px;text-align:left}.result-hero{text-align:left;padding:32px 20px 24px;border-bottom:1px solid var(--border-subtle);margin-bottom:32px}.result-score-display{display:flex;align-items:baseline;justify-content:flex-start;gap:10px;margin-bottom:24px}.result-score-num{font-size:clamp(3.5rem,8vw,4.5rem);font-weight:700;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1;letter-spacing:-.03em}.result-score-max{font-size:1.25rem;font-weight:400;color:var(--text-tertiary)}.result-metrics-inline{display:flex;align-items:center;justify-content:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:0}.result-metric-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.result-metric-val{font-family:var(--font-mono);font-size:1.625rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}.result-metric-correct .result-metric-val{color:var(--accent-green)}.result-metric-wrong .result-metric-val{color:var(--accent-red)}.result-metric-blank .result-metric-val{color:var(--text-tertiary)}.result-metric-lbl{font-size:13px;text-transform:none;letter-spacing:normal;color:var(--text-2);font-weight:400}.result-timeout-alert{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);background:#fbbf241f;border:1px solid rgba(251,191,36,.3);color:var(--accent-amber);font-size:.875rem;margin-bottom:24px}.result-actions,.result-actions-row{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6);margin-bottom:40px}.review-controls-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 16px;flex-wrap:wrap}.review-heading{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.review-controls-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.review-filter-pills{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--surface-1);padding:4px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle)}.review-filter-pill{min-height:28px;display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;font-size:.8125rem;font-weight:500;border-radius:var(--radius-pill);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}@media (max-width: 820px){.review-filter-pill{min-height:40px;padding:8px 16px;font-size:.875rem}}.review-filter-pill:hover{color:var(--text-primary)}.review-filter-pill.is-active{background:var(--surface-3);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #0000004d}.review-expand-links{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem}.btn-text-link{background:none;border:none;padding:4px 6px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}@media (max-width: 820px){.btn-text-link{min-height:40px;padding:8px 12px;font-size:.875rem}}.btn-text-link:hover{color:var(--accent)}.sep-divider{color:var(--text-tertiary);user-select:none}.result-review-section{display:flex;flex-direction:column;gap:16px}.review-list{display:flex;flex-direction:column;gap:12px}.review-item,.review-item.card{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);margin-bottom:12px;padding:0;overflow:hidden;transition:border-color var(--transition-fast)}.review-item:hover,.review-item.card:hover{border-color:var(--border-hover)}.review-item[open],.review-item.card[open]{border-color:var(--border-strong)}.review-item-summary,.review-summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;user-select:none;transition:background-color var(--transition-fast)}.review-item-summary:hover,.review-summary:hover{background:var(--bg-surface-hover)}.review-item-summary::-webkit-details-marker,.review-summary::-webkit-details-marker{display:none}.review-item-summary::marker,.review-summary::marker{display:none}.review-summary-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.outcome-badge,.review-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.outcome-badge.outcome-correct,.review-badge-correct{background:var(--accent-green-subtle);border:1px solid var(--accent-green-border);color:var(--accent-green)}.outcome-badge.outcome-wrong,.review-badge-wrong{background:var(--accent-red-subtle);border:1px solid var(--accent-red-border);color:var(--accent-red)}.outcome-badge.outcome-blank,.review-badge-blank{background:var(--surface-3);border:1px solid var(--border-subtle);color:var(--text-tertiary)}.review-q-num{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;color:var(--text-tertiary);flex-shrink:0;white-space:nowrap}.review-summary-stem,.review-stem-preview{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.review-item-body,.review-details{padding:18px 20px 24px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:16px}.review-stem{font-size:1.0625rem;font-weight:600;line-height:1.5;color:var(--text-primary);margin:0}.review-clinical-context{padding:12px 16px;border-radius:var(--radius-control);background:var(--bg-base);border:1px solid var(--border-subtle);font-size:.875rem;color:var(--text-secondary);line-height:1.5}.review-options-list{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;margin:0}.review-option-row{padding:10px 14px;border-radius:var(--radius-control);border:1px solid var(--border-subtle);border-left:3px solid var(--border-subtle);background:transparent;display:flex;flex-direction:column;gap:6px;transition:border-color var(--transition-fast)}.review-option-row.is-correct{border-left:3px solid var(--accent-green)!important;border-color:var(--accent-green-border);background:var(--accent-green-subtle)}.review-option-row.is-selected:not(.is-correct){border-left:3px solid var(--accent-red)!important;border-color:var(--accent-red-border);background:var(--accent-red-subtle)}.review-option-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review-option-text{font-size:.9375rem;color:var(--text-primary);font-weight:500;line-height:1.45}.review-option-explanation{font-size:.875rem;line-height:1.5;color:var(--text-secondary);margin:0}.review-option-discriminator{font-size:.8125rem;color:var(--text-tertiary);font-style:italic;margin:0}.review-references{font-size:.8125rem;color:var(--text-tertiary);margin:0;padding-top:12px;padding-left:20px;border-top:1px solid var(--border-subtle)}.review-references h5{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 8px}.review-references ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.review-references li{font-size:.8125rem;color:var(--text-tertiary);line-height:1.4}.review-option{padding:10px 14px;border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--bg-base);font-size:.875rem;display:flex;align-items:center;gap:10px;color:var(--text-secondary)}.review-option-correct{border-color:var(--accent-green);background:#34d39914;color:var(--accent-green);font-weight:500}.review-option-user-wrong{border-color:var(--accent-red);background:#f8717114;color:var(--accent-red);font-weight:500}.review-explanation{font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.review-discriminator{font-size:.8125rem;color:var(--text-tertiary)}.history-page,.history-page-container{display:flex;flex-direction:column;gap:20px;max-width:var(--w-page);width:100%;margin-left:0;margin-right:auto;padding-bottom:48px}.history-header{display:flex;flex-direction:column;gap:8px}.history-compound-empty{padding:48px 24px;text-align:center;border-radius:var(--radius-card);border:1px dashed var(--border-default);background:var(--bg-surface);display:flex;flex-direction:column;align-items:center;gap:16px;max-width:520px;margin:32px auto}.history-compound-empty .empty-desc{font-size:.9375rem;color:var(--text-secondary);max-width:420px;line-height:1.55;margin:0}.history-compound-empty .empty-actions,.history-empty-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;justify-content:flex-start}.history-page-container{max-width:var(--w-page);width:100%;margin-left:0;margin-right:auto;padding-bottom:48px}.history-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:12px}.history-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.history-heading{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.01em}.history-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.75rem;font-weight:500}.history-view-link{color:var(--accent);text-decoration:none;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:4px 8px;box-sizing:border-box;transition:color var(--transition-fast)}.history-view-link:hover{color:var(--accent-hover);text-decoration:underline}.history-table-container,.history-table-wrapper,.stats-table-container,.table-responsive{overflow-x:auto;border:none;border-radius:0;background:transparent;-webkit-overflow-scrolling:touch}.history-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.stats-table{width:100%;border-collapse:collapse;font-size:.875rem}.stats-table th:nth-child(1),.stats-table td:nth-child(1){text-align:left;width:auto}.stats-table th:nth-child(2),.stats-table td:nth-child(2){text-align:right;width:90px}.stats-table th:nth-child(3),.stats-table td:nth-child(3){text-align:right;width:80px}.stats-table th:nth-child(4),.stats-table td:nth-child(4){text-align:right;min-width:95px;width:95px;white-space:nowrap}.stats-table th:nth-child(5),.stats-table td:nth-child(5){text-align:right;min-width:190px;width:190px}.stat-rate-text{font-family:var(--font-mono);font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.history-table th,.stats-table th,.history-th,.stats-th{padding:10px 12px;font-size:13px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-2);border-bottom:1px solid var(--border-default);background:transparent;white-space:nowrap}.history-table tr,.stats-table tr,.history-tr,.stats-tr{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast)}.history-table tr:last-child,.stats-table tr:last-child,.history-tr:last-child,.stats-tr:last-child{border-bottom:1px solid var(--border-subtle)}.history-table tr:hover,.stats-table tr:hover,.history-tr:hover,.stats-tr:hover{background-color:var(--bg-surface-hover)}.history-table td,.stats-table td,.history-td,.stats-td{padding:10px 12px;color:var(--text-secondary);vertical-align:middle}.history-link{color:var(--text-primary);text-decoration:none;font-weight:500;display:inline-block}.history-link:hover{color:var(--accent);text-decoration:underline}.history-score-val{font-family:var(--font-mono);font-weight:600;font-size:.9375rem;font-variant-numeric:tabular-nums;color:var(--text-primary)}.history-result-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600}.history-badge-pass{background:#34d3991f;color:var(--accent-green)}.history-badge-fail{background:#f871711f;color:var(--accent-red)}.history-timeout-badge{font-size:.75rem;font-weight:600;color:var(--accent-amber);margin-left:6px}.stat-name-cell{font-weight:500;color:var(--text-primary)}.stats-table th:nth-child(n+2),.stats-table td:nth-child(n+2){text-align:right}.stat-rate-wrapper{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}.stat-rate-bar{height:4px;border-radius:2px;background:var(--accent-coral);width:var(--w, 0%);min-width:2px;max-width:80px;flex-shrink:0}.stat-rate-text,.stat-rate-num{font-family:var(--font-mono);font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.stat-attempts-cell{font-family:var(--font-mono);font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.stats-toggle-container{margin-top:var(--space-6);display:flex;justify-content:center}.stats-toggle-btn{font-size:.8125rem;font-weight:500;padding:6px 16px;border-radius:var(--radius-control);background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.stats-toggle-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-surface-hover)}@media (max-width: 640px){.table-responsive{overflow-x:visible}.history-table,.stats-table{display:block;width:100%;min-width:0}.history-table thead,.stats-table thead{display:none}.history-table tbody,.stats-table tbody{display:flex;flex-direction:column;gap:12px}.history-tr,.stats-tr{display:flex;flex-direction:column;align-items:stretch;background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:14px 16px;gap:8px;box-shadow:var(--shadow-subtle)}.history-tr>td,.stats-tr>td{padding:2px 0;border:none;display:flex;justify-content:space-between;align-items:center;width:100%!important;text-align:right}.history-tr>td:before,.stats-tr>td:before{content:attr(data-label);font-size:.8rem;color:var(--text-muted);font-weight:500;text-align:left;margin-right:12px;flex-shrink:0}.stat-entity-name,.history-date-cell{font-size:.95rem;font-weight:600;color:var(--text-1)!important;padding-bottom:6px!important;border-bottom:1px solid var(--border-subtle)!important;margin-bottom:4px;justify-content:space-between}.stat-entity-name:before,.history-date-cell:before{display:none}.stat-rate-wrapper{justify-content:flex-end}.history-action-cell{padding-top:6px!important;border-top:1px solid var(--border-subtle)!important;margin-top:4px;justify-content:flex-end!important}.history-action-cell:before{display:none}.history-view-link{min-height:40px;display:inline-flex;align-items:center}}.plans-page{display:flex;flex-direction:column;gap:20px}.plans-header{text-align:left;margin-bottom:var(--space-2)}.plans-header .page-title,.plans-header .page-subtitle{margin-bottom:6px}.plans-tax-highlight{color:var(--text-2);font-size:.88rem;font-weight:400;margin-top:var(--space-1)}.plans-prompt-box{margin-top:var(--space-2);margin-bottom:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.plan-dialog-check-group{display:flex;align-items:flex-start;gap:12px}.plan-dialog-check-group .plan-terms-label{display:block;min-height:unset;line-height:1.55;font-size:.9rem;color:var(--text-1);cursor:pointer}.plan-dialog-check-group .plan-terms-label a{display:inline;white-space:normal;min-height:unset;padding:0 1px;color:var(--accent-coral);text-decoration:underline;text-underline-offset:3px;transition:color var(--dur-fast)}.plan-dialog-check-group .plan-terms-label a:hover{color:var(--accent-coral-hover)}@media (max-width: 820px){.plan-dialog-check-group .plan-terms-label{min-height:unset}.plan-dialog-check-group .plan-terms-label a{min-height:unset;padding:0 1px;display:inline}}.plan-terms-checkbox{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;min-height:22px;margin-top:2px;flex-shrink:0;border-radius:4px;border:1.5px solid rgba(255,255,255,.4);background-color:var(--surface-1);cursor:pointer;display:grid;place-content:center;transition:background-color var(--dur-fast),border-color var(--dur-fast);position:relative}@media (max-width: 820px){.plan-terms-checkbox{width:24px;height:24px;min-width:24px;min-height:24px}.plan-terms-checkbox:after{content:"";position:absolute;inset:-9px}}.plan-terms-checkbox:hover{border-color:var(--accent-coral)}.plan-terms-checkbox:checked{background-color:var(--accent-coral);border-color:var(--accent-coral)}.plan-terms-checkbox:checked:before{content:"";width:10px;height:6px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(-45deg) translate(1px,-1px)}.plan-terms-checkbox:focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px}.plan-terms-label{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:.9rem;color:var(--text-1);line-height:1.5;cursor:pointer;word-break:break-word;min-height:28px}@media (max-width: 820px){.plan-terms-label{min-height:40px}}.plan-terms-label a{color:var(--accent-coral);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;display:inline-flex;align-items:center;min-height:24px;padding:1px 3px}@media (max-width: 820px){.plan-terms-label a{min-height:32px;padding:4px}}.plan-terms-label a:hover{color:var(--accent-coral-hover)}.plan-modal-backdrop{z-index:var(--z-modal-backdrop)}.card.plan-checkout-dialog{width:calc(100% - 32px);max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:0 16px 40px #0009;padding:24px 24px 0;margin:0;display:flex;flex-direction:column;gap:16px;scroll-padding-bottom:72px}.plan-dialog-title{font-size:1.25rem;font-weight:700;color:var(--text-1);margin:0;letter-spacing:-.01em}.plan-dialog-summary{background:var(--accent-coral-subtle);border:1px solid var(--accent-coral-border);border-radius:var(--radius-md);padding:12px 16px;display:flex;flex-direction:column;gap:6px}.plan-dialog-summary-title{font-size:1.05rem;font-weight:700;color:var(--text-1);margin:0}.plan-dialog-summary-renewal{font-size:.85rem;color:var(--text-2);line-height:1.45;margin:0}.plan-dialog-actions{position:sticky;bottom:0;margin:auto -24px 0;padding:14px 24px;background:var(--surface-2);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;gap:12px;z-index:2;flex-shrink:0;border-bottom-left-radius:calc(var(--radius-card) - 1px);border-bottom-right-radius:calc(var(--radius-card) - 1px)}.plan-dialog-actions .btn{min-height:44px;padding:10px 20px;font-weight:600}@media (max-width: 480px){.card.plan-checkout-dialog{padding:20px 20px 0;margin:0;gap:14px;scroll-padding-bottom:124px}.plan-dialog-title{font-size:1.15rem}.plan-dialog-summary{padding:10px 12px}.plan-dialog-summary-title{font-size:.98rem}.plan-dialog-summary-renewal{font-size:.82rem}.plan-dialog-actions{margin-left:-20px;margin-right:-20px;margin-bottom:0;padding:12px 20px;flex-direction:column-reverse;align-items:stretch;gap:8px}.plan-dialog-actions .btn{width:100%;min-height:44px}}@media (max-width: 380px){.card.plan-checkout-dialog{padding:16px 14px 0;margin:0;gap:10px;scroll-padding-bottom:120px}.plan-dialog-title{font-size:1.05rem}.plan-dialog-summary{padding:8px 10px}.plan-dialog-summary-title{font-size:.92rem}.plan-dialog-summary-renewal{font-size:.8rem}.plan-dialog-actions{margin-left:-14px;margin-right:-14px;margin-bottom:0;padding:10px 14px}}@media (max-height: 500px){.card.plan-checkout-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:12px 20px 0;margin:0;gap:8px;scroll-padding-bottom:56px}.plan-dialog-title{font-size:1.1rem}.plan-dialog-summary{padding:8px 12px;gap:3px}.plan-dialog-summary-title{font-size:.95rem}.plan-dialog-summary-renewal{font-size:.8rem}.plan-dialog-actions{margin-left:-20px;margin-right:-20px;margin-bottom:0;padding:8px 20px;gap:8px}.plan-dialog-actions .btn{min-height:40px;padding:8px 16px;font-size:.9rem}}.plans-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.plan-card-annual{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1.3fr auto;align-items:center;gap:var(--space-6);padding:var(--space-5) var(--space-6);background:var(--accent-coral-subtle);border:1px solid var(--accent-coral-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.plan-annual-col-left,.plan-annual-col-center{display:flex;flex-direction:column;gap:var(--space-2)}.plan-annual-col-right{display:flex;align-items:center;justify-content:flex-end;min-width:170px}.plan-card-monthly,.plan-card-quarterly{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--dur-fast) var(--ease-out)}.plan-card-monthly:hover,.plan-card-quarterly:hover{border-color:#ffffff2e}.plan-badge-highlight{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#ff8573;background:#f0645429;border:1px solid var(--accent-coral-border);padding:3px 9px;border-radius:var(--radius-pill);margin-bottom:var(--space-1)}.plan-card-title{font-size:1.25rem;font-weight:700;color:var(--text-1);letter-spacing:-.01em;margin:0}.plan-price-row{display:flex;align-items:baseline;gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap}.plan-amount{font-size:2.25rem;font-weight:700;color:var(--text-1);line-height:1;font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.plan-card-annual .plan-amount{font-size:2.65rem}.plan-interval{color:var(--text-3);font-size:.88rem;font-family:var(--font-sans);font-weight:400}.plan-equivalent{font-size:.85rem;color:var(--text-2);font-weight:400;line-height:1.45;font-family:var(--font-sans);margin:0}.plan-note{font-size:.82rem;color:var(--text-3);line-height:1.5;font-family:var(--font-sans);margin:0}.btn-plan-buy{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;font-size:.95rem;font-weight:600;box-sizing:border-box;border-radius:var(--radius-control)}@media (max-width: 767px){.plans-page{gap:14px}.plans-header{margin-bottom:4px}.plans-header .page-title{font-size:1.35rem;line-height:1.25;margin-bottom:2px}.plans-header .page-subtitle{display:none}.plans-tax-highlight{font-size:.8rem;margin-top:2px;line-height:1.35}.plans-grid{grid-template-columns:1fr;gap:var(--space-4)}.plan-card-annual{grid-column:span 1;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-4)}.plan-annual-col-left{order:1}.plan-annual-col-right{order:2;min-width:100%;margin-top:0}.plan-annual-col-center{order:3;margin-top:var(--space-1)}}@media (max-height: 500px){.plans-page{gap:10px}.plans-header{margin-bottom:2px}.plans-header .page-title{font-size:1.2rem;line-height:1.2;margin-bottom:2px}.plans-header .page-subtitle{display:none}.plans-tax-highlight{font-size:.78rem;margin-top:1px;line-height:1.3}.plan-card-annual{padding:12px 18px;gap:var(--space-3)}.plan-card-annual .plan-amount{font-size:2.1rem}}.plan-precontract-card{margin-top:14px;border-left:3px solid var(--accent-coral)}.precontract-title{font-size:1.1rem;font-weight:700;margin-bottom:10px;color:var(--text-main)}.precontract-text{font-size:.9rem;color:var(--text-muted);line-height:1.6}.checkout-banner{padding:14px 18px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;display:flex;align-items:center;gap:12px}.checkout-banner.success-box{background:var(--accent-green-subtle);border:1px solid var(--accent-green-border);color:#86efac}.account-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:720px;margin:0 auto;scroll-margin:0}.account-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-2)}@media (max-width: 640px){.account-header{flex-direction:column;align-items:stretch;gap:var(--space-3)}.account-signout-btn{align-self:flex-start}}.account-title-group{display:flex;flex-direction:column;gap:var(--space-1)}.account-title-group .page-title,.account-title-group .page-subtitle{margin:0}.account-signout-btn{flex-shrink:0;font-size:.85rem;padding:8px 14px}.account-meta-list{display:grid;grid-template-columns:auto 1fr;row-gap:var(--space-3);column-gap:var(--space-4);margin:0;padding:0}.account-meta-list dt.meta-label{font-size:.82rem;font-weight:500;color:var(--text-3);margin:0;align-self:center;white-space:nowrap}.account-meta-list dd.meta-value{font-size:.95rem;color:var(--text-1);margin:0;word-break:normal;overflow-wrap:break-word}.meta-value-mono{font-family:var(--font-mono);font-size:.8125rem!important;font-variant-numeric:tabular-nums;color:var(--text-2)!important;overflow-wrap:anywhere;word-break:break-all}@media (max-width: 520px){.account-meta-list{grid-template-columns:1fr;row-gap:var(--space-2)}.account-meta-list dd.meta-value{margin-bottom:var(--space-2)}}.account-subscription-block{padding-top:var(--space-6);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-3)}.account-subscription-block .section-title{font-size:1.15rem;font-weight:650;color:var(--text-1);margin:0;letter-spacing:-.01em}.account-subscription-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.access-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);font-size:.82rem;font-weight:600;white-space:nowrap}.access-badge[data-allowed=true]{background:var(--accent-green-subtle);color:#86efac;border:1px solid var(--accent-green-border)}.access-badge[data-allowed=false]{background:#94a3b81a;color:#cbd5e1;border:1px solid rgba(148,163,184,.22)}.subscription-status{font-size:.92rem;font-weight:400;line-height:1.5;color:var(--text-2);margin:0}.btn-portal{min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:.88rem;padding:8px 16px}.account-data-section{margin-top:var(--space-2);padding-top:var(--space-6);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-4)}.account-data-section .section-title{font-size:1.15rem;font-weight:650;color:var(--text-1);margin:0}.account-data-section .section-description{color:var(--text-2);font-size:.9rem;line-height:1.55;margin:0}.account-data-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width: 640px){.account-data-grid{grid-template-columns:repeat(2,1fr)}}.account-data-card{background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);justify-content:space-between}.account-data-card .data-card-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-1)}.account-data-card .data-card-desc{margin:0;font-size:.88rem;line-height:1.55;color:var(--text-2);flex-grow:1}.account-data-card button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;box-sizing:border-box;padding:10px 18px;font-size:.92rem;font-weight:600}.account-deleted-banner{margin-bottom:20px;padding:14px 18px;border-radius:var(--radius-sm);background:var(--accent-green-subtle);border:1px solid var(--accent-green-border);color:#86efac;font-weight:600;font-size:.95rem;text-align:center}.reauth-google-notice{font-size:.88rem;color:var(--text-muted);margin:0}.delete-dialog{max-width:520px;width:100%;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:26px;box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow-y:auto}.delete-dialog-title{margin:0;font-size:1.3rem;font-weight:700;color:var(--text-main)}.delete-dialog-body,.delete-dialog-legal-body{margin:0;font-size:.92rem;line-height:1.55;color:var(--text-muted)}.delete-dialog-legal-body{font-size:.88rem;border-left:3px solid var(--border-color);padding-left:12px}.delete-subscription-warning{margin:0;background:var(--accent-amber-subtle);border:1px solid var(--accent-amber-border);color:#fef08a;border-radius:var(--radius-sm);padding:12px 14px;font-size:.9rem;line-height:1.45}.delete-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;flex-wrap:wrap}.delete-dialog-actions button{min-height:44px;min-width:120px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;font-size:.95rem;font-weight:600;cursor:pointer;border-radius:var(--radius-sm)}.legal-view-container{width:100%;display:flex;flex-direction:column;gap:20px}.legal-nav{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 14px}.legal-nav-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (max-width: 600px){.legal-nav-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 360px){.legal-nav-list{grid-template-columns:1fr}}.legal-nav-link{font-size:.85rem;color:var(--text-muted);padding:7px 14px;border-radius:var(--radius-sm);text-decoration:none;background:transparent;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:background-color .15s,color .15s,border-color .15s}.legal-nav-link:hover{color:var(--text-main);background:#ffffff0d}.legal-nav-link:visited{color:var(--text-muted)}.legal-nav-link.active,.legal-nav-link.active:visited{background:var(--accent-coral-subtle);color:var(--accent-coral);border-color:var(--accent-coral-border);font-weight:600}.legal-article{width:100%}.legal-page{max-width:74ch;margin:0 auto;padding:36px 30px;line-height:1.7;font-size:1rem;color:#e2e8f0;word-break:break-word;overflow-wrap:anywhere}.legal-title{font-size:1.85rem;font-weight:800;line-height:1.25;margin-bottom:12px;color:var(--text-main);letter-spacing:-.02em}.legal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:.82rem;color:var(--text-muted);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.legal-version,.legal-sha{display:inline-block;font-family:var(--font-mono);overflow-wrap:anywhere;word-break:break-word}.legal-draft-banner{margin-bottom:24px;padding:12px 16px;background:var(--accent-amber-subtle);border:1px solid var(--accent-amber);border-radius:var(--radius-sm);color:#fef08a;font-weight:500;font-size:.95rem;line-height:1.5}.legal-h2{font-size:1.35rem;font-weight:700;margin-top:36px;margin-bottom:14px;line-height:1.35;color:var(--text-main);border-bottom:1px solid var(--border-subtle);padding-bottom:6px;letter-spacing:-.01em}.legal-h3{font-size:1.12rem;font-weight:600;margin-top:24px;margin-bottom:10px;line-height:1.4;color:var(--accent-coral)}.legal-paragraph{margin-bottom:16px;line-height:1.7;color:#e2e8f0}.legal-list{margin-top:8px;margin-bottom:20px;padding-left:28px;line-height:1.7;color:#e2e8f0}.legal-list-item{margin-bottom:8px;line-height:1.7}.legal-placeholder{display:inline;background-color:#f59e0b38;color:#fef08a;border:1px dashed var(--accent-amber);border-radius:4px;padding:1px 6px;font-family:var(--font-mono);font-size:.88em;font-weight:600;text-decoration:underline wavy var(--accent-amber);text-underline-offset:3px;overflow-wrap:anywhere;word-break:break-word}.precontract-link-p{margin-top:14px}.precontract-link{color:var(--accent-coral);font-weight:600;text-decoration:underline;font-size:.95rem}.precontract-link:hover{color:var(--accent-coral-hover)}.legal-page a,.legal-paragraph a,.legal-list a,.legal-h2 a,.legal-h3 a,.legal-link{color:var(--accent-coral);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s ease-in-out}.legal-page a:visited,.legal-paragraph a:visited,.legal-list a:visited,.legal-link:visited{color:var(--accent-coral-hover);text-decoration:underline}.legal-page a:hover,.legal-paragraph a:hover,.legal-list a:hover,.legal-link:hover{color:#ff9184;text-decoration:underline}.legal-page a:focus-visible,.legal-paragraph a:focus-visible,.legal-list a:focus-visible,.legal-link:focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px;border-radius:2px}.study-main a:not(.btn):not(.brand-link):not(.nav-link):not(.legal-nav-link):not(.skip-link){color:var(--accent-coral);text-decoration:underline;text-underline-offset:3px;transition:color .15s ease-in-out}.study-main a:not(.btn):not(.brand-link):not(.nav-link):not(.legal-nav-link):not(.skip-link):visited{color:var(--accent-coral-hover)}.study-main a:not(.btn):not(.brand-link):not(.nav-link):not(.legal-nav-link):not(.skip-link):hover{color:#ff9184}.study-main a:not(.btn):not(.brand-link):not(.nav-link):not(.legal-nav-link):not(.skip-link):focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px;border-radius:2px}.not-found-page{max-width:520px;margin:var(--space-8) auto;text-align:center;padding:var(--space-8) var(--space-6);background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.not-found-page .page-title{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.not-found-page .page-subtitle{max-width:48ch;margin:0 auto var(--space-6);color:var(--text-2);line-height:1.6}.not-found-btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center}.verify-pending{max-width:520px;margin:40px auto;text-align:center;padding:36px 24px}.study-footer{border-top:1px solid var(--border-color);padding:28px 24px;text-align:center;color:var(--text-muted);font-size:.85rem;margin-top:auto;background:var(--bg-main)}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-bottom:12px}@media (max-width: 767px){.footer-links{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:8px 24px;text-align:center}}@media (max-width: 360px){.footer-links{grid-template-columns:1fr;gap:6px}}.footer-links a{color:var(--text-muted);text-decoration:none;transition:color .15s;display:inline-flex;align-items:center;min-height:24px}@media (max-width: 820px){.footer-links a{min-height:32px;padding:4px 0}}.footer-links a:hover{color:var(--accent-coral)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.study-fatal-error{padding:32px;color:#f87171;background:var(--surface-1);font-family:var(--font-sans);min-height:100dvh}.study-fatal-error-title{font-size:20px;font-weight:700;margin-bottom:12px}.study-fatal-error-desc{color:#94a3b8;font-size:14px;margin-bottom:16px}.study-fatal-error-pre{background:#111827;padding:16px;border-radius:var(--radius-sm);border:1px solid var(--border-color);overflow:auto;font-size:13px;color:#fca5a5;white-space:pre-wrap;word-break:break-word}.is-hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 1023px){.practice-question-layout.has-signal,.exam-question-layout.has-signal{display:flex;flex-direction:column;gap:24px}.practice-signal-col,.exam-signal-col,.question-col-media{position:static;width:100%;max-width:100%}.setup-launch-bar{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;max-height:100px}.setup-launch-bar .btn-lg{padding:6px 12px;font-size:.8125rem;min-height:40px;height:40px;white-space:nowrap}.launch-bar-left{justify-content:flex-start;text-align:left;min-width:0;flex:1}.launch-bar-left .pool-summary{font-size:.72rem;line-height:1.25}.launch-bar-left .empty-reason{font-size:.7rem;line-height:1.15;padding:0;margin:0}.launch-bar-right{flex-direction:row;align-items:center;gap:8px;width:auto;flex-shrink:0}.exam-launch-controls{justify-content:space-between;width:100%}.exam-config-field{flex:1;justify-content:center}.exam-config-select,.exam-config-input{flex:1;max-width:100px}#practice-start-btn,#exam-start-btn{width:100%;min-height:44px}}@media (max-width: 768px){.nav-container{padding:10px 16px}.study-main{padding:16px 12px 100px;scroll-padding-top:140px;scroll-padding-bottom:90px}.home-header{padding:28px 16px}.home-header .page-title{font-size:1.5rem}.card,.question-card{padding:20px 16px}.exam-stem,.practice-stem{font-size:.95rem;line-height:1.45;margin:0 0 12px}.practice-stem+.study-specialist-notice,.exam-stem+.study-specialist-notice{margin:-6px 0 12px}.result-score-num{font-size:3.5rem}.result-metrics-inline{gap:24px}.stat-rate-wrapper{max-width:160px}}@media (max-width: 640px){.legal-page{padding:20px 14px;font-size:.95rem}.legal-title{font-size:1.45rem}.legal-h2{font-size:1.2rem}.legal-h3{font-size:1.05rem}.legal-nav{padding:6px 8px}.legal-nav-link{font-size:.8rem;padding:5px 8px}.legal-list{padding-left:20px}.setup-header{flex-direction:column;align-items:flex-start;gap:12px}.setup-lang-wrapper{width:100%;justify-content:space-between}.setup-lang-select{flex:1;max-width:200px}.catalog-search-row{flex-direction:column;align-items:stretch;gap:10px}.catalog-search-input{width:100%}.catalog-quick-actions{justify-content:flex-end}.entities-grid{grid-template-columns:1fr}.exam-top-bar{flex-direction:column;align-items:stretch;gap:12px}.exam-top-left{max-width:100%}.exam-top-right{justify-content:space-between}.option-label{min-height:48px;padding:12px 14px;font-size:.875rem}.result-metrics-inline{gap:20px}.result-metric-val{font-size:1.35rem}.result-actions{flex-direction:column;width:100%}.result-actions button{width:100%}.history-table,.stats-table{font-size:.8125rem}.history-th,.history-td,.stats-th,.stats-td{padding:10px 12px}}.practice-feedback-card{opacity:1;transform:translateY(0);transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}@starting-style{.practice-feedback-card{opacity:0;transform:translateY(6px)}}.result-score-num{display:inline-block;transform-origin:left center;opacity:1;transform:scale(1);transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}@starting-style{.result-score-num{opacity:0;transform:scale(.92)}}.review-item[open] .review-item-body{opacity:1;transform:translateY(0);transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}@starting-style{.review-item[open] .review-item-body{opacity:0;transform:translateY(-4px)}}.filter-at-least-one-hint{opacity:1;transform:translateY(0);transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}@starting-style{.filter-at-least-one-hint{opacity:0;transform:translateY(-4px)}}.stat-rate-bar{display:inline-block;transform-origin:left center;opacity:1;transform:scaleX(1);transition:transform var(--dur-slow) var(--ease-out),opacity var(--dur-slow) var(--ease-out)}@starting-style{.stat-rate-bar{opacity:.5;transform:scaleX(0)}}@media (prefers-reduced-motion: reduce){.practice-feedback-card,.result-score-num,.review-item[open] .review-item-body,.filter-at-least-one-hint,.stat-rate-bar{transform:none;transition:opacity var(--dur-fast) var(--ease-out)}@starting-style{.practice-feedback-card,.result-score-num,.review-item[open] .review-item-body,.filter-at-least-one-hint{opacity:0;transform:none}.stat-rate-bar{opacity:.5;transform:none}}}
