:root{--radius-lg: 28px;--radius-xl: 34px;--shadow-card: 0 2px 8px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.08);--shadow-btn: 0 2px 6px rgba(0,0,0,.08);--font: Inter, system-ui, -apple-system, sans-serif}.light{--bg: #f8f6f0;--bg-card: #ffffff;--text: #1e293b;--text-soft: #64748b;--border: rgba(0,0,0,.06);--nav-bg: rgba(255,255,255,.92);color:var(--text);background:var(--bg)}.dark{--bg: #0f0a1e;--bg-card: #1a1035;--text: #e2e8f0;--text-soft: #94a3b8;--border: rgba(255,255,255,.08);--nav-bg: rgba(15,10,30,.92);color:var(--text);background:var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg)}button{font-family:inherit;cursor:pointer;border:0}input{font-family:inherit}.app-shell{width:min(960px,calc(100vw - 40px));min-height:100vh;margin:0 auto;padding:24px 0 120px}.top-bar{display:flex;align-items:center;gap:14px;margin-bottom:22px}.user-chip{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow-card)}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#ffbd0a,#ff6500);color:#fff;font-weight:800;font-size:15px}.user-chip strong{font-size:13px;display:block;line-height:1.2}.user-chip small{font-size:11px;color:var(--text-soft)}.screen-title{flex:1;text-align:center}.screen-title h1{font-size:20px;font-weight:800;letter-spacing:-.02em}.back-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-card);font-size:18px;font-weight:800;color:var(--text)}.theme-btn{width:40px;height:40px;border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-card);font-size:18px;display:grid;place-items:center}.auth-wrap{width:min(400px,100%);min-height:100vh;margin:0 auto;padding:80px 0 40px;display:grid;align-content:center;gap:20px}.brand{text-align:center}.brand-logo{width:80px;height:80px;margin:0 auto 14px;display:grid;place-items:center;border-radius:26px;background:#fff;box-shadow:var(--shadow-card)}.brand-logo img{width:58px;height:58px;object-fit:contain}.brand h1{font-size:34px;font-weight:900;letter-spacing:-.05em;color:var(--text)}.auth-card{padding:22px;border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-card);display:grid;gap:12px}.auth-head{display:flex;align-items:center;gap:10px}.auth-head h2{font-size:20px;font-weight:800}.back-link{width:38px;height:38px;border-radius:12px;background:#0000000a;font-size:18px;font-weight:800}.auth-card input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--border);border-radius:14px;font-size:15px;color:var(--text);background:#00000005;outline:none}.auth-btn{min-height:50px;border-radius:16px;background:linear-gradient(135deg,#2bd98d,#21bfd1);color:#fff;font-size:16px;font-weight:800;box-shadow:var(--shadow-btn)}.google-btn{min-height:50px;border-radius:16px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-size:15px;font-weight:700}.auth-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-links button{min-height:42px;border-radius:14px;background:#00000008;color:var(--text-soft);font-size:13px;font-weight:700}.auth-hint{font-size:14px;color:var(--text-soft);line-height:1.5}.hero-banner{min-height:200px;padding:28px 30px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#2bd98d,#21bfd1);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;box-shadow:0 6px #15a09640,0 14px 40px #21bfd12e}.streak{font-weight:800;font-size:13px;opacity:.92}.hero-banner h2{font-size:28px;margin:10px 0 6px;line-height:1.1;letter-spacing:-.04em}.hero-banner p{font-size:14px;opacity:.92;max-width:380px;line-height:1.45}.cta-btn{min-width:160px;min-height:52px;border-radius:18px;background:#fff;color:#1e293b;font-size:16px;font-weight:800;box-shadow:0 4px #00000014}.dashboard-screen{max-width:620px;margin:0 auto}.dashboard-topbar{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;margin-bottom:18px}.dashboard-topbar h1{font-size:30px;font-weight:900;letter-spacing:-.05em}.head-actions{display:flex;gap:10px}.profile-panel{padding:26px;border:1px solid rgba(139,92,246,.36);border-radius:30px;background:linear-gradient(145deg,#1e293bf5,#1b1239f5);color:#fff;box-shadow:var(--shadow-card)}.profile-main-row{display:flex;align-items:center;gap:18px;margin-bottom:22px}.profile-avatar{width:74px;height:74px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;font-size:36px;font-weight:950}.profile-panel h2{font-size:28px;line-height:1;letter-spacing:-.04em}.profile-panel p{margin-top:8px;color:#ffffffc7;font-weight:800}.xp-row{display:flex;justify-content:space-between;gap:12px;color:#ffffffd6;font-weight:800;font-size:14px}.xp-bar{height:12px;margin-top:8px;overflow:hidden;border-radius:999px;background:#94a3b842}.xp-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a855f7,#7c3aed)}.dashboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.dashboard-tabs button{min-height:48px;padding:0 12px;border-radius:15px;background:#1e293be0;color:#ffffffe0;font-size:15px;font-weight:900;box-shadow:var(--shadow-btn);transition:transform .15s,filter .15s,background .15s}.dashboard-tabs button:hover,.dashboard-tabs button:focus-visible{transform:translateY(-1px);filter:brightness(1.08)}.dashboard-tabs button.active{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stat-card,.topic-panel,.badge-card{min-height:150px;padding:22px 18px;display:grid;place-items:center;text-align:center;border:1px solid rgba(139,92,246,.42);border-radius:22px;background:linear-gradient(145deg,#1e293bf2,#170f30f2);color:#fff;box-shadow:var(--shadow-card)}.stat-card span,.badge-card span{font-size:30px}.stat-card strong,.badge-card strong{font-size:26px;font-weight:950;line-height:1.2;letter-spacing:-.03em}.stat-card small,.topic-panel p,.badge-card small{color:#ffffffa8;font-weight:700}.topic-panel{min-height:92px;margin-top:14px;justify-items:start;text-align:left;place-items:center start}.topic-panel h3{font-size:19px}.details-panel{padding-bottom:12px}.details-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.details-head h2{font-size:30px;line-height:1;letter-spacing:-.05em}.details-head button{min-height:44px;padding:0 18px;border-radius:16px;background:#eef2f7;color:#1e293b;font-size:16px;font-weight:900}.report-table{overflow:hidden;border:1px solid #e2e8f0;border-radius:18px;background:#fff;color:#1e293b;box-shadow:var(--shadow-card)}.report-header,.report-line{display:grid;grid-template-columns:1.25fr .95fr .75fr;align-items:center;gap:10px}.report-header{padding:18px;background:#f1f5f9;color:#475569;font-size:13px;font-weight:950;letter-spacing:.08em}.report-line{padding:18px;border-top:1px solid #eef2f7}.report-line strong,.report-line small{display:block}.report-line strong{font-size:16px}.report-line small{margin-top:4px;color:#94a3b8;font-size:12px;font-weight:800}.report-line b{justify-self:center;padding:7px 12px;border-radius:999px;background:#ecfdf5;color:#059669;font-size:14px;white-space:nowrap}.report-line>span{justify-self:end;color:#64748b;font-weight:700}.badge-panel{display:grid}.card-grid{display:grid;gap:14px;margin-top:18px}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.info-card{min-height:130px;padding:16px;border-radius:24px;color:#fff;text-align:left;box-shadow:0 4px #0000001a}button.info-card{cursor:pointer}button.info-card:hover{transform:translateY(-1px);filter:brightness(1.03)}.info-card span{font-size:26px;display:block;margin-bottom:16px}.info-card strong{font-size:16px;display:block;letter-spacing:-.02em}.info-card small{font-size:12px;display:block;margin-top:6px;opacity:.88}.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.green{background:linear-gradient(135deg,#10b981,#059669)}.orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.pink{background:linear-gradient(135deg,#ec4899,#db2777)}.exam{background:linear-gradient(135deg,#334155,#0f172a)}.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.rose{background:linear-gradient(135deg,#f43f5e,#e11d48)}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:4px}.year-grid.single{grid-template-columns:minmax(0,1fr);justify-items:center;padding-top:18px}.year-grid.single .year-card{width:min(260px,72vw);min-height:188px;transform:scale(1.08)}.year-card{min-height:150px;padding:18px;border-radius:var(--radius-lg);color:#fff;text-align:center;box-shadow:0 6px #00000014,0 14px 36px #0000001a;display:grid;place-items:center;align-content:center;gap:8px}.year-card.active{outline:4px solid rgba(255,255,255,.8);outline-offset:-2px}.yr-icon{font-size:30px}.year-card strong{font-size:22px;line-height:1.1;letter-spacing:-.03em}.year-card small{font-size:13px;opacity:.9;line-height:1.3}.track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:4px}.track-grid.single{grid-template-columns:minmax(0,1fr);justify-items:center;padding-top:18px}.track-grid.single .track-card{width:min(300px,76vw);min-height:188px;transform:scale(1.08)}.track-card{min-height:150px;padding:22px;border-radius:var(--radius-lg);color:#fff;text-align:center;box-shadow:0 6px #00000014,0 14px 36px #0000001a;display:grid;place-items:center;align-content:center}.track-card span{font-size:34px;display:block;margin-bottom:6px}.track-card strong{font-size:26px;display:block;letter-spacing:-.03em}.track-card small{font-size:13px;display:block;margin-top:4px;opacity:.88}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:4px}.subject-card{position:relative;min-height:112px;padding:16px;border-radius:22px;color:#fff;text-align:center;box-shadow:0 4px #00000014;display:grid;place-items:center;align-content:center}.subject-card.subject-wip{cursor:not-allowed;filter:grayscale(.45);opacity:.72;box-shadow:none;border:2px dashed rgba(220,38,38,.8)}.subject-card.subject-wip:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background:#ffffff2e;pointer-events:none}.subject-card .subject-stamp{top:-8px;right:8px}.subj-emoji{font-size:26px;display:block;margin-bottom:8px}.subject-card strong{font-size:14px;display:block;letter-spacing:-.01em;line-height:1.25}.setup-box{padding:28px;border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-card);text-align:center}.setup-label{font-size:14px;color:var(--text-soft);margin-bottom:6px}.setup-box h2{font-size:24px;margin-bottom:22px;letter-spacing:-.03em}.count-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.count-btn{min-height:80px;border-radius:22px;background:#00000008;color:var(--text);font-size:26px;font-weight:800;display:grid;align-content:center;gap:2px}.count-btn small{display:block;font-size:13px;color:var(--text-soft);font-weight:600}.count-btn.active{background:linear-gradient(135deg,#2bd98d,#21bfd1);color:#fff}.count-btn.active small{color:#ffffffd9}.start-btn{width:100%;min-height:54px;border-radius:18px;background:linear-gradient(135deg,#2bd98d,#21bfd1);color:#fff;font-size:17px;font-weight:800;box-shadow:0 4px #15a09640}.setup-error{margin-top:12px;padding:10px 12px;border-radius:14px;background:#fff0f0;color:#b42318;font-size:13px;font-weight:700}.quiz-box{padding:18px 0}.quiz-info{display:flex;justify-content:space-between;font-size:14px;color:var(--text-soft);font-weight:700;margin-bottom:12px}.question-card{padding:44px 20px;text-align:center;border-radius:var(--radius-lg);background:var(--bg-card);border:4px solid #2bd98d;box-shadow:0 6px #21bfd11f,var(--shadow-card);margin-bottom:16px}.question-card h2{font-size:42px;letter-spacing:-.05em;font-weight:900}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ans{min-height:76px;border-radius:20px;font-size:26px;font-weight:800;color:var(--text);background:var(--bg-card);box-shadow:0 4px #0000000f,var(--shadow-card)}.result-screen{padding-top:0}.result-card{max-width:480px;margin:40px auto 20px;padding:44px 32px 32px;text-align:center;border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:0 6px #0000000f,0 20px 50px #0000001a}.stars{font-size:26px;letter-spacing:6px;color:#fbbf24}.record-badge{display:inline-block;margin-top:14px;padding:10px 28px;border-radius:999px;background:linear-gradient(135deg,#fb923c,#f43f5e);color:#fff;font-weight:800;font-size:17px;box-shadow:0 8px 20px #f43f5e40}.result-card h1{margin:22px 0 6px;font-size:44px;letter-spacing:-.05em;color:#f97316}.result-card>p{font-size:16px;color:var(--text-soft);font-weight:700;margin-bottom:22px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.stat{padding:18px 8px;border-radius:18px}.stat strong{display:block;font-size:32px;line-height:1}.stat span{display:block;margin-top:8px;font-size:12px;font-weight:700}.stat.ok{background:#ecfdf5;color:#059669}.stat.bad{background:#fef2f2;color:#dc2626}.stat.pct{background:#f5f3ff;color:#7c3aed}.replay-btn,.dash-btn{width:100%;min-height:54px;border-radius:18px;font-size:17px;font-weight:800}.replay-btn{background:#43c6cf;color:#fff;box-shadow:0 4px #22979b}.dash-btn{margin-top:10px;background:var(--bg);color:var(--text);box-shadow:0 4px #0000000f}.review-box{max-width:480px;margin:0 auto;padding:20px;border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-card)}.review-box h2{font-size:18px;margin:0;letter-spacing:-.02em}.review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.review-head p{margin:3px 0 0;font-size:11px;color:var(--text-soft);font-weight:700}.review-head>span{flex-shrink:0;padding:6px 10px;border-radius:999px;background:#f1f5f9;color:var(--text-soft);font-size:11px;font-weight:900}.review-line{display:block;padding:14px;border-radius:18px;margin-bottom:10px}.review-line>div{min-width:0}.review-line.wrong{background:#ef44440f}.review-line.correct{background:#10b9810f}.review-line strong{font-size:14px;display:block}.review-meta{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px}.review-number{display:inline-flex;align-items:center;justify-content:center;margin-bottom:5px;padding:3px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:10px;font-style:normal;font-weight:900;letter-spacing:.03em}.review-line.wrong .review-number{background:#fee2e2;color:#b91c1c}.review-line.correct .review-number{background:#d1fae5;color:#047857}.review-status{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:900;letter-spacing:.03em}.review-line.wrong .review-status{background:#fee2e2;color:#b91c1c}.review-line.correct .review-status{background:#d1fae5;color:#047857}.review-prompt-bm,.review-prompt-bi{display:block}.review-prompt-bm{font-size:14px;line-height:1.25}.review-prompt-bi{margin-top:3px;font-size:10px;font-style:italic;font-weight:650;line-height:1.25;color:var(--text-soft)}.review-line small{font-size:12px;color:var(--text-soft);display:block;margin-top:6px}.review-correction{margin-top:10px;padding:10px 12px;border-radius:14px;background:#ffffffb8;border:1px solid rgba(148,163,184,.22)}.review-correction>strong{display:block;margin-bottom:6px;font-size:11px;font-weight:900;color:#92400e;letter-spacing:.01em}.review-correction ol{margin:0;padding-left:18px;color:#78350f;font-size:12px;font-weight:750;line-height:1.45}.review-correction li+li{margin-top:4px}.review-correction p{margin:0;color:#78350f;font-size:12px;font-weight:750;line-height:1.45}.correction-language-pair,.correction-bm,.correction-bi{display:block}.correction-bm{color:#78350f;font-size:12px;font-weight:800;line-height:1.45}.correction-bi{margin-top:4px;color:#9a6a32;font-size:10px;font-style:italic;font-weight:650;line-height:1.35}.review-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.review-pagination button{border:none;border-radius:999px;padding:9px 12px;background:#1e293b;color:#fff;font-size:11px;font-weight:900;cursor:pointer}.review-pagination button:disabled{opacity:.35;cursor:default}.review-pagination strong{font-size:11px;color:var(--text-soft);white-space:nowrap}.correction{margin-top:12px;padding:14px;border-radius:16px;background:#fffbeb}.correction strong{font-size:13px;color:#92400e;display:block;margin-bottom:6px}.correction ol{margin:0;padding-left:18px;font-size:14px;color:#78350f;line-height:1.6}.quiz-screen{width:min(640px,100%);margin:0 auto;padding:12px 0 140px}.quiz-progress-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.q-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}.q-counter{flex:1;font-size:18px;font-weight:700;color:var(--text)}.q-counter b{color:#f59e0b;font-size:22px}.q-badges{display:flex;gap:8px}.q-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border-radius:999px;font-size:13px;font-weight:800}.q-badge.ok{background:#ecfdf5;color:#059669}.q-badge.err{background:#fef2f2;color:#dc2626}.q-progress-bar{width:100%;height:6px;border-radius:999px;background:#f1f5f9;margin-bottom:18px;overflow:hidden}.q-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2bd98d,#21bfd1);transition:width .3s ease}.q-card{padding:16px 20px;text-align:center;border-radius:22px;background:var(--bg-card);border:2px solid #fcd34d;box-shadow:var(--shadow-card);margin-bottom:14px}.q-topic{display:inline-block;margin-bottom:8px;padding:4px 16px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:13px;font-weight:800}.iq-visual-card{margin:4px auto 14px;padding:12px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.iq-visual-title{margin-bottom:10px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.iq-sequence{display:flex;align-items:center;justify-content:center;gap:10px}.iq-sequence.wrap{flex-wrap:wrap}.iq-sequence.center{gap:14px}.iq-grid.three{display:grid;grid-template-columns:repeat(3,64px);justify-content:center;gap:8px}.iq-cell{width:64px;height:64px;display:grid;place-items:center;border-radius:14px;background:#fff;border:2px solid #cbd5e1;color:#0f172a;font-size:24px;font-weight:900}.iq-cell.missing{border-style:dashed;background:#fff7ed;border-color:#fb923c;color:#ea580c}.iq-shape-svg{width:48px;height:48px}.iq-rotate-note{max-width:90px;color:#475569;font-size:12px;font-weight:800;line-height:1.2}.q-prompt{margin:0;color:var(--text);line-height:1.25}.q-prompt-bm,.q-prompt-bi{display:block}.q-prompt-bm{font-size:20px;font-weight:900;letter-spacing:-.025em}.q-prompt-bi{margin-top:10px;font-size:11px;font-style:italic;font-weight:650;letter-spacing:-.01em;line-height:1.35;color:var(--text-soft)}.math-frac{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;vertical-align:middle;margin:0 .14em;line-height:1;font-weight:inherit}.math-frac span:first-child{display:block;padding:0 .18em .08em;border-bottom:2px solid currentColor}.math-frac span:last-child{display:block;padding:.08em .18em 0}.q-prompt-bi .math-frac,.review-prompt-bi .math-frac,.q-ans-bi .math-frac{font-size:1.05em}.q-prompt-bm .math-frac{font-size:1.08em}.q-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.q-ans-btn{min-height:58px;padding:14px;border:2px solid #e2e8f0;border-radius:18px;background:var(--bg-card);color:var(--text);font-weight:800;font-size:16px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-btn)}.q-ans-btn:hover{border-color:#fcd34d;box-shadow:0 0 0 4px #fcd34d26}.q-ans-btn:disabled{cursor:default}.q-ans-label{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#f1f5f9;font-size:14px;font-weight:900;color:var(--text-soft);flex-shrink:0}.q-ans-val{flex:1;min-width:0;line-height:1.18;letter-spacing:-.015em;overflow-wrap:anywhere;text-align:center}.q-ans-bm,.q-ans-bi{display:block}.q-ans-bm{font-size:clamp(13px,3.1vw,16px);font-weight:900}.q-ans-bi{margin-top:4px;font-size:clamp(9px,2.2vw,10px);font-style:italic;font-weight:650;line-height:1.25;color:var(--text-soft)}.q-ans-btn.show-correct{border-color:#10b981;background:#ecfdf5;color:#059669}.q-ans-btn.show-correct .q-ans-label{background:#10b981;color:#fff}.q-ans-btn.show-wrong{border-color:#ef4444;background:#fef2f2;color:#dc2626}.q-ans-btn.show-wrong .q-ans-label{background:#ef4444;color:#fff}.q-feedback{text-align:center;padding:12px 20px;border-radius:16px;font-size:16px;font-weight:800;margin-bottom:16px}.q-feedback.ok{background:#ecfdf5;color:#059669}.q-feedback.err{background:#fef2f2;color:#dc2626}.q-feedback b{color:#059669}.q-next-btn{width:100%;min-height:52px;border-radius:16px;background:linear-gradient(135deg,#2bd98d,#21bfd1);color:#fff;font-size:17px;font-weight:800;box-shadow:var(--shadow-btn)}.q-skip-btn,.q-finish-btn{width:100%;min-height:44px;border-radius:16px;font-size:16px;font-weight:800;transition:all .15s}.q-skip-btn{margin-top:12px;background:linear-gradient(135deg,#facc15,#f59e0b);border:1px solid rgba(180,83,9,.18);color:#3f2a00;box-shadow:0 12px 24px #f59e0b38}.q-finish-btn{margin-top:10px;margin-bottom:92px;background:linear-gradient(135deg,#ff8a1f,#fe5e10);border:1px solid rgba(154,52,18,.22);color:#fff;box-shadow:0 14px 28px #fe5e1040}.q-skip-btn:hover,.q-finish-btn:hover{filter:brightness(1.03);transform:translateY(-1px)}.q-skip-btn:disabled,.q-finish-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.exam-quiz .q-counter b{color:#334155}.exam-quiz .q-progress-fill{background:linear-gradient(90deg,#334155,#0f172a)}.exam-quiz .q-card{border-color:#334155;background:linear-gradient(180deg,#fff,#f8fafc)}.exam-quiz .q-topic{background:#e2e8f0;color:#0f172a;letter-spacing:.08em}.exam-quiz .q-ans-btn:hover{border-color:#334155;box-shadow:0 0 0 4px #3341551f}.exam-result-card .stars{color:#334155;font-size:13px;letter-spacing:.12em}.exam-result-card h1{color:#0f172a}.exam-result-card .record-badge{background:#334155;box-shadow:0 8px 20px #0f172a2e}.arch-screen{padding-top:0}.arch-note{font-size:13px;color:var(--text-soft);margin-bottom:16px;line-height:1.5}.arch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.arch-card{min-height:110px;padding:16px;border-radius:20px;background:var(--bg-card);box-shadow:var(--shadow-card);text-transform:capitalize}.arch-card span{color:#f59e0b;display:block;margin-bottom:14px}.arch-card strong{font-size:14px}.arch-json{max-height:320px;overflow:auto;padding:16px;border-radius:18px;background:#0000000a;font-size:12px;line-height:1.5;color:var(--text-soft)}.bottom-nav{position:fixed;left:50%;right:auto;bottom:max(16px,env(safe-area-inset-bottom));z-index:50;transform:translate(-50%);width:min(520px,calc(100vw - 28px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border-radius:22px;background:var(--nav-bg);border:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-card)}.bottom-nav button{min-height:48px;border-radius:16px;background:transparent;color:var(--text-soft);font-size:18px;font-weight:700}.bottom-nav small{display:block;font-size:10px;margin-top:1px}.bottom-nav button.active{background:linear-gradient(135deg,#2bd98d,#21bfd1);color:#fff}.bottom-nav button.exam-wip{position:relative;cursor:not-allowed;opacity:.78;background:#f8fafc;color:#94a3b8;border:1px dashed #ef4444}.wip-stamp{position:absolute;top:-9px;right:6px;transform:rotate(-10deg);padding:2px 6px;border:2px solid #dc2626;border-radius:6px;color:#dc2626;background:#fff;font-size:10px;font-weight:1000;letter-spacing:.06em;box-shadow:0 3px 8px #dc26262e}@media (max-width: 980px){.year-grid,.subject-grid,.card-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.app-shell{width:min(460px,calc(100vw - 24px));padding:16px 0 110px}.dashboard-screen{max-width:100%}.dashboard-topbar{grid-template-columns:36px 1fr auto;gap:7px;margin-bottom:12px}.dashboard-topbar .back-btn,.dashboard-topbar .theme-btn{width:36px;height:36px;border-radius:12px;font-size:15px}.dashboard-topbar h1{font-size:21px;letter-spacing:-.04em}.head-actions{gap:6px}.profile-panel{padding:16px;border-radius:22px}.profile-main-row{gap:12px;margin-bottom:14px}.profile-avatar{width:52px;height:52px;border-radius:16px;font-size:25px}.profile-panel h2{font-size:21px}.profile-panel p{margin-top:4px;font-size:12px}.xp-row{font-size:11px}.xp-bar{height:8px;margin-top:7px}.dashboard-tabs{gap:7px;margin:12px 0}.dashboard-tabs button{min-height:38px;padding:0 6px;border-radius:13px;font-size:11px}.stat-grid{gap:10px}.stat-card{min-height:108px;padding:13px 10px;border-radius:18px}.stat-card span,.badge-card span{font-size:22px}.stat-card strong,.badge-card strong{font-size:18px;line-height:1.12}.stat-card small,.topic-panel p,.badge-card small{font-size:11px}.topic-panel{min-height:70px;margin-top:10px;padding:14px;border-radius:18px}.topic-panel h3{font-size:15px}.details-head{margin-bottom:12px}.details-head h2{font-size:21px}.details-head button{min-height:36px;padding:0 12px;border-radius:13px;font-size:12px}.report-table{border-radius:15px}.report-header,.report-line{grid-template-columns:1.08fr .92fr .62fr;gap:5px;padding:11px 9px}.report-header{font-size:9px}.report-line strong{font-size:12px}.report-line small{font-size:9px}.report-line b{font-size:10px;padding:5px 6px}.report-line>span{font-size:10px}.hero-banner{display:block;min-height:200px;padding:22px 20px}.hero-banner h2{font-size:24px}.cta-btn{width:100%;margin-top:16px}.year-grid,.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.track-grid{grid-template-columns:1fr;gap:14px}.year-card{min-height:132px;padding:16px}.year-card strong{font-size:19px}.track-card{min-height:138px;padding:18px}.track-card strong{font-size:22px}.subject-card{min-height:100px;padding:14px}.subject-card strong{font-size:13px}.question-card h2{font-size:32px}.ans{font-size:22px;min-height:68px}.result-card{padding:32px 20px 24px;margin-top:20px}.result-card h1{font-size:34px}.arch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-wrap{padding-top:40px}}
