:root{color-scheme:dark;--bg:#101811;--panel:#18221b;--line:#354334;--ink:#eee8d6;--muted:#a1ad94;--gold:#f0c65b;--red:#d9654e}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#29322666,transparent 65%),var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center}button{font:inherit}button:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* Centered card layout */
.cabinet{width:100%;max-width:660px;margin:auto;padding:16px 24px 12px}

.edition,.eyebrow{font:10px/1.5 monospace;letter-spacing:2px;color:var(--muted)}.edition{display:flex;align-items:center;gap:8px}.edition>span:last-child{margin-left:auto;letter-spacing:1px}.signal{width:6px;height:6px;background:var(--gold);border-radius:50%}

h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,4.5vw,44px);line-height:1.1;letter-spacing:-1.5px;margin:8px 0 4px;text-align:center}h1 em{font-size:.52em;font-weight:normal;color:var(--muted);padding:0 6px}h1>span{color:var(--red)}
.masthead{text-align:center}.masthead>p{font-size:12px;color:var(--muted);margin:0 0 12px;min-height:14px}

.hud{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1fr .7fr 1fr;padding:10px 0;margin-bottom:14px}.hud>div{padding:0 14px;border-left:1px solid var(--line)}.hud>div:first-child{padding-left:0;border:0}.hud>div>span{display:block;font:8px monospace;letter-spacing:1.4px;color:var(--muted);margin-bottom:5px}.hud strong{font:20px monospace;font-weight:bold;white-space:nowrap}.hud strong b{font:inherit}.hud .capital strong{color:var(--gold)}.hud small{font-size:13px;color:var(--muted)}

/* Game area — no sidebar, full width */
.game-column{min-width:0}
.board-frame{position:relative;border:1px solid #617453;border-radius:5px;padding:4px;background:#0a110d;box-shadow:0 16px 48px #0004}#game{display:block;width:100%;height:auto;aspect-ratio:28/31;touch-action:none;border-radius:2px;outline-offset:7px}
.overlay{position:absolute;inset:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#09100de8;backdrop-filter:blur(3px);padding:20px}.overlay[hidden]{display:none}.overlay .eyebrow{color:var(--gold);font-size:13px;letter-spacing:4px}.overlay h2{font:clamp(25px,4vw,43px)/1.1 Georgia,serif;margin:15px 0;color:var(--gold)}.overlay p{font-size:14px;line-height:1.7;max-width:340px;color:var(--ink);white-space:pre-line}
.board-status{display:flex;justify-content:space-between;gap:8px;font:9px/1.5 monospace;letter-spacing:1px;color:var(--muted);padding:8px 2px}.board-status>span:first-child{color:var(--gold)}

.actions{display:flex;gap:6px}.actions button{border:1px solid var(--line);border-radius:3px;cursor:pointer;min-height:42px}.primary{flex:1;color:#172017;background:var(--gold);padding:8px 14px;font-size:13px;font-weight:bold;text-align:left}.primary>span{float:right;font-size:19px;line-height:16px}.primary:hover{background:#ffe099}.icon-button{min-width:42px;background:var(--panel);color:var(--ink);font-size:18px}.icon-button:hover{background:#2c3a2c}.icon-button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}button:disabled{opacity:.35;cursor:default}

.controls{display:flex;justify-content:space-between;gap:8px;margin:10px 0;font-size:10px;color:var(--muted)}kbd{font:10px monospace;border:1px solid #43513d;border-radius:3px;padding:2px 4px;margin-right:2px;color:var(--ink)}.controls b{font:10px monospace;color:var(--ink)}.controls i{font-style:normal;margin:0 5px}
.book-tip{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0}
.dpad{display:none}
footer{border-top:1px solid var(--line);margin-top:16px;padding-top:10px;display:flex;justify-content:space-between;gap:15px;font:8px/1.8 monospace;letter-spacing:1px;color:var(--muted)}

/* Info modal */
.info-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}
.info-modal[hidden]{display:none}
.info-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px)}
.info-modal-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:28px 32px;max-width:420px;width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 24px 64px #000a;animation:modalIn .2s ease-out}
@keyframes modalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.info-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;padding:4px 8px;border-radius:4px}.info-close:hover{color:var(--ink);background:#ffffff10}
.info-modal-card .eyebrow{display:block;margin-bottom:10px}
.info-modal-card canvas{display:block;width:205px;height:80px;margin:8px 0}
.info-modal-card h2{font:24px/1.15 Georgia,serif;letter-spacing:-.4px;margin:10px 0;color:var(--ink)}
.info-modal-card>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.rule{display:flex;align-items:center;gap:14px;margin:0 0 14px}.rule p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.rule b{font-weight:normal;color:var(--ink)}
.coin-icon{flex-shrink:0;width:23px;height:23px;border-radius:50%;border:2px solid var(--gold);background:#735b22;color:var(--gold);font:bold 15px/19px Georgia;text-align:center;margin:0 4px}.coin-icon.big{width:31px;height:31px;margin:0;line-height:27px;font-size:22px;box-shadow:0 0 15px #edc45c25}.fruit-icon{font-size:24px;width:31px}
.manifesto{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;font:10px/1.9 monospace;letter-spacing:1px;color:var(--muted)}.manifesto b{color:var(--gold);font-weight:normal}

/* Mobile */
@media(max-width:700px){
  body{align-items:flex-start}
  .cabinet{padding:12px 12px 8px}
  .masthead{text-align:center}.edition{font-size:8px;letter-spacing:1px}h1{letter-spacing:-1px;font-size:clamp(22px,6vw,36px)}
  .hud>div{padding:0 8px}.hud strong{font-size:16px}.hud>div>span{font-size:7px;letter-spacing:.6px}
  .masthead>p{font-size:10px}
  .controls{font-size:9px}
  .dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:44px 44px;gap:5px;justify-content:center;margin-top:12px}
  .dpad button{background:#263325;border:1px solid #4b5e40;border-radius:5px;font-size:24px;color:var(--gold);touch-action:none;user-select:none}
  .dpad button:active{background:#536444}
  .dpad button[data-dir=up]{grid-column:2}
  .dpad button[data-dir=left]{grid-column:1;grid-row:2}
  .dpad button[data-dir=down]{grid-column:2;grid-row:2}
  .dpad button[data-dir=right]{grid-column:3;grid-row:2}
  footer{font-size:7px;margin-top:12px}
  .edition>span:last-child{display:none}
  .info-modal-card{padding:20px 18px}
}
@media(pointer:coarse) and (min-width:701px){.dpad{display:flex;justify-content:center;gap:8px;margin:10px}.dpad button{width:50px;height:45px;touch-action:none;background:var(--panel);border:1px solid var(--line);color:var(--gold);border-radius:4px;font-size:22px}}
@media(prefers-reduced-motion:reduce){.overlay{backdrop-filter:none}.info-modal-card{animation:none}}
