.question{font-size:1.34rem;line-height:1.7}
.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 18px;padding:5px;background:#f2f4f7;border-radius:14px;position:sticky;top:0;z-index:2}
.mode-tabs button{border:0;border-radius:10px;background:transparent;color:var(--muted);padding:10px 5px;font-size:.82rem;font-weight:800}
.mode-tabs button.on{background:#fff;color:var(--brand);box-shadow:0 1px 4px #10182818}
.set{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;text-align:left;color:var(--ink);cursor:pointer}
.set>i{color:var(--brand);font-size:.8rem;font-style:normal;font-weight:900;white-space:nowrap}
.set:hover,.set:focus-visible{border-color:#b9a8fa;background:#faf9ff}
.mock-launch{width:100%;display:grid;grid-template-columns:1fr auto;text-align:left;align-items:center;gap:2px 14px;margin:0 0 14px;padding:17px 18px;border:0;border-radius:18px;color:#fff;background:linear-gradient(135deg,#27145f,#6b3de5);box-shadow:0 10px 24px #43239a2e}
.mock-launch span{font-size:.76rem;font-weight:900;color:#ddd6fe}.mock-launch b{grid-column:1;font-size:1.12rem}.mock-launch i{grid-column:2;grid-row:1/3;font-size:.78rem;font-style:normal;color:#eee9ff;max-width:150px;text-align:right}
.loading{display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted)}
.spinner{width:34px;height:34px;border:4px solid #e4e7ec;border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:520px){.question{font-size:1.22rem}.mode-tabs button{font-size:.76rem}.mock-launch i{max-width:120px}}

.page-with-nav{padding-bottom:110px}
.bottom-nav{position:fixed;z-index:10;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 28px #1018280b}
.bottom-nav button{border:0;background:transparent;color:#667085;min-height:52px;padding:4px 2px;font-size:.72rem;font-weight:800;display:grid;place-items:center;gap:1px}
.bottom-nav button span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;font-size:.92rem;font-weight:900}
.bottom-nav button.on{color:var(--brand)}.bottom-nav button.on span{background:#f1edff}
.home-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9d0ff;background:#faf9ff;border-radius:16px;padding:14px 16px;cursor:pointer}
.home-progress div{display:grid}.home-progress small{color:var(--brand);font-weight:900}.home-progress b{font-size:.96rem}.home-progress>span{color:var(--brand);font-weight:900;font-size:.85rem;white-space:nowrap}
.subjects i{display:block;color:var(--brand);font-style:normal;font-size:.78rem;font-weight:800;margin-top:8px}
.quick-progress{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;margin-bottom:16px}
.quick-progress>div,.quick-progress>button{border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px;text-align:left;color:var(--ink)}
.quick-progress>div{display:grid}.quick-progress small{color:var(--muted);font-weight:800}.quick-progress b{font-size:1.25rem}.quick-progress span{font-size:.72rem;color:var(--muted)}
.quick-progress>button{font-size:.82rem;font-weight:900;text-align:center}.quick-progress .wrong-action,.wrong-action{border-color:#f5b7b1;color:#b42318;background:#fff8f7}
button:disabled{opacity:.45;cursor:not-allowed}
.choice.selected{border-color:var(--brand);background:#f4f0ff;box-shadow:0 0 0 2px #d9d0ff inset}
.mock-shell{padding-bottom:125px}.mock-header{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;background:#fff;padding:14px 0 10px}.mock-header>div{display:grid}.mock-header small{font-weight:800;color:var(--muted)}.mock-header b{font-size:1.4rem;color:var(--brand);font-variant-numeric:tabular-nums}.mock-header>span{font-size:.8rem;font-weight:900;color:var(--muted)}
.mock-question-meta{display:flex;justify-content:space-between;align-items:center;margin:20px 0 8px}.mock-question-meta span{font-weight:900;color:var(--brand)}.mock-question-meta small{color:var(--muted);font-weight:800}.mock-controls{position:fixed;z-index:5;left:50%;bottom:45px;transform:translateX(-50%);width:min(720px,calc(100% - 32px));display:grid;grid-template-columns:1fr 2fr;gap:8px;padding:10px;background:#fff;border-top:1px solid var(--line)}.mock-controls button{margin:0}.mock-overview{position:fixed;z-index:6;right:max(18px,calc((100% - 720px)/2 + 18px));bottom:12px;border:0;background:transparent;color:var(--brand);font-size:.75rem;font-weight:900}
.mock-review{display:grid;gap:10px;margin:22px 0}.review-card{border:1px solid var(--line);border-radius:15px;overflow:hidden}.review-card.ok{border-color:#98d7b8}.review-card.bad{border-color:#f5b7b1}.review-card summary{display:flex;justify-content:space-between;gap:8px;padding:14px 15px;cursor:pointer;background:#f9fafb;font-size:.83rem}.review-card summary span,.review-card summary b{font-weight:900}.review-card.ok summary span{color:var(--ok)}.review-card.bad summary span{color:var(--bad)}.review-card>div{padding:4px 15px 15px}.review-question{font-weight:800;line-height:1.6}.mock-result .core-explain,.mock-result .option-explain{padding-left:0;padding-right:0}
.set>div:first-child strong{display:block}.set>div:first-child span{font-size:.82rem;color:var(--muted)}
.answer-explanation{margin-top:22px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.answer-explanation.ok{border-color:#98d7b8}.answer-explanation.bad{border-color:#f5b7b1}
.answer-title{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#f8fafc}
.answer-explanation.ok .answer-title{background:var(--okbg);color:#054f31}.answer-explanation.bad .answer-title{background:var(--badbg);color:#7a271a}
.answer-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:900}.answer-explanation.ok .answer-title>span{background:var(--ok)}.answer-explanation.bad .answer-title>span{background:var(--bad)}
.answer-title small{font-weight:800}.answer-title h2{margin:0;font-size:1.15rem}
.core-explain{padding:18px;border-bottom:1px solid var(--line)}.core-explain>b,.option-explain h3{font-size:.88rem;color:var(--brand)}.core-explain p{margin:6px 0 0;line-height:1.7}
.option-explain{padding:18px}.option-explain h3{margin:0 0 12px}.option-note{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 0;border-top:1px solid #eaecf0}.option-note>span{font-weight:900}.option-note b{font-size:.82rem}.option-note p{margin:3px 0 0;color:#475467;line-height:1.65}.option-note.right>span,.option-note.right b{color:var(--ok)}.option-note.not-right>span,.option-note.not-right b{color:var(--bad)}
.quiz-shell .content{padding-bottom:110px}
.progress-page .subject-title{padding-top:0}.total-progress{display:flex;align-items:center;gap:18px;background:linear-gradient(145deg,#171126,#43239a);color:#fff;border-radius:20px;padding:20px;margin-bottom:14px}
.mini-ring{width:86px;height:86px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#bda9ff var(--p),#ffffff25 0);position:relative}.mini-ring:after{content:"";position:absolute;width:66px;height:66px;border-radius:50%;background:#29175d}.mini-ring b{z-index:1}
.total-progress small{color:#ddd6fe}.total-progress h2{margin:2px 0;font-size:1.25rem}.total-progress p{margin:0;color:#ddd6fe;font-size:.83rem}
.progress-card{border:1px solid var(--line);border-radius:18px;padding:17px;margin-top:12px}.progress-head{display:flex;justify-content:space-between;align-items:center}.progress-head>div{display:grid}.progress-head small{color:var(--muted);font-weight:800}.progress-head b{font-size:1.05rem}.progress-head>strong{color:var(--brand);font-size:1.2rem}
.progress-track{height:9px;background:#eaecf0;border-radius:99px;overflow:hidden;margin:12px 0}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:inherit}
.progress-stats{display:flex;gap:16px;color:var(--muted);font-size:.84rem}.progress-stats b{color:var(--ink)}.progress-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.progress-actions button{border:1px solid #c9bdfd;background:#fff;color:#4b2bb5;border-radius:11px;padding:11px 8px;font-weight:900;font-size:.84rem}
.storage-note{font-size:.79rem;color:var(--muted);background:#f9fafb;border-radius:12px;padding:13px;margin-top:16px}.empty-state{min-height:80vh;padding:80px 24px;text-align:center}.empty-state>span{display:grid;place-items:center;margin:auto;width:54px;height:54px;border-radius:50%;background:var(--okbg);color:var(--ok);font-size:1.5rem;font-weight:900}.empty-state h1{font-size:1.35rem;margin-top:18px}.empty-state p{color:var(--muted);margin-bottom:22px}
@media(max-width:520px){.quick-progress{grid-template-columns:1fr 1fr}.quick-progress>div{grid-column:1/3}.answer-explanation{margin-left:-4px;margin-right:-4px}.option-explain,.core-explain{padding:16px}.progress-actions{grid-template-columns:1fr}.bottom-nav button{font-size:.68rem}}
.answer-summary{display:flex;align-items:center;gap:12px;border-radius:16px;padding:15px 16px;margin-bottom:12px}.answer-summary.ok{background:var(--okbg);color:#054f31}.answer-summary.bad{background:var(--badbg);color:#7a271a}.answer-summary>span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:900}.answer-summary.ok>span{background:var(--ok)}.answer-summary.bad>span{background:var(--bad)}.answer-summary>div{display:grid}.answer-summary small{font-weight:800}.answer-summary b{font-size:1.05rem}.inline-core{border:1px solid #e4e7ec;border-radius:15px;margin-bottom:18px;background:#fff}.choice-item{display:grid}.choices.answered{gap:14px}.choice-note{margin:-2px 8px 0;padding:12px 14px 13px;border-radius:0 0 12px 12px;border:1px solid #e4e7ec;border-top:0;background:#fff}.choice-note b{font-size:.82rem}.choice-note p{margin:4px 0 0;color:#475467;line-height:1.65}.choice-note.right{border-color:#98d7b8;background:#f7fef9}.choice-note.right b{color:var(--ok)}.choice-note.not-right b{color:var(--bad)}
