:root{--ink:#16233c;--ink-soft:#5a6472;--paper:#f4f6f8;--card:#fff;--line:#d7dce3;--shu:#c73e3a;--equity:#2f6b4f;--debt:#9aa3b2;--asset-1:#4a7bb5;--asset-2:#7fa3ce;--asset-3:#b3c9e3;--radius:10px;--font-display:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--font-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.7}main{max-width:560px;margin:0 auto;padding:20px 16px 64px}a{color:inherit;text-decoration:none}.masthead{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding:14px 0 10px;margin-bottom:20px}.masthead h1{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.12em}.masthead .kicker{font-size:11px;letter-spacing:.2em;color:var(--ink-soft)}.lede{font-family:var(--font-display);font-size:26px;line-height:1.5;letter-spacing:.04em;margin:8px 0 6px}.sub{color:var(--ink-soft);font-size:14px;margin-bottom:24px}.track-list{display:grid;grid-gap:12px;gap:12px}.track-card{display:block;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--track-accent,var(--ink));border-radius:var(--radius);padding:16px;transition:transform .12s ease,box-shadow .12s ease}.track-card:active{transform:scale(.98)}.track-card .name{font-family:var(--font-display);font-size:18px;letter-spacing:.06em}.track-card .tagline{font-size:13px;color:var(--ink-soft);margin-top:2px}.track-card .count{font-size:12px;color:var(--ink-soft);margin-top:8px}.disclaimer{margin-top:28px;font-size:11px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:12px}.progress{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-bottom:20px}.progress>div{height:100%;background:var(--ink);transition:width .3s ease}.q-no{font-size:12px;letter-spacing:.18em;color:var(--ink-soft);margin-bottom:6px}.q-prompt{font-family:var(--font-display);font-size:20px;line-height:1.6;margin-bottom:18px}.choices{display:grid;grid-gap:10px;gap:10px}.choice-btn{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;font-size:15px;font-family:var(--font-body);color:var(--ink);cursor:pointer;transition:border-color .12s ease}.choice-btn:focus-visible{outline:3px solid var(--asset-1);outline-offset:2px}.choice-btn:disabled{cursor:default}.choice-btn.correct{border-color:var(--equity);background:#f0f6f2}.choice-btn.wrong{border-color:var(--shu);background:#faf1f0}.stamp-wrap{position:relative}.stamp{position:absolute;top:-8px;right:4px;width:72px;height:72px;border:3px solid var(--shu);border-radius:50%;color:var(--shu);font-family:var(--font-display);font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;transform:rotate(-12deg) scale(1);opacity:.9;animation:stamp-in .28s cubic-bezier(.2,1.6,.4,1) both;pointer-events:none}.stamp.ok{border-color:var(--equity);color:var(--equity)}@keyframes stamp-in{0%{transform:rotate(-12deg) scale(2.2);opacity:0}to{transform:rotate(-12deg) scale(1);opacity:.9}}@media (prefers-reduced-motion:reduce){.stamp{animation:none}}.explanation{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;font-size:14px}.explanation .label{letter-spacing:.2em;margin-bottom:4px}.explanation .label,.explanation .source{font-size:11px;color:var(--ink-soft);display:block}.explanation .source{margin-top:8px}.next-btn,.primary-btn{display:block;width:100%;margin-top:18px;background:var(--ink);color:#fff;border:none;border-radius:var(--radius);padding:15px;font-size:15px;font-family:var(--font-body);letter-spacing:.08em;cursor:pointer}.primary-btn.shu{background:var(--shu)}.next-btn:focus-visible,.primary-btn:focus-visible{outline:3px solid var(--asset-1);outline-offset:2px}.bs-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}.bs-figure{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px;cursor:pointer;transition:border-color .12s ease}.bs-figure:focus-visible{outline:3px solid var(--asset-1);outline-offset:2px}.bs-figure.correct{border-color:var(--equity)}.bs-figure.wrong{border-color:var(--shu)}.bs-figure .fig-name{font-family:var(--font-display);text-align:center;font-size:15px;margin-bottom:8px}.bs-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;height:220px}.bs-col{display:flex;flex-direction:column;gap:2px}.bs-block{border-radius:3px;color:#fff;line-height:1.3;display:flex;align-items:center;justify-content:center;padding:2px;overflow:hidden}.bs-block,.bs-side-label{font-size:10px;text-align:center}.bs-side-label{color:var(--ink-soft);margin-top:4px}.result-score{font-family:var(--font-display);font-size:52px;text-align:center;margin:24px 0 4px}.result-note{text-align:center;color:var(--ink-soft);font-size:14px;margin-bottom:24px}