.exam-shell{flex-direction:column;min-height:100vh;padding-bottom:80px;display:flex}.exam-intro{border:1px solid var(--hairline);background:var(--surface);text-align:center;border-radius:18px;max-width:540px;margin:60px auto;padding:32px 24px}.exam-intro-eyebrow{color:var(--accent-ink);letter-spacing:.08em;font-size:11px;font-weight:700;font-family:var(--font-jp);margin-bottom:8px}.exam-intro h1{letter-spacing:-.02em;color:var(--ink-1);margin:0 0 12px;font-size:24px;font-weight:700}.exam-intro p{color:var(--ink-2);margin:0 0 18px;font-size:13px;line-height:1.7}.exam-intro-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 24px;display:grid}.exam-intro-cell{background:var(--bg);border:1px solid var(--hairline);text-align:left;border-radius:10px;padding:12px}.exam-intro-cell-label{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:10px}.exam-intro-cell-value{color:var(--ink-1);font-size:14px;font-weight:600}.exam-intro-cta{background:var(--accent);color:var(--bg);cursor:pointer;letter-spacing:.02em;border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;transition:transform .15s;display:inline-flex;box-shadow:0 6px 18px #0000001f}.exam-intro-cta:hover{transform:translateY(-2px)}.exam-intro-cta:disabled{opacity:.6;cursor:default}.exam-intro-error{background:var(--bad-soft);color:var(--bad);border-radius:12px;margin-top:18px;padding:14px 16px;font-size:13px;line-height:1.6}.exam-cfg{text-align:left;flex-direction:column;gap:18px;margin:4px 0 24px;display:flex}.exam-cfg-group{flex-direction:column;gap:8px;display:flex}.exam-cfg-label{color:var(--ink-1);letter-spacing:.02em;font-size:12px;font-weight:700}.exam-cfg-hint{color:var(--ink-3);margin-left:6px;font-size:11px;font-weight:500}.exam-cfg-chips{flex-wrap:wrap;gap:6px;display:flex}.exam-cfg-chip{border:1px solid var(--hairline-strong);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:8px 12px;font-size:12.5px;font-weight:500;transition:border-color .12s,background .12s}.exam-cfg-chip:hover:not(:disabled):not(.is-on){border-color:var(--accent)}.exam-cfg-chip.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.exam-cfg-chip:disabled{opacity:.4;cursor:not-allowed}.exam-cfg-seg{border:1px solid var(--hairline-strong);border-radius:999px;align-self:flex-start;display:inline-flex;overflow:hidden}.exam-cfg-seg-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:8px 18px;font-size:12.5px;font-weight:500;transition:background .12s}.exam-cfg-seg-btn+.exam-cfg-seg-btn{border-left:1px solid var(--hairline-strong)}.exam-cfg-seg-btn:hover:not(.is-on){background:var(--surface)}.exam-cfg-seg-btn.is-on{background:var(--accent);color:var(--bg);font-weight:700}.exam-cfg-note{color:var(--ink-3);font-size:11px;line-height:1.5}.exam-header{z-index:10;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);padding:12px 18px;position:sticky;top:0}.exam-header-row{align-items:center;gap:16px;max-width:720px;margin:0 auto;display:flex}.exam-progress{flex-direction:column;flex:1;gap:6px;display:flex}.exam-progress-text{color:var(--ink-3);letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.exam-progress-bar{background:var(--hairline);border-radius:999px;height:6px;overflow:hidden}.exam-progress-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s ease-out}.exam-timer{background:var(--surface);border:1px solid var(--hairline);color:var(--ink-1);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.exam-timer.is-low{background:var(--bad-soft);border-color:var(--bad);color:var(--bad);animation:1s ease-in-out infinite timer-pulse}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.exam-dots{flex-wrap:wrap;justify-content:center;gap:6px;max-width:720px;margin:10px auto 0;display:flex}.exam-dot{border:1px solid var(--hairline-strong);width:28px;height:28px;color:var(--ink-3);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:background .18s,color .18s,transform .18s,border-color .18s;display:inline-flex}.exam-dot:hover:not(.is-current){border-color:var(--accent);transform:scale(1.08)}.exam-dot.is-answered{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.exam-dot.is-current{background:var(--accent);color:var(--bg);border-color:var(--accent);transform:scale(1.1)}.exam-dot.is-partial{border-color:var(--accent);color:var(--accent-ink);background:0 0}.exam-body{flex:1;width:100%;max-width:720px;margin:0 auto;padding:28px 18px 40px}.exam-problem-tag{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent);font-size:11px;font-weight:700;font-family:var(--font-jp);letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;margin-bottom:18px;padding:4px 10px;display:inline-flex}.exam-question{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;margin-top:24px;padding:16px 18px}.exam-question-text{font-family:var(--font-jp);color:var(--ink-1);margin:0 0 12px;font-size:15px;font-weight:600;line-height:1.55}.exam-options{flex-direction:column;gap:6px;display:flex}.exam-option{border:1px solid var(--hairline);background:var(--bg);cursor:pointer;font-family:var(--font-jp);color:var(--ink-1);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;line-height:1.5;transition:background .15s,border-color .15s;display:flex}.exam-option:hover:not(.is-disabled),.exam-option.is-selected{border-color:var(--accent);background:var(--accent-soft)}.exam-option input[type=radio]{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.exam-option-num{background:var(--bg);border:1px solid var(--hairline-strong);width:22px;height:22px;color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.exam-option.is-selected .exam-option-num{background:var(--accent);color:var(--bg);border-color:var(--accent)}.exam-option.is-correct{background:#4caf501f;border-color:#4caf50}.exam-option.is-correct .exam-option-num{color:#fff;background:#4caf50;border-color:#4caf50}.exam-option.is-wrong{border-color:var(--bad);background:var(--bad-soft)}.exam-option.is-wrong .exam-option-num{background:var(--bad);color:#fff;border-color:var(--bad)}.exam-option-mark{flex-shrink:0;margin-left:auto;font-size:14px;font-weight:700}.exam-option-mark.ok{color:#4caf50}.exam-option-mark.no{color:var(--bad)}.exam-option.is-disabled{cursor:default}.exam-nav{z-index:10;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--hairline);padding:12px 18px;position:sticky;bottom:0}.exam-nav-row{align-items:center;gap:8px;max-width:720px;margin:0 auto;display:flex}.exam-nav-btn{border:1px solid var(--hairline-strong);background:var(--surface);color:var(--ink-1);cursor:pointer;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform .15s}.exam-nav-btn:hover:not(:disabled){border-color:var(--accent)}.exam-nav-btn:disabled{opacity:.4;cursor:default}.exam-nav-btn.is-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.exam-nav-btn.is-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #0000001f}.exam-nav-spacer{flex:1}.exam-result-summary{border:1px solid var(--accent);background:var(--accent-soft);text-align:center;border-radius:18px;max-width:540px;margin:0 auto 32px;padding:24px 22px}.exam-result-score{color:var(--accent-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0 0 8px;font-size:42px;font-weight:800;line-height:1}.exam-result-percent{color:var(--ink-1);margin-bottom:12px;font-size:16px;font-weight:700}.exam-result-time{background:var(--bg);border:1px solid var(--hairline);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.exam-result-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.exam-result-list{flex-direction:column;gap:24px;max-width:720px;margin:0 auto;display:flex}.exam-result-problem{border:1px solid var(--hairline);background:var(--surface);border-radius:14px;padding:18px}.exam-result-problem-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.exam-result-problem-tag{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent);font-size:11px;font-weight:700;font-family:var(--font-jp);letter-spacing:.04em;border-radius:999px;align-items:center;padding:3px 10px;display:inline-flex}.exam-result-problem-score{font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px;font-weight:700}.exam-result-problem-score.ok{color:#4caf50}.exam-result-problem-score.no{color:var(--bad)}.exam-explanation{border:1px solid var(--hairline);background:var(--bg);border-radius:10px;margin:10px 0 0;padding:12px 14px;line-height:1.65}.exam-explanation-head{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:6px;font-size:11px;font-weight:700;display:inline-flex}.exam-explanation-body{color:var(--ink-2);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;font-size:13px}.exam-review-cta{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:11px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .12s;display:inline-flex}.exam-review-cta:hover{transform:translateY(-1px)}.exam-review-cta.is-pending{border:1px dashed var(--hairline-strong);color:var(--ink-3);cursor:default;background:0 0;font-weight:500}@media (prefers-reduced-motion:reduce){.exam-progress-bar-fill,.exam-dot,.exam-option,.exam-nav-btn,.exam-intro-cta,.exam-review-cta,.exam-timer.is-low{transition:none!important;animation:none!important}}
