:root{color-scheme:dark;--accent:#ff9dd6;--mint:#afead0;--bg:#121121;--ink:#f3eafa;--muted:#b4a5c3}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#453051,#121121 70%);color:var(--ink);font:14px/1.5 "Trebuchet MS",sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--mint);outline-offset:3px}[hidden]{display:none!important}.play-shell{max-width:1240px;margin:auto;padding:20px}.play-header{display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid #665077;padding-bottom:14px}.play-brand{font:bold 18px "Trebuchet MS",sans-serif;color:var(--accent);text-decoration:none;letter-spacing:2px}.play-header nav{display:flex;gap:8px;flex-wrap:wrap}.small-button,.game-options button{display:inline-block;padding:7px 13px;background:#342740;border:1px solid #91749d;border-radius:3px;color:#f2d9f2;font:11px "Trebuchet MS",sans-serif;text-decoration:none;min-height:32px}.small-button:hover,.game-options button:hover{background:#523654;border-color:var(--accent)}.play-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:20px 0 15px}.play-heading h1{font:34px/1.1 Georgia,serif;margin:4px 0 0;color:#f4dff4}.eyebrow{font:9px "Courier New",monospace;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin:0 0 7px}.game-hud{display:flex;gap:23px;flex-wrap:wrap;justify-content:end;font:11px "Courier New",monospace}.game-hud small{display:block;color:var(--muted);font-size:8px;letter-spacing:1px}.game-hud b{font-size:20px;color:var(--mint);font-weight:normal}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:start}.screen{position:relative;background:#101323;border:1px solid #9a769d;border-radius:5px;overflow:hidden;box-shadow:0 20px 60px #0005;aspect-ratio:8/5}.screen canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:none;cursor:crosshair}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0c1dd9;backdrop-filter:blur(4px);z-index:3;padding:20px;text-align:center}.overlay-inner{max-width:410px}.game-overlay h2{font:36px/1.1 Georgia,serif;color:#f6e3f5;margin:8px 0 15px}.game-overlay p{font-size:13px;color:#cebddb}.big-button{padding:11px 24px;border:1px solid #e7ffed;border-right-color:#669e83;border-bottom-color:#669e83;background:var(--mint);color:#19352b;font:bold 12px "Trebuchet MS",sans-serif;box-shadow:0 3px #294739;border-radius:3px;margin:7px 4px}.big-button:hover{background:#d4ffe7}.game-sidebar{border:1px solid #665174;background:#221c30;padding:16px;border-radius:3px}.game-sidebar h2{font:17px Georgia,serif;margin:3px 0 12px;color:#e7c8e7}.game-sidebar p{font-size:11px;color:var(--muted);line-height:1.8}.instructions{font:11px/1.9 "Courier New",monospace;color:#d5c6df;white-space:pre-line;border-block:1px solid #574262;padding:12px 0}.game-options{margin-top:14px;display:grid;gap:10px}.game-options label{font-size:10px;color:#cbb4d3;display:grid;gap:5px}.game-options input,.game-options select,.game-options textarea{min-width:0;width:100%;background:#121221;color:white;border:1px solid #765e87;padding:7px;font-size:11px}.game-options .option-row{display:flex;gap:6px;flex-wrap:wrap}.game-options .option-row button{flex:1;padding:7px 5px}.play-message{font:11px/1.7 "Courier New",monospace;min-height:30px;margin:14px 2px;color:#c9b6d3}.play-footer{display:flex;justify-content:space-between;gap:15px;font:9px/1.8 "Courier New",monospace;color:#a08daf;margin-top:20px}.touch-controls{display:none;justify-content:space-between;align-items:center;margin-top:14px;user-select:none;touch-action:none}.dpad{display:grid;grid-template:repeat(3,39px)/repeat(3,39px);gap:4px}.dpad button{background:#2b243c;color:#e4c6e8;border:1px solid #81648c;font-size:18px;border-radius:5px;touch-action:none}.dpad [data-key=ArrowUp]{grid-area:1/2}.dpad [data-key=ArrowLeft]{grid-area:2/1}.dpad [data-key=ArrowDown]{grid-area:3/2}.dpad [data-key=ArrowRight]{grid-area:2/3}.touch-actions{display:flex;gap:12px}.touch-actions button{width:62px;height:62px;border-radius:50%;border:2px solid #b0eacf;background:#24453c;color:#bdedda;font:bold 16px "Courier New",monospace;touch-action:none}.touch-actions button:last-child{border-color:#d5a0db;background:#503153;color:#f1c6f3}.game-options [role=status]{font:11px/1.6 "Courier New",monospace;color:var(--mint)}.dom-game{position:absolute;inset:0;background:#151425;overflow:auto;padding:25px;color:#eddbf1}.dom-game button{padding:10px;border:1px solid #aa83b4;background:#362440;color:#f6dcf4;cursor:pointer}.dom-game input,.dom-game textarea,.dom-game select{color:#f6dcf4;background:#171122;border:1px solid #8b699d;padding:9px;font:13px "Courier New",monospace}.dom-game textarea{width:100%;min-height:130px}.dom-game h2{font:28px Georgia,serif;color:#eab5df}.dom-game .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dom-game .log{font:13px/1.8 "Courier New",monospace;max-height:270px;overflow:auto;white-space:pre-wrap}.dom-game .choice-grid button{font-size:13px}.dom-game .subtle{color:#b29cc0;font-size:11px}.dom-game .entry-row{display:flex;gap:8px;margin-top:18px}.dom-game .entry-row input{flex:1;min-width:0}.dom-game .entry-row button{flex-shrink:0}button:disabled{opacity:.45;cursor:default}@media(max-width:900px){.game-layout{grid-template-columns:1fr}.game-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.game-sidebar>h2{grid-column:1/-1}.game-sidebar>p{margin:0}.game-options{grid-column:2;grid-row:2/5;margin:0}.instructions{margin:0}.play-shell{max-width:1000px;padding:15px}.game-heading h1{font-size:30px}}@media(max-width:550px){.play-shell{padding:12px}.play-header{align-items:start}.play-brand{font-size:14px;padding-top:7px}.play-header nav{justify-content:end;gap:5px}.small-button{font-size:10px;padding:7px 9px}.play-heading{align-items:start;flex-direction:column;gap:12px;margin-top:16px}.play-heading h1{font-size:28px}.game-hud{justify-content:start;gap:25px}.game-hud b{font-size:17px}.game-sidebar{display:block;padding:14px}.game-sidebar h2{font-size:18px}.game-options{margin-top:12px}.screen{aspect-ratio:8/5}.game-overlay h2{font-size:26px}.game-overlay p{font-size:11px;margin:8px}.big-button{font-size:11px;padding:9px 17px}.touch-controls{display:flex}.play-footer{flex-wrap:wrap}.play-message{font-size:10px}.dom-game{padding:15px}.dom-game h2{font-size:21px}.dom-game .log{font-size:11px;max-height:120px}.dom-game .choice-grid{gap:6px}.dom-game .choice-grid button{padding:7px;font-size:10px}.dom-game input{font-size:11px}.dom-game .entry-row{margin-top:9px}.dom-game .entry-row button{font-size:10px;padding:7px}}
@media(pointer:coarse){.touch-controls{display:flex}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
