/* 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}
.smore-game{--smore-ink:#723f32;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:18px;padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border:0;background:radial-gradient(ellipse at 50% 22%,#fff9ed 0,#faebde 65%);color:var(--smore-ink);overflow:auto;overscroll-behavior:contain;font-family:var(--room-display,ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif)}
.smore-game::backdrop{background:#573747b8}
.smore-game[open]{display:flex;align-items:center;justify-content:center}
.smore-shell{width:100%;max-width:440px;margin:auto;min-width:0}
.smore-header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.smore-eyebrow{display:block;font-size:9px;line-height:1.4;letter-spacing:.14em;font-weight:800;color:#80503d}
.smore-game h2{margin:5px 0 0;font-size:clamp(26px,6vw,32px);font-weight:850;line-height:1.1;letter-spacing:-.9px}
.smore-intro{font-size:13px;line-height:1.5;margin:12px 0;color:#805244;max-width:38ch}
.smore-game button{appearance:none;box-sizing:border-box;min-width:44px;min-height:44px;border:1px solid #ce9d7c;border-radius:15px;background:#fff9ee;color:var(--smore-ink);font:750 13px/1.3 var(--room-display,ui-rounded,system-ui,sans-serif);padding:11px 16px;box-shadow:inset 0 2px 0 #fff,0 3px 0 #e0baa1;cursor:pointer;touch-action:manipulation}
.smore-game button:focus-visible{outline:3px solid #873d32;outline-offset:3px}
.smore-game button:disabled{cursor:default;opacity:.56}
.smore-game .smore-close{padding:10px 11px;white-space:nowrap;background:#fffaf1b3;box-shadow:0 2px 0 #e0baa1}
.smore-close span{display:inline-block;font-size:20px;vertical-align:-1px;margin-left:5px}
.smore-stage{border:1px solid #e3baa0;border-radius:25px;background:radial-gradient(ellipse at 50% 70%,#fff0cb 0,#fffbef 70%);box-shadow:inset 0 3px 0 #fff,0 5px 0 #e4bfa8;position:relative;margin:0 0 15px;overflow:hidden}
.smore-fire-art{display:block;width:100%;height:clamp(150px,29dvh,260px);padding-top:10px;box-sizing:border-box}
.smore-step{margin:0;padding:4px 12px 13px;text-align:center;font-size:12px;letter-spacing:.015em;font-weight:800;color:#956045}
.smore-layer{transition:transform .2s}
.smore-game[data-phase="assemble"] .smore-warmth{opacity:0}
.smore-game:is([data-phase="cooking"],[data-phase="toasted"]) .smore-layer{transform:translateY(12px)}
.smore-game:is([data-phase="toasted"],[data-phase="complete"]) .smore-layer-marshmallow>rect{fill:#ebc391}
.smore-game:is([data-phase="toasted"],[data-phase="complete"]) .smore-layer-chocolate>rect{fill:#684334}
.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(2px)}to{opacity:.8;transform:translateY(-3px)}}
.smore-ingredients{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.smore-game .smore-ingredients button{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 5px 8px;font-size:11px;line-height:1.3;text-align:center}
.smore-game .smore-ingredients button[aria-pressed="true"]{background:#f2ddc3;opacity:1;box-shadow:inset 0 2px 0 #ffffff80,0 2px 0 #e0baa1}
.smore-ingredient-check{font-size:10px;line-height:1.2;color:#80503d;font-weight:650}
.smore-ingredient-icon{display:block;position:relative;width:34px;height:17px;border:1px solid #aa7846;border-radius:5px;background:#e5b87d;box-shadow:0 3px 0 #c28d55;flex-shrink:0}
.smore-icon-cracker::after,.smore-icon-top-cracker::after{content:"· · ·";position:absolute;inset:-3px 0 0;text-align:center;color:#9c6a3d;font-size:16px}
.smore-ingredient-icon.smore-icon-chocolate{background:repeating-linear-gradient(90deg,#754a3b 0 10px,#ab785f 10px 12px);border-color:#624132;box-shadow:0 3px 0 #624132}
.smore-ingredient-icon.smore-icon-marshmallow{height:22px;margin-top:-2px;margin-bottom:-3px;background:#fff8e2;border-color:#ceb391;border-radius:9px;box-shadow:0 2px 0 #e4d1b5}
.smore-cook-panel{margin-top:15px}
.smore-meter-label{display:block;text-align:center;font-size:11px;font-weight:750;margin-bottom:6px;color:#895744}
.smore-meter{appearance:none;display:block;width:100%;height:13px;border:1px solid #ceaa85;border-radius:20px;overflow:hidden;background:#efdec9;color:#b26643}
.smore-meter::-webkit-progress-bar{background:#efdec9;border-radius:20px}
.smore-meter::-webkit-progress-value{background:#b26643;border-radius:20px}
.smore-meter::-moz-progress-bar{background:#b26643;border-radius:20px}
.smore-footer{text-align:center;margin-top:13px}
.smore-status{min-height:38px;margin:0 auto 10px;font-size:13px;line-height:1.45;max-width:38ch;font-weight:650}
.smore-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
.smore-game [data-smore-control="cook"]{background:#97503c;color:#fffaf0;border-color:#814333;box-shadow:inset 0 2px 0 #ffffff20,0 3px 0 #753d30;min-width:159px}
.smore-game [data-smore-control="cook"]:disabled{display:none}
.smore-help{margin:13px 0 0;font-size:10px;line-height:1.5;color:#80503d}
.smore-save-status{font-size:12px;line-height:1.5;margin:4px 0 9px;color:#845145}
.smore-game .smore-retry{margin:0 0 14px;border-color:#985b46;background:#fff1dc}
.smore-game [hidden]{display:none!important}
@media(max-width:360px){.smore-ingredients{gap:5px}.smore-game .smore-ingredients button{font-size:10px;padding-inline:3px}.smore-game h2{font-size:25px}.smore-status{font-size:12px}}
@media(max-height:490px) and (min-width:600px){.smore-shell{max-width:740px;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-fire-art{height:min(290px,70dvh)}.smore-header{align-self:end}.smore-intro{margin:8px 0}.smore-game .smore-ingredients button{min-height:76px}.smore-footer{margin-top:9px}.smore-status{min-height:32px;margin-bottom:6px}.smore-help{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.smore-layer,.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{background:Canvas;color:CanvasText}.smore-stage{border:2px solid CanvasText;box-shadow:none}.smore-game :is(h2,p,label,small){color:CanvasText}.smore-game button,.smore-game [data-smore-control="cook"]{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-color:CanvasText}.smore-meter::-webkit-progress-value{background:Highlight}.smore-meter::-moz-progress-bar{background:Highlight}.smore-game .smore-ingredient-icon{forced-color-adjust:none}}
