@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Space+Mono:wght@400;700&display=swap');
:root{font-family:'Space Mono',monospace;color:#1b1b2f;background:#f3efe1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{padding:18px;max-width:1080px;margin:auto}.viewer{position:relative;border:2px solid #1b1b2f;background:radial-gradient(ellipse at 50% 40%,#fff8da,#d9d4bd);overflow:hidden}.viewer-top{display:flex;justify-content:space-between;gap:8px;position:absolute;top:18px;left:18px;right:18px;font:9px/1.8 'Press Start 2P',monospace;pointer-events:none;z-index:4}.dot{display:inline-block;width:8px;height:8px;background:#2fbd8e;margin-right:6px;box-shadow:2px 2px #1b1b2f}#canvas-wrap{height:420px;touch-action:none;position:relative;overflow:hidden;background:#d7d3b9;isolation:isolate}#canvas-wrap::before,#canvas-wrap::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2}#canvas-wrap::before{background:repeating-linear-gradient(to bottom,rgba(27,27,47,.13) 0,rgba(27,27,47,.13) 1px,transparent 1px,transparent 4px),linear-gradient(90deg,rgba(255,50,70,.045),transparent 18%,transparent 82%,rgba(47,189,142,.045));mix-blend-mode:multiply;opacity:.72}#canvas-wrap::after{background:radial-gradient(ellipse at center,transparent 52%,rgba(27,27,47,.23) 100%),linear-gradient(rgba(255,255,220,.09),rgba(15,15,35,.08));box-shadow:inset 0 0 34px rgba(27,27,47,.22),inset 0 0 4px rgba(255,255,255,.7);border-radius:8px;z-index:3}canvas{display:block;width:100%;height:100%;filter:saturate(.88) contrast(1.08)}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-top:2px solid #1b1b2f;background:#f3efe1}.eyebrow{font-size:10px;color:#b5243a;margin:0 0 10px;letter-spacing:1px}h1{font:13px/1.7 'Press Start 2P',monospace;margin:0;max-width:350px}.controls{display:flex;gap:10px;flex-wrap:wrap}button{cursor:pointer;font:11px/1.5 'Space Mono',monospace;font-weight:700;background:#ffce3d;border:2px solid #1b1b2f;box-shadow:3px 3px #1b1b2f;padding:10px 12px;color:#1b1b2f}button:hover{background:#2fbd8e}button:focus-visible{outline:3px solid #ff4d5e;outline-offset:5px}.viewer-note{display:flex;justify-content:space-between;gap:14px;font-size:10px;line-height:1.8;padding:18px 0 0}#status{max-width:60%}#collection[hidden]{display:none}@media(max-width:600px){main{padding:12px}#canvas-wrap{height:370px}.viewer-top{font-size:7px;left:12px;right:12px}.viewer-bottom{align-items:flex-start;flex-direction:column;padding:16px;gap:16px}h1{font-size:12px}.viewer-note{flex-direction:column;gap:8px}#status{max-width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.render-control{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700}.render-control select{font:11px/1.5 'Space Mono',monospace;color:#1b1b2f;background:#2fbd8e;border:2px solid #1b1b2f;border-radius:0;padding:9px 8px;box-shadow:3px 3px #1b1b2f;cursor:pointer}.render-control select:focus-visible{outline:3px solid #ff4d5e;outline-offset:5px}.controls{max-width:470px;align-items:center}@media(max-width:600px){#canvas-wrap{height:340px}.render-control{flex-basis:100%;margin-top:3px}}
@media (pointer: fine) {
  html, body, canvas, button, select, label { cursor: url('./assets/pixel-cursor.svg') 16 16, crosshair; }
}
/* Edge-to-edge viewer; controls fit inside the same screen-height scene. */
html, body { height: 100%; }
main { padding: 0; max-width: none; height: 100%; display: flex; flex-direction: column; }
.viewer { border: 0; flex: 1; min-height: 0; display: flex; flex-direction: column; }
#canvas-wrap { height: auto; flex: 1; min-height: 260px; }
#canvas-wrap { touch-action: pan-y; }
#canvas-wrap canvas { overscroll-behavior: auto; }
.viewer-bottom { flex: 0 0 auto; }
.viewer-note { flex: 0 0 auto; padding: 12px 18px; }
.viewer-note { min-height: 72px; padding-right: 150px; }
@media (max-width:600px) { main { padding: 0; } .viewer-bottom { gap: 10px; padding: 12px 16px; } .viewer-note { gap: 3px; padding: 8px 16px; } }

.viewer-note { min-height: 72px; padding-right: 150px; }
