:root{color:#243026;background:#e9e1ce;font-family:Trebuchet MS,Avenir Next,system-ui,sans-serif;font-synthesis:none;--ink: #243026;--cream: #f8f2e4;--paper: #fffaf0;--green: #315d43;--rust: #b95832;--line: #c8b99a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.65),transparent 28rem),repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(72,64,46,.035) 32px),#e9e1ce}button,kbd{font:inherit}.shell{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:28px 0 40px}.masthead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;border-bottom:2px solid var(--ink);padding-bottom:12px}.eyebrow{margin:0 0 3px;color:var(--rust);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.13em}h1{margin:0;font-family:Georgia,serif;font-size:clamp(34px,5vw,54px);line-height:.95}.day-card{display:flex;align-items:baseline;gap:10px;color:var(--green)}.day-card span{font-size:13px;font-weight:800;text-transform:uppercase}.day-card strong{font-family:Georgia,serif;font-size:42px;line-height:1}.game-layout{display:grid;grid-template-columns:minmax(0,640px) minmax(260px,1fr);gap:22px;align-items:start}.play-area{min-width:0}.canvas-frame{overflow:hidden;border:3px solid var(--ink);background:#17251c;box-shadow:8px 8px #2430262e}#game-canvas{aspect-ratio:4 / 3;width:100%}#game-canvas canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.canvas-tip{margin:0;padding:7px 10px;background:var(--ink);color:#f8f2e4;font:11px ui-monospace,monospace}.sidebar{display:grid;gap:12px}.panel{border:1px solid var(--line);background:#fffaf0c7;padding:14px}.panel h2,.panel h3{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.panel h3{margin-top:15px;color:#6c725f;font-size:11px}.controls-panel p{margin:8px 0 0;color:#505b50;font-size:12px}.controls-panel .context-hint{color:var(--green);font-weight:700}kbd{display:inline-block;min-width:22px;border:1px solid #9e947d;border-bottom-width:2px;border-radius:3px;background:#fffdf6;padding:1px 4px;color:var(--ink);font:10px ui-monospace,monospace;text-align:center}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sound-toggle{grid-column:1 / -1;padding-block:7px}button{cursor:pointer;border:1px solid var(--ink);background:var(--paper);padding:10px 8px;color:var(--ink);font-weight:800}button:hover{transform:translateY(-1px);box-shadow:0 3px #2430262e}button:active{transform:translateY(1px);box-shadow:none}button.primary{background:var(--green);color:#fff}.status{min-height:18px;margin:0;color:#5e665e;font-size:12px}.status[data-kind=success]{color:#2a6d43}.status[data-kind=error]{color:#a33d2e}[hidden]{display:none!important}.game-modal{position:fixed;z-index:20;inset:0;display:grid;place-items:center;overflow:auto;background:#17251cd1;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(480px,100%);border:3px solid var(--ink);background:var(--cream);padding:24px;box-shadow:10px 10px #00000047}.modal-card h2{margin:0;font-family:Georgia,serif;font-size:32px}.modal-card>p:not(.eyebrow){margin:8px 0 20px;color:#596359;font-size:13px}.start-card{text-align:center}.start-card h2{font-size:clamp(38px,8vw,58px)}.start-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.save-slots{display:grid;gap:8px}.save-slot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;text-align:left}.save-slot strong{font-family:Georgia,serif;font-size:18px}.save-slot span{color:#687168;font:10px ui-monospace,monospace;text-align:right}.save-slot:disabled{cursor:not-allowed;opacity:.48}.modal-back{width:100%;margin-top:12px;background:transparent}@media(max-width:900px){.game-layout{grid-template-columns:1fr}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.actions,.status{grid-column:1 / -1}}@media(max-width:560px){.shell{width:min(100% - 18px,1100px);padding-top:16px}.masthead{align-items:center}.eyebrow{display:none}.day-card strong{font-size:32px}.sidebar{grid-template-columns:1fr}.actions,.status{grid-column:auto}.canvas-tip{display:none}.modal-card{padding:17px}}
