:root{--housing: #b8b1a4;--housing-d: #8d877b;--bezel: #1c1e16;--lcd: #9ca86a;--ink: #222616;--label: #2c2e26;--cream: #efe8d8;--button: #c23a2a;--button-d: #8a2418;--ghost: rgba(34, 38, 22, .12);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(120% 70% at 50% -10%,rgba(239,232,216,.45),transparent 46%),repeating-linear-gradient(180deg,#6f6a60 0,#6f6a60 1px,#5d5850 1px,#5d5850 7px);color:var(--label);font-family:"M PLUS Rounded 1c",Hiragino Sans,sans-serif}#app{width:min(26rem,100%);margin:0 auto;padding:12px 10px 24px;display:grid;gap:10px}.handheld{background:linear-gradient(180deg,#cdc6b8,var(--housing) 18%,#a9a294);border:2px solid #6f6a60;border-radius:28px 28px 36px 36px;box-shadow:inset 0 1px #ffffff73,inset 0 -10px #00000014,0 18px 0 var(--housing-d),0 26px 32px #00000059;padding:16px 14px 18px}.brand{display:flex;justify-content:space-between;align-items:end;gap:10px;padding:0 6px 10px}.eyebrow{margin:0;font-size:10px;letter-spacing:.22em;color:#5c574d}h1,h2{margin:0;font-family:DotGothic16,Yu Gothic,sans-serif;font-weight:400;letter-spacing:.08em}h1{font-size:clamp(22px,6vw,28px);line-height:1.15}.model{font-family:Share Tech Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.16em;color:#5c574d}.lcd-bezel{position:relative;background:var(--bezel);border-radius:8px;padding:10px 10px 12px;box-shadow:inset 0 0 0 2px #0d0e0a,0 1px #ffffff40}.lcd-cap{display:flex;justify-content:space-between;gap:8px;padding:0 2px 7px;color:var(--lcd);font-family:Share Tech Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.08em}#field{display:block;width:100%;height:min(58vh,460px);background:var(--lcd);touch-action:none}.modal{position:absolute;top:34px;right:10px;bottom:12px;left:10px;display:grid;place-items:center;background:#9ca86ae0;padding:12px}.modal.hidden{display:none}.sheet{width:min(18rem,100%);text-align:center;color:var(--ink)}.sheet h2{margin:4px 0 8px;font-size:26px}.sheet p{margin:0 0 12px;font-size:13px;line-height:1.65}.sheet .big{font-family:Share Tech Mono,ui-monospace,monospace;font-size:48px;line-height:.9;margin-bottom:8px}.deck{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 4px 2px}.dpad{width:148px;height:148px;display:grid;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px 44px;place-content:center;gap:4px}.pad{border:0;background:#3a3c34;color:var(--cream);font:inherit;font-size:16px;border-radius:6px;box-shadow:0 3px #1b1c16;touch-action:none;cursor:pointer}.pad:active{transform:translateY(2px);box-shadow:0 1px #1b1c16}.pad-up{grid-column:2;grid-row:1}.pad-left{grid-column:1;grid-row:2}.pad-ok{grid-column:2;grid-row:2;background:#2a2c24;cursor:default;box-shadow:none}.pad-right{grid-column:3;grid-row:2}.pad-down{grid-column:2;grid-row:3}.actions{display:grid;gap:8px;justify-items:end}.red,.start,.again{min-width:92px;min-height:52px;border:0;border-radius:999px;background:radial-gradient(circle at 30% 28%,#e25a48,var(--button) 54%,var(--button-d));color:var(--cream);font-family:inherit;font-weight:700;letter-spacing:.1em;box-shadow:0 4px 0 var(--button-d);cursor:pointer}.red:active,.start:active,.again:active{transform:translateY(2px);box-shadow:0 2px 0 var(--button-d)}.ghost{border:1px solid rgba(44,46,38,.28);background:#efe8d859;color:var(--label);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.status{margin:8px 6px 0;min-height:1.4em;font-size:12px;color:#4b473e}.shop{background:#efe8d86b;border:1px dashed rgba(44,46,38,.22);border-radius:14px;padding:12px}.shop-head p{margin:4px 0 10px;font-size:12px;line-height:1.55;color:#4b473e}.cards{display:grid;gap:8px}.card{display:grid;gap:6px;padding:8px 8px 9px;background:#ffffff47;border:1px solid rgba(44,46,38,.12)}.card-top{display:flex;justify-content:space-between;gap:8px}.card h3{margin:0;font-size:15px}.lv{font-family:Share Tech Mono,ui-monospace,monospace;font-size:13px}.card p{margin:0;font-size:12px;color:#4b473e}.card button{border:0;background:#3a3c34;color:var(--cream);font:inherit;font-weight:700;padding:8px;cursor:pointer}.card button:disabled,.red:disabled,.ghost:disabled{opacity:.38;cursor:default}.shop-foot{display:flex;gap:8px;margin-top:10px}button:focus-visible{outline:2px solid var(--button);outline-offset:2px}@media(max-width:420px){.handheld{border-radius:0;box-shadow:inset 0 1px #fff6,0 10px 0 var(--housing-d)}#field{height:min(52vh,420px)}}@media(prefers-reduced-motion:reduce){.pad,.red,.start,.again{transition:none}.pad:active,.red:active,.start:active,.again:active{transform:none}}
