
/* STEP Final Mock + Certificate */
:root{--mock-font-scale:1}.mock-shell{width:min(1240px,calc(100% - 24px))}.mock-top-stats{display:flex;gap:12px;align-items:center;color:var(--muted);font-weight:800}.mock-top-stats strong{color:#fff;padding:8px 12px;border-radius:12px;background:#102e38;border:1px solid var(--line);font-variant-numeric:tabular-nums}.gate-card,.mock-intro{padding:clamp(24px,5vw,48px);margin-top:22px}.mock-intro h1,.gate-card h1{margin:0;font-size:clamp(34px,6vw,64px);letter-spacing:-.04em}.mock-stats{margin:24px 0}.exam-rules{margin:18px 0;padding:18px;border-radius:16px;background:#071f27;border:1px solid var(--line)}.exam-rules p{margin:8px 0}.notice{margin:16px 0;padding:14px 16px;border:1px solid #2f6a77;border-radius:14px;background:#0b2a34}.exam-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;margin:12px 0}.section-tabs{display:flex;gap:8px;flex-wrap:wrap}.section-tab{border:1px solid var(--line);background:#0b2933;color:#d9e8eb;border-radius:12px;padding:10px 12px;font:inherit;font-weight:800;cursor:pointer}.section-tab small{margin-left:7px;color:var(--muted)}.section-tab.active{border-color:var(--accent);background:#103a42;color:#fff}.text-size-controls{display:flex;gap:6px}.exam-layout{display:grid;grid-template-columns:240px 1fr;gap:14px;align-items:start}.exam-sidebar{padding:16px;position:sticky;top:92px}.sidebar-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:12px}.sidebar-head span{font-weight:900}.sidebar-head small{color:var(--muted)}.question-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.question-palette button{min-width:0;aspect-ratio:1;border-radius:10px;border:1px solid var(--line);background:#0a2730;color:#d6e8eb;font:inherit;font-weight:800;cursor:pointer}.question-palette button.answered{background:#174338;border-color:#347a68}.question-palette button.flagged{box-shadow:inset 0 0 0 2px var(--gold)}.question-palette button.current{outline:3px solid var(--accent);outline-offset:2px}.palette-legend{display:grid;gap:7px;margin-top:15px;color:var(--muted);font-size:12px}.palette-legend span{display:flex;align-items:center;gap:7px}.dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:#17313a;border:1px solid var(--line)}.dot.answered{background:#347a68}.dot.flagged{background:var(--gold)}.dot.current{background:var(--accent)}.exam-question-card{padding:clamp(20px,4vw,36px);min-width:0}.question-meta{display:flex;justify-content:space-between;gap:16px;align-items:start}.question-meta h2{margin:0}.flag-btn.active{border-color:var(--gold);color:#f3d58f}.exam-passage{max-height:none;font-size:calc(16px * var(--mock-font-scale));line-height:1.85}.exam-passage h3{margin-top:0;color:#fff}.mock-question{font-size:calc(clamp(20px,3vw,28px) * var(--mock-font-scale))}.mock-choices .choice{font-size:calc(16px * var(--mock-font-scale))}.mock-choices .choice.selected{border-color:var(--accent);background:rgba(24,198,189,.13)}.mock-choices .choice.selected span{background:var(--accent);color:#03262a}.listening-box{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0;padding:18px;border-radius:16px;background:#081f27;border:1px solid #2b5965}.listening-box p{margin:4px 0}.exam-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.submit-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:18px 20px}.submit-strip p{margin:5px 0 0}.mock-result{margin-top:24px}.certificate-callout{margin:20px 0;padding:18px;border:1px solid #856d38;background:rgba(226,188,103,.08);border-radius:16px}.certificate-callout p{margin:6px 0 0;color:#d5e3e6}.mistakes{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.mistakes details{padding:12px 0;border-bottom:1px solid var(--line)}.mistakes summary{cursor:pointer;font-weight:800}.mistakes p{color:#d5e3e6}.final-mock-card{padding:22px;display:flex;justify-content:space-between;align-items:center;gap:22px}.final-mock-copy{display:flex;gap:18px;align-items:flex-start;min-width:0}.final-mock-copy h3{font-size:24px;margin:0 0 8px}.final-mock-copy p{margin:0;color:var(--muted);line-height:1.6}.course-icon-large{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#102e38;font-size:30px;flex:0 0 auto}.final-mock-actions{min-width:190px;text-align:right}.final-mock-actions p{font-size:13px}.disabled-link{pointer-events:none;opacity:.45}.certificate-shell{width:min(1180px,calc(100% - 24px))}.certificate-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:24px 0}.certificate-toolbar h1{margin:0;font-size:clamp(34px,6vw,62px);letter-spacing:-.04em}.certificate-preview{padding:12px;overflow:hidden}.certificate-preview canvas{display:block;width:100%;height:auto;border-radius:16px;background:#06171e}.certificate-disclaimer{text-align:center;color:var(--muted);font-size:13px;margin:14px 0 40px}
@media(max-width:900px){.exam-layout{grid-template-columns:1fr}.exam-sidebar{position:static}.question-palette{grid-template-columns:repeat(10,1fr)}.final-mock-card{align-items:flex-start;flex-direction:column}.final-mock-actions{text-align:left;min-width:0;width:100%}.certificate-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.mock-top-stats{width:100%;justify-content:space-between;order:3}.exam-toolbar{align-items:flex-start;flex-direction:column}.question-palette{grid-template-columns:repeat(5,1fr)}.question-meta{flex-direction:column}.listening-box,.submit-strip{align-items:stretch;flex-direction:column}.exam-actions{flex-wrap:wrap}.exam-actions .btn{flex:1}.final-mock-copy{flex-direction:column}.certificate-toolbar .btn{width:100%}}
