.cabin-section>.cabin-loader{--loading-progress:0%;z-index:100;color:#493426;isolation:isolate;background:radial-gradient(at 50% 40%,#f8edd5 0%,#eee1c7 68%,#decaac 100%);justify-content:center;align-items:center;padding:2rem;font-family:Songti SC,SimSun,serif;transition:none;display:flex;position:fixed;inset:0}.cabin-section>.cabin-loader:before{content:"";z-index:-1;opacity:.17;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%235c4330' opacity='.24' filter='url(%23paper)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.cabin-section>.cabin-loader[hidden]{display:none}html.cabin-loading .cabin-section>.cabin-loader[hidden]{display:flex}.cabin-room-control:not([style]){visibility:hidden}html[data-cabin-arrival=return] .cabin-section>.cabin-loader,html.cabin-loading[data-cabin-arrival=return] .cabin-section>.cabin-loader{display:none}html.cabin-loading[data-cabin-arrival=return] .cabin-scene{visibility:hidden}.cabin-section>.cabin-loader .cabin-loader-inner{flex-direction:column;align-items:center;gap:0;width:min(25rem,100%);display:flex}.cabin-section>.cabin-loader .cabin-loader-eyebrow{color:#7c7952;letter-spacing:.18em;margin-bottom:1rem;font:.7rem/1.5 system-ui,sans-serif}.cabin-section>.cabin-loader .cabin-loader-mark{letter-spacing:.12em;text-indent:.12em;font:400 clamp(1.75rem,4vw,2.6rem)/1.5 Songti SC,SimSun,serif}.cabin-section>.cabin-loader .cabin-loader-subtitle{color:#785943;letter-spacing:.04em;margin:.65rem 0 0;font:.8rem/1.8 Songti SC,SimSun,serif}.cabin-section>.cabin-loader .cabin-loading-path{width:calc(100% - 3rem);margin:7rem 1.5rem 0;position:relative}.cabin-section>.cabin-loader .cabin-loader-track{background:#c7b797;border-radius:3px;width:100%;height:5px;position:relative;overflow:hidden;box-shadow:0 1px #f8edd5}.cabin-section>.cabin-loader .cabin-loader-track>[data-load-meter]{width:var(--loading-progress);height:100%;box-shadow:none;background:#7c7952;transition:none;display:block}.cabin-section>.cabin-loader .cabin-loading-friend{left:var(--loading-progress);pointer-events:none;width:3.7rem;height:4.3rem;position:absolute;bottom:4px;transform:translate(-50%)}.cabin-section>.cabin-loader .cabin-loading-friend svg{width:100%;height:100%;display:block;overflow:visible}.cabin-section>.cabin-loader .cabin-friend-foot{transform-box:fill-box;transform-origin:50% 0;animation:.44s ease-in-out infinite alternate cabin-loading-step}.cabin-section>.cabin-loader .cabin-friend-foot-back{animation-delay:-.44s}.cabin-section>.cabin-loader .cabin-friend-body{animation:.44s ease-in-out infinite alternate cabin-loading-bob}.cabin-section>.cabin-loader .cabin-loading-house{width:3.2rem;height:3.2rem;position:absolute;bottom:4px;right:-1.2rem}.cabin-section>.cabin-loader .cabin-loading-caption{color:#785943;justify-content:space-between;align-items:baseline;gap:1rem;width:calc(100% - 3rem);margin:1rem 1.5rem 0;font:.72rem/1.5 system-ui,sans-serif;display:flex}.cabin-section>.cabin-loader .cabin-loader-value{color:#5c4330;font-variant-numeric:tabular-nums;align-self:auto;margin:0;font:.75rem/1.5 Georgia,serif}.cabin-section>.cabin-loader .cabin-loading-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cabin-section>.cabin-loader[data-reduced=true] :is(.cabin-friend-foot,.cabin-friend-body){animation:none}@keyframes cabin-loading-step{0%{transform:rotate(-21deg)}to{transform:rotate(21deg)}}@keyframes cabin-loading-bob{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.cabin-section>.cabin-loader :is(.cabin-friend-foot,.cabin-friend-body){animation:none}}@media (height<=430px){.cabin-section>.cabin-loader .cabin-loader-eyebrow{margin-bottom:.25rem}.cabin-section>.cabin-loader .cabin-loading-path{margin-top:5rem}}.cabin-room-contacts{z-index:3;pointer-events:none;position:absolute;inset:0}.cabin-room-control{z-index:3;color:inherit;cursor:pointer;pointer-events:auto;transform-origin:50%;touch-action:manipulation;filter:brightness(var(--wood-light,1));background:0 0;border:0;outline:none;padding:0;display:block;position:absolute}.cabin-room-control svg{transform-origin:50%;width:100%;height:100%;transition:transform .4s cubic-bezier(.2,.7,.3,1),filter .25s;display:block;overflow:visible}.cabin-room-control:is(:hover,:focus-visible) svg{filter:brightness(1.09);transform:scale(1.04)}.cabin-room-control:focus-visible svg{filter:brightness(1.18)drop-shadow(0 0 2px #d8b16d)}.cabin-section[data-renderer=webgl][data-objects=ready][data-wood=ready] .cabin-wood-icon{visibility:hidden}.cabin-section[data-transition=entering] .cabin-room-control,.cabin-section[data-transition=returning] .cabin-room-control{pointer-events:none}.cabin-search{color:#3e2d20;backdrop-filter:blur(18px)saturate(.8);background:linear-gradient(145deg,#f7ebd2f2,#e8d4b3ec);border:5px solid #89623f;border-radius:13px;width:min(430px,100vw - 32px);max-height:min(590px,80svh);margin:auto;padding:20px;font-family:inherit;position:fixed;inset:0;overflow:auto;box-shadow:0 0 0 1px #c2a277,inset 0 0 0 1px #fff1d4aa,0 22px 75px #170e0b70}.cabin-search::backdrop{backdrop-filter:blur(3px);background:#231c1652}.cabin-search[open]{animation:.3s cubic-bezier(.2,.7,.3,1) cabin-search-arrive}.cabin-search-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cabin-search-heading h2{letter-spacing:.12em;margin:0;font:1.15rem SimSun,serif}.cabin-search-heading button{color:#70513a;cursor:pointer;background:#9878521a;border:0;border-radius:50%;width:28px;height:28px;font:1.4rem/1 inherit}.cabin-search-field{background:#fff7e888;border:1px solid #94734e66;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:inset 0 1px 4px #79562d16}.cabin-search-field:focus-within{border-color:#88623c;box-shadow:0 0 0 2px #89633725}.cabin-search-field svg{fill:none;stroke:#836346;stroke-width:1.5px;flex:none;width:18px}.cabin-search-field input{color:#3e2d20;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:none;padding:0;font-size:.83rem}.cabin-search-field input::placeholder{color:#8c7862}.cabin-search-field kbd{color:#8c7862;font:10px inherit}.cabin-search-summary{color:#8a7054;margin:15px 0 8px;font-size:.7rem}.cabin-search-results{margin:0;padding:0;list-style:none}.cabin-search-results li[hidden],.cabin-search-empty[hidden]{display:none}.cabin-search-results a{color:#493626;border-bottom:1px solid #92765325;border-radius:6px;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 9px;text-decoration:none;display:grid}.cabin-search-results a:is(:hover,:focus-visible){outline-offset:0;background:#d6ba8550;outline:1px solid #9a795144}.cabin-search-results strong{grid-area:1/1;font-size:.88rem;font-weight:500}.cabin-search-results span{color:#94744f;grid-column:2;align-self:center;font-size:.63rem}.cabin-search-results small{color:#89735a;grid-column:1/-1;font-size:.7rem;line-height:1.5}.cabin-search-empty{color:#89735a;padding:18px 0;font-size:.85rem}@keyframes cabin-search-arrive{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cabin-room-control svg{transition:none}.cabin-search[open]{animation:none}}.cabin-section{color:#f5e4c9;isolation:isolate;background:#29231f;flex-direction:column;justify-content:center;min-height:100svh;display:flex;position:relative}.cabin-scene{aspect-ratio:1672/941;isolation:isolate;--night-blend:0;background:#493b2c;width:min(100%,177.683svh);margin-inline:auto;position:relative;overflow:hidden}.cabin-art-plane,.cabin-canvas,.room-hotspots,.cabin-arrival{width:100%;height:100%;position:absolute;inset:0}.cabin-art-plane{transform-origin:var(--focus-x,50%) var(--focus-y,50%);transition:transform 1.25s cubic-bezier(.45,0,.2,1)}.cabin-art-plane img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.cabin-art-night{opacity:var(--night-blend);transition:opacity 1.6s}.cabin-patches{mask-image:url(/assets/cabin/patch-mask.svg);mask-size:100% 100%;mask-repeat:no-repeat}.cabin-notebook-patch{filter:brightness(calc(1 - var(--night-blend)*.6));transition:filter 1.6s;mask-image:url(/assets/cabin/notebook-mask-r04.svg);mask-size:100% 100%;mask-repeat:no-repeat}.cabin-canvas{opacity:0;pointer-events:none}.cabin-section[data-renderer=webgl] .cabin-canvas{opacity:1}.cabin-section[data-renderer=webgl] .cabin-art-plane{visibility:hidden}.cabin-screen-reader-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-hotspots{z-index:2;pointer-events:none}.room-door,.cabin-object{pointer-events:auto;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:#f5d49433;background:0 0;border:0;padding:0;display:block;position:absolute}.room-door:focus-visible,.cabin-object:focus-visible{outline-offset:-3px;outline:2px solid #dfc38b}.cabin-section:not([data-renderer]) :is(.room-door,.cabin-object):focus-visible{background:#e9c58c33}.cabin-section[data-renderer] :is(.room-door,.cabin-object):focus-visible,.cabin-section[data-renderer=fallback] .room-door:hover{outline:none}.cabin-object{border-radius:45%}.cabin-object-label{z-index:4;color:#fff0d1;letter-spacing:.06em;pointer-events:none;opacity:0;white-space:nowrap;background:#34261dd9;border-radius:1rem;padding:.32rem .7rem;font-size:.75rem;transition:opacity .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-110%);box-shadow:0 2px 12px #17120c26}.cabin-object-label.is-visible{opacity:1}.cabin-objects-canvas{z-index:1;pointer-events:none;visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.cabin-object-label .split-char{will-change:transform,opacity;display:inline-block}.cabin-arrival{z-index:8;opacity:0;pointer-events:none;background:#30251b}.cabin-section[data-transition=entering] :is(.room-door,.cabin-object),.cabin-section[data-transition=returning] :is(.room-door,.cabin-object){pointer-events:none}.cabin-loader{color:#f6e6cc;z-index:7;background:#34291bee;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font:1rem Songti SC,SimSun,serif;transition:opacity .35s;display:flex;position:absolute;inset:0}.cabin-loader[hidden]{display:none}.cabin-loader-inner{flex-direction:column;align-items:center;gap:.6rem;display:flex}.cabin-loader-mark{letter-spacing:.2em;font-size:1.7rem}.cabin-loader-subtitle{font-size:.8rem}.cabin-loader-track{background:#dcc5a533;width:9rem;height:3px}.cabin-loader-track span{background:#cfb388;width:0;height:100%;display:block}.cabin-loader-value{font-variant-numeric:tabular-nums;font-size:.7rem}.cabin-pet{z-index:3;filter:drop-shadow(0 5px 7px #30231866);transform-origin:50% 95%;width:clamp(56px,6vw,112px);animation:4.5s ease-in-out infinite pet-breathe;position:absolute;top:54%;left:14.5%}.cabin-pet[hidden]{display:none}.cabin-pet-character{cursor:grab;touch-action:none;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.cabin-pet-character:active{cursor:grabbing}.cabin-pet-character:focus-visible{outline-offset:3px;border-radius:1rem;outline:2px solid #ffe4ab}.cabin-pet img{width:100%;height:auto;display:block}.cabin-pet :is(.cabin-pet-blink,.cabin-pet-pose){opacity:0;pointer-events:none;position:absolute;inset:0}.cabin-pet-blink{animation:5.6s step-end infinite pet-blink}.cabin-pet:is([data-pose=wave],[data-pose=play]) .cabin-pet-base{opacity:0}.cabin-pet:is([data-pose=wave],[data-pose=play]) .cabin-pet-blink{opacity:0;animation:none}.cabin-pet:is([data-pose=wave],[data-pose=play]) .cabin-pet-wave{opacity:1}.cabin-section[data-phase=night] .cabin-pet:not([data-pose]) .cabin-pet-base{opacity:0}.cabin-section[data-phase=night] .cabin-pet:not([data-pose]) .cabin-pet-blink{opacity:0;animation:none}.cabin-section[data-phase=night] .cabin-pet:not([data-pose]) .cabin-pet-sleep{opacity:1}.cabin-pet-note{white-space:normal;color:#493727;pointer-events:none;opacity:0;background:#f6e9cddd;border-radius:.7rem .7rem .7rem 0;width:max-content;max-width:9rem;padding:.35rem .55rem;font-size:.68rem;transition:opacity .2s;position:absolute;top:25%;left:82%}.cabin-pet:is(:hover,:focus-within) .cabin-pet-note{opacity:1}.cabin-pet [data-pet-hide]{color:#fff0cf;cursor:pointer;opacity:0;background:#3b2d22b3;border:1px solid #dec6a566;border-radius:50%;width:22px;height:22px;font-size:14px;transition:opacity .2s;position:absolute;bottom:2px;right:-5px}.cabin-pet:is(:hover,:focus-within) [data-pet-hide]{opacity:1}.cabin-pet [data-pet-hide]:focus-visible{outline-offset:2px;outline:2px solid #edc988}@keyframes pet-breathe{50%{transform:scale(1.012,1.02)}}@keyframes pet-blink{0%,91%,95%,to{opacity:0}92%,94%{opacity:1}}@media (width<=650px){.cabin-controls{padding:8px;font-size:.65rem}.cabin-pet{width:8vw}.cabin-object-label{font-size:.6rem}.cabin-loader{font-size:.8rem}.cabin-pet [data-pet-hide]{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){.cabin-art-plane,.cabin-art-night,.cabin-object-label{transition:none}.cabin-pet,.cabin-pet-blink{animation:none}}.cabin-section[data-renderer=fallback][data-fallback-art=day] .cabin-art-night{display:none}.cabin-section[data-renderer=fallback][data-fallback-art=night] .cabin-art-night{opacity:1}
