:root{--bg:#faf8f3;--surface:#fff;--hairline:#ece6d8;--hairline-strong:#d9d2bf;--ink-1:#1a1814;--ink-2:#4a463e;--ink-3:#8a8478;--ink-4:#b8b2a2;--accent:#e8a87c;--accent-ink:#b8744a;--accent-soft:#fbede0;--accent-glow:#e8a87c2e;--good:#6b8e4e;--good-soft:#e9efdd;--bad:#c25450;--bad-soft:#f6e0dd;--header-bg:#fff;--header-border:#ece6d8;--font-ui:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-jp:var(--next-font-jp), "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--t-xs:12px;--t-sm:13px;--t-base:15px;--t-body:16px;--t-jp:17px;--t-md:18px;--t-lg:22px;--t-xl:28px;--t-2xl:36px;--lh-tight:1.3;--lh-snug:1.55;--lh-jp:1.95;--lh-relax:1.7;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:56px;--s-10:72px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.2, .7, .3, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s}[data-theme=dark]{--bg:#14130f;--surface:#1c1b16;--hairline:#2a2822;--hairline-strong:#3a382f;--ink-1:#efead8;--ink-2:#b8b2a2;--ink-3:#807b6e;--ink-4:#4f4b41;--accent:#e8a87c;--accent-ink:#f2be99;--accent-soft:#2d241c;--accent-glow:#e8a87c38;--good:#9cb87c;--good-soft:#232a1b;--bad:#d87571;--bad-soft:#2c1d1b;--header-bg:#1c1b16;--header-border:#3a382f}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-ui);background:var(--bg);color:var(--ink-1);min-height:100vh;line-height:var(--lh-snug);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out)}a{color:inherit;text-decoration:none}button{font-family:inherit}.jp{font-family:var(--font-jp);font-feature-settings:"palt"}.row{align-items:center;gap:var(--s-2);display:flex}.col{flex-direction:column;display:flex}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.num{font-variant-numeric:tabular-nums}.bounce{transition:transform .18s var(--bounce), background-color var(--dur-1), color var(--dur-1), box-shadow var(--dur-2)}.bounce:hover{transform:translateY(-1.5px)scale(1.015)}.bounce:active{transition-duration:80ms;transform:translateY(0)scale(.985)}.cta{background:var(--ink-1);min-height:48px;color:var(--bg);border-radius:var(--r-md);font:600 var(--t-body)/1 var(--font-ui);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 22px;display:inline-flex;box-shadow:0 1px #0000000a}.cta.accent{background:var(--accent);color:#2a1a0e;box-shadow:0 1px 0 #0000000a, 0 6px 22px var(--accent-glow)}.cta:disabled{opacity:.4;cursor:not-allowed}.cta.ghost{color:var(--ink-1);border:1px solid var(--hairline-strong);background:0 0}.chip{border-radius:var(--r-pill);border:1px solid var(--hairline-strong);min-height:36px;color:var(--ink-2);font:500 var(--t-sm)/1 var(--font-ui);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.chip[aria-pressed=true]{background:var(--ink-1);color:var(--bg);border-color:var(--ink-1)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-row{transition:background var(--dur-1) var(--ease-out);background:0 0}.menu-row:hover,.menu-row:focus-visible{background:var(--surface)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:3px}::-webkit-scrollbar-track{background:0 0}.particle{pointer-events:none;background:var(--accent);width:6px;height:6px;animation:particleOut .6s var(--ease-out) forwards;border-radius:50%;position:absolute}@keyframes particleOut{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.2);opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .35s var(--ease-out) both}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.5)}}.marker{border:1.5px solid var(--ink-3);width:26px;height:26px;font:500 13px/1 var(--font-ui);color:var(--ink-2);transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--bounce);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.option:hover .marker{border-color:var(--ink-1);transform:scale(1.06)}.option[aria-checked=true] .marker{background:var(--ink-1);color:var(--bg);border-color:var(--ink-1)}.option.correct .marker{background:var(--good);color:#fff;border-color:var(--good)}.option.wrong .marker{background:var(--bad);color:#fff;border-color:var(--bad)}.option{border-bottom:1px solid var(--hairline);cursor:pointer;transition:background var(--dur-1);align-items:flex-start;gap:14px;padding:14px 4px;display:flex;position:relative;overflow:hidden}.option:last-child{border-bottom:none}.option:hover{background:#00000003}[data-theme=dark] .option:hover{background:#ffffff05}.option .opt-text{font-family:var(--font-jp);font-size:var(--t-jp);line-height:var(--lh-relax);color:var(--ink-1);flex:1;padding-top:1px}.option.disabled{cursor:default}.option.disabled:hover{background:0 0}.option.disabled:hover .marker{border-color:var(--ink-3);transform:none}.passage-body{font-family:var(--font-jp);font-size:var(--t-jp);line-height:var(--lh-jp);color:var(--ink-1);letter-spacing:.01em}.passage-body p+p{margin-top:1.1em}.qstem{font-family:var(--font-jp);font-size:var(--t-md);line-height:var(--lh-relax);color:var(--ink-1);font-weight:500}.eyebrow{font:500 11px/1 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.page-shell{flex-direction:column;min-height:calc(100vh - 60px);display:flex}@media (max-width:640px){.hide-on-mobile{display:none!important}}.brand-break{display:none}@media (max-width:640px){.brand-break{display:inline}}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}details>summary .faq-icon{transition:transform .15s var(--ease-out,ease-out);display:inline-block}details[open]>summary .faq-icon{transform:rotate(45deg)}@keyframes shimmer-sweep{0%{background-position:-150% 0}to{background-position:250% 0}}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%) 0 0/200% 100%;animation:2.4s ease-in-out infinite shimmer-sweep;position:absolute;inset:0}[data-theme=dark] .shimmer:after{background:linear-gradient(90deg,#0000 0%,#ffffff0f 50%,#0000 100%) 0 0/200% 100%}@media (prefers-reduced-motion:reduce){.shimmer:after{opacity:0;animation:none}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-30px)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.confetti-piece{z-index:9999;pointer-events:none;width:9px;height:14px;animation:2.4s cubic-bezier(.2,.6,.4,1) forwards confetti-fall;position:fixed;top:0}.confetti-piece:nth-child(4n){background:#e36b5c}.confetti-piece:nth-child(4n+1){background:#6e8e3f}.confetti-piece:nth-child(4n+2){background:#e9c758}.confetti-piece:nth-child(4n+3){background:#5a8fb0}@media (prefers-reduced-motion:reduce){.confetti-piece{display:none}}
