
@font-face{font-family:Arcade;src:url('/blow-up/assets/arcade.ttf') format('truetype');font-display:swap}
:root{color-scheme:light;font-family:'Trebuchet MS',Arial,sans-serif;color:#284743;background:#f4f0e6;font-synthesis:none;--ink:#284743;--muted:#657c72;--accent:#327e70;--pale:#d9e9d7;--border:#d8dece}
*{box-sizing:border-box}body{margin:0}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #d38b3c;outline-offset:4px}button{border:0}a{color:inherit}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1240px;margin:auto;padding:0 28px}.brand{text-decoration:none;font-weight:bold;font-size:16px;letter-spacing:-.5px;display:flex;gap:9px;align-items:center}.brand svg{background:#dce7ce;border-radius:9px;padding:6px;width:32px;height:32px}.top-name{font-weight:bold;color:var(--muted);font-size:14px}.top-actions{display:flex;gap:8px}.icon-button{background:transparent;color:var(--ink);padding:9px 12px;border:1px solid var(--border);border-radius:12px;font-size:12px;font-weight:bold}
.play-wrap{max-width:1140px;margin:auto;padding:0 28px}.mission-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:7px 0 18px}.mission-title{font-size:16px;font-weight:bold}.mission-task{font-size:13px;color:var(--muted);margin-top:5px}.stats{display:flex;gap:8px}.stats>span{padding:10px 14px;border:1px solid var(--border);border-radius:12px;font-size:13px;white-space:nowrap;font-weight:bold;background:#fff8}
.scene{position:relative;width:100%;aspect-ratio:8/5;border-radius:28px;overflow:hidden;box-shadow:0 13px 40px #28474313;background:#d7e8db;isolation:isolate}.scene canvas{display:block;width:100%;height:100%;touch-action:none}.tools{min-height:79px;display:flex;justify-content:center;flex-direction:column;gap:12px;padding:18px 0 4px}.tool-row{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.tool{border:1px solid var(--border);background:#fff8;color:var(--ink);padding:10px 19px;border-radius:16px;display:flex;gap:9px;align-items:center;font-size:14px;font-weight:bold;transition:transform .15s,background .15s}.tool.selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 0 #245d5033}.tool-symbol{font-size:25px;font-weight:normal;line-height:1}.tool:hover{transform:translateY(-2px)}.care-action{display:flex;justify-content:center;gap:10px}.pill{min-height:43px;border:1px solid var(--border);border-radius:12px;padding:11px 17px;color:var(--ink);background:#fff9;font-size:13px;font-weight:bold}.pill:hover{background:var(--pale)}.hold:active{background:var(--pale)}.move-note{font-size:12px;color:var(--muted);padding:0 8px}.status{min-height:43px;text-align:center;font-size:13px;line-height:1.5;margin:9px 0 18px;color:var(--muted)}.overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#18393622;padding:24px;overflow:auto;z-index:5}.overlay.intro{justify-content:flex-start;background:linear-gradient(90deg,#f5f1e630,transparent);padding:30px}.menu-card{width:min(520px,100%);background:#fffaf0f5;border:1px solid #fff;border-radius:24px;padding:30px;box-shadow:0 20px 80px #23433020;backdrop-filter:blur(8px)}.intro .menu-card{width:400px;padding:30px}.menu-eyebrow{font-size:10px;line-height:1.7;letter-spacing:2px;font-weight:bold;color:#548776;margin:0 0 16px}.menu-card h1{font-size:58px;line-height:1.01;font-weight:bold;letter-spacing:-3px;margin:0 0 19px;max-width:280px}.menu-card h2{font-size:32px;line-height:1.12;letter-spacing:-1px;margin:0 0 15px}.menu-copy{font-size:15px;line-height:1.7;margin:0 0 20px;color:#62766b}.menu-meta{display:flex;gap:17px;font-size:11px;letter-spacing:.2px;font-weight:bold;color:#7f8975;margin:0 0 22px}.mode-choice{display:flex;gap:4px;background:#e8ece1;border-radius:12px;padding:4px;margin-bottom:12px}.mode-choice button{flex:1;padding:10px 7px;border-radius:9px;background:transparent;color:#6c7e70;font-size:12px;font-weight:bold}.mode-choice button[aria-pressed=true]{color:#315f50;background:#fffdf5;box-shadow:0 2px 3px #29453415}.primary{background:var(--accent);color:#fff;border-radius:12px;padding:16px 20px;font-weight:bold;width:100%;font-size:15px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 0 #1a483425}.primary:hover{filter:brightness(1.1)}.text-button{display:block;padding:12px 4px;margin:auto;background:transparent;color:var(--muted);font-size:12px}.save-note{font-size:10px;margin:7px 0 0;color:#8b9481;text-align:center}.menu-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:17px}.instructions{font-size:15px}.result-stars{font-size:39px;color:#e7b453;letter-spacing:8px;margin-bottom:14px}.result-stars span{color:#d9dfd2}.result-score{font-size:12px;color:var(--muted);margin:0 0 20px}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.level-option{background:#edf1e4;color:var(--ink);border:1px solid #d8e1ce;border-radius:13px;padding:14px 4px}.level-option strong{display:block;font-size:22px}.level-option span{display:block;font-size:10px;color:#b49042;margin-top:7px;letter-spacing:2px}
.garden-board{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:repeat(var(--n),1fr);gap:7px;width:48%;aspect-ratio:1;background:#c5ad7d;padding:13px;border:7px solid #efe2c3;border-radius:22px;box-shadow:0 16px 0 #6c896244,0 18px 35px #42614833}.pipe-tile{padding:0;aspect-ratio:1;border-radius:9px;box-shadow:0 3px 0 #948457;background:#e9e5ce;position:relative;overflow:hidden}.pipe-tile:hover:not(:disabled){background:#fff6d6}.pipe-tile svg{width:100%;height:100%;display:block}.pipe-edge{fill:none;stroke:#b4b69d;stroke-width:19;stroke-linecap:round}.pipe-water{fill:none;stroke:#d1d3ba;stroke-width:11;stroke-linecap:round}.wet .pipe-water{stroke:#69c5cd}.wet{background:#f1f2d8}.spring{opacity:1!important;background:#a5dbe1}.flower-tile.wet{background:#f9e8c9}.vertical-pad{display:flex;gap:6px}.vertical-pad button{min-width:48px}.game-article{max-width:900px;margin:45px auto 70px;padding:32px;border-top:1px solid var(--border);font-size:15px;line-height:1.8}.game-article h2{font-size:24px;letter-spacing:-.5px}.game-article h3{font-size:18px}.game-article nav{display:flex;flex-wrap:wrap;gap:24px;margin-top:25px}.embedded .game-article{display:none}.embedded .topbar{height:58px}.embedded .scene{max-height:calc(100dvh - 234px);width:auto;max-width:100%;margin:auto}.embedded .play-wrap{max-width:1140px}.embedded .mission-bar{margin:4px 0 12px}.embedded .status{margin-bottom:5px}.retro{--ink:#e9e3fb;--muted:#a8a0c5;--accent:#916fd0;--pale:#45305e;--border:#443957;background:#171325;color:var(--ink);font-family:'Courier New',monospace;color-scheme:dark}.retro .scene{border:1px solid #685779;border-radius:15px;box-shadow:0 0 50px #7f50991a}.retro .scene:after{pointer-events:none;content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0d0d220b,#0d0d2211 1px,transparent 1px,transparent 4px);z-index:2}.retro .menu-card{background:#1f1b35f5;border-color:#776184;border-radius:10px;color:#f4e4c3;box-shadow:8px 8px 0 #05091166}.retro .menu-card h1{font-family:Arcade,monospace;letter-spacing:1px;font-size:51px;line-height:1.18}.retro .menu-eyebrow{color:#96d7ca;letter-spacing:1px}.retro .menu-copy{color:#b5abc9}.retro .mode-choice{background:#302944}.retro .mode-choice button{color:#bbb0ce}.retro .mode-choice button[aria-pressed=true]{color:#f1debc;background:#574063}.retro .stats>span,.retro .pill{background:#252039}.retro .brand svg{background:#49394e}.retro .result-stars{color:#ffc68b}.retro .level-option{background:#322840;border-color:#584665;color:#ffe0a8}.retro .primary{background:#e7b984;color:#30223b;border-radius:6px}.retro .overlay{background:#0e0c2833}.retro .menu-meta{color:#bdac94}.retro .icon-button{border-radius:6px}.retro .save-note{color:#9c90ab}.orbit{--ink:#e9e7da;--muted:#b1b7c7;--accent:#5f9b96;--pale:#415b67;--border:#485163;background:#1e2b3c;color:var(--ink);color-scheme:dark}.orbit .stats>span,.orbit .pill{background:#2d3b50}.orbit .menu-card{color:#2e474d}.orbit .text-button{color:#667c75}.orbit .menu-meta{color:#738981}.orbit .result-score{color:#62766b}.orbit .scene{border:1px solid #697186}.orbit .brand svg{background:#425b66}
[hidden]{display:none!important}@media(min-width:1400px){.play-wrap{max-width:1120px}}@media(max-width:700px){.topbar{padding:0 14px;height:61px;gap:7px}.top-name{display:none}.top-actions{gap:5px}.icon-button{padding:8px;font-size:10px}.brand{font-size:13px;gap:6px}.brand svg{width:27px;height:27px}.play-wrap{padding:0 12px}.mission-bar{gap:8px;margin:8px 0 12px}.mission-title{font-size:13px}.mission-task{font-size:11px;max-width:220px}.stats{gap:4px}.stats>span{font-size:10px;padding:8px;border-radius:8px}.scene{border-radius:20px;min-height:285px;aspect-ratio:auto;height:clamp(285px,57vw,450px)}.scene canvas{object-fit:fill}.overlay,.overlay.intro{padding:14px;justify-content:center}.menu-card,.intro .menu-card{padding:20px;width:min(480px,100%);border-radius:17px}.menu-eyebrow{font-size:8px;margin-bottom:10px;letter-spacing:1.2px}.menu-card h1{font-size:36px;letter-spacing:-1.3px;max-width:none;margin-bottom:10px}.retro .menu-card h1{font-size:32px}.menu-copy{font-size:12px;line-height:1.5;margin-bottom:12px}.menu-meta{display:none}.primary{padding:12px 15px;font-size:13px}.mode-choice{margin-bottom:9px}.mode-choice button{padding:7px;font-size:11px}.save-note{display:none}.text-button{padding:10px 3px;font-size:11px}.menu-card h2{font-size:24px}.tool-row{gap:6px}.tool{padding:9px 10px;font-size:11px;gap:4px;border-radius:11px}.tool-symbol{font-size:20px}.tools{padding-top:13px;gap:10px}.pill{padding:10px 13px;font-size:12px;min-height:44px}.move-note{display:none}.status{font-size:11px;min-height:38px;margin-top:10px}.garden-board{width:min(74%,360px);gap:5px;padding:9px;border-width:5px;border-radius:15px}.pipe-tile{border-radius:6px}.game-article{padding:22px;margin-top:20px;font-size:14px}.game-article h2{font-size:21px}.level-grid{gap:7px;margin:12px 0}.level-option{padding:9px 3px}.level-option strong{font-size:18px}.level-option span{font-size:9px;letter-spacing:1px}.result-stars{font-size:28px;margin-bottom:8px}.menu-actions{gap:5px;margin-top:12px}.embedded .scene{width:100%;height:clamp(260px,calc(100dvh - 250px),500px);min-height:240px;max-height:none}.embedded .tools{min-height:55px}.embedded .status{min-height:24px}.instructions{font-size:12px}}
@media(max-width:700px) and (min-height:720px){.scene{height:400px}.garden-board{width:86%}.intro .menu-card{padding:24px}.menu-card h1{font-size:44px}.menu-copy{font-size:14px}.primary{padding:15px}.menu-eyebrow{margin-bottom:14px}.mode-choice{margin:15px 0}.save-note{display:block}}
@media(max-height:520px) and (orientation:landscape){.topbar,.embedded .topbar{height:42px}.mission-bar{margin:0 0 5px!important}.mission-task{display:none}.mission-title{font-size:12px}.stats>span{padding:4px 8px}.scene,.embedded .scene{height:calc(100dvh - 143px);max-height:none;min-height:0;width:auto;aspect-ratio:8/5}.tools,.embedded .tools{min-height:0;padding-top:7px}.pill,.tool{min-height:32px;padding:5px 12px;font-size:11px}.care-action{position:absolute;right:10px;bottom:4px}.status{display:none}.menu-card,.intro .menu-card{padding:16px;max-width:450px}.menu-copy{font-size:11px;margin-bottom:8px}.menu-card h1{font-size:28px;max-width:none;margin-bottom:7px}.menu-eyebrow,.menu-meta,.save-note{display:none}.mode-choice{margin:7px 0}.mode-choice button{padding:5px}.primary{padding:9px;font-size:12px}.text-button{padding:6px}.menu-card h2{font-size:22px}.result-stars{font-size:22px;margin-bottom:5px}.result-score{margin-bottom:10px}.menu-actions{margin-top:8px}.garden-board{width:auto;height:94%;aspect-ratio:1;gap:4px;padding:7px;border-width:4px}.game-article{margin-top:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the entire play area and controls visible on desktop; preserve game geometry on phones. */
.scene{max-height:calc(100dvh - 290px);width:auto;max-width:100%;margin:auto;min-height:300px}.scene canvas{object-fit:fill}
@media(max-width:700px) and (orientation:portrait){.scene,.embedded .scene{width:100%;height:auto;aspect-ratio:8/5;min-height:0;max-height:none}.scene:has(.overlay:not([hidden])){min-height:355px}.scene:has(.overlay:not([hidden])) canvas{object-fit:contain}.scene:has(.overlay:not([hidden])) .overlay{align-items:safe center}.garden-board{width:90%;height:auto}.scene:has(.garden-board:not([hidden])){aspect-ratio:1;min-height:0}.topbar{height:auto;min-height:63px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:10px}.top-actions{margin-left:auto}.mission-bar{flex-wrap:wrap}.mission-task{max-width:none}.stats{margin-left:auto}.tools{min-height:62px}.status{font-size:12px}.menu-card h1{font-size:39px}.icon-button{min-height:36px}.brand{font-size:12px}.brand svg{width:24px;height:24px}}
@media(max-height:520px) and (orientation:landscape){.scene,.embedded .scene{min-height:0;max-height:none}.scene:has(.overlay:not([hidden])){min-height:230px}.scene:has(.overlay:not([hidden])) canvas{object-fit:contain}}
.retro .scene{background:#19182b}.orbit .scene{background:#24374c}
