*{box-sizing:border-box}:root{color-scheme:dark;--paper:#101920;--ink:#e6dcc5;--muted:#b0aa97;--line:#45535a;--red:#cd644f}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:BIZ UDGothic,Yu Gothic,monospace}body{background-image:linear-gradient(90deg,#b5a5870b 1px,transparent 1px),linear-gradient(#b5a5870b 1px,transparent 1px);background-size:24px 24px}#app{max-width:600px;margin:auto;padding:30px 22px 20px}.eyebrow{font-family:monospace;font-size:10px;letter-spacing:2px;color:var(--muted)}.eyebrow:before{content:"";display:inline-block;width:8px;height:8px;background:var(--red);margin-right:10px;box-shadow:4px 4px #b64a3a26}h1{font-weight:800;font-size:33px;letter-spacing:4px;margin:17px 0 12px;line-height:1.4}h1 span{display:inline-block;font:10px monospace;letter-spacing:1px;color:var(--muted);margin-left:15px;vertical-align:middle}header p{font-size:11px;letter-spacing:2px;color:var(--muted);margin:0 0 18px}.palette{display:flex;gap:18px;align-items:center;padding:0 0 18px;font-size:10px;letter-spacing:1px;color:var(--muted)}.palette span{display:inline-flex;align-items:center;gap:6px}.palette i{width:8px;height:8px;display:inline-block;background:var(--swatch)}.toolbar,.under{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1px;padding:13px 0;gap:8px}.toolbar{border-top:2px solid var(--ink)}#count{font-family:monospace;color:#85aec0;white-space:nowrap}#game{width:100%;aspect-ratio:480/560;border:2px solid var(--line);overflow:hidden;touch-action:none;background:#141f28;box-shadow:5px 5px #00000040}canvas{display:block;touch-action:none;image-rendering:pixelated;image-rendering:crisp-edges}.under{color:var(--muted);padding-top:18px}button{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:9px 12px;border-radius:0;cursor:pointer;white-space:nowrap;box-shadow:3px 3px #00000060}button:hover{background:#293740}button:active{transform:translate(2px,2px);box-shadow:1px 1px #00000060}button:focus-visible{outline:2px solid var(--red);outline-offset:4px}footer{text-align:center;font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:22px}@media(max-width:420px){#app{padding:22px 16px 15px}h1{font-size:29px}h1 span{display:block;margin:5px 0 0}header p{margin-bottom:16px}.palette{gap:14px}.under{font-size:10px;letter-spacing:0}}#story{min-height:2.8em;margin:20px 0 0;text-align:center;font-size:12px;line-height:1.8;letter-spacing:1px;color:#d6c49e}.under{padding-top:10px}footer{margin-top:16px}@media(max-width:420px){#story{font-size:11px}.under{flex-wrap:wrap;row-gap:12px}}.version-nav{display:flex;justify-content:space-between;gap:12px;margin:0 0 22px;font-size:10px;letter-spacing:1px;align-items:center}.version-nav a{color:var(--muted);text-decoration:none;padding:5px 0;border-bottom:1px solid var(--line)}.version-nav a:hover{color:var(--ink);border-color:var(--ink)}.version-nav a:focus-visible{outline:2px solid var(--red);outline-offset:4px}.version-badge{color:#d6c49e;font-family:monospace}.selection{padding-top:48px!important}.selection header{padding-bottom:15px;border-bottom:2px solid var(--ink)}.versions{display:grid;gap:20px;margin-top:26px}.version-card{position:relative;display:block;color:var(--ink);text-decoration:none;background:#141f28;border:1px solid var(--line);padding:22px;box-shadow:5px 5px #0004}.version-card:hover{border-color:#d6c49e;background:#192630}.version-card:focus-visible{outline:2px solid #d6c49e;outline-offset:5px}.version-number{font:10px monospace;color:var(--muted);letter-spacing:2px}.version-card h2{font-size:20px;letter-spacing:2px;margin:16px 0 12px}.version-card p{font-size:12px;line-height:2;color:var(--muted);margin:0 0 16px}.version-details{font-size:10px;display:block;color:var(--muted);letter-spacing:1px}.play-link{display:block;color:#d6c49e;font-size:11px;margin-top:22px;letter-spacing:1px}.pixel-preview{position:absolute;right:28px;top:26px;width:75px;height:48px;image-rendering:pixelated}.pixel-preview i{position:absolute;display:block;width:12px;height:12px;background:var(--core-color,#d6c49e)}.pixel-preview i:nth-child(1){left:21px;top:20px;width:18px;height:18px;clip-path:polygon(22% 0,78% 0,78% 22%,100% 22%,100% 78%,78% 78%,78% 100%,22% 100%,22% 78%,0 78%,0 22%,22% 22%)}.pixel-preview i:nth-child(2){left:35px;top:21px;background:var(--pigment-1,#cd644f)}.pixel-preview i:nth-child(3){left:44px;top:27px;background:var(--pigment-4,#a18ab3)}.pixel-preview i:nth-child(4){left:9px;top:10px;background:var(--pigment-3,#93a365);width:8px;height:8px}.pixel-preview i:nth-child(5){left:57px;top:7px;background:var(--pigment-2,#e1b451);width:8px;height:8px}.story-preview i:nth-child(4){left:56px;top:2px;background:var(--core-color,#d6c49e);width:11px;height:11px;box-shadow:8px 2px var(--pigment-0,#6295ab),2px -6px var(--pigment-3,#93a365)}.story-preview i:nth-child(5){left:0;top:8px;background:var(--core-color,#d6c49e);width:7px;height:7px;box-shadow:6px 0 var(--pigment-2,#e1b451)}@media(max-width:420px){.selection{padding-top:28px!important}.version-card{padding:20px}.version-card p{font-size:11px}.version-nav{font-size:9px;margin-bottom:18px}.pixel-preview{right:20px}}.appearance-settings{margin:0 0 18px;border:1px solid var(--line);font-size:11px;color:var(--muted);background:#141f2866}.appearance-settings summary{cursor:pointer;min-height:38px;padding:11px 12px;letter-spacing:1px;color:var(--ink)}.appearance-fields{display:grid;grid-template-columns:1fr;gap:14px;padding:8px 12px 16px}.appearance-fields label{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px}.appearance-fields select{width:100%;font:inherit;min-height:36px;color:var(--ink);background:#1c2a33;border:1px solid var(--line);padding:6px 8px;border-radius:0}.appearance-fields button{justify-self:end}.appearance-fields select:focus-visible{outline:2px solid var(--red);outline-offset:2px}#game{background:var(--play-background,#141f28)}html:not([data-debug=true]) .debug-only{display:none!important}.appearance-fields input[type=checkbox]{justify-self:start;width:20px;height:20px;accent-color:#a5c9b2}.debug-point{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-100%);font:700 12px monospace;color:#f1d48c;background:#0b1219cc;padding:2px 4px}.controller-status{font-size:10px;line-height:1.8;color:var(--muted);margin:8px 0 0;letter-spacing:.3px}@font-face{font-family:Arcade;src:url(./press-start-2p-CGiUnqOA.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.arcade-page{background:#050706;background-image:none;color:#e8d8a8;--ink:#e8d8a8;--muted:#8d9078;--line:#414a39;--paper:#080b09;--red:#d88249}.arcade-page #app{width:100%;max-width:570px;padding:20px 16px 14px}.arcade-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;font:8px/1.8 Arcade,monospace}.arcade-top a{color:#e8d8a8;text-decoration:none}.arcade-top span{color:#8d9078;font-size:8px;white-space:nowrap}.arcade-page button,.arcade-page .arcade-link{font:8px/1.6 Arcade,monospace;letter-spacing:0;color:#e8d8a8;border:1px solid #6d7255;background:transparent;padding:10px 12px;border-radius:0;box-shadow:none;cursor:pointer;text-decoration:none}.arcade-page button:hover,.arcade-page .arcade-link:hover{background:#e8d8a815;border-color:#e8d8a8}.arcade-page button:active{transform:translateY(1px)}.arcade-page .arcade-screen{position:relative;width:min(100%,calc((100svh - 150px)*.857142));aspect-ratio:6/7;margin:0 auto;border:2px solid #717653;box-shadow:0 0 0 5px #10160f,0 0 0 6px #303a2a;background:var(--play-background,#141f28);overflow:hidden;touch-action:none}.arcade-page .arcade-screen:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(0deg,#0000000d 0,#0000000d 1px,transparent 1px,transparent 4px)}.arcade-hud{position:absolute;z-index:3;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;gap:20px;pointer-events:none;font:8px/1.8 Arcade,monospace;text-shadow:2px 2px #080c0e}.arcade-hud div{display:flex;flex-direction:column;gap:4px}.arcade-hud div:last-child{text-align:right}.arcade-hud span{color:#d2a960}.arcade-hud strong{font:16px/1.5 Arcade,monospace;color:#f0e5bb;letter-spacing:1px}.arcade-start{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;pointer-events:none;text-align:center;background:#07100b26;text-shadow:2px 2px #07100b;font-family:Arcade,monospace}.arcade-start[hidden]{display:none}.arcade-start h1{font:16px/1.8 Arcade,monospace;letter-spacing:0;margin:0;color:#e8d8a8}.arcade-start p{font:8px/2 Arcade,monospace;color:#a1ac8b;margin:0}.arcade-start span{font:8px/1.8 Arcade,monospace;color:#d2a960;animation:ready-blink 1.6s steps(1,end) infinite}@keyframes ready-blink{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.arcade-start span{animation:none}}.arcade-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;font:8px/1.8 Arcade,monospace}.arcade-bottom span{color:#9ca587}.arcade-controls{display:flex;gap:10px}.arcade-page footer{font:8px/1.9 Arcade,monospace;color:#5f7056;margin:18px 0 0;letter-spacing:0}.arcade-page .controller-status{display:none}.arcade-menu{width:min(480px,calc(100vw - 32px));max-height:85svh;padding:22px;color:#e8d8a8;background:#10160f;border:2px solid #717653;box-shadow:7px 7px #000;overflow:auto}.arcade-menu::backdrop{background:#000b}.menu-heading{display:flex;justify-content:space-between;align-items:center;font:10px/1.8 Arcade,monospace;gap:12px;margin-bottom:22px}.menu-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.arcade-menu .appearance-settings{border:0;background:none;margin:0}.arcade-menu .appearance-settings summary{font:8px/1.8 Arcade,monospace;padding:10px 0}.arcade-menu .appearance-fields{padding:12px 0;font:12px/1.5 Yu Gothic,sans-serif}.arcade-menu .appearance-fields button{font:12px/1.5 Yu Gothic,sans-serif}.arcade-menu .appearance-fields select{background:#1a2419;color:#e8d8a8}.arcade-menu .debug-panel{font:11px/1.8 monospace;border-top:1px solid #414a39;margin-top:18px;padding-top:15px}.arcade-menu .controller-status{display:block}.arcade-page .legacy-ui{display:none!important}.arcade-page .life-number,.arcade-page .debug-point{font-family:Arcade,monospace;font-size:8px}.arcade-page #story.narrative{font-size:11px;line-height:1.8;min-height:0;letter-spacing:1px;margin:18px 0 0;text-align:center;color:#a6ac8c}@media(max-width:420px){.arcade-page #app{padding:16px 14px 12px}.arcade-top{gap:7px;margin-bottom:14px}.arcade-top a{font-size:8px}.arcade-top span{font-size:6px}.arcade-page button{padding:9px 10px}.arcade-hud{top:12px;left:12px;right:12px}.arcade-hud strong{font-size:12px}.arcade-start h1{font-size:14px}.arcade-start{gap:18px}.arcade-bottom{margin-top:17px}}.mode-select{min-height:65svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px;border:2px solid #717653;margin-top:24px;background:#0d140f}.mode-select h1{font:24px/1.8 Arcade,monospace;text-align:center;letter-spacing:0;margin:0;color:#e8d8a8}.mode-select nav{display:flex;flex-direction:column;gap:20px}.mode-select a{font:12px/2 Arcade,monospace;color:#d2a960;text-decoration:none;padding:10px 12px;border:1px solid #414a39}.mode-select a:hover{color:#f0e5bb;border-color:#e8d8a8}.mode-select a:focus-visible{outline:2px solid #d2a960;outline-offset:4px}.arcade-page{min-height:100svh}.arcade-page #app{max-width:720px;padding:12px;margin:0 auto}.arcade-page .arcade-cabinet{display:flex;flex-direction:column;position:relative;width:100%;height:calc(100svh - 24px);min-height:300px;border:2px solid #717653;background:var(--play-background,#141f28);box-shadow:0 0 0 4px #10160f;overflow:hidden}.arcade-page .arcade-cabinet #game.arcade-screen{flex:1 1 0;min-height:0;width:100%;height:auto;aspect-ratio:auto;margin:0;border:0;box-shadow:none}.arcade-page .arcade-cabinet .arcade-dock{flex:0 0 auto;position:relative;z-index:5;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid #414a39;background:#080f12}.arcade-page .arcade-dock .arcade-bottom{margin:0;gap:8px;flex-wrap:wrap}.arcade-page .arcade-dock .arcade-controls{flex-wrap:wrap;gap:6px;margin-left:auto}.arcade-page .arcade-dock button,.arcade-page .arcade-dock .arcade-link{font-size:7px;padding:8px}.arcade-page .arcade-dock .arcade-top{margin:8px 0 0;font-size:7px;gap:8px}.arcade-page .arcade-dock .arcade-top span{font-size:6px}.arcade-page .arcade-dock #story.narrative{font-size:10px;line-height:1.5;min-height:0;margin:6px 0 0;letter-spacing:0}.arcade-page .arcade-dock footer{font-size:6px;line-height:1.7;letter-spacing:0;margin:6px 0 0;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;text-align:left}.arcade-page .arcade-dock footer{align-items:baseline}.arcade-page footer .game-copyright{font-size:8px;line-height:1.5}.arcade-page .arcade-cabinet.is-expanded{position:fixed;inset:0;width:100vw;height:100dvh;min-height:0;z-index:1000;border:0;box-shadow:none}body.game-window-open{overflow:hidden}@media(max-height:480px){.arcade-page .arcade-dock{padding:4px 10px}.arcade-page .arcade-dock .arcade-top{margin-top:4px}.arcade-page .arcade-dock button{padding:5px 8px}.arcade-page .arcade-dock footer{margin-top:3px}.arcade-page .arcade-dock #story.narrative{margin-top:3px}}.classic-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding:12px 0 16px}.classic-stats div{display:flex;flex-direction:column;gap:5px}.classic-stats span{font-size:9px;letter-spacing:1px;color:var(--muted)}.classic-stats strong{font:24px monospace;color:var(--ink)}.classic-stats small{font:10px monospace;color:#d6c49e}.shape-guide{display:flex;flex-wrap:wrap;gap:10px 15px;font-size:10px;color:var(--muted);padding:0 0 12px}.shape-guide span{display:inline-flex;align-items:center;gap:5px}.shape-icon{display:inline-block;width:10px;height:10px;background:#d6c49e;flex-shrink:0}.shape-0{clip-path:polygon(50% 0,100% 100%,0 100%)}.shape-2{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.shape-3{clip-path:polygon(50% 0,100% 38%,80% 100%,20% 100%,0 38%)}.classic-help{font-size:10px;line-height:1.8;color:var(--muted);margin:0 0 14px}.classic-result{border:1px solid #d6c49e;padding:15px;margin-top:18px;background:#d6c49e08}.classic-result h2{font-size:14px;letter-spacing:1px;margin:0 0 8px;color:#d6c49e}.classic-result p{font-size:11px;line-height:1.8;color:var(--ink);margin:0}.classic-result[hidden]{display:none}@media(max-width:420px){.classic-stats strong{font-size:21px}.shape-guide{gap:10px}.classic-stats{gap:8px}.classic-stats span{font-size:9px}}@media(max-width:420px){.shape-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}}#game{position:relative}.collection-feedback{position:absolute;z-index:2;pointer-events:none;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 7px;background:#0b1219df;border:1px solid #617d76;white-space:nowrap;line-height:1.3}.collection-feedback strong{font:700 14px monospace;color:#f1d48c}.collection-feedback small{font-size:10px;color:#b8ebba}.collection-feedback{will-change:top,opacity}.root-status{font-size:11px;color:#b8d4c7;line-height:1.7;min-height:1.7em;margin:0 0 10px;font-variant-numeric:tabular-nums}.life-number{position:absolute;z-index:2;pointer-events:none;transform:translate(-50%);font:600 11px/1.2 monospace;font-variant-numeric:tabular-nums;white-space:nowrap;color:#b8d4c7;background:#0b1219e8;padding:1px 3px}.life-number.urgent{color:#ffc58b}.life-number.extended{color:#c6ffd0;background:#264334}.bonus-tally{position:absolute;z-index:3;left:50%;top:16%;transform:translate(-50%);width:min(270px,80%);pointer-events:none;font:8px/1.7 Arcade,monospace;color:#e8d8a8;text-shadow:2px 2px #080c0e}.bonus-tally[hidden]{display:none}.bonus-heading{text-align:center;color:#d2a960;margin-bottom:12px;letter-spacing:2px}.bonus-row{display:grid;grid-template-columns:16px 1fr 1fr 64px;align-items:center;gap:8px;min-height:21px}.bonus-row[data-visible=false],.bonus-total[data-visible=false]{visibility:hidden}.bonus-row .shape-icon{background:#e8d8a8;width:10px;height:10px}.bonus-amount{text-align:right;color:#f0e5bb}.bonus-total{border-top:1px dashed #717653;margin-top:9px;padding-top:10px;text-align:right;color:#d2a960}@media(max-width:420px){.bonus-tally{font-size:7px;width:75%;top:16%}.bonus-row{min-height:17px;grid-template-columns:12px 1fr 1fr 52px;gap:6px}.bonus-heading{margin-bottom:8px}.bonus-total{padding-top:7px;margin-top:7px}}.classic-gameover{margin-top:clamp(24px,5vh,48px);text-align:center;font-family:Arcade,monospace;color:#e8d8a8;text-shadow:2px 2px #07100b}.classic-gameover[hidden]{display:none}.classic-gameover h1{font:16px/1.8 Arcade,monospace;letter-spacing:0;margin:0 0 20px;color:#e8d8a8}.classic-gameover span{display:block;font:8px/1.8 Arcade,monospace;color:#d2a960;animation:ready-blink 1.6s steps(1,end) infinite}@media(max-width:420px){.classic-gameover h1{font-size:14px}}@media(max-height:480px){.classic-gameover{margin-top:16px}.classic-gameover h1{font-size:12px;line-height:1.5;margin-bottom:12px}}@media(prefers-reduced-motion:reduce){.classic-gameover span{animation:none}}
