/* Campfire's existing painted flame becomes a quiet, accessible local toy. */
.connected-root .room-scene-campfire{position:relative}
.connected-root .campfire-smore-fire{position:absolute;left:47%;top:14%;width:25%;height:75%;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:45%;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.connected-root .campfire-smore-fire svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.connected-root .campfire-smore-fire:focus-visible{outline:3px solid #fff1ce;outline-offset:3px;background:#fff0c412}
.campfire-smore-embers{opacity:0;transition:opacity .2s}
.campfire-smore-fire:hover .campfire-smore-embers,.campfire-smore-fire:focus-visible .campfire-smore-embers{opacity:.8}
/* Photographic game skin. Four separate ingredients remain tied to the original run. */
.smore-game{--smore-ink:#fff5e4;--smore-toast:0;position:fixed;inset:0;z-index:10000;box-sizing:border-box;width:100vw;width:100dvw;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;background:linear-gradient(180deg,#100e0bd4,#21150b66 45%,#1b0f08b0),url('./cooking-art/smore-campfire.webp') center/cover fixed;color:var(--smore-ink);overflow:auto;overscroll-behavior:contain;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}
.smore-game::backdrop{background:#110c08ed}
.smore-game[open]{display:flex;align-items:flex-start;justify-content:center}
.smore-game *{box-sizing:border-box}
.smore-shell{width:100%;max-width:490px;margin:auto;min-width:0}
.smore-header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.smore-eyebrow{display:block;font-size:10px;line-height:1.4;letter-spacing:.15em;font-weight:750;color:#ebd9bd}
.smore-game h2{margin:6px 0 0;font:700 clamp(30px,6vw,43px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.5px}
.smore-intro{font-size:15px;line-height:1.5;margin:15px 0 20px;color:#f3e7d1;max-width:43ch;text-shadow:0 2px 8px #000}
.smore-game button{appearance:none;min-width:44px;min-height:44px;border:1px solid #c5a7828c;border-radius:18px;background:linear-gradient(145deg,#6c472bd9,#2d2117ed);color:var(--smore-ink);font:650 14px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;padding:12px 17px;box-shadow:inset 0 1px 1px #fff0c530,0 3px 6px #0005;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.smore-game button:focus-visible{outline:3px solid #ffdda0;outline-offset:3px}
.smore-game button:disabled{cursor:default;opacity:.57}
.smore-game .smore-close{padding:11px 15px;white-space:nowrap;background:#2b241dce;border-color:#cbbca585;border-radius:999px;min-height:49px}
.smore-close span{display:inline-block;font-size:24px;vertical-align:-2px;margin-left:6px;font-weight:400}
.smore-stage{border:1px solid #d2b39491;border-radius:28px;background:url('./cooking-art/smore-campfire.webp') center 57%/cover;box-shadow:inset 0 1px 2px #ffedcf38,0 15px 40px #0005;position:relative;margin:0 0 16px;overflow:hidden}
.smore-fire-art{display:block;width:100%;height:auto;aspect-ratio:1.06;position:relative;isolation:isolate;overflow:hidden}
.smore-step{position:relative;margin:0 auto 12px;width:fit-content;max-width:94%;padding:10px 17px;text-align:center;font-size:13px;line-height:1.3;font-weight:650;color:#ffe9cb;border:1px solid #dfc4a172;border-radius:999px;background:#332217d9;box-shadow:0 2px 8px #0004}
.smore-stack{position:absolute;width:68%;height:53%;left:16%;bottom:2%;transition:transform .65s ease,filter .5s;filter:drop-shadow(0 10px 7px #140b07a6);transform-origin:50% 90%}
.smore-layer{display:block;position:absolute;left:0;width:100%;height:49%;bottom:0;pointer-events:none}
.smore-layer>svg,.smore-toasted-photo>svg{display:block;width:100%;height:100%;overflow:hidden}
.smore-layer[visibility="hidden"]{visibility:hidden}
.smore-layer[visibility="visible"]{visibility:visible}
.smore-layer-cracker{z-index:1;bottom:0}
.smore-layer-chocolate{z-index:2;width:91%;left:4.5%;height:46%;bottom:12%}
.smore-layer-marshmallow{z-index:3;width:72%;left:14%;height:55%;bottom:25%}
.smore-layer-top{z-index:4;bottom:56%}
.smore-toasted-photo{position:absolute;inset:0;opacity:var(--smore-toast);transition:opacity .1s linear}
.smore-game:is([data-phase="cooking"],[data-phase="paused"],[data-phase="toasted"]) .smore-stack{transform:translateY(-24%) scale(.91);filter:drop-shadow(0 8px 10px #331608c9) drop-shadow(0 0 13px #ffb65c44)}
.smore-game[data-phase="complete"] .smore-stack{transform:translateY(-4%) scale(1.04)}
.smore-warmth{position:absolute;inset:28% 13% 15%;border-radius:50%;background:radial-gradient(ellipse,#ffb45059,transparent 68%);opacity:0;pointer-events:none}
.smore-game[data-phase="cooking"] .smore-warmth{animation:smore-warmth 1.5s ease-in-out infinite alternate}
@keyframes smore-warmth{from{opacity:.2;transform:translateY(3px)}to{opacity:.8;transform:translateY(-6px)}}
.smore-toast-badge{display:none;position:absolute;top:16px;right:13px;border:1px solid #d7b28a78;border-radius:999px;padding:10px 13px;background:#2e1d12d9;box-shadow:0 4px 15px #0004;font-size:12px;font-weight:600;color:#fff0d6}
.smore-game:is([data-phase="cooking"],[data-phase="paused"],[data-phase="toasted"],[data-phase="complete"]) .smore-toast-badge{display:block}
.smore-game[data-phase="cooking"] .smore-toast-badge::before{content:"Toasting gently…"}
.smore-game[data-phase="paused"] .smore-toast-badge::before{content:"Roasting paused"}
.smore-game[data-phase="toasted"] .smore-toast-badge::before{content:"Ready to lift"}
.smore-game[data-phase="complete"] .smore-toast-badge::before{content:"Finished ✓"}
.smore-ingredients{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.smore-game .smore-ingredients button{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 5px 10px;font-size:12px;line-height:1.3;text-align:center;background:linear-gradient(145deg,#4d3a27c9,#211b15e6);border-color:#c0aa9085;box-shadow:inset 0 1px 1px #fff1d12b}
.smore-game .smore-ingredients button[aria-pressed="true"]{background:#7253306b;opacity:1;border-color:#b79669}
.smore-ingredient-check{font-size:10px;line-height:1.2;color:#dfc8a5;font-weight:550}
.smore-ingredient-icon{display:block;position:relative;width:70px;max-width:100%;height:57px;flex-shrink:0;filter:drop-shadow(0 3px 3px #0007);pointer-events:none}
.smore-ingredient-icon>svg{display:block;width:100%;height:100%;overflow:hidden}
.smore-icon-marshmallow{width:52px}
.smore-cook-panel{margin-top:17px;padding:12px 14px;border:1px solid #b99b7473;border-radius:16px;background:#281b13d9}
.smore-meter-label{display:block;text-align:center;font-size:12px;font-weight:600;margin-bottom:8px;color:#f9e6c6}
.smore-meter{appearance:none;display:block;width:100%;height:10px;border:0;border-radius:20px;overflow:hidden;background:#e8ca983d;color:#f0b86e}
.smore-meter::-webkit-progress-bar{background:#e8ca983d;border-radius:20px}
.smore-meter::-webkit-progress-value{background:linear-gradient(90deg,#d28b46,#ffd896);border-radius:20px}
.smore-meter::-moz-progress-bar{background:#f0b86e;border-radius:20px}
.smore-footer{text-align:center;margin-top:16px}
.smore-status{min-height:45px;margin:0 auto 14px;padding:12px 16px;font-size:14px;line-height:1.45;max-width:43ch;font-weight:600;background:#3c281bdf;border:1px solid #b6956c7a;border-radius:999px;color:#ffe9c9;box-shadow:0 4px 16px #0004}
.smore-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.smore-game [data-smore-control="cook"]{background:linear-gradient(145deg,#bc783c,#70401f);color:#fff7e5;border-color:#dfac70b3;box-shadow:inset 0 1px 1px #ffe9bb66,0 4px 0 #432410;min-width:170px;min-height:54px}
.smore-game [data-smore-control="cook"]:disabled{display:none}
.smore-game [data-smore-control="reset"]{background:linear-gradient(110deg,#8e552ddd,#623a1dee);border-color:#b4814c;min-width:160px;min-height:54px;box-shadow:inset 0 1px 1px #f9ce9066,0 4px 0 #362110}
.smore-help{margin:22px 0 0;font-size:11px;line-height:1.55;color:#ead8ba;text-shadow:0 2px 5px #000}
.smore-save-status{font-size:13px;line-height:1.5;margin:5px 0 12px;color:#ffe8c3}
.smore-game .smore-retry{margin:0 0 14px;border-color:#d9b680;background:#50341ee8}
.smore-game [hidden]{display:none!important}
@media(max-width:360px){.smore-game{padding-left:10px;padding-right:10px}.smore-ingredients{gap:5px}.smore-game .smore-ingredients button{font-size:10px;padding-inline:3px;min-height:112px}.smore-game h2{font-size:29px}.smore-eyebrow{font-size:8px}.smore-game .smore-close{font-size:12px;padding:9px 11px}.smore-status{font-size:13px}.smore-ingredient-icon{height:51px}.smore-step{font-size:12px}}
@media(max-height:520px) and (min-width:700px){.smore-shell{max-width:850px;display:grid;grid-template-columns:1fr 1.12fr;gap:0 22px;align-items:center}.smore-header,.smore-intro,.smore-ingredients,.smore-cook-panel,.smore-footer{grid-column:2}.smore-stage{grid-column:1;grid-row:1 / span 5;margin:0}.smore-header{align-self:end}.smore-intro{margin:10px 0}.smore-game .smore-ingredients button{min-height:104px}.smore-footer{margin-top:12px}.smore-status{margin-bottom:10px}.smore-help{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.smore-stack,.smore-toasted-photo,.campfire-smore-embers{transition:none}.smore-game[data-phase="cooking"] .smore-warmth{animation:none}}
@media(forced-colors:active){.connected-root .room-scene-campfire:has(>.campfire-smore-fire){display:block!important;background:Canvas;border:2px solid CanvasText;min-height:112px}.connected-root .campfire-smore-fire{border:2px solid ButtonText;background:ButtonFace;border-radius:16px;left:35%;top:20%;width:40%;height:60%;color:ButtonText}.connected-root .campfire-smore-fire svg{display:none}.connected-root .campfire-smore-fire::after{content:"Build a s’more";font:700 14px system-ui}.connected-root .campfire-smore-fire:focus-visible{outline-color:Highlight}.smore-game,.smore-stage,.smore-status,.smore-step,.smore-toast-badge,.smore-cook-panel{background:Canvas;color:CanvasText}.smore-stage{border:2px solid CanvasText;box-shadow:none}.smore-game :is(h2,p,label,small,span){color:CanvasText;text-shadow:none}.smore-game button,.smore-game [data-smore-control="cook"],.smore-game [data-smore-control="reset"]{background:ButtonFace;color:ButtonText;border:2px solid ButtonText;box-shadow:none}.smore-game button:focus-visible{outline-color:Highlight}.smore-game button[aria-pressed="true"]{background:Highlight;color:HighlightText}.smore-meter{color:Highlight;border:1px solid CanvasText}.smore-meter::-webkit-progress-value{background:Highlight}.smore-meter::-moz-progress-bar{background:Highlight}.smore-ingredient-icon,.smore-stack{forced-color-adjust:none}}
