/* The warm illustrated room rests in a quiet, misty winter night. */
:root{background:#101e26;color:#ece4d6;color-scheme:dark}
body{isolation:isolate;background:radial-gradient(ellipse at 17% 10%,#355b593b,transparent 50%),radial-gradient(ellipse at 86% 84%,#32506438,transparent 53%),radial-gradient(ellipse at 48% 70%,#8b704625,transparent 62%),#101e26}
body::before{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 10% 48%,#81aa9c1d,transparent 43%),radial-gradient(ellipse at 90% 24%,#7389a321,transparent 41%);filter:blur(35px);animation:room-mist-breathe 18s ease-in-out infinite alternate}
:root{--room-frame-width:min(calc(100vw - 76px),calc((100svh - 200px)*1.77683))}
.room-header{width:var(--room-frame-width);margin:0 auto;min-height:112px;padding:32px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:transparent}
.room-header h1{grid-column:2;font:400 clamp(19px,2vw,25px)/1.3 'Avenir Next','Helvetica Neue',sans-serif;letter-spacing:.055em;color:#f0e5cd;text-align:center;text-shadow:0 0 28px #d4c08d22}
.room-header #room-title{--partner-mark:44px;display:flex;align-items:center;justify-content:flex-start;gap:20px;margin:0;min-width:0}
.room-partner{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:inherit;text-decoration:none;border-radius:6px;transition:filter 180ms}
.room-partner:hover{filter:brightness(1.18)}
.room-partner:focus-visible{outline:2px solid #b9dce2;outline-offset:5px}
.room-tripo-icon{position:relative;display:block;overflow:hidden;width:var(--partner-mark);height:var(--partner-mark);flex:none}
.room-tripo-icon img{position:absolute;max-width:none;width:499.1%;height:auto;left:-25.98%;top:-35.63%}
.room-tripo-wordmark{display:block;width:123px;height:auto}
.room-gift-icon{display:block;width:var(--partner-mark);height:var(--partner-mark);object-fit:contain;flex:none}
.room-partner-gift span{font:400 30px/1.2 RoomHand,sans-serif;letter-spacing:-.5px;white-space:nowrap}
.room-partner-cross{font:400 13px/1 'Avenir Next',sans-serif;letter-spacing:0;color:#a6bdbb}
.room-controls{display:flex;align-items:center;gap:10px;flex:none}
.room-controls #language{min-width:56px;min-height:40px;padding:7px 14px;border:1px solid #d6e5dd30;border-radius:24px;background:#b3c7bf08;color:#dce8e2;font-size:12px;letter-spacing:.06em}
.room-controls #language:hover{background:#b3c7bf16;border-color:#d6e5dd66}
#room-shell{padding:0 38px;perspective:none}
#room-window{width:var(--room-frame-width);border-radius:10px;background:#15232a;box-shadow:0 24px 70px #0007,0 0 90px #bd955417,0 0 0 1px #d0c3a323}
#room-window::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 26px #09191d45}
.room-footer{width:var(--room-frame-width);min-height:88px;margin:0 auto;padding:14px 0 max(14px,env(safe-area-inset-bottom));align-items:center;justify-content:flex-start;gap:16px}
.room-footer #discovery-button{color:#b4dce3;font-size:12px;letter-spacing:.05em;border-radius:26px;padding:0 13px 0 0;transition:background 180ms,color 180ms}
.room-footer #discovery-button>svg{width:37px;height:37px;filter:drop-shadow(0 0 10px #86cfe548)}
.room-footer #discovery-button:hover{background:#8bb8ba10;color:#e0f3f4}
.room-footer #discovery-button[data-complete=true]{background:#539aa524;color:#d0f1f4}
.room-footer .room-display-notice{color:#e0c7a4;margin:0;font-size:11px}
.room-caption{background:#172932f5;color:#f0e3ce;border:1px solid #a6b8b52e;box-shadow:0 12px 42px #0005}
.room-caption p,#story-close{color:#becdcb}
#story-action{color:#dcebe1}
#story-close:hover{background:#dcebe110}
.object-label,.light-label{background:#162a32ed;color:#eee5d3;box-shadow:0 4px 20px #0004}
button:focus-visible,a:focus-visible{outline-color:#b9dce2}
.no-script{color:#c3d4d0}
@keyframes room-mist-breathe{from{opacity:.45}to{opacity:1}}
@media(max-width:700px){
 .room-header{width:calc(100% - 36px);min-height:96px;padding:26px 0 22px;flex-wrap:nowrap;gap:8px}
 .room-header h1{grid-column:1;text-align:left;font-size:17px;letter-spacing:.025em}
 .room-header #room-title{--partner-mark:24px;gap:5px;justify-content:flex-start}
 .room-partner{gap:4px}.room-tripo-wordmark{width:65px}
 .room-partner-gift span{font-size:17px;letter-spacing:-.4px}.room-partner-cross{font-size:10px}
 .room-controls{gap:6px}.room-controls #language{min-width:44px;padding:7px 9px}
 #room-shell{padding:0}#room-window{border-radius:6px}
 .room-footer{width:calc(100% - 36px);min-height:76px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .room-caption{bottom:84px}.room-footer .room-display-notice{max-width:60%}
}
@media(max-width:700px) and (orientation:portrait){
 #room-shell{scrollbar-color:#acc7c23b transparent}
 #room-window{width:max(100%,min(1250px,calc((100svh - 202px)*1.77683)))}
}
@media(max-height:480px) and (min-width:701px){:root{--room-frame-width:min(calc(100vw - 56px),calc((100svh - 136px)*1.77683))}.room-header{width:var(--room-frame-width);min-height:82px;padding:22px 0 16px;gap:8px}.room-header #room-title{--partner-mark:20px;gap:4px}.room-tripo-wordmark{width:48px}.room-partner{gap:4px}.room-partner-gift span{font-size:12px}.room-controls{gap:6px}.room-controls #language{min-width:44px;padding:7px 9px}.room-footer{min-height:54px;padding:5px 0}#room-window,.room-footer{width:var(--room-frame-width)}}
@media(prefers-reduced-motion:reduce){body::before{animation:none;opacity:.7}.room-footer #discovery-button{transition:none}}
@media(max-width:370px){.room-header{gap:6px}.room-header #room-title{--partner-mark:20px;gap:4px}.room-tripo-wordmark{width:48px}.room-partner-gift span{font-size:12px}}

#room-outdoor-snow{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;user-select:none}

#room-window-snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}

/* Approved bilingual description, directly beneath the brand title. */
.room-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title controls" "tagline tagline";row-gap:8px}
.room-header #room-title{grid-area:title}
.room-header .room-controls{grid-area:controls}
#room-tagline{grid-area:tagline;margin:0;color:#bdceca;font:400 12px/1.6 'Yuanti SC','STYuanti','Avenir Next','PingFang SC',sans-serif;letter-spacing:.015em;white-space:nowrap}
@media(max-width:700px){#room-tagline{font-size:clamp(9px,2.65vw,12px);letter-spacing:0}.room-header{row-gap:6px}}
@media(max-height:480px) and (min-width:701px){#room-tagline{font-size:10px}.room-header{row-gap:4px}}
