body:has(.child-game){overscroll-behavior:none;background:#dcedf6;margin:0;overflow:hidden}.child-game{background:#dcedf6;position:fixed;inset:0}.child-game .play-board{width:100%;height:100%;position:relative;overflow:hidden}.child-game .game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;height:100%;min-height:0;display:block;aspect-ratio:auto!important}.game-toolbar{top:max(12px, env(safe-area-inset-top));pointer-events:none;color:#21373c;grid-template-columns:48px minmax(0,1fr) 48px 100px;align-items:center;gap:8px;display:grid;position:absolute;left:16px;right:16px}@media (width<=360px){.game-toolbar{grid-template-columns:48px minmax(0,1fr) 48px 64px;gap:6px}.game-toolbar .level-number{font-size:18px}}.game-icon-button,.redo-button{color:#21373c;cursor:pointer;pointer-events:auto;background:#ffffffed;border:3px solid #fff;place-items:center;padding:0;display:grid;box-shadow:0 3px #21373c24}.game-icon-button{border-radius:50%;width:48px;height:48px}.game-brand-logo{object-fit:contain;mix-blend-mode:multiply;justify-self:end;width:min(100%,100px);height:36px}.level-number{letter-spacing:0;font-family:Trebuchet MS,sans-serif;font-size:20px;font-weight:700}.level-menu-trigger{min-height:48px;color:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;display:flex}.level-menu-trigger:focus-visible{outline-offset:2px;outline:3px solid #2c657b}.level-menu{box-sizing:border-box;color:#21373c;overscroll-behavior:contain;background:#f5fbfd;border:2px solid #78949e;border-radius:8px;width:min(480px,100vw - 32px);max-height:min(620px,100dvh - 48px);padding:20px;font-family:Trebuchet MS,sans-serif}.level-menu::backdrop{background:#21373c88}.level-menu-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.level-menu-header h2{margin:0;font-size:24px}.level-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.level-grid button{aspect-ratio:1;color:#21373c;cursor:pointer;background:#fff;border:2px solid #b7cdd3;border-radius:6px;place-items:center;min-width:0;padding:0;font:700 18px Trebuchet MS,sans-serif;display:grid;position:relative}.level-grid button.completed{background:#d6f1de;border-color:#7fbc94}.level-grid button[aria-current]{border-color:#2c657b;box-shadow:0 0 0 2px #2c657b}.level-grid button:hover{background:#fff5ba}.level-grid button:focus-visible{outline-offset:2px;outline:3px solid #2c657b}.level-grid button svg{color:#267b49;position:absolute;bottom:2px;right:2px}@media (width<=420px){.level-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.game-icon-button:hover,.redo-button:hover{background:#fff5ba}.game-icon-button:focus-visible,.redo-button:focus-visible{outline-offset:4px;outline:3px solid #2c657b}.failure-actions{inset:auto 0 max(30px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:absolute}.redo-button{background:#ffcf50;border-radius:50%;width:76px;height:76px;animation:.35s ease-out both redo-appear}.cooked-eggs{filter:drop-shadow(0 12px 12px #21373c44);width:min(440px,88vw);height:auto;animation:.42s ease-out both pan-appear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.celebration:has(.cooked-eggs){background:#203e4240}.pan-steam{animation:1.4s ease-in-out infinite steam-rise}@keyframes redo-appear{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes pan-appear{0%{opacity:0;transform:translate(-50%,-40%)scale(.75)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes steam-rise{0%,to{opacity:.45}50%{opacity:1}}.celebration,.retry-flash{pointer-events:none;position:absolute;inset:0}.celebration span{opacity:0;width:10px;height:18px;animation:rescue-spark 1.1s ease-out var(--delay) forwards;background:#efb739;border-radius:2px;position:absolute;top:50%;left:50%}.celebration span:nth-child(3n){background:#e8799b}.celebration span:nth-child(3n+1){background:#2c9f89}.retry-flash{animation:.9s ease-in-out both retry-fade}@keyframes rescue-spark{0%{opacity:1;transform:rotate(var(--turn)) translateY(-30px) rotate(0deg)}to{opacity:0;transform:rotate(var(--turn)) translateY(-170px) rotate(140deg)}}@keyframes retry-fade{0%,to{background:0 0}45%{background:#d97d6833}}@media (prefers-reduced-motion:reduce){.cooked-eggs,.pan-steam,.redo-button,.celebration span{animation:none}.celebration{background:#49b29322}.retry-flash{background:#d97d681a;animation:none}}:root{color:#2c443a;font-synthesis:none;background:#f5f8f0;font-family:ui-rounded,Avenir Next,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}.shell{max-width:1160px;margin:0 auto;padding:32px 40px 20px}.brand{justify-content:space-between;align-items:center;gap:20px;display:flex}.brand a{color:#2c443a;letter-spacing:-1.3px;font-size:28px;font-weight:900;text-decoration:none}.brand a span{color:#889e83}.badge{color:#69816d;font-size:13px}.intro{justify-content:space-between;align-items:center;gap:40px;padding:52px 0 32px;display:flex}.eyebrow{letter-spacing:2px;color:#758774;font-size:11px;font-weight:800}h1{letter-spacing:-2px;margin:16px 0;font-size:clamp(38px,5vw,58px);line-height:1.07}h1 span{color:#8770c6}.lead{color:#718176;max-width:510px;font-size:16px;line-height:1.7}.ready{background:#ffffff80;border:1px solid #dce5d6;border-radius:18px;flex-shrink:0;gap:12px;padding:22px;display:flex}.ready-dot{background:#6bb58b;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px;display:inline-block}.ready p{margin:8px 0;font-size:12px}.ready small{color:#788679;font-size:11px}.playground{background:#fff;border:1px solid #dce5d6;border-radius:24px;overflow:hidden;box-shadow:0 15px 50px #344f3010}.playground-bar{justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;display:flex}h2{letter-spacing:-.6px;margin:7px 0 0;font-size:21px}.sample-tag{color:#8a73b6;white-space:nowrap;background:#f2eef9;border-radius:20px;padding:9px 13px;font-size:11px;font-weight:700}.canvas-wrap{background:#eef6ef;position:relative}canvas{aspect-ratio:960/460;width:100%;display:block}.world-note{color:#839b83;pointer-events:none;font-size:11px;position:absolute;top:18px;left:26px}.controls{justify-content:space-between;align-items:center;gap:20px;padding:20px 26px;display:flex}.controls p{color:#718176;gap:9px;font-size:12px;display:flex}.buttons{flex-wrap:wrap;gap:10px;display:flex}button{font:inherit;color:#526951;cursor:pointer;background:#f8faf5;border:1px solid #dfe6da;border-radius:13px;min-height:46px;padding:11px 18px;font-size:13px;font-weight:700}button.primary{color:#fff;background:#8971c9;border-color:#8971c9}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #e1ae55}footer{color:#8b988b;justify-content:space-between;gap:16px;padding:25px 2px;font-size:11px;display:flex}@media (width<=760px){.shell{padding:22px 18px}.intro{flex-direction:column;align-items:flex-start;gap:12px;padding-top:32px}.ready{width:100%}.controls{flex-direction:column;align-items:flex-start;gap:6px}.badge{display:none}.playground-bar{padding:18px}.world-note{font-size:9px;top:10px;left:18px}h2{font-size:18px}footer{flex-direction:column;gap:7px}.buttons{gap:6px}button{padding:10px 12px}}.game-intro{padding-top:20px;padding-bottom:22px}.puzzle-picker{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.puzzle-picker button{min-height:44px;padding:10px 14px;font-size:12px}.puzzle-picker button[aria-pressed=true]{color:#7960aa;background:#ebe5f7;border-color:#c7b8e2}.game-intro h1{margin:10px 0;font-size:clamp(32px,3vw,40px)}.game-intro h1 br{display:none}.game-intro h1 span{margin-left:8px}.game-intro .eyebrow{margin:0}.game-intro .lead{margin-bottom:0;font-size:15px}.welcome-note{color:#8c9b82;align-items:center;gap:15px;font-size:13px;line-height:1.8;display:flex}.welcome-note strong{color:#677f63;font-weight:600}.welcome-flower{color:#d8b16c;font-size:48px}.game .playground-bar{padding:20px 26px 16px}.game-hud{color:#74836e;justify-content:space-between;align-items:center;gap:22px;padding:0 26px 18px;font-size:12px;display:flex}.rescue-counter{align-items:center;gap:9px;display:flex}.mini-creature{color:#fff;background:#ad9ae6;border-radius:11px;justify-content:center;align-items:center;width:26px;height:25px;display:inline-flex}.ink-meter{align-items:center;gap:10px;display:flex}.ink-track{background:#eee9f7;border-radius:10px;width:130px;height:7px;overflow:hidden}.ink-track span{background:#ad97dc;border-radius:10px;height:100%;display:block}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;height:clamp(310px,100svh - 340px,540px);aspect-ratio:auto!important}.game-controls p{max-width:430px;margin:0;line-height:1.6}.game-controls{padding-bottom:14px}.hint{color:#8b9b83;padding:0 26px 20px;font-size:12px}.hint summary{cursor:pointer;min-height:40px;padding:10px 0}.hint p{margin:0;line-height:1.6}.outcome{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#eff7ed88;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.outcome-card{text-align:center;background:#ffffffed;border:1px solid #e2e6d8;border-radius:24px;padding:28px 38px;box-shadow:0 16px 50px #3a53291a}.outcome-card h2{color:#577257;font-size:26px}.outcome-card p{color:#7f8e79;font-size:14px;line-height:1.7}.star-row{color:#e4b552;letter-spacing:7px;padding-left:7px;font-size:32px}.star-row .empty{color:#e9e7df}.outcome-icon{color:#a9b99a;font-size:38px}.rebuild-status{color:#84719e;padding:0 26px;font-size:13px}@media (width<=760px){.welcome-note{display:none}.game-intro{gap:0;padding-top:18px}.game-intro h1{font-size:36px}.game-intro .lead{font-size:13px}.game-hud{gap:12px;padding:0 18px 15px;font-size:10px}.ink-meter{gap:5px}.ink-track{width:68px}.drawing-counter{font-size:10px}.game-controls{gap:12px;padding:15px 18px 5px}.hint{padding:0 18px 12px}.game .playground-bar{padding:18px}.outcome-card{padding:20px 22px}.outcome-card h2{font-size:21px}.outcome-card p{font-size:12px}.star-row{font-size:25px}.sample-tag{padding:8px 10px;font-size:10px}.game-intro h1 br{display:block}.game-intro h1 span{margin-left:0}.game-canvas{height:auto;aspect-ratio:var(--world-aspect)!important}}@media (width>=761px) and (height<=850px){.shell{padding-top:18px}.game-intro{padding:10px 0 12px}.game-intro h1{margin:8px 0;font-size:34px}.game-intro .lead{max-width:660px;margin-top:6px;font-size:14px}.puzzle-picker{margin-bottom:10px}.game .playground-bar{padding:12px 26px}.game-hud{padding-bottom:12px}.game-canvas{height:310px}.game-controls{padding:12px 26px 8px}.hint{padding-bottom:12px}}
