:root{--ink:#241f1a;--paper:#fff9ec;--olive:#d6ee73;--pink:#ffac9d;--yellow:#ffd14a;--accent:var(--olive);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:650;background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,a{color:inherit;font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:4px solid #1768bd;outline-offset:3px}[hidden]{display:none!important}
header,main{width:min(960px,calc(100% - 40px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;height:72px;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:900}.logo{position:relative;width:28px;height:28px;background:var(--yellow);border:2px solid;border-radius:50%}.logo i{position:absolute;width:5px;height:5px;background:var(--ink);border-radius:50%;left:5px;top:7px}.logo i:nth-child(2){left:14px;top:5px}.logo i:nth-child(3){left:11px;top:15px}#sound,nav a,.minor{background:transparent;border:1.5px solid;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:800}#sound{min-width:76px}
main{padding:24px 0 40px}.cover{display:grid;grid-template-columns:1.12fr 1fr;background:var(--yellow);border:2px solid;border-radius:18px;overflow:hidden;min-height:340px}.cover-type{padding:clamp(20px,4vw,54px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.en,small,#hud{font-family:"Arial Black","Hiragino Kaku Gothic ProN",sans-serif;font-weight:850}.en{font-size:12px;letter-spacing:.14em}.cover h1{font-size:clamp(52px,8vw,95px);line-height:1.04;letter-spacing:-.085em;margin:16px 0 12px;font-weight:1000}.cover h1>span{display:block}.period{color:#c24b31}.cover p{font-size:14px;margin:0}.hero-photo{position:relative;overflow:hidden;border-left:2px solid var(--ink);background:#e4bd65}.hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 44%}.reticle{position:absolute;left:43%;top:38%;width:22px;height:22px;border:2px solid var(--paper);border-radius:50%;display:grid;place-items:center}.reticle:after{content:"";width:7px;height:7px;background:var(--ink);border-radius:50%}.select-title{font-size:17px;margin:26px 0 14px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{border:2px solid;box-shadow:0 3px 0 var(--ink);border-radius:14px;padding:20px 16px;display:flex;align-items:center;gap:14px}.count{background:var(--olive)}.tap{background:var(--pink)}.iconbox{background:var(--paper);width:56px;height:56px;border:2px solid;border-radius:50%;display:grid;place-items:center;flex:none}.iconbox svg{width:72%;fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.iconbox .filled{fill:var(--ink);stroke:none}.card small{font-size:11px}.card h3{font-size:clamp(16px,2vw,21px);margin:3px 0}.card p,.panel p{font-size:14px}.card p{margin:0}.card b{margin-left:auto;font-size:22px}.card:active,.primary:active{transform:translateY(2px);box-shadow:none}
nav{display:flex;align-items:center;justify-content:space-between}nav a{border:none;padding:4px 0}#game>h1{font-size:clamp(24px,4.8vw,40px);margin:8px 0 18px;letter-spacing:-.055em}.arena{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:start;gap:26px}.board{isolation:isolate;position:relative;margin:auto;width:100%;aspect-ratio:4 / 4.4;overflow:hidden;border:2px solid;border-radius:16px;background:var(--accent);user-select:none}.portrait{position:absolute;inset:0;overflow:hidden}.portrait img{position:absolute;width:158.285714%;height:191.818182%;left:-24.285714%;top:-32.467532%;pointer-events:none}#spots{position:absolute;inset:0}.panel{border:2px solid;border-radius:14px;padding:20px;background:#fffdf6}.panel h2{margin:0;font-size:24px}.panel p{line-height:1.6;margin:0 0 12px}.panel #rules{font-weight:750}fieldset{padding:0;border:none;margin:14px 0 8px}legend{font-size:13px;margin-bottom:8px}#levels{display:flex;gap:4px;flex-wrap:wrap}#levels button,#choices button{border:1.5px solid;border-radius:8px;background:var(--paper);min-height:42px;font-size:13px;padding:3px 8px}#levels button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}#detail,#best{font-size:12px;margin:6px 0}#best{color:#61594e}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 17px;border:2px solid;border-radius:10px;background:var(--accent);box-shadow:0 3px var(--ink);font-size:16px;font-weight:850;margin:13px 0 3px}.primary span{font-size:22px}#hud{position:absolute;pointer-events:none;inset:8px 8px auto;display:flex;justify-content:space-between;gap:4px}#hud span{border:1.5px solid;border-radius:13px;background:var(--paper);padding:4px 9px;font-size:13px;font-variant-numeric:tabular-nums}#bar{position:absolute;bottom:0;width:100%;height:6px;background:#0005}#bar i{display:block;background:var(--accent);height:100%;transform-origin:left}.spot{position:absolute;padding:0;transform:translate(-50%,-50%);width:var(--hit);height:var(--hit);border:none;background:transparent;display:grid;place-items:center;border-radius:50%}.spot:before{content:"";width:var(--dot);height:var(--dot);background:#35231d;border-radius:47% 53% 55% 45%;box-shadow:0 0 0 .7px #f9d8b788}.spot.number:before{display:none}.spot.number{width:20px;height:20px;background:var(--olive);color:var(--ink);border:1px solid;font:800 12px/1 sans-serif}.pop{position:absolute;pointer-events:none;font:bold 17px sans-serif;color:#fff;text-shadow:1px 1px #222;animation:pop .35s ease-out both}@keyframes pop{from{transform:translate(-50%,-70%)}to{transform:translate(-50%,-150%);opacity:0}}#veil{position:absolute;inset:0;background:var(--accent);display:grid;place-content:center;text-align:center;z-index:1;font-size:clamp(38px,8vw,86px);font-weight:1000;letter-spacing:-.04em}#hud,#bar{z-index:2}#hint{margin:6px 0}#choices{display:flex;gap:8px;margin-top:8px}#choices:empty{display:none}#choices button{flex:1;font-size:23px;background:var(--accent);min-height:48px;font-weight:850}#action .minor{margin-top:9px}.tap-theme{--accent:var(--pink)}.peak{font-size:12px}
@media(max-width:680px){header,main{width:calc(100% - 28px)}header{height:50px}.brand{font-size:16px}main{padding:12px 0 22px}.cover{min-height:0;height:clamp(214px,33svh,300px);grid-template-columns:1fr 1fr}.cover-type{padding:14px}.en{font-size:10px}.cover-type p{font-size:11px;line-height:1.55}.hero-photo img{object-position:50% 50%}.cards{grid-template-columns:1fr;gap:13px}.select-title{margin:19px 0 10px}.card{padding:14px;gap:12px}.card h3{font-size:19px}.card p{font-size:12px}.iconbox{width:48px;height:48px}.arena{display:flex;flex-direction:column;align-items:stretch;gap:10px}.board{width:min(100%,49svh);max-height:54svh}.panel{padding:12px}.panel h2{font-size:20px}.panel p{font-size:13px}.panel #rules{margin-bottom:6px}fieldset{margin:8px 0 4px}#game>h1{margin:4px 0 8px}.primary{margin-top:9px;padding:9px 13px}#levels{gap:4px}#levels button{flex:1;white-space:nowrap;padding:3px 4px}#game.playing .board{width:min(100%,53svh);max-height:59svh}#game.playing .panel{padding:10px 12px}.cover h1{font-size:clamp(40px,12.9vw,62px)}}
@media(prefers-reduced-motion:reduce){.pop{animation:none;opacity:0}}

.cover h1>span{white-space:nowrap}.cover .period{font-size:.43em;letter-spacing:0}@media(max-width:680px){.cover h1{font-size:clamp(34px,11.5vw,62px)}}
