:root{--ink: #2b2a27;--paper: rgba(255, 252, 245, .94);--a: #2ea44f;--b: #d73a49;--accent: #c9302c;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;color:var(--ink)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#e8e2d3}#game{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}.label{position:absolute;left:0;top:0;font-size:16px;line-height:1;white-space:nowrap;color:#3a3833;font-weight:600;text-shadow:0 0 3px #fff,0 0 4px #fff,0 0 6px #fff}.label.NS.edge{writing-mode:vertical-rl;margin-left:-9px}.label.NS.edge-n{margin-top:-6px;translate:0 -100%}.label.NS.edge-s{margin-top:6px}.label.EW.edge{margin-top:-9px}.label.EW.edge-w{margin-left:-6px;translate:-100% 0}.label.EW.edge-e{margin-left:6px}.label.rank-minor{color:#7d7970;font-size:13px}.label.rank-arcade{color:#b0574f}.label.center{font-size:22px;font-weight:800;letter-spacing:.12em;color:#fff;text-shadow:0 0 2px #2b2f35,0 0 4px #2b2f35,0 0 8px #2b2f35;translate:-50% -50%}.label.NS.center{writing-mode:vertical-rl}.label.marker{font-size:18px;font-weight:900;letter-spacing:.06em;translate:-50% -100%;text-shadow:0 0 4px #fff,0 0 6px #fff,0 0 8px #fff}#splash{position:absolute;inset:0;pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#1e1c188c}#splash img{width:min(96vw,138vh);height:auto;object-fit:contain;border-radius:10px;box-shadow:0 12px 48px #00000080;user-select:none}#splash .press{position:absolute;left:50%;bottom:9vh;transform:translate(-50%);margin:0;padding:10px 22px;border-radius:999px;white-space:nowrap;font-size:18px;font-weight:700;letter-spacing:.06em;color:#fff;background:#0000008c;text-shadow:0 1px 2px #000;animation:blink 1.6s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}#splash .copyright{position:absolute;left:50%;bottom:2.5vh;transform:translate(-50%);margin:0;white-space:nowrap;font-size:12px;letter-spacing:.04em;color:#ffffffd9;text-shadow:0 1px 2px #000}#hud{position:fixed;inset:0;pointer-events:none}.panel{pointer-events:auto;background:var(--paper);border-radius:12px;box-shadow:0 6px 24px #0000002e}.panel.center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,420px);padding:22px 22px 18px;text-align:center}.panel.card{position:absolute;left:12px;top:12px;width:min(92vw,340px);padding:12px 14px}h1{margin:0 0 4px;font-size:34px;letter-spacing:.08em}h2{margin:0 0 8px;font-size:26px}.note{margin:-4px 0 6px;font-size:12px;color:#6b675f}.lose{color:#1f5fa8}.streak{margin:-2px 0 8px;font-size:22px;font-weight:900;color:#d0201f;letter-spacing:.06em}.sub{margin:0 0 14px;color:#6b675f;font-size:13px}.row{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0}.choices{display:flex;gap:6px}.choices button{width:38px;height:34px}.choices button.on{background:var(--accent);color:#fff;border-color:var(--accent)}button{font:inherit;font-size:15px;padding:8px 14px;border-radius:8px;border:1px solid #b9b3a6;background:#fff;color:var(--ink);cursor:pointer}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700;padding:10px 22px}button.ghost{background:transparent}button.on{background:#ffe08a}button:disabled{opacity:.45;cursor:default}select{font:inherit;padding:6px 8px;border-radius:8px;border:1px solid #b9b3a6;background:#fff}.buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.howto{margin:4px 0 14px;text-align:left;font-size:13px;color:#4a4741}.charinfo{display:flex;gap:10px;align-items:flex-start;text-align:left;max-height:0;overflow:hidden;opacity:0;margin:0 auto;width:100%;transition:max-height .35s ease,opacity .3s ease,margin .35s ease}.charinfo.open{max-height:120px;opacity:1;margin:4px auto 14px}.charinfo>span{font-size:30px;line-height:1}.charinfo p{margin:2px 0 0;font-size:13px;color:#4a4741;line-height:1.5}.howto ol{padding-left:20px;margin:8px 0}.howto .trivia{color:#1f5fa8;font-size:12px;line-height:1.5;margin-top:10px}button.small{font-size:12px;padding:4px 10px;margin-top:10px;color:#6b675f}.char{display:flex;gap:10px;align-items:flex-start}.char>span{font-size:34px;line-height:1}.char p{margin:4px 0 0;font-size:13px;color:#4a4741}.ab{margin:10px 0 4px;font-weight:700}.ab .a{color:var(--a);font-size:18px;letter-spacing:.04em}.ab .b{color:var(--b);font-size:18px;letter-spacing:.04em}#rocks-left{margin:0 0 6px;font-size:14px}#result{top:auto;bottom:24px;transform:translate(-50%)}#run{top:auto;bottom:16px;left:50%;transform:translate(-50%);width:auto;display:flex;gap:12px;align-items:center}#run p{margin:0}#toast{position:absolute;left:50%;bottom:80px;transform:translate(-50%);background:#282622e6;color:#fff;padding:8px 14px;border-radius:8px;font-size:14px;text-align:center;white-space:nowrap}#toast .sub{font-size:11px;opacity:.85;margin-top:3px}#build{position:absolute;right:8px;bottom:6px;font-size:11px;color:#7a766e}@media(min-width:601px)and (hover:hover)and (pointer:fine){#title.prep{top:auto;bottom:14vh;transform:translate(-50%);width:min(94vw,760px);padding:10px 18px 8px}#title .top{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 18px}#title .row{margin:2px 0}#title .note{margin:0 0 0 -8px}#title #btn-start{padding:8px 20px}#title .charinfo.open{max-height:48px;margin:6px auto 4px}#title .charinfo>span{font-size:24px}#title .buttons{margin-top:2px}#title .buttons button.small{margin-top:0;padding:2px 10px}#brief.panel.card{width:min(94vw,680px);padding:8px 12px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center}#brief .char{grid-column:1;grid-row:1;gap:8px}#brief .char>span{font-size:26px}#brief .char p{font-size:12px;margin:1px 0 0;line-height:1.35}#brief .ab{grid-column:1;grid-row:2;margin:0;font-size:13px}#brief .buttons{grid-column:2;grid-row:1 / span 2;margin:0;flex-wrap:nowrap}#brief .buttons button{padding:6px 12px;font-size:14px;white-space:nowrap}}@media(max-width:600px){.panel.card{width:calc(100vw - 24px)}h1{font-size:28px}}
