@charset "UTF-8";
:root{font-family:"Avenir Next",Inter,"Helvetica Neue","PingFang SC",Arial,sans-serif;font-synthesis:none;color:#253431;background:#f4f3e9;--accent:#6d5bdd;--accent-dark:#5544be;--paper:#f4f3e9;--ink:#253431;--muted:#758079;--line:#dfe3d9;--card:#fffdf7;--stage:#eeedf6}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{touch-action:manipulation}button:hover:not(:disabled){filter:brightness(1.06)}[hidden]{display:none!important}.play-header{max-width:1240px;margin:auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.home-link{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650}.brand{background:var(--ink);color:var(--paper);border-radius:9px;width:31px;height:31px;font-size:29px;line-height:28px;text-align:center;font-weight:800;transform:rotate(-8deg)}.studio{font-weight:800;font-size:24px;letter-spacing:-1px}.studio span{font-size:10px;color:var(--muted);letter-spacing:2px;font-weight:500;margin-left:10px}.header-actions{display:flex;gap:8px}.icon-button{width:40px;height:40px;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:13px;font-weight:600;color:var(--ink)}.play-main{width:min(1040px,calc(100% - 64px));margin:14px auto 0}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;margin:0 0 10px;color:var(--muted)}.eyebrow span{opacity:.6}h1{font-size:36px;letter-spacing:-1.5px;margin:0 0 8px;line-height:1.2}#subtitle{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.quiet-button{color:var(--ink);border:1px solid var(--line);background:transparent;border-radius:30px;padding:11px 18px;white-space:nowrap;font-size:12px}.game-card{border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 12px 60px #26342907;overflow:hidden}.hud{display:flex;justify-content:space-between;padding:17px 30px;border-bottom:1px solid var(--line);gap:12px;min-height:70px}.stat{display:flex;align-items:center;gap:12px}.stat span{color:var(--muted);font-size:11px;letter-spacing:.5px}.stat strong{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.stage{position:relative;background:var(--stage);isolation:isolate}.stage canvas{display:block;width:100%;height:auto;touch-action:none;user-select:none;-webkit-user-select:none;outline-offset:-4px}.message{min-height:43px;padding:12px 22px 7px;text-align:center;font-size:12px;line-height:1.6;color:var(--muted)}.toolbar{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;padding:8px 20px 22px}.action-button{border:1px solid var(--line);border-radius:11px;background:transparent;color:var(--ink);padding:12px 19px;font-size:12px;font-weight:650;min-height:42px;transition:transform .15s,background .15s}.action-button:active:not(:disabled){transform:scale(.97)}.action-button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 12px #41319116}.game-footer{display:flex;justify-content:space-between;gap:12px;padding:19px 2px 28px;color:var(--muted);font-size:10px;letter-spacing:.2px}.game-footer span:last-child{letter-spacing:1.3px;font-size:8px}.game-overlay{position:absolute;inset:0;background:#19263448;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:3;overflow:auto}.modal{width:min(460px,100%);background:var(--card);border:1px solid var(--line);border-radius:23px;padding:28px 32px;text-align:center;box-shadow:0 24px 70px #151f2920;max-height:100%;overflow:auto}.modal-mark{font-size:42px;line-height:1;color:var(--accent);margin-bottom:15px}.modal .eyebrow{margin-bottom:10px}.modal h2{font-size:29px;letter-spacing:-1px;margin:0 0 13px}.modal-body{font-size:13px;color:var(--muted);line-height:1.9}.modal-body p{margin:8px 0}.modal-body strong{color:var(--ink)}.modal-actions{display:flex;flex-direction:column;gap:9px;margin-top:23px}.modal-actions .action-button{width:100%}.modal.compact{padding:22px 25px}.modal.compact .modal-mark{display:none}.modal.compact h2{font-size:23px}.modal.compact .modal-actions{margin-top:15px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:16px}.level-button{height:43px;border:1px solid var(--line);border-radius:9px;background:var(--stage);color:var(--ink);font-size:14px;font-weight:700;position:relative}.level-button.done{border-color:var(--accent);color:var(--accent)}.level-button.current{background:var(--accent);color:#fff}.level-button small{font-size:7px;display:block;letter-spacing:1px;margin-top:1px}.toggle-row{display:flex;justify-content:center;align-items:center;gap:9px;font-size:12px;margin-top:15px}.toggle-row input{accent-color:var(--accent)}.stars{font-size:36px;letter-spacing:8px;color:#dbab4c;margin:10px 0}.color-lab{--accent:#8164d2;--accent-dark:#6044b0;--stage:#eeeaf7}.color-lab .play-main{max-width:850px}.merge-keep{--accent:#3e8063;--accent-dark:#265b42;--stage:#193d35}.merge-keep .play-main{max-width:850px}.doodle-delivery{--accent:#dc6c44;--accent-dark:#bd4f29;--stage:#f7eedf}.neon-flight{--accent:#75e5e2;--accent-dark:#52bec1;--ink:#eef2ff;--muted:#96a5c2;--line:#2b344e;--paper:#111727;--card:#171f32;--stage:#0d1325;color:var(--ink);background:var(--paper)}.neon-flight .primary{color:#102137}.neon-flight .game-card{box-shadow:0 12px 80px #161c5522}.neon-flight .game-overlay{background:#070b2455}.neon-flight .brand{background:#75e5e2;color:#102137}.neon-flight .level-button{height:48px}.keycap{display:inline-block;background:var(--stage);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:11px}.help-steps{display:grid;gap:10px;text-align:left}.help-steps p{margin:0}.help-steps b{color:var(--accent);margin-right:6px}.legend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:11px;margin:12px 0}.legend span{white-space:nowrap}
@media(min-width:1400px){.play-main{margin-top:25px}.game-heading{margin-bottom:28px}}
@media(max-width:640px){.play-header{padding:15px 17px;gap:10px}.home-link{font-size:11px;gap:7px}.studio{font-size:19px}.studio span{display:none}.brand{width:26px;height:26px;font-size:25px;line-height:23px}.icon-button{width:34px;height:34px;font-size:11px}.header-actions{gap:6px}.play-main{width:calc(100% - 24px);margin-top:14px}.game-heading{margin-bottom:17px;padding-inline:3px;gap:12px}h1{font-size:28px;margin-bottom:7px}.eyebrow{font-size:8px;letter-spacing:1.4px}.eyebrow span{display:none}#subtitle{font-size:11px;max-width:260px}.quiet-button{font-size:10px;padding:9px 13px}.game-card{border-radius:18px}.hud{padding:14px 16px;min-height:63px}.stat{display:block}.stat span{font-size:9px;display:block;margin-bottom:4px}.stat strong{font-size:17px}.toolbar{gap:7px;padding:7px 12px 17px}.action-button{padding:11px 13px;font-size:11px;min-height:42px}.message{font-size:11px;padding:11px 12px 5px;min-height:40px}.game-footer{font-size:9px;padding:16px 4px;display:block;line-height:1.8}.game-footer span:last-child{display:none}.game-overlay{padding:12px}.modal{padding:20px 18px;border-radius:16px}.modal-mark{font-size:29px;margin-bottom:10px}.modal h2{font-size:23px;margin-bottom:9px}.modal-body{font-size:11px;line-height:1.7}.modal-actions{margin-top:14px;gap:7px}.modal .eyebrow{font-size:7px}.modal.compact{padding:15px}.level-grid{gap:5px;margin-top:10px}.level-button{height:35px;font-size:12px}.level-button small{font-size:6px}.stars{font-size:27px;margin:5px 0}.doodle-delivery .stage,.neon-flight .stage{min-height:260px;display:flex;align-items:center}.doodle-delivery .stage canvas,.neon-flight .stage canvas{aspect-ratio:960/540}.doodle-delivery .modal-mark,.neon-flight .modal-mark{display:none}.doodle-delivery .modal,.neon-flight .modal{padding:15px}.neon-flight .level-button{height:32px}.neon-flight .modal h2,.doodle-delivery .modal h2{font-size:20px}.neon-flight .modal-body,.doodle-delivery .modal-body{font-size:10px}.neon-flight .modal-actions,.doodle-delivery .modal-actions{flex-direction:row}.neon-flight .modal .action-button,.doodle-delivery .modal .action-button{padding:9px 11px;min-height:37px}.neon-flight .level-grid{grid-template-columns:repeat(5,1fr)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.icon-button{padding:0;flex-shrink:0;white-space:nowrap;display:inline-grid;place-items:center}

/* Modal decisions own the controls; prevent accidental reset behind a dialog. */
.toolbar[inert]{opacity:.5}
