/* A calm, inset painting leaves real page space for the firelight. */
body[data-cabin] .fireplace-surround {
  --hearth-width:min(1120px,calc(100% - clamp(48px,15vw,240px)),max(360px,calc((100svh - 210px)*1.776833)));
  --hearth-padding:clamp(24px,4vw,64px);
  position:relative;isolation:isolate;padding:var(--hearth-padding) 0;
  scroll-margin-top:110px;
}
body[data-cabin] .fireplace-surround [data-fireplace] {
  position:relative;z-index:2;width:var(--hearth-width);height:auto!important;
  aspect-ratio:1672/941;margin:0 auto;clip-path:none!important;overflow:visible;scroll-margin-top:145px;
  filter:drop-shadow(0 16px 30px #041b1930);isolation:isolate;
}
body[data-cabin] [data-fireplace] .cabin-editorial__crop {overflow:hidden;background:#123c32;border-radius:3px;}
body[data-cabin] [data-fireplace] .cabin-editorial__image {
  transform:none!important;object-fit:contain;object-position:center;will-change:auto;
}
/* Two independently flickering pools: steady amber spill with short, uneven surges. */
body[data-cabin] .fireplace-surround::before,
body[data-cabin] .fireplace-surround::after {
  content:"";position:absolute;pointer-events:none;z-index:0;left:50%;top:calc(var(--hearth-padding) + var(--hearth-image-height,400px)*.5);
  width:calc(var(--hearth-width) + clamp(110px,20vw,280px));height:calc(var(--hearth-image-height,400px) + clamp(70px,10vw,150px));border-radius:24%;opacity:0;
  transform:translate(-50%,-50%);transition:opacity 1000ms ease;
}
body[data-cabin] .fireplace-surround::before {
  background:radial-gradient(ellipse at 42% 54%,#ffc46de8 0%,#f58a36bf 37%,#d954254f 65%,transparent 80%);
  filter:blur(clamp(24px,3vw,46px));
}
body[data-cabin] .fireplace-surround::after {
  height:calc(var(--hearth-image-height,400px)*.95);top:calc(var(--hearth-padding) + var(--hearth-image-height,400px)*.6);background:radial-gradient(ellipse at 24% 72%,#ffd28bd9,transparent 62%),radial-gradient(ellipse at 83% 60%,#ff9d539c,transparent 65%);
  filter:blur(26px);
}
body[data-cabin] .fireplace-surround[data-fire-lit="true"]::before {opacity:.84;animation:hearth-crackle 2.37s linear infinite;}
body[data-cabin] .fireplace-surround[data-fire-lit="true"]::after {opacity:.62;animation:hearth-ember 3.71s linear infinite;}
body[data-cabin] .fireplace-surround[data-fire-lit="true"] [data-fireplace] {box-shadow:-10px 0 42px #ed8b3259,12px 0 46px #ed8b3254,0 24px 52px #ffba6b70;}
body[data-cabin] .fireplace-surround[data-in-view="false"]::before,
body[data-cabin] .fireplace-surround[data-in-view="false"]::after {animation-play-state:paused;}
@keyframes hearth-crackle {
  0%,100%{opacity:.76;transform:translate(-50%,-50%) scale(1.02,1)}
  5%{opacity:.86}9%{opacity:.71}12%{opacity:.96;transform:translate(-50.3%,-50.2%) scale(1.045,1.018)}
  16%{opacity:.8}24%{opacity:.87}29%{opacity:.73}33%{opacity:.9}
  36%{opacity:.77}39%{opacity:.98;transform:translate(-49.7%,-50.5%) scale(1.035,1.035)}
  44%{opacity:.82}53%{opacity:.74}57%{opacity:.91}60%{opacity:.79}
  64%{opacity:.97;transform:translate(-50.2%,-49.7%) scale(1.055,1.015)}
  70%{opacity:.82}77%{opacity:.88}81%{opacity:.72}85%{opacity:.94}
  89%{opacity:.8}94%{opacity:.87}
}
@keyframes hearth-ember {
  0%,100%{opacity:.53;transform:translate(-50%,-50%) scale(1.02)}
  8%{opacity:.69}13%{opacity:.5}18%{opacity:.77;transform:translate(-50.5%,-50.4%) scale(1.065,1.02)}
  24%{opacity:.57}35%{opacity:.68}39%{opacity:.5}43%{opacity:.79}
  49%{opacity:.58;transform:translate(-49.4%,-49.8%) scale(1.025,1.05)}
  58%{opacity:.7}63%{opacity:.54}68%{opacity:.82}73%{opacity:.62}
  81%{opacity:.72;transform:translate(-50.3%,-50.6%) scale(1.055,1.03)}90%{opacity:.52}95%{opacity:.67}
}
/* All visible controls live in the painting. Descriptions are for assistive technology only. */
.fireplace-hotspot {position:absolute;transform:translate(-50%,-50%);z-index:4;min-width:48px;min-height:44px;padding:5px;border:0;background:none;color:#123c32;cursor:pointer;}
.fireplace-hotspot__dot {display:grid;place-items:center;width:42px;height:34px;background:#f3e6c8;border-radius:50% 55% 50% 15%;box-shadow:0 2px 0 #123c3240;font:700 23px/1 Georgia,serif;transition:transform 220ms ease;}
.fireplace-hotspot:is(:hover,:focus-visible) .fireplace-hotspot__dot {transform:translateY(-3px) rotate(-4deg);}
.fireplace-hotspot:focus-visible {outline:none;}.fireplace-hotspot:focus-visible .fireplace-hotspot__dot {outline:3px solid #f4511e;outline-offset:4px;}
.fireplace-inline {position:absolute;inset:0;z-index:6;color:inherit;}
.fireplace-inline[hidden],.fireplace-inline [hidden] {display:none!important;}
.fireplace-inline * {box-sizing:border-box;}
.fireplace-surround.is-hearth-open .fireplace-hotspot {visibility:hidden;}
.fireplace-game {position:relative;width:100%;height:100%;overflow:hidden;background:#193b2d;touch-action:pan-y;isolation:isolate;}
.fireplace-game__image,.fireplace-game__room {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;}
.fireplace-game__image {opacity:0;transition:opacity 480ms ease;z-index:0;}
.fireplace-game__image.is-current {opacity:1;}
.fireplace-game__room {z-index:8;transform-origin:46.8% 45.7%;opacity:1;transition:opacity 380ms ease;}
.fireplace-game[data-ready="true"] .fireplace-game__room {opacity:0;}
.fireplace-game::after {content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;background:radial-gradient(ellipse at 44% 55%,#ff8e2332,transparent 58%);transition:opacity 900ms;}
.fireplace-game[data-lit="true"]::after {opacity:.45;animation:hearth-game-warmth 2.11s linear infinite;}
.fireplace-game.is-kindling::after {opacity:.7;}
@keyframes hearth-game-warmth {0%,100%{opacity:.4}8%{opacity:.59}14%{opacity:.43}23%{opacity:.66}31%{opacity:.47}48%{opacity:.58}56%{opacity:.42}61%{opacity:.7}72%{opacity:.5}85%{opacity:.63}92%{opacity:.46}}
.fireplace-back,.fireplace-reset {position:absolute;z-index:12;display:grid;place-items:center;width:44px;height:44px;padding:12px;border:0;border-radius:50% 55% 50% 15%;background:#f3e6c8;color:#123c32;box-shadow:0 2px 3px #041b1940;cursor:pointer;transition:transform 200ms ease;}
.fireplace-back {left:14px;top:14px;}.fireplace-reset {left:14px;bottom:14px;}
.fireplace-back svg,.fireplace-reset svg {width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.fireplace-back:hover {transform:translateX(-3px);}.fireplace-reset:hover {transform:rotate(-18deg);}
.fireplace-back:focus-visible,.fireplace-reset:focus-visible {outline:3px solid #f4511e;outline-offset:4px;}
.fireplace-status {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.fireplace-door {position:absolute;left:51.7%;top:46%;width:8%;height:19%;min-height:44px;min-width:44px;z-index:5;border:2px solid transparent;border-radius:18px;background:none;cursor:pointer;}
.fireplace-game[data-door="open"] .fireplace-door {left:7%;top:44%;width:8%;height:22%;}
.fireplace-door:is(:hover,:focus-visible) {background:#ffc67a13;box-shadow:0 0 18px #f3b26966;}
.fireplace-door:focus-visible {outline:2px solid #f3e6c8;outline-offset:2px;}.fireplace-door:disabled{display:none;}
.fireplace-dropzone {position:absolute;left:32.5%;top:36.5%;width:23%;height:32%;z-index:3;border:2px dashed transparent;border-radius:6px;pointer-events:none;transition:border-color .15s,background .15s;}
.fireplace-dropzone.is-target {border-color:#f3e6c866;background:#f3e6c80a;}.fireplace-dropzone.is-over {border-color:#f7b24e;background:#ffab4525;}
/* Two low, offset base pieces carry a third crosspiece. Slot order follows placement order. */
.fireplace-placed {position:absolute;left:33.2%;top:37%;width:21.2%;height:30.8%;overflow:hidden;z-index:2;pointer-events:none;}
.fireplace-placed img {position:absolute;object-fit:contain;height:auto;filter:brightness(.75) saturate(.85) drop-shadow(0 3px 2px #0009);transform-origin:center bottom;}
.fireplace-placed [data-stack-slot="0"] {width:59%;left:0;bottom:5%;transform:rotate(-4deg);z-index:1;}
.fireplace-placed [data-stack-slot="1"] {width:59%;left:40%;bottom:7%;transform:rotate(6deg);z-index:2;}
.fireplace-placed [data-stack-slot="2"] {width:79%;left:10%;bottom:14%;transform:rotate(-9deg);z-index:3;}
.fireplace-placed img.is-arriving {visibility:hidden;}
.fireplace-game[data-door="closed"] .fireplace-placed img {filter:brightness(.48) saturate(.65) drop-shadow(0 2px 2px #0009);}
/* The fixed lower rows and three distinct liftable logs form one small floor stack. */
.fireplace-log-inventory {position:absolute;left:75%;top:65%;width:23%;height:31%;z-index:4;filter:drop-shadow(0 6px 3px #1d160c66);}
.fireplace-woodpile {position:absolute;bottom:0;left:0;width:100%;height:auto;pointer-events:none;user-select:none;}
.fireplace-log {position:absolute;width:65%;height:43%;min-height:44px;padding:0;border:0;background:none;touch-action:none;cursor:grab;transform-origin:center bottom;transition:filter 180ms ease;}
.fireplace-log[data-log="0"] {left:-2%;bottom:22%;transform:rotate(-5deg);z-index:1;}
.fireplace-log[data-log="1"] {left:37%;bottom:23%;transform:rotate(5deg);z-index:2;}
.fireplace-log[data-log="2"] {width:73%;left:16%;bottom:47%;transform:rotate(-8deg);z-index:3;}
.fireplace-log img {width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;}
.fireplace-log:is(:hover,:focus-visible) {filter:brightness(1.12) drop-shadow(0 2px 3px #ffd18a55);}
.fireplace-log:focus-visible {outline:2px solid #f3e6c8;outline-offset:2px;border-radius:16px;}
.fireplace-log:active {cursor:grabbing;}.fireplace-log:disabled{cursor:default;}
.fireplace-matchbox {position:absolute;left:61%;top:81%;width:16%;height:15%;min-width:44px;min-height:44px;padding:0;border:0;background:none;cursor:grab;touch-action:none;z-index:5;transform:rotate(-5deg);filter:drop-shadow(0 4px 3px #1d160c80);}
.fireplace-matchbox img {display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;}
.fireplace-matchbox:focus-visible {outline:2px solid #f3e6c8;outline-offset:3px;border-radius:10px;}
.fireplace-matchbox[data-ready-to-light="true"] {animation:hearth-matchbox-ready 3.7s ease-in-out infinite;}
.fireplace-matchbox.is-striking {animation:hearth-box-strike 500ms ease-out;}
.fireplace-matchbox:disabled {cursor:default;}
@keyframes hearth-matchbox-ready {0%,73%,100%{filter:drop-shadow(0 4px 3px #1d160c80)}84%{filter:drop-shadow(0 2px 7px #ffc36d90)}}
@keyframes hearth-box-strike {0%,100%{transform:rotate(-5deg)}20%{transform:translate(-4px,-3px) rotate(-13deg)}48%{transform:translate(4px,-1px) rotate(3deg)}70%{transform:translate(-2px,0) rotate(-7deg)}}
.fireplace-object-flight {position:fixed;z-index:1200;pointer-events:none;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 9px 6px #041b1966);user-select:none;}
.fireplace-ignition-spark {position:fixed;z-index:1201;pointer-events:none;transform:translate(-50%,-50%);color:#ffad45;filter:drop-shadow(0 0 9px #ffb43e);}
.fireplace-ignition-spark svg {display:block;width:100%;height:100%;fill:currentColor;}
.fireplace-error {position:absolute;z-index:12;bottom:0;left:0;right:0;margin:0;padding:10px 24px;color:#f3e6c8;background:#8e381e;font:14px/1.5 system-ui;}
@media(max-width:760px) {
 body[data-cabin] .fireplace-surround {--hearth-width:calc(100% - 40px);--hearth-padding:30px;padding:var(--hearth-padding) 0;scroll-margin-top:125px;}
 body[data-cabin] .fireplace-surround [data-fireplace] {aspect-ratio:1.35;}
 body[data-cabin] [data-fireplace] .cabin-editorial__image {object-fit:cover;object-position:var(--hearth-room-position,48% center);}
 .fireplace-hotspot__dot{width:36px;height:30px;font-size:21px;}
 .fireplace-back {left:10px;top:10px;}.fireplace-reset {left:10px;bottom:10px;}
 .fireplace-game__image {width:131.63%;max-width:none;left:-7.5%;object-fit:fill;}
 .fireplace-game__room {object-fit:cover;object-position:var(--hearth-room-position,48% center);}
 .fireplace-door {left:60.55%;top:46%;width:12%;}.fireplace-game[data-door="open"] .fireplace-door {left:2%;width:12%;}
 .fireplace-dropzone {left:35.28%;width:30.27%;}.fireplace-placed {left:36.2%;width:27.9%;}
 .fireplace-log-inventory {left:71%;top:68%;width:28%;height:29%;}
 .fireplace-matchbox {left:65%;top:82%;width:23%;height:14%;}
}
@media(prefers-reduced-motion:reduce) {
 .fireplace-surround::before,.fireplace-surround::after,.fireplace-game::after,.fireplace-matchbox {animation:none!important;}
 .fireplace-game__image,.fireplace-game__room,.fireplace-back,.fireplace-reset {transition:none!important;}
}
html[data-motion="paused"] .fireplace-surround::before,html[data-motion="paused"] .fireplace-surround::after,html[data-motion="paused"] .fireplace-game::after,html[data-motion="paused"] .fireplace-matchbox {animation:none!important;}
html[data-motion="paused"] .fireplace-game__image,html[data-motion="paused"] .fireplace-game__room,html[data-motion="paused"] .fireplace-back,html[data-motion="paused"] .fireplace-reset {transition:none!important;}
