:root{--bg:#0e1210;--panel:#151b18;--fg:#d7e4dc;--muted:#6f8378;--line:#22302a;--snake:#7ee2a8;--head:#c4ffd9;--food:#ffcf5a;--grid:#121815}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--fg)}
body{font:15px/1.55 "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--snake)}
.wrap{width:100%;max-width:420px;margin:0 auto;padding:0 16px}
header{display:flex;justify-content:space-between;align-items:baseline;padding:24px 0 8px}
.logo{color:var(--fg);text-decoration:none;font-weight:700;letter-spacing:.08em}
.logo i{color:var(--snake);font-style:normal}
nav a{color:var(--muted);text-decoration:none;margin-left:14px;font-size:13px}
nav a:hover,nav a[aria-current]{color:var(--fg)}
main{flex:1;padding:12px 0 24px}
h1{font-size:20px;letter-spacing:.02em;margin:8px 0 6px}
p{color:var(--muted);margin-bottom:12px}
.hud{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin:12px 0 8px}
.hud b{color:var(--fg);font-variant-numeric:tabular-nums}
.screen{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--grid)}
canvas{display:block;width:100%;height:auto;touch-action:none}
.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(14,18,16,.82);text-align:center;gap:10px;padding:16px}
.overlay[hidden]{display:none}
.overlay strong{font-size:18px}
.btn{background:var(--snake);color:#0b130f;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}
.pad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,56px);gap:8px;justify-content:center;margin-top:16px}
.pad button{background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--fg);font:inherit;font-size:20px;cursor:pointer}
.pad button:active{background:var(--line)}
.pad .up{grid-column:2}.pad .left{grid-row:2;grid-column:1}.pad .down{grid-row:2;grid-column:2}.pad .right{grid-row:2;grid-column:3}
.hint{font-size:12px;color:var(--muted);text-align:center;margin-top:10px}
footer{color:var(--muted);font-size:12px;padding:16px 0 24px;border-top:1px solid var(--line)}
.big{font-size:80px;font-weight:700;line-height:1;color:var(--snake);margin:16px 0}
ul{color:var(--muted);margin:0 0 12px 18px}
@media (hover:hover) and (pointer:fine){.pad{display:none}}
