:root{--red: #d52b1e;--red-dark: #b22318;--red-glow: rgba(213, 43, 30, .28);--bg: #faf9f6;--bg-tint: radial-gradient(at 0% 0%, rgba(213, 43, 30, .07), transparent 55%), radial-gradient(at 100% 0%, rgba(45, 100, 230, .05), transparent 50%), radial-gradient(at 50% 100%, rgba(124, 58, 237, .04), transparent 60%);--surface: #ffffff;--surface-alt: #f3f4f6;--surface-glass: rgba(255, 255, 255, .72);--text: #14171f;--text-muted: #6b7280;--border: #e6e8ee;--border-soft: rgba(20, 23, 31, .06);--shadow: 0 1px 2px rgba(20, 23, 31, .04), 0 6px 22px rgba(20, 23, 31, .06);--shadow-lg: 0 8px 28px rgba(20, 23, 31, .08), 0 28px 64px rgba(20, 23, 31, .14);--radius: 18px;--radius-sm: 12px;--accent: var(--red);--accent-grad: linear-gradient(135deg, #ec4034 0%, #b22318 100%);--accent-grad-soft: linear-gradient(135deg, rgba(236, 64, 52, .16) 0%, rgba(178, 35, 24, .1) 100%);--good: #16a34a;--bad: #dc2626;--warn: #d97706;--purple: #7c3aed}[data-theme=dark]{--bg: #11151c;--bg-tint: radial-gradient(at 10% -10%, rgba(213, 43, 30, .2), transparent 55%), radial-gradient(at 110% 0%, rgba(60, 130, 240, .12), transparent 50%), radial-gradient(at 50% 110%, rgba(124, 58, 237, .1), transparent 60%);--surface: #1c222d;--surface-alt: #262d3c;--surface-glass: rgba(28, 34, 45, .72);--text: #f0f3f8;--text-muted: #aab1c1;--border: #2e3548;--border-soft: rgba(255, 255, 255, .06);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .55), 0 32px 72px rgba(0, 0, 0, .65);--good: #22c55e;--bad: #ef4444;--warn: #f59e0b}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);background-image:var(--bg-tint);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px)}.brand{display:flex;align-items:center;gap:.65rem}.brand-leaf{width:32px;height:32px;object-fit:contain;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text strong{font-size:1.1rem;color:var(--accent)}.brand-sub{font-size:.75rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.app-nav{display:flex;gap:.5rem;margin-left:1rem}.nav-link{padding:.5rem .9rem;border-radius:var(--radius-sm);color:var(--text-muted);font-weight:500;transition:background .15s ease,color .15s ease}.nav-link.active{background:var(--accent);color:#fff}.theme-toggle{margin-left:auto;background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;transition:transform .15s ease}.theme-toggle:hover{transform:scale(1.05)}.app-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:2rem 1.25rem 4rem}.app-footer{text-align:center;padding:1.25rem;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--border);background:var(--surface)}.home{display:flex;flex-direction:column;gap:3rem}.hero{text-align:center;padding:2.5rem 1rem 1rem}.hero h1{font-size:clamp(1.8rem,5vw,2.6rem);margin:0 0 1rem}.hero-sub{color:var(--text-muted);font-size:1.1rem;max-width:600px;margin:0 auto}.hero-cta{display:flex;gap:.75rem;justify-content:center;margin-top:1.75rem;flex-wrap:wrap}.feature-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:block}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.feature-icon{font-size:1.8rem;margin-bottom:.5rem}.feature-card h2{margin:.25rem 0 .5rem}.feature-card p{color:var(--text-muted);margin:0}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1.25rem;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:.95rem;transition:transform .1s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:0 6px 18px var(--red-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px var(--red-glow)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-alt)}.btn:disabled{opacity:.5;cursor:not-allowed}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.6rem}.muted{color:var(--text-muted);margin:.25rem 0 0}.score-pill{display:flex;align-items:baseline;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem;box-shadow:var(--shadow)}.score-num{font-weight:700}.score-pct{color:var(--accent);font-weight:700;font-size:1.05rem}.filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;background:var(--surface);padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid var(--border)}.filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-muted);font-weight:600}.filters select{padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.95rem;min-width:180px}.filters .check{flex-direction:row;align-items:center;gap:.5rem;align-self:flex-end;color:var(--text);font-weight:500}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);animation:fadeUp .25s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.question-meta{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.badge{background:var(--surface-alt);border:1px solid var(--border);padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;color:var(--text-muted)}.badge.category{color:var(--accent);border-color:var(--accent)}.badge.difficulty.d-easy{color:var(--good);border-color:var(--good)}.badge.difficulty.d-medium{color:var(--warn);border-color:var(--warn)}.badge.difficulty.d-hard{color:var(--bad);border-color:var(--bad)}.question-text{font-size:1.25rem;line-height:1.45;margin:0 0 1.5rem}.options{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.option{width:100%;display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--text);text-align:left;font-size:1rem;transition:background .15s ease,border-color .15s ease,transform .1s ease}.option:hover:not(:disabled):not(.revealed){border-color:var(--accent);background:var(--surface-alt)}.option.selected:not(.revealed){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.option.revealed{cursor:default}.option.correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,var(--surface))}.option.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,var(--surface))}.option-letter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--surface-alt);border:1px solid var(--border);font-weight:700;font-size:.85rem;flex-shrink:0}.option.correct .option-letter{background:var(--good);color:#fff;border-color:var(--good)}.option.wrong .option-letter{background:var(--bad);color:#fff;border-color:var(--bad)}.option-text{flex:1}.explanation{margin-top:1.25rem;padding:1rem 1.1rem;border-radius:var(--radius-sm);border-left:4px solid var(--good);background:color-mix(in srgb,var(--good) 8%,var(--surface));font-size:.95rem;line-height:1.5;animation:fadeUp .25s ease}.explanation.bad{border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--surface))}.actions{display:flex;justify-content:space-between;margin-top:1.5rem;gap:.75rem}.alert{padding:.85rem 1rem;border-radius:var(--radius-sm);margin:1rem 0}.alert.error{background:color-mix(in srgb,var(--bad) 10%,var(--surface));color:var(--bad);border:1px solid var(--bad)}.loading{color:var(--text-muted);text-align:center;padding:2rem}.test-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.test-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.test-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.test-card-head{display:flex;align-items:baseline;gap:.6rem}.test-num{color:var(--accent);font-weight:700;font-size:.9rem}.test-card h3{margin:0;font-size:1.1rem}.test-card-meta{display:flex;gap:.85rem;color:var(--text-muted);font-size:.85rem;flex-wrap:wrap}.test-start{color:var(--accent);font-weight:600;font-size:.9rem;margin-top:auto}.runner-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.runner-header h1{margin:0;font-size:1.4rem}.timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.15rem;padding:.5rem 1rem;border-radius:999px;background:var(--surface-alt);border:1px solid var(--border)}.timer.low{color:#fff;background:var(--bad);border-color:var(--bad);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.progress-bar{height:8px;background:var(--surface-alt);border-radius:999px;overflow:hidden;margin:1rem 0 1.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--red-dark));transition:width .25s ease}.qnav{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1.5rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.qnav-btn{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-weight:600;font-size:.85rem;transition:background .15s ease,border-color .15s ease}.qnav-btn:hover{border-color:var(--accent)}.qnav-btn.answered{background:color-mix(in srgb,var(--good) 18%,var(--bg));border-color:var(--good);color:var(--good)}.qnav-btn.wrong{background:color-mix(in srgb,var(--bad) 18%,var(--bg));border-color:var(--bad);color:var(--bad)}.qnav-btn.current{box-shadow:0 0 0 2px var(--accent)}.result-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:1.5rem;border-radius:var(--radius);margin-bottom:1.5rem;border:1px solid var(--border)}.result-banner.passed{background:color-mix(in srgb,var(--good) 14%,var(--surface));border-color:var(--good)}.result-banner.failed{background:color-mix(in srgb,var(--bad) 12%,var(--surface));border-color:var(--bad)}.result-score{font-size:2.4rem;font-weight:800;padding:.6rem 1.2rem;border-radius:var(--radius);background:var(--surface)}.result-banner h1{margin:0;font-size:1.4rem}.review-heading{margin:1.5rem 0 .5rem}.result-score-total{font-size:1.2rem;font-weight:600;color:var(--text-muted);margin-left:.1rem}.search-input{padding:.55rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem;min-width:200px;font-family:inherit}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.pagination-info{color:var(--text-muted);font-weight:500;font-variant-numeric:tabular-nums}.header-right{margin-left:auto;display:flex;gap:.6rem;align-items:center}.auth-buttons{display:flex;gap:.5rem;align-items:center}.btn-sm{padding:.45rem .85rem;font-size:.88rem}.btn-lg{padding:.9rem 1.6rem;font-size:1.05rem}.user-menu{position:relative}.user-avatar{width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--accent);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .15s ease}.user-avatar:hover{transform:scale(1.05)}.user-menu-popover{position:absolute;right:0;top:calc(100% + .5rem);width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.4rem;z-index:100}.user-menu-popover a,.user-menu-popover button{display:block;padding:.55rem .75rem;border-radius:var(--radius-sm);color:var(--text);background:none;border:none;width:100%;text-align:left;font-family:inherit;font-size:.92rem;cursor:pointer}.user-menu-popover a:hover,.user-menu-popover button:hover{background:var(--surface-alt)}.user-menu-head{padding:.6rem .75rem .8rem;display:flex;flex-direction:column;gap:.15rem;border-bottom:1px solid var(--border);margin-bottom:.3rem}.welcome{padding-top:1rem}.welcome-hero{text-align:center;padding:2rem 1rem 3rem}.welcome-leaf{font-size:3rem;display:inline-block;filter:drop-shadow(0 4px 12px rgba(213,43,30,.3))}.welcome-hero h1{font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.1;margin:.5rem 0 1.25rem;background:linear-gradient(135deg,var(--accent),var(--red-dark));-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-sub{font-size:1.15rem;color:var(--text-muted);max-width:640px;margin:0 auto;line-height:1.55}.welcome-cta{display:flex;gap:.85rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.welcome-tagline{margin-top:2rem;color:var(--text-muted);font-size:.95rem}.welcome-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:2.5rem 0}.welcome-feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.welcome-icon{font-size:2rem;margin-bottom:.6rem}.welcome-feature h3{margin:0 0 .5rem;font-size:1.1rem}.welcome-feature p{color:var(--text-muted);margin:0;line-height:1.5}.welcome-steps{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 2.5rem;margin-top:2rem;text-align:center}.welcome-steps h2{margin-top:0}.welcome-steps ol{text-align:left;max-width:600px;margin:1.5rem auto;line-height:1.8;color:var(--text)}.welcome-steps ol li{margin-bottom:.6rem}.auth-page{display:flex;justify-content:center;padding:2rem 1rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow)}.auth-card h1{margin:0}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem;color:var(--text)}.auth-card input,.feedback-form textarea{padding:.7rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem;font-family:inherit;font-weight:400}.auth-card input:focus,.feedback-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.auth-card small.muted{font-weight:400;font-size:.8rem}.auth-foot{text-align:center;margin:0;color:var(--text-muted)}.auth-foot a{color:var(--accent);font-weight:600}.stat-row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.3rem;box-shadow:var(--shadow)}.stat-card.small{padding:.85rem 1rem;border-top-width:3px}.stat-label{color:var(--text-muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat-big{font-size:2rem;font-weight:800;line-height:1}.stat-sub{color:var(--text-muted);font-size:.85rem}.card-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.card-section h2{margin:0 0 1rem;font-size:1.15rem}.category-bars{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem}.category-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.3rem;font-size:.92rem}.category-name{font-weight:600}.category-stat{color:var(--text-muted);font-variant-numeric:tabular-nums}.dashboard-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-top:1rem}.dash-link{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;display:block;transition:transform .15s ease,border-color .15s ease;color:var(--text)}.dash-link:hover{transform:translateY(-2px);border-color:var(--accent)}.dash-link h3{margin:0 0 .3rem;font-size:1rem}.dash-link p{margin:0;color:var(--text-muted);font-size:.88rem}.history-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.history-table th,.history-table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}.history-table th{background:var(--surface-alt);font-weight:700;color:var(--text);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover td{background:var(--surface-alt)}.link-action{color:var(--accent);font-weight:600}.pill{padding:.18rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--surface-alt);border:1px solid var(--border)}.pill.good{background:color-mix(in srgb,var(--good) 12%,transparent);border-color:var(--good);color:var(--good)}.pill.bad{background:color-mix(in srgb,var(--bad) 12%,transparent);border-color:var(--bad);color:var(--bad)}.miss-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.miss-item{padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.miss-meta{display:flex;gap:.4rem;margin-bottom:.5rem;flex-wrap:wrap}.miss-question{margin:0;font-weight:500}.feedback-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow)}.feedback-form label{display:flex;flex-direction:column;gap:.4rem;font-weight:600}.star-row{display:flex;gap:.25rem}.star-btn{background:none;border:none;font-size:1.8rem;color:var(--text-muted);cursor:pointer;transition:color .15s ease,transform .1s ease;padding:0}.star-btn:hover{transform:scale(1.15)}.star-btn.lit{color:var(--warn)}.tabs{display:flex;gap:.3rem;margin:1rem 0;border-bottom:1px solid var(--border)}.tab{background:none;border:none;padding:.6rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.feedback-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.feedback-item{padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.feedback-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem;flex-wrap:wrap;gap:.5rem}.stars{color:var(--warn);letter-spacing:.1em;font-size:1.1rem}.feedback-item p{margin:0;line-height:1.5}.guest-banner{padding:.85rem 1.1rem;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius-sm);margin-bottom:1rem;font-weight:500}.guest-banner a{color:var(--accent);font-weight:700;text-decoration:underline}.signup-wall{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow)}.signup-wall-icon{font-size:3rem;margin-bottom:.5rem}.signup-wall h2{margin:.5rem 0}.signup-wall p{color:var(--text-muted);max-width:480px;margin:.5rem auto 1.5rem;line-height:1.6}.signup-wall-cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.status-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.filter-chip{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.45rem .9rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.filter-chip:hover{border-color:var(--accent)}.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.status-badge{margin-left:auto;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);background:var(--surface-alt);color:var(--text-muted);white-space:nowrap}.status-badge.passed{background:color-mix(in srgb,var(--good) 15%,transparent);border-color:var(--good);color:var(--good)}.status-badge.failed{background:color-mix(in srgb,var(--bad) 15%,transparent);border-color:var(--bad);color:var(--bad)}.test-card.status-passed{border-left:4px solid var(--good)}.test-card.status-failed{border-left:4px solid var(--bad)}.test-card.status-not_attempted{border-left:4px solid transparent}.status-badge.locked{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent)}.test-card-stats{font-size:.85rem;color:var(--text-muted);margin-top:-.25rem}.muted-inline{color:var(--text-muted);font-weight:400;font-size:.85rem}.hero-badge{display:inline-block;padding:.4rem 1rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-weight:700;font-size:.82rem;letter-spacing:.04em;margin-bottom:1.5rem;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.welcome-hero h1 .hero-accent{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-hero h1{background:none;-webkit-text-fill-color:currentColor;color:var(--text)}.welcome-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1rem 0 2.5rem}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.stat-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-tile-big{font-size:2rem;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-tile-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.welcome-feature{position:relative;overflow:hidden}.welcome-feature:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(at top right,var(--red-glow),transparent 60%);opacity:0;transition:opacity .25s ease;pointer-events:none}.welcome-feature:hover:before{opacity:1}.resources{padding-bottom:2rem}.slide-count{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem}.slide-progress{height:6px;background:var(--surface-alt);border-radius:999px;overflow:hidden;margin:.5rem 0 1.5rem}.slide-progress-fill{height:100%;background:var(--accent-grad);transition:width .35s ease}.slide-deck{display:flex;align-items:stretch;gap:.75rem;position:relative}.slide-arrow{width:44px;flex-shrink:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);font-size:1.5rem;font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.slide-arrow:hover:not(:disabled){border-color:var(--accent);background:var(--surface-alt);transform:scale(1.05)}.slide-arrow:disabled{opacity:.3;cursor:not-allowed}.slide-card{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-lg);min-height:360px;animation:slideIn .3s ease;position:relative;overflow:hidden}.slide-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--accent-grad)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.slide-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.slide-icon{font-size:2.5rem;line-height:1;flex-shrink:0}.slide-topic{font-size:.78rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.slide-title{margin:.3rem 0 0;font-size:1.4rem;line-height:1.25}.slide-paragraph{font-size:1.02rem;line-height:1.6;color:var(--text);margin:.5rem 0 1rem}.slide-bullets{list-style:none;padding:0;margin:.5rem 0}.slide-bullets li{position:relative;padding:.5rem 0 .5rem 1.5rem;border-bottom:1px dashed var(--border);font-size:.98rem;line-height:1.5}.slide-bullets li:last-child{border-bottom:none}.slide-bullets li:before{content:"🍁";position:absolute;left:0;top:.55rem;font-size:.85rem}.slide-callout{margin-top:1.25rem;padding:1rem 1.1rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-left:4px solid var(--accent);font-size:.92rem;line-height:1.5}.topic-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:.5rem 0 1rem;padding-bottom:.5rem}.topic-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .1s ease}.topic-chip:hover{border-color:var(--accent);transform:translateY(-1px)}.topic-chip.active{background:var(--accent-grad);color:#fff;border-color:var(--accent)}.topic-chip .chip-count{display:inline-block;min-width:18px;padding:0 .4rem;background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:999px;font-size:.72rem;font-weight:700;text-align:center}.topic-chip.active .chip-count{background:#ffffff40}.chapter-rail{display:grid;grid-template-columns:repeat(10,1fr);gap:.25rem;margin:.85rem 0 1.25rem}.chapter-tick{position:relative;height:22px;border:none;background:var(--surface-alt);border-radius:4px;cursor:pointer;padding:0;transition:background .15s ease,transform .1s ease;overflow:visible}.chapter-tick:hover{background:color-mix(in srgb,var(--accent) 30%,var(--surface-alt));transform:scaleY(1.15)}.chapter-tick.active{background:var(--accent-grad)}.chapter-tick-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-6px);font-size:.72rem;font-weight:600;color:var(--text-muted);white-space:nowrap;opacity:0;transition:opacity .15s ease;pointer-events:none;background:var(--surface);border:1px solid var(--border);padding:.15rem .45rem;border-radius:4px;box-shadow:var(--shadow)}.chapter-tick:hover .chapter-tick-label{opacity:1}@media (max-width: 700px){.chapter-rail{grid-template-columns:repeat(5,1fr)}.chapter-tick-label{display:none}}.verify-banner{display:flex;align-items:center;gap:.85rem;padding:.65rem 1rem;background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);color:var(--text);border-radius:var(--radius-sm);margin-bottom:1.2rem;flex-wrap:wrap;font-size:.92rem}.verify-banner-msg{color:var(--text-muted);font-size:.88rem}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.readiness-card,.countdown-card,.streak-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.readiness-card{flex-direction:row;align-items:center;gap:1.25rem}.readiness-meter{flex-shrink:0}.readiness-meta{display:flex;flex-direction:column;gap:.2rem}.readiness-label{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.readiness-tier{font-size:1.2rem;font-weight:800}.readiness-tip{font-size:.85rem;line-height:1.4;margin:.25rem 0 0}.countdown-card{text-align:center;align-items:center}.countdown-icon{font-size:2rem}.countdown-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.countdown-big{font-size:2.4rem;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.countdown-card.urgent .countdown-big{background:linear-gradient(135deg,var(--bad),#b91c1c);-webkit-background-clip:text;background-clip:text}.countdown-card.soon .countdown-big{background:linear-gradient(135deg,var(--warn),#b45309);-webkit-background-clip:text;background-clip:text}.countdown-card.far .countdown-big{background:linear-gradient(135deg,var(--good),#15803d);-webkit-background-clip:text;background-clip:text}.countdown-sub{font-size:.85rem}.countdown-input{padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:.95rem}.countdown-actions{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap;justify-content:center}.streak-card{text-align:center;align-items:center}.streak-flame{font-size:2rem;line-height:1}.streak-big{font-size:3rem;font-weight:800;line-height:1;color:var(--accent)}.streak-label{font-weight:700;color:var(--text);font-size:.95rem}.streak-sub{font-size:.82rem}.review-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),color-mix(in srgb,#7c3aed 12%,var(--surface)));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:var(--radius);margin-bottom:1.5rem;color:var(--text);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.review-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.review-cta-left{display:flex;gap:1rem;align-items:center}.review-cta-emoji{font-size:2.2rem;line-height:1}.review-cta-title{font-weight:800;font-size:1.1rem}.review-cta-sub{color:var(--text-muted);font-size:.9rem;margin-top:.15rem}.review-cta-arrow{font-weight:700;color:var(--accent);white-space:nowrap;padding:.5rem 1rem;background:var(--surface);border-radius:999px;border:1px solid var(--border)}.review-progress-row{display:flex;align-items:center;gap:1rem;margin:0 0 1.25rem}.review-progress-row .progress-bar{flex:1}.resume-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),color-mix(in srgb,#7c3aed 12%,var(--surface)));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:var(--radius);margin-bottom:1.5rem;color:var(--text);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease;text-decoration:none}.resume-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.resume-card-left{display:flex;gap:1rem;align-items:center}.resume-card-emoji{font-size:2.4rem;line-height:1}.resume-card-title{font-weight:800;font-size:1.15rem}.resume-card-sub{color:var(--text-muted);font-size:.92rem;margin-top:.2rem;line-height:1.45;max-width:60ch}.resume-card-arrow{font-weight:700;color:var(--accent);white-space:nowrap;padding:.5rem 1rem;background:var(--surface);border-radius:999px;border:1px solid var(--border);font-size:.92rem}.bookmark-btn{margin-left:auto;background:transparent;border:none;cursor:pointer;font-size:1.4rem;line-height:1;padding:.25rem .5rem;border-radius:var(--radius-sm);color:var(--text-muted);transition:color .15s ease,background .15s ease,transform .1s ease}.bookmark-btn:hover{background:var(--surface-alt);color:var(--accent);transform:scale(1.1)}.bookmark-btn.starred{color:#f59e0b;text-shadow:0 0 8px rgba(245,158,11,.4)}.bookmark-btn:disabled{opacity:.5;cursor:wait}.leaderboard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.45rem;text-align:center;align-items:center}.leaderboard-emoji{font-size:2rem;line-height:1}.leaderboard-tier{font-size:1.4rem;font-weight:800;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}.leaderboard-rank{font-size:.9rem;color:var(--text);font-weight:500}.leaderboard-meter{width:100%;height:6px;background:var(--surface-alt);border-radius:999px;overflow:hidden}.leaderboard-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#d97706);transition:width .4s ease}.leaderboard-tip{font-size:.82rem;line-height:1.45;margin:.25rem 0 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f111599;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:2rem;max-width:480px;width:100%;text-align:center;position:relative;box-shadow:var(--shadow-lg);animation:slideIn .25s ease}.modal-close{position:absolute;top:.6rem;right:.8rem;background:transparent;border:none;font-size:1.6rem;line-height:1;color:var(--text-muted);cursor:pointer}.modal-icon{font-size:2.6rem;line-height:1;margin-bottom:.5rem}.modal-card h2{margin:.5rem 0}.paywall-perks{list-style:none;padding:0;margin:1.25rem 0;text-align:left}.paywall-perks li{padding:.25rem 0;font-size:.95rem}.paywall-price{display:flex;align-items:baseline;justify-content:center;gap:.4rem;margin:1rem 0}.paywall-currency{color:var(--text-muted);font-weight:600}.paywall-amount{font-size:3rem;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.paywall-once{color:var(--text-muted);font-weight:600}.paywall-guarantee{background:color-mix(in srgb,var(--good) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--good) 40%,transparent);border-radius:var(--radius-sm);padding:.85rem 1rem;font-size:.9rem;line-height:1.5;margin:1rem 0;text-align:left}.paywall-cta{width:100%;margin-bottom:.5rem}.btn-text{background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.9rem;cursor:pointer;padding:.5rem}.btn-text:hover{color:var(--text)}.pricing-page{padding-bottom:2rem}.pricing-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:2rem;box-shadow:var(--shadow);margin-bottom:2rem}.pricing-tag{display:inline-block;padding:.3rem .8rem;background:var(--accent-grad);color:#fff;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.05em}.pricing-price{display:flex;align-items:baseline;gap:.4rem;margin:1.25rem 0 1.5rem}.pricing-currency{color:var(--text-muted);font-weight:600;font-size:.95rem}.pricing-amount{font-size:4rem;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.pricing-once{color:var(--text-muted);font-weight:600;font-size:1rem}.pricing-perks{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.45rem}.pricing-perks li{font-size:.98rem}.pricing-guarantee{display:flex;gap:1rem;align-items:flex-start;background:color-mix(in srgb,var(--good) 12%,var(--surface));border-left:4px solid var(--good);border-radius:var(--radius-sm);padding:1rem 1.2rem;margin:1.5rem 0;font-size:.95rem;line-height:1.55}.guarantee-icon{font-size:1.8rem;line-height:1}.pricing-cta{width:100%}.paid-notice{background:color-mix(in srgb,var(--good) 10%,var(--surface));border:1px solid var(--good);padding:1rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;text-align:center}.pricing-faq h2{margin-top:0}.pricing-faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1.1rem;margin-bottom:.5rem}.pricing-faq summary{cursor:pointer;font-weight:600}.pricing-faq p{margin:.6rem 0 0;color:var(--text-muted);line-height:1.55}.upgrade-inline{display:inline-block;padding:.2rem .6rem;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-radius:999px;font-weight:600;font-size:.85rem;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.upgrade-inline:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.verify-prompt{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.25rem;margin:1.25rem 0;background:color-mix(in srgb,var(--warn) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 40%,var(--border));border-radius:var(--radius-sm)}.verify-prompt-icon{font-size:1.8rem;line-height:1;flex-shrink:0}.verify-prompt-body strong{display:block;margin-bottom:.3rem}.verify-prompt-body p{margin:0 0 .6rem;line-height:1.5;font-size:.92rem}.confirm-row{display:flex;flex-direction:column;gap:.85rem}.danger-zone{margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--bad) 35%,var(--border));background:color-mix(in srgb,var(--bad) 5%,transparent);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.7rem}.danger-zone h3{margin:0;color:var(--bad);font-size:1rem}.danger-zone label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.9rem}.danger-zone input,.danger-zone textarea{padding:.6rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:.95rem}.danger-btn{background:var(--bad);color:#fff;border:1px solid var(--bad)}.danger-btn:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.resources-header-right{display:flex;align-items:center;gap:.6rem}.listen-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);animation:pulse 1.2s ease-in-out infinite alternate}.study-read-progress{display:flex;align-items:center;gap:.85rem;margin:.5rem 0 1rem}.study-read-bar{flex:1;height:6px;background:var(--surface-alt);border-radius:999px;overflow:hidden}.study-read-fill{height:100%;background:linear-gradient(90deg,var(--good),#16a34a);transition:width .35s ease}.study-read-count{font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}.slide-toc-item.read{background:color-mix(in srgb,var(--good) 6%,transparent)}.slide-toc-tick{margin-left:auto;color:var(--good);font-weight:800;font-size:.95rem}.time-spent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.85rem}.time-tile{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:var(--radius-sm);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.2rem;text-align:center}.time-tile-label{color:var(--text-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.time-tile-big{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}.feature-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.feature-tile{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.feature-tile:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--accent)}.feature-tile.feature-practice:before{background:linear-gradient(90deg,#ec4034,#b22318)}.feature-tile.feature-study:before{background:linear-gradient(90deg,#0ea5e9,#0369a1)}.feature-tile.feature-mock:before{background:linear-gradient(90deg,#16a34a,#15803d)}.feature-tile.feature-review:before{background:linear-gradient(90deg,#7c3aed,#5b21b6)}.feature-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.feature-tile-emoji{font-size:2.2rem;line-height:1;margin-bottom:.2rem}.feature-tile h3{margin:0;font-size:1.1rem}.feature-tile p{color:var(--text-muted);font-size:.92rem;line-height:1.5;margin:0;flex:1}.feature-tile-cta{margin-top:.5rem;font-weight:700;font-size:.9rem;color:var(--accent)}.feature-tile.feature-study .feature-tile-cta{color:#0ea5e9}.feature-tile.feature-mock .feature-tile-cta{color:#16a34a}.feature-tile.feature-review .feature-tile-cta{color:#7c3aed}.audio-tag{display:inline-block;margin-left:.4rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;border-radius:999px;background:linear-gradient(135deg,#0ea5e9,#0369a1);color:#fff;vertical-align:middle}.audio-tip-banner{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;margin:.5rem 0 1rem;background:linear-gradient(135deg,color-mix(in srgb,#0ea5e9 12%,var(--surface)),color-mix(in srgb,#7c3aed 8%,var(--surface)));border:1px solid color-mix(in srgb,#0ea5e9 35%,var(--border));border-radius:var(--radius);box-shadow:var(--shadow)}.audio-tip-emoji{font-size:2rem;line-height:1;flex-shrink:0}.audio-tip-body{flex:1}.audio-tip-body strong{display:block;font-size:1.02rem;margin-bottom:.15rem}.audio-tip-body p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.45}.audio-tip-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.audio-tip-dismiss{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:.3rem .5rem;border-radius:var(--radius-sm)}.audio-tip-dismiss:hover{background:var(--surface-alt);color:var(--text)}.mock-history-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.mock-history-panel>summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between;align-items:center;list-style:none;padding:.25rem 0}.mock-history-panel>summary::-webkit-details-marker{display:none}.mock-history-panel>summary:after{content:"▾";color:var(--text-muted);font-weight:400;margin-left:.5rem;transition:transform .15s ease}.mock-history-panel:not([open])>summary:after{transform:rotate(-90deg)}.mock-history-count{font-weight:500;font-size:.85rem}.mock-history-panel .history-table{margin-top:.75rem;width:100%}.history-table.compact th,.history-table.compact td{padding:.5rem .7rem;font-size:.9rem}.mock-history-panel-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding-top:.5rem;border-top:1px dashed var(--border);font-size:.88rem}.mock-history-panel-foot button.link-action{background:transparent;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0}.mock-history-panel-foot button.link-action:hover{text-decoration:underline}.dash-link.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),color-mix(in srgb,#7c3aed 8%,var(--surface)));border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.progress-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.settings-form{display:flex;flex-direction:column;gap:.95rem;max-width:480px}.settings-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.settings-form input{padding:.7rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:1rem}.settings-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.faq-list{display:flex;flex-direction:column;gap:.4rem}.faq-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem}.faq-item summary{cursor:pointer;font-weight:600;padding:.2rem 0;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"▸ ";display:inline-block;margin-right:.5rem;color:var(--accent);transition:transform .15s ease}.faq-item[open] summary:before{transform:rotate(90deg)}.faq-item p{margin:.5rem 0 0;color:var(--text);line-height:1.55}.support-form{display:flex;flex-direction:column;gap:.85rem}.support-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.support-form input,.support-form textarea{padding:.7rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem;font-family:inherit}.slide-toc{margin-top:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1.25rem}.slide-toc summary{cursor:pointer;font-weight:600;padding:.4rem 0;list-style:none}.slide-toc summary::-webkit-details-marker{display:none}.slide-toc summary:before{content:"▸ ";display:inline-block;margin-right:.4rem;transition:transform .15s ease}.slide-toc[open] summary:before{transform:rotate(90deg)}.slide-toc-list{display:grid;grid-template-columns:1fr;gap:.3rem;margin-top:.5rem}.slide-toc-item{display:flex;align-items:center;gap:.75rem;text-align:left;padding:.6rem .7rem;background:none;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;color:var(--text);cursor:pointer;font-size:.92rem}.slide-toc-item:hover{background:var(--surface-alt)}.slide-toc-item.active{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.slide-toc-icon{font-size:1.2rem;flex-shrink:0}@media (max-width: 600px){.slide-card{padding:1.25rem;min-height:300px}.slide-icon{font-size:2rem}.slide-title{font-size:1.15rem}.slide-arrow{width:36px;font-size:1.2rem}}@media (max-width: 600px){.app-header{padding:.8rem 1rem;gap:.75rem;flex-wrap:wrap}.app-nav{order:3;width:100%}.app-main{padding:1.25rem .75rem 3rem}.question-card{padding:1.25rem}.question-text{font-size:1.1rem}.filters{padding:.85rem}.filters select{min-width:0;width:100%}.result-banner{grid-template-columns:1fr;text-align:center}}html{text-rendering:optimizeLegibility;font-feature-settings:"kern","liga","calt"}body{letter-spacing:-.005em}h1,h2,h3{letter-spacing:-.02em;font-weight:800}h1{line-height:1.15}.app-header{background:var(--surface-glass);border-bottom:1px solid var(--border-soft);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px)}.btn{transition:all .18s cubic-bezier(.2,.7,.3,1)}.btn-primary{box-shadow:inset 0 1px #ffffff40,0 8px 22px var(--red-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 14px 32px var(--red-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 2px #00000008}.btn-secondary:hover{background:var(--surface-alt);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));transform:translateY(-1px)}.btn-lg{padding:.95rem 1.6rem;font-size:1.05rem;border-radius:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}.pill{display:inline-block;padding:.18rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border-soft)}.pill.good{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good);border-color:color-mix(in srgb,var(--good) 35%,transparent)}.pill.bad{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.welcome-pass-rate{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;margin:1.25rem auto;background:color-mix(in srgb,var(--good) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--good) 35%,transparent);border-radius:999px;color:var(--text);font-size:.95rem}.welcome-pass-rate strong{color:var(--good)}.stat-tile.featured{background:linear-gradient(135deg,color-mix(in srgb,var(--good) 18%,var(--surface)),color-mix(in srgb,var(--good) 8%,var(--surface)));border-color:color-mix(in srgb,var(--good) 35%,var(--border))}.stat-tile.featured .stat-tile-big{background:linear-gradient(135deg,var(--good),#15803d);-webkit-background-clip:text;background-clip:text;color:transparent}.test-card,.feature-card,.dash-link,.stat-tile{transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s cubic-bezier(.2,.7,.3,1),border-color .18s ease}.question-card{border-radius:20px;position:relative;overflow:hidden}.question-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-grad);opacity:.85;border-radius:20px 20px 0 0}.option.selected:not(.revealed){box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}.filters select,.search-input,.search-select,.support-form input,.support-form textarea,.settings-form input,.countdown-input{border-radius:12px;background:var(--surface);border-color:var(--border);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.filters select:hover,.search-input:hover,.search-select:hover{border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}.admin-search{display:flex;gap:.6rem;align-items:center;margin:0 0 1rem;flex-wrap:wrap}.admin-search .search-input{flex:1;min-width:240px}.search-select{padding:.55rem .85rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;font-family:inherit;font-size:.92rem;cursor:pointer}.admin-search-count{font-size:.85rem;white-space:nowrap}.history-table{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.history-table th{background:var(--surface-alt);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.history-table td,.history-table th{padding:.7rem .95rem}.history-table tr:not(:last-child) td{border-bottom:1px solid var(--border-soft)}.history-table tbody tr{transition:background .12s ease}.history-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.nav-link{border-radius:999px;transition:background .15s ease,color .15s ease}.nav-link:hover{background:var(--surface-alt);color:var(--text)}.nav-link.active{background:var(--accent-grad);color:#fff;box-shadow:0 4px 14px var(--red-glow)}[data-theme=dark] .question-card,[data-theme=dark] .test-card,[data-theme=dark] .feature-card,[data-theme=dark] .stat-card,[data-theme=dark] .stat-tile,[data-theme=dark] .dash-link,[data-theme=dark] .pricing-card,[data-theme=dark] .readiness-card,[data-theme=dark] .countdown-card,[data-theme=dark] .streak-card,[data-theme=dark] .leaderboard-card,[data-theme=dark] .modal-card{background:linear-gradient(180deg,color-mix(in srgb,white 4%,var(--surface)),var(--surface));border-color:var(--border)}[data-theme=dark] .app-header{background:#11151cb8}[data-theme=dark] .history-table{background:var(--surface);border-color:var(--border)}[data-theme=dark] .history-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}[data-theme=dark] .btn-primary{box-shadow:inset 0 1px #ffffff2e,0 8px 22px var(--red-glow)}[data-theme=dark] .resume-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--surface)),color-mix(in srgb,var(--purple) 16%,var(--surface)))}.theme-toggle{transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .15s ease}.theme-toggle:hover{transform:rotate(-15deg) scale(1.1)}.brand-text strong{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-accent{background-size:200% 200%;animation:gradientShift 8s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.diagnostic{max-width:720px;margin:0 auto;padding:2rem 1rem 3rem}.diagnostic-head{text-align:center;margin-bottom:1.5rem}.diagnostic-eyebrow{display:inline-block;padding:.3rem .85rem;border-radius:999px;background:var(--accent-grad-soft);color:var(--accent);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.85rem}.diagnostic-head h1{margin:.25rem 0;font-size:2rem}.diagnostic-progress{height:8px;background:var(--surface-alt);border-radius:999px;overflow:hidden;margin:1.25rem 0 .4rem}.diagnostic-progress-fill{height:100%;background:var(--accent-grad);transition:width .35s cubic-bezier(.2,.7,.3,1)}.diagnostic-step{text-align:center;font-size:.88rem;margin-bottom:1rem}.diagnostic-card{margin-top:.5rem}.diagnostic-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.25rem}.diagnostic-foot{text-align:center;margin-top:1.5rem;font-size:.85rem}.diagnostic-result .diagnostic-head{margin-bottom:.5rem}.diagnostic-score-ring{width:180px;height:180px;margin:1rem auto;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);border:8px solid var(--border);box-shadow:var(--shadow)}.diagnostic-score-ring.tone-good{border-color:var(--good)}.diagnostic-score-ring.tone-warn{border-color:var(--warn)}.diagnostic-score-ring.tone-bad{border-color:var(--bad)}.diagnostic-score-pct{font-size:2.6rem;font-weight:700;line-height:1}.diagnostic-score-frac{margin-top:.4rem;font-size:.88rem;color:var(--text-muted)}.diagnostic-headline{text-align:center;margin:.75rem 0 1.5rem;font-size:1.4rem}.diagnostic-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.25rem;margin:.75rem 0}.diagnostic-section h3{margin:0 0 .6rem;font-size:1rem}.diagnostic-chips{display:flex;flex-wrap:wrap;gap:.4rem}.diagnostic-chip{display:inline-block;padding:.35rem .85rem;border-radius:999px;font-size:.88rem;font-weight:500;border:1px solid var(--border)}.diagnostic-chip.weak{background:color-mix(in srgb,var(--bad) 10%,var(--surface));color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--border))}.diagnostic-chip.strong{background:color-mix(in srgb,var(--good) 10%,var(--surface));color:var(--good);border-color:color-mix(in srgb,var(--good) 35%,var(--border))}.diagnostic-cta-card{margin:1.5rem 0 1rem;padding:1.5rem;border-radius:var(--radius);background:var(--accent-grad-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));text-align:center}.diagnostic-cta-card h2{margin:0 0 .4rem}.diagnostic-cta-card p{margin:0 0 1rem;color:var(--text-muted)}.diagnostic-breakdown{margin-top:1.5rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.diagnostic-breakdown summary{cursor:pointer;font-weight:600}.diagnostic-question-list{margin-top:.8rem;display:flex;flex-direction:column;gap:.6rem}.diagnostic-q-row{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;row-gap:.25rem;padding:.65rem .85rem;border-radius:var(--radius-sm);border-left:4px solid var(--border);background:var(--surface-alt)}.diagnostic-q-row.correct{border-left-color:var(--good)}.diagnostic-q-row.wrong{border-left-color:var(--bad)}.diagnostic-q-tag{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.diagnostic-q-state{font-size:.92rem;font-weight:500}.diagnostic-q-explain{grid-column:1 / -1;font-size:.88rem;line-height:1.4}.welcome-microcta{text-align:center;font-size:.88rem;margin-top:.75rem}@media (max-width: 540px){.diagnostic-score-ring{width:150px;height:150px}.diagnostic-score-pct{font-size:2.2rem}.diagnostic-head h1{font-size:1.65rem}}.signup-diagnostic-banner{display:flex;gap:.85rem;align-items:center;padding:.85rem 1rem;margin:.5rem 0 1rem;border-radius:var(--radius-sm);background:var(--accent-grad-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));font-size:.92rem}.signup-diagnostic-banner>span:first-child{font-size:1.6rem;flex:0 0 auto}.todays-plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;margin:1rem 0;box-shadow:var(--shadow)}.todays-plan.loading{color:var(--text-muted)}.todays-plan.empty,.todays-plan.future{text-align:center}.todays-plan-icon{font-size:2.2rem;margin-bottom:.4rem}.todays-plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.todays-plan-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.todays-plan h3{margin:.2rem 0 0}.todays-plan-tasks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.plan-task{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;background:var(--surface-alt);border-radius:var(--radius-sm);border:1px solid var(--border-soft);transition:background .15s ease,opacity .15s ease}.plan-task.done{opacity:.55;text-decoration:line-through}.plan-task.done .plan-task-title{color:var(--text-muted)}.plan-task-check{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto}.plan-task-check input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.plan-task-icon{font-size:1.2rem}.plan-task-body{flex:1 1 auto;min-width:0}.plan-task-title{font-weight:500}.plan-task-hint{font-size:.85rem;margin-top:.15rem}.plan-task-go{flex:0 0 auto;white-space:nowrap}.plan-task.compact .plan-task-title{font-size:.95rem}.plan-page{max-width:820px;margin:0 auto;padding:0 1rem 3rem}.plan-empty-card{text-align:center;padding:2.5rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:2rem;box-shadow:var(--shadow)}.plan-empty-icon{font-size:3rem;margin-bottom:.5rem}.plan-empty-form{display:flex;gap:.75rem;justify-content:center;align-items:stretch;margin:1.25rem auto 0;max-width:360px;flex-wrap:wrap}.plan-empty-form .countdown-input{flex:1 1 160px}.plan-progress-bar{position:relative;height:28px;background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;overflow:hidden;margin:1rem 0}.plan-progress-fill{height:100%;background:var(--accent-grad);transition:width .4s cubic-bezier(.2,.7,.3,1)}.plan-progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:var(--text);mix-blend-mode:luminosity}.plan-attempt-banner{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);padding:.65rem 1rem;border-radius:var(--radius-sm);font-size:.92rem;margin:.75rem 0 1.5rem}.plan-days{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.plan-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow)}.plan-day.past{opacity:.55}.plan-day.today{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent),var(--shadow)}.plan-day.test-day{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.plan-day.done{border-color:var(--good)}.plan-day-head{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.plan-day-meta{display:flex;gap:.75rem;align-items:baseline}.plan-day-num{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.plan-day-date{font-size:.85rem;color:var(--text-muted)}.plan-day-label{margin:0;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.plan-day-today-tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:.18rem .55rem;background:var(--accent-grad);color:#fff;border-radius:999px;font-weight:700}.plan-day-tasks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.plan-footer-note{margin-top:1.5rem;font-size:.85rem;text-align:center}@media (max-width: 540px){.plan-task{flex-wrap:wrap}.plan-task-go{width:100%;text-align:center}}.practice-header-right{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.voice-toggle{position:relative;display:inline-flex;align-items:center;gap:.4rem}.voice-toggle.active{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.voice-toggle.active:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:12px;border:2px solid var(--accent);opacity:.6;animation:voicePulse 1.8s ease-in-out infinite;pointer-events:none}@keyframes voicePulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:0}}.voice-banner{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;margin:1rem 0;border-radius:var(--radius-sm);background:var(--surface-alt);border:1px solid var(--border);transition:background .25s ease,border-color .25s ease}.voice-banner.status-speaking{background:color-mix(in srgb,var(--purple) 12%,var(--surface));border-color:color-mix(in srgb,var(--purple) 30%,var(--border))}.voice-banner.status-listening{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.voice-banner.status-feedback{background:color-mix(in srgb,var(--good) 12%,var(--surface));border-color:color-mix(in srgb,var(--good) 30%,var(--border))}.voice-banner-icon{font-size:1.5rem;flex:0 0 auto}.voice-banner.status-listening .voice-banner-icon{animation:voiceMicPulse 1.2s ease-in-out infinite}@keyframes voiceMicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.voice-banner-text{font-size:.95rem;line-height:1.4}.voice-transcript{font-size:.85rem;font-style:italic}.bottom-tab-bar{display:none}@media (max-width: 700px){.app-nav{display:none!important}.app-main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.app-footer{display:none}.bottom-tab-bar{display:flex;justify-content:space-around;align-items:stretch;position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom,0px));z-index:50;box-shadow:0 -2px 12px #14171f0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-tab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:.35rem .15rem;border-radius:10px;text-decoration:none;color:var(--text-muted);font-size:.65rem;line-height:1;transition:color .15s ease,background .15s ease,transform .1s ease}.bottom-tab:active{transform:scale(.93)}.bottom-tab.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-weight:600}.bottom-tab-icon{font-size:1.2rem;line-height:1}.bottom-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}}[data-theme=dark] .bottom-tab-bar{background:color-mix(in srgb,var(--surface) 92%,black);box-shadow:0 -2px 16px #0006}.plan-error-card{text-align:center;padding:2rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--warn);border-radius:var(--radius);margin-top:1.5rem;box-shadow:var(--shadow)}.plan-error-card h2{margin:.5rem 0}.plan-error-card p{margin:.5rem auto 1rem;max-width:480px}.plan-error-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.loading{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:1rem}
