:root{color-scheme:dark;--ink:#f8f0df;--muted:#c4b9b9;--gold:#e5bd7e;--red:#b84663;--line:#d8b88b3b;--panel:#14131def;--green:#91d5ad}*{box-sizing:border-box}body{margin:0;background:#11101b;color:var(--ink);font:16px/1.75 'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #ffe2a4;outline-offset:4px}#scene{position:fixed;inset:0;background-size:cover;background-position:center;transition:background-image .3s;z-index:-3}#scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100f1aef,#100f1a9c 60%,#100f1a6e),linear-gradient(0deg,#100f1a 0%,transparent 65%)}.grain{pointer-events:none;position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 85% 5%,#7b324b2b,transparent 55%)}.shell{max-width:1240px;margin:auto;padding:0 48px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.08em}.brand small{display:block;font-size:10px;color:var(--gold);letter-spacing:.2em}.seal{display:grid;place-items:center;width:38px;height:44px;border:1px solid var(--gold);color:var(--gold);font:24px 'Yu Mincho','Hiragino Mincho ProN',serif;border-radius:3px}.quiet,.text-btn{border:0;background:none;color:var(--muted);font-size:14px;padding:10px}.quiet{border:1px solid var(--line);border-radius:6px}main{min-height:calc(100svh - 178px);padding:44px 0}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.22em;font-weight:700}.intro{max-width:780px}.intro h1{font:800 clamp(44px,7vw,84px)/1.3 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.1em;margin:18px 0}.intro .lead{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:22px;margin:18px 0 10px}.intro .hint{color:var(--muted);max-width:650px}.meta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 30px}.chip{font-size:12px;letter-spacing:.07em;border:1px solid var(--line);border-radius:30px;padding:5px 13px;background:#17141b99}.level-heading{font-size:14px;font-weight:500;margin:0 0 13px;color:var(--muted)}.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.level{position:relative;background:linear-gradient(140deg,#23202be8,#15131deb);border:1px solid var(--line);padding:25px;text-align:left;color:var(--ink);border-radius:10px;transition:.2s;overflow:hidden}.level:before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--tone)}.level:hover{transform:translateY(-4px);border-color:var(--gold);background:#302332}.level .en{display:block;font-size:14px;letter-spacing:.2em;color:var(--tone);font-weight:800}.level strong{display:block;font:700 25px 'Yu Mincho',serif;margin:7px 0 12px}.level .desc{font-size:14px;color:var(--muted);display:block;line-height:1.7}.level .play{display:block;color:var(--gold);font-size:13px;margin-top:20px}.session-bar{display:flex;align-items:center;gap:15px;margin-bottom:16px;font-size:13px;color:var(--muted)}.session-bar strong{font-size:16px;color:var(--gold)}.session-bar .score{margin-left:auto}.progress{height:3px;background:#ffffff20;margin-bottom:24px}.progress i{display:block;background:var(--gold);height:100%;transition:width .3s}.quiz-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}.question-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px}.q-tags{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--gold)}.question-panel h1{font:700 clamp(23px,3vw,32px)/1.65 'Yu Mincho',serif;margin:16px 0 25px}.choices{display:grid;gap:11px}.choice{border:1px solid #b9a9b64d;background:#ffffff05;border-radius:7px;padding:15px 16px;color:var(--ink);text-align:left;display:flex;gap:15px;align-items:center;min-height:62px}.choice .letter{font:500 14px Georgia;color:var(--gold);border-right:1px solid var(--line);padding-right:15px}.choice:not(:disabled):hover{background:#ffffff10;border-color:#d7b784}.choice.selected{border-color:var(--gold);background:#e3bc7917;box-shadow:inset 3px 0 var(--gold)}.choice.correct{border-color:var(--green);background:#9edeb91b}.choice.wrong{border-color:#ef8395;background:#d65f7522}.status-tag{margin-left:auto;font-size:12px;white-space:nowrap;color:var(--green)}.choice.wrong .status-tag{color:#ffa1b2}.actions{display:flex;gap:16px;align-items:center;margin-top:22px}.primary,.secondary{padding:12px 24px;border-radius:6px;min-height:48px;font-weight:700}.primary{background:var(--gold);color:#211620;border:1px solid var(--gold)}.primary:disabled{opacity:.4}.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}.keyboard-note{font-size:12px;color:#aea4ad}.art-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#17151ded;position:relative}.art-card .art{height:360px;background-position:center;background-size:cover;position:relative}.art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17151d,transparent 40%)}.art-card .art-caption{padding:0 22px 20px;position:relative;font-family:'Yu Mincho',serif}.art-caption small{font:11px 'Yu Gothic',sans-serif;letter-spacing:.2em;color:var(--gold)}.art-caption p{font-size:20px;margin:8px 0}.art-caption .note{font:12px 'Yu Gothic',sans-serif;color:var(--muted)}.portrait{width:100%;height:340px;object-fit:contain;position:absolute;inset:auto 0 0;filter:drop-shadow(0 8px 20px #0009)}.answer{animation:reveal .3s ease-out;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.answer .verdict{font:700 26px 'Yu Mincho',serif;color:var(--green)}.answer.miss .verdict{color:#f0bd8c}.answer p{font-size:15px;line-height:1.9}.source{font-size:12px;color:var(--gold);text-underline-offset:4px}.result-top{text-align:center;margin-bottom:32px}.result-top h1{font:700 34px 'Yu Mincho',serif;margin:16px 0 8px}.result-score{font:700 94px/1.2 Georgia;color:var(--gold)}.result-score span{font:18px 'Yu Gothic',sans-serif;color:var(--muted)}.result-top .summary{color:var(--muted)}.result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:22px 0}.review-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-item{display:flex;align-items:center;gap:15px;text-align:left;background:#14131def;border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:15px;min-height:85px}.review-item img{width:70px;height:64px;object-fit:cover;border-radius:4px}.review-item .mini{font-size:11px;color:var(--gold)}.review-item strong{font-size:15px;display:block}.review-item .review-mark{margin-left:auto;color:var(--green);font-size:22px}.review-item.miss .review-mark{color:#ea8c9d}.review-explanation{grid-column:1/-1;background:#211b28;padding:20px;border:1px solid var(--line);border-radius:8px}.review-explanation h2{font-size:19px}.review-explanation p{font-size:15px}.notice{font-size:12px;color:var(--muted);margin-top:20px}.error{padding:30px;border:1px solid #c88181;border-radius:8px}footer{min-height:78px;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#a79dab;font-size:11px;padding:18px 0}footer span{margin-left:auto}dialog{background:#191722;color:var(--ink);border:1px solid var(--gold);border-radius:12px;max-width:560px;width:calc(100% - 32px);padding:30px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog h2{font:700 25px 'Yu Mincho',serif}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#e5bd7e;color:#211620;padding:10px 20px;border-radius:7px;z-index:10} @keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:760px){.shell{padding:0 20px}header{min-height:78px}main{padding:28px 0}.levels{grid-template-columns:1fr}.level{padding:18px 22px}.level strong{font-size:22px;display:inline;margin-left:15px}.level .en{display:inline;font-size:12px}.level .desc{margin-top:8px}.level .play{margin-top:10px}.intro h1{font-size:48px}.intro .lead{font-size:19px}.quiz-grid{grid-template-columns:1fr}.question-panel{padding:22px 18px}.question-panel h1{font-size:25px}.art-card{grid-row:2}.art-card .art{height:210px}.portrait{height:210px}.art-card .art-caption{padding:0 18px 16px}.art-caption p{font-size:18px}.review-list{grid-template-columns:1fr}.keyboard-note{display:none}.actions .primary{width:100%}.choice{font-size:16px;min-height:60px;padding:13px}.result-score{font-size:80px}footer{gap:8px;font-size:10px}footer span{margin-left:0}.session-bar{font-size:12px;gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Stable image slots and content-first layout, including narrow WordPress embeds. */
.intro h1{margin-top:0}.level .en{font-size:23px;letter-spacing:.06em}.level .desc{margin-top:12px}.art-card:has(.portrait) .art{height:390px}.portrait{height:390px;object-position:center bottom}.review-item img{aspect-ratio:70/64}.source{color:var(--muted)}.shell{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:760px){.art-card:has(.portrait) .art,.portrait{height:300px}.level .en{font-size:21px}.intro h1{font-size:clamp(32px,9vw,48px)}.choice span:not(.letter):not(.status-tag){overflow-wrap:anywhere}}

.share-x{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.secondary[hidden]{display:none}
