:root{color-scheme:light;--ink:#372756;--pink:#f23883;--deep-pink:#bd175d;--cream:#fffaf0;--line:#eadfea;--muted:#77667d;--blue:#06b8e9}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;}body{font-family:ui-rounded,"SF Pro Rounded","Trebuchet MS",system-ui,sans-serif;color:var(--ink);background:#ffed9c;background-image:radial-gradient(#f2ce62 1px,transparent 1px);background-size:15px 15px}button,a{-webkit-tap-highlight-color:transparent;font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #352058;outline-offset:4px}button:disabled{cursor:default;opacity:.45}.game-shell{max-width:1440px;margin:auto;height:100svh;min-height:620px;padding:15px 24px 10px;display:grid;grid-template-rows:68px minmax(0,1fr) 47px;gap:12px}.topbar{gap:15px!important}.brand{display:flex;align-items:center;gap:12px}.brand-icon{display:grid;place-items:center;background:var(--pink);color:#fff697;width:48px;height:48px;border-radius:17px;transform:rotate(-8deg);font-size:35px;box-shadow:0 4px 0 #d22468}.eyebrow{margin:0 0 4px;font-size:10px;font-weight:900;letter-spacing:1.8px;color:#a64869}h1{font-size:clamp(20px,2.4vw,33px);line-height:1.05;margin:0;letter-spacing:-1.2px;font-weight:950}.header-note{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#775c51}.header-note span{height:8px;width:8px;background:#1cb782;border-radius:50%}.bakery-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:17px}.stage{min-width:0;min-height:0;background:var(--cream);border:2px solid white;border-radius:25px;overflow:hidden;display:grid;grid-template-rows:43px minmax(0,1fr) 48px;box-shadow:0 6px 0 #e0c568,0 12px 30px #9b6e2015}.stage-heading{display:flex;justify-content:space-between;align-items:center;padding:0 19px;font-size:10px;font-weight:950;letter-spacing:2px;color:#7b526e}.stage-heading b{color:var(--pink);font-size:18px;vertical-align:middle;margin-right:5px}.stage-actions{display:flex;gap:7px}.stage-actions button{border:1px solid #eadbe3;border-radius:7px;background:#fff;font-size:10px;padding:5px 9px;letter-spacing:0;font-weight:800}.play-area{position:relative;min-height:0;overflow:hidden;background:#31cdf5}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:ew-resize}.sky-label{position:absolute;top:17px;left:22px;display:flex;flex-direction:column;pointer-events:none;color:#fff;text-shadow:0 2px 0 #008abb33}.sky-label span{font-size:8px;font-weight:900;letter-spacing:2px}.sky-label strong{font-size:21px;letter-spacing:-.4px}.stage-caption{display:flex;align-items:center;gap:10px;padding:0 16px}.caption-spark{font-size:23px;color:var(--pink)}.stage-caption p{font-size:12px;font-weight:800;margin:0;flex:1}.caption-tag{font-size:8px;font-weight:900;letter-spacing:1px;color:#a38c9e}.recipe-rail{background:var(--cream);border:2px solid #fff;border-radius:25px;padding:18px;box-shadow:0 6px 0 #e0c568;display:flex;flex-direction:column;gap:13px;min-height:0}.recipe-heading{display:flex;align-items:center;justify-content:space-between}.recipe-heading h2{font-size:22px;letter-spacing:-1px;margin:0;line-height:1.1}.recipe-heading>span{font-size:36px;color:var(--pink)}.recipe-instruction{display:flex;gap:9px;align-items:center}.step-number{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border-radius:50%;background:#ffe9a1;font-size:13px;font-weight:950}.recipe-instruction strong{font-size:12px}.recipe-instruction p{margin:2px 0 0;font-size:10px;color:var(--muted)}.recipe-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.recipe-slot{border:2px solid #ecdfeb;border-radius:13px;position:relative;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:75px;transition:background .15s,border-color .15s}.recipe-slot svg{width:37px;height:37px}.recipe-slot>span{font-size:9px;font-weight:900}.recipe-slot.active{border-color:var(--pink);background:#ffe2ef;box-shadow:0 3px 0 #f8a4c7}.recipe-slot.done{border-color:#8bddb5;background:#dcf8e9}.recipe-slot.done::after{content:'✓';position:absolute;right:2px;top:1px;border-radius:50%;background:#158253;color:#fff;font-size:9px;width:14px;height:14px;text-align:center}.recipe-slot.empty{border-style:dashed;background:transparent;opacity:.6;color:#b99cba;font-size:20px}.rainbow-note{display:flex;align-items:center;gap:9px;border-radius:12px;padding:9px 10px;background:#e8f5ff}.rainbow-note>span{font-size:25px}.rainbow-note p{font-size:10px;line-height:1.5;margin:0;color:#4b577d}.rainbow-note strong{font-size:11px}.bake-button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:15px;padding:13px 12px;background:#eedee7;text-align:left;box-shadow:0 4px 0 #dbc8d6;transition:background .15s}.bake-button .step-number{background:#fffaf0}.bake-button strong{display:block;font-size:16px;letter-spacing:-.4px}.bake-button small{font-size:9px;display:block;margin-top:3px}.bake-button>b{font-size:27px;margin-left:auto}.bake-button.ready{color:white;background:var(--pink);box-shadow:0 5px 0 var(--deep-pink)}.bake-button.ready .step-number{color:var(--pink)}.bake-button.ready:active{transform:translateY(2px)}.party-card{border-top:1px dashed #d7c7d5;padding-top:13px;margin-top:auto}.party-heading{display:flex;align-items:center;justify-content:space-between}.party-heading>span,.score-row span{font-size:8px;font-weight:900;letter-spacing:1.2px;color:#8d6e86}.party-heading strong{font-size:20px}.party-heading small{font-size:12px;font-weight:700;color:#a48aa0}.party-tray{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:8px 0}.party-tray svg{width:100%;height:24px;opacity:.22;filter:grayscale(1)}.party-tray .served svg{opacity:1;filter:none}.progress-track{background:#eddfeb;height:6px;overflow:hidden;border-radius:20px}.progress-track span{display:block;width:0;height:100%;background:var(--pink);border-radius:20px;transition:width .3s}.score-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.score-row>div{display:flex;flex-direction:column;background:#fff1cd;border-radius:12px;padding:8px 11px}.score-row strong{font-size:23px;letter-spacing:-1px;margin-top:1px}.score-row>div:last-child{background:#eee5ff}.score-row>div:last-child strong{color:#9651d5}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:15px;background:#13aadc15}.overlay[hidden]{display:none}.welcome-card{width:320px;padding:24px;border:3px solid white;border-radius:24px;background:#fffaf3f7;box-shadow:0 8px 0 #983a6224,0 20px 40px #24517b22;transform:rotate(-2deg);text-align:center}.card-badge{font-size:8px;letter-spacing:1.2px;color:#c5286e;font-weight:950;background:#ffe0ed;border-radius:20px;padding:7px 10px}.welcome-card h2{font-size:37px;letter-spacing:-1.5px;line-height:1.02;margin:18px 0 9px}.welcome-card p{font-size:13px;font-weight:600;line-height:1.55;color:#806879;margin:0 0 16px}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--pink);border:0;color:white;border-radius:13px;padding:13px 17px;font-weight:950;font-size:17px;box-shadow:0 4px 0 #bd175d}.primary-button:hover{background:#e72576}.welcome-tip{display:block;font-size:9px;color:#9a7c92;margin-top:13px}footer{display:flex;align-items:center;gap:15px;padding:0 5px;color:#8f7656}.move-controls{display:flex;gap:9px;align-items:center}.move-controls button{width:39px;height:33px;border:1px solid #fff;background:#fff8dc;border-radius:10px;font-size:21px;font-weight:900;box-shadow:0 3px 0 #dfc56d}.move-controls button.is-pressed{background:#ffe06d;transform:translateY(2px)}.move-controls span{font-size:8px;letter-spacing:.8px;font-weight:900}footer p{font-size:10px;margin:0}footer p span{padding:0 7px;color:#bc9e69}.footer-signature{margin-left:auto;font-size:10px;font-style:italic}@media(max-height:720px) and (min-width:901px){.game-shell{padding-top:9px;grid-template-rows:62px minmax(0,1fr) 40px;gap:10px}.recipe-rail{gap:8px;padding:14px}.recipe-slot{height:64px}.party-tray{margin:6px 0}.party-tray svg{height:21px}.score-row>div{padding:7px 10px}.score-row strong{font-size:21px}.recipe-heading h2{font-size:21px}.party-card{padding-top:10px}.stage{grid-template-rows:39px minmax(0,1fr) 43px}}@media(max-width:1050px){.game-shell{padding-left:14px;padding-right:14px}.bakery-layout{grid-template-columns:minmax(0,1fr) 260px;gap:12px}.header-note,.footer-signature,.caption-tag{display:none}.recipe-rail{padding:14px}.sky-label strong{font-size:17px}}@media(max-width:700px){.game-shell{height:auto;min-height:100svh;padding:10px;grid-template-rows:auto auto auto;gap:12px}.topbar{grid-template-columns:46px minmax(0,1fr)!important}.topbar>.header-note{display:none!important}.brand{gap:8px}.brand-icon{display:none}h1{font-size:25px}.eyebrow{font-size:8px}.bakery-layout{grid-template-columns:1fr}.stage{height:390px;grid-template-rows:37px minmax(0,1fr) 43px}.stage-heading{padding:0 12px}.sky-label{top:10px;left:12px}.sky-label strong{font-size:15px}.sky-label span{font-size:6px}.welcome-card{width:260px;padding:17px}.welcome-card h2{font-size:30px;margin-top:15px}.welcome-card p{font-size:11px;margin-bottom:11px}.primary-button{padding:11px 14px;font-size:15px}.welcome-tip{margin-top:10px;font-size:8px}.recipe-rail{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recipe-heading,.recipe-instruction,.recipe-slots,.rainbow-note{grid-column:1}.recipe-heading h2{font-size:19px}.recipe-heading>span{font-size:28px}.recipe-slot{height:64px}.recipe-slot svg{width:30px;height:30px}.bake-button{grid-column:2;grid-row:1 / 3;align-self:center;padding:11px 9px;gap:6px}.bake-button .step-number{display:none}.bake-button strong{font-size:14px}.bake-button small{font-size:8px}.bake-button>b{font-size:22px}.party-card{grid-column:2;grid-row:3;margin:0;padding:0;border:0}.score-row{grid-column:2;grid-row:4;align-self:start}.score-row span{font-size:6px;letter-spacing:.5px}.score-row strong{font-size:20px}.score-row>div{padding:7px}.rainbow-note{padding:7px;gap:6px}.rainbow-note>span{font-size:20px}.rainbow-note strong{font-size:9px}.rainbow-note p{font-size:8px}.party-tray svg{height:21px}footer{flex-wrap:wrap;justify-content:center;gap:10px}footer p{font-size:9px;text-align:center}.stage-caption p{font-size:10px}.stage-caption{padding:0 11px}.caption-spark{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.welcome-card{transform:none}}
