/* Small scene-registered details. No transformations of the underlying artwork. */
.sanctuary-detail38[hidden]{display:none!important}.sanctuary-detail38{position:absolute;z-index:8}.sanctuary-toy38{border:0;background:transparent;padding:0;cursor:pointer;transform-origin:50% 88%;touch-action:manipulation}.sanctuary-toy38 img{width:100%;height:100%;object-fit:contain;display:block;filter:saturate(.8) brightness(.87);pointer-events:none}.sanctuary-toy38:focus-visible,.sanctuary-wheel38:focus-visible{outline:2px solid #e4c182;outline-offset:3px;border-radius:50%}.sanctuary-toy38[data-reacting=true]{animation:toy-bob38 .72s ease-out}.sanctuary-toy38[data-toy=star][data-reacting=true]{animation:toy-turn38 1s ease-out}.sanctuary-wheel38{border:0;padding:0;background:transparent;min-width:0!important;min-height:0!important;border-radius:50%;cursor:pointer;touch-action:manipulation;z-index:10}.sanctuary-wheel38:hover{box-shadow:0 0 0 1px #dda57b77,0 0 8px #bd745332}.sanctuary-wheel38[aria-busy=true]{cursor:wait}.sanctuary-detail-note38{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);margin:0;max-width:80%;font:500 .86rem/1.4 Georgia,serif;text-shadow:0 1px 4px #000;color:#f5e7c6;pointer-events:none;z-index:20}
.sanctuary-fire38{pointer-events:none;overflow:visible;isolation:isolate;mix-blend-mode:screen;z-index:4;opacity:.63}.sanctuary-fire38 svg{height:100%;width:100%;overflow:visible}.sanctuary-fire38 .fire-warmth{position:absolute;inset:-26% -38%;background:radial-gradient(ellipse at 50% 80%,#ed7b172b,transparent 70%);opacity:.55}.sanctuary-fire38 path{transform-box:fill-box;transform-origin:50% 100%;animation:flame-sway38 2.9s ease-in-out infinite alternate}.sanctuary-fire38 path:nth-child(2n){animation-duration:2.1s;animation-delay:-1.3s}.sanctuary-fire38 path:nth-child(3n){animation-duration:3.7s;animation-delay:-2.2s}.sanctuary-fire38[data-motion=false] path{animation:none;opacity:.18}.sanctuary-fire38[data-motion=true] .fire-warmth{animation:hearth-breathe38 4.7s ease-in-out infinite alternate}
#sanctuary-view[data-scene=agandar] .sanctuary-window-foot{display:none!important}#sanctuary-view[data-user-motion-paused=true] :is(.sanctuary-toy38,.sanctuary-fire38 *,.sanctuary-hud-finish){animation-play-state:paused!important}
@keyframes toy-bob38{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-7%) rotate(-4deg)}55%{transform:translateY(-2%) rotate(3deg)}80%{transform:translateY(-3%) rotate(-1deg)}}@keyframes toy-turn38{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes flame-sway38{0%{transform:scale(.93,.85) rotate(-3deg);opacity:.55}48%{transform:scale(1.02,1) rotate(2deg);opacity:.83}100%{transform:scale(.95,1.12) rotate(-1deg);opacity:.67}}@keyframes hearth-breathe38{from{opacity:.35}to{opacity:.6}}
@media(prefers-reduced-motion:reduce){.sanctuary-toy38,.sanctuary-fire38 *{animation:none!important}}
@media(forced-colors:active){.sanctuary-fire38{display:none}.sanctuary-toy38:focus-visible,.sanctuary-wheel38:focus-visible{outline:2px solid ButtonText}}

/* Source-traced alpha occlusion keeps movement behind the baked iron and logs. */
.sanctuary-fire38{mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.sanctuary-fire38[data-fire=solomon]{mask-image:url('/assets/sanctuary/details-r38/snowy-fire-occlusion-r38.png');-webkit-mask-image:url('/assets/sanctuary/details-r38/snowy-fire-occlusion-r38.png')}.sanctuary-fire38[data-fire=auriela]{mask-image:url('/assets/sanctuary/details-r38/cottage-fire-occlusion-r38.png');-webkit-mask-image:url('/assets/sanctuary/details-r38/cottage-fire-occlusion-r38.png')}

/* Baked illustrated toys use a small response glint, never a mismatched cutout. */
.sanctuary-toy38[data-baked=true][data-reacting=true]{animation:none!important}.sanctuary-toy38[data-baked=true]::after{content:'✦';position:absolute;left:48%;top:-4%;font:18px Georgia,serif;color:#f3dfae;text-shadow:0 0 6px #efd19166;opacity:0;pointer-events:none}.sanctuary-toy38[data-baked=true][data-reacting=true]::after{animation:toy-glint38 .9s ease-out}@keyframes toy-glint38{0%{opacity:0;transform:translateY(0) scale(.6)}30%{opacity:.7}100%{opacity:0;transform:translateY(-16px) scale(1.1)}}@media(prefers-reduced-motion:reduce){.sanctuary-toy38[data-baked=true]::after{animation:none!important}}

/* Fluid fire: native-size simulation, no scaling of rigid silhouettes. */
.sanctuary-fire38{opacity:1;overflow:hidden}.sanctuary-fire38 canvas{width:100%;height:100%;display:block;image-rendering:auto}.sanctuary-fire38 .fire-warmth{inset:0;animation:none!important;opacity:var(--local-fire-flicker39,.045);background:radial-gradient(ellipse at 50% 78%,#ffd080,transparent 68%)}.hearth-cleanplate39{z-index:3;pointer-events:none;object-fit:fill;mix-blend-mode:normal}

/* Cottage clock: the painted object is the affordance; no permanent icon/label. */
#sanctuary-view .sanctuary-clock41{appearance:none;border:0;padding:0;background:transparent;box-shadow:none;min-width:44px;min-height:44px;border-radius:4px;cursor:pointer;touch-action:manipulation;color:inherit}
#sanctuary-view .sanctuary-clock41:is(:hover,:focus-visible){outline:2px solid #e1c79c99;outline-offset:2px;background:#e1c79c08}
#sanctuary-view .sanctuary-clock41:active{background:#e1c79c18}
#sanctuary-view .sanctuary-clock41[aria-busy=true]{cursor:default}
@media(forced-colors:active){#sanctuary-view .sanctuary-clock41:focus-visible{outline-color:ButtonText}}

/* r47: Agandar's wheel is highlighted by a quiet tactical-glove cursor, not
   yellow hover circles. Native 14px source rectangles and one audio owner
   are unchanged. Explicit PNG/system fallbacks cover SVG cursor support. */
#sanctuary-view[data-scene=agandar] .sanctuary-wheel38:hover{box-shadow:none}
#sanctuary-view[data-scene=agandar] .sanctuary-wheel38:focus-visible{outline-color:#c9bab4}
@media(hover:hover) and (pointer:fine){
 #sanctuary-view[data-scene=agandar] .sanctuary-wheel38:hover:not([aria-busy=true]){cursor:url('/assets/sanctuary/prompt-icons-r47/agandar-glove-cursor.svg') 15 2,url('/assets/sanctuary/prompt-icons-r47/agandar-glove-cursor.png') 15 2,pointer}
}
@media(forced-colors:active){
 #sanctuary-view[data-scene=agandar] .sanctuary-wheel38:focus-visible{outline-color:Highlight}
 #sanctuary-view[data-scene=agandar] .sanctuary-wheel38:hover:not([aria-busy=true]){cursor:pointer}
}
