html,body{margin:0;min-height:100%;background:#463b33}body{font-family:"PingFang TC","Microsoft JhengHei",sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}
#yunyi-preview{--yy-characters:url('/assets/characters.webp');--yy-poses:url('/assets/poses.webp');max-width:1600px;margin:0 auto;overflow-x:clip}
#yunyi-preview .yy-shell{min-height:100svh}#yunyi-preview .yy-stage{min-height:calc(100svh - 190px)}#yunyi-preview .yy-screen{min-height:max(650px,calc(100svh - 190px))}
#yunyi-preview .yy-bg{transition:filter 1.5s ease,transform 1.8s cubic-bezier(.2,.7,.2,1);transform:scale(1.07)}#yunyi-preview[data-screen="lobby"] .yy-bg{transform:scale(1)}#yunyi-preview[data-screen="game"] .yy-bg{transform:scale(1.025)}
#yunyi-preview .yy-screen:not([hidden]){animation:none}#yunyi-preview .yy-primary,#yunyi-preview .yy-secondary{transition:transform .2s ease,box-shadow .2s ease}#yunyi-preview .yy-primary:hover{transform:translateY(-2px);box-shadow:0 9px 24px #3b2b2533}#yunyi-preview .yy-preview-label{font-size:11px}
#yunyi-preview .yy-preview-foot{background:#463b33;color:#e1d0c1;padding:10px 22px;font-size:11px}#yunyi-preview .yy-preview-nav{min-height:90px}
.house-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.house-atmosphere canvas{position:absolute;inset:0;width:100%;height:100%}
.house-fog{position:absolute;width:110%;height:50%;left:-25%;bottom:-13%;background:radial-gradient(ellipse,#f5eee6a0,transparent 66%);filter:blur(24px);animation:house-fog 28s ease-in-out infinite alternate}.fog-two{left:12%;bottom:-27%;opacity:.5;animation-duration:39s;animation-direction:alternate-reverse}
#yunyi-preview[data-weather="night"] .house-fog{background:radial-gradient(ellipse,#b8a89538,transparent 65%)}#yunyi-preview[data-screen="game"] .house-fog,#yunyi-preview[data-screen="event"] .house-fog{height:30%;opacity:.45}


#yunyi-preview .yy-board-focus{top:154px;width:min(590px,calc(100% - 36px))}#yunyi-preview .yy-board-plinth{padding:15px;border-radius:6px}#yunyi-preview .yy-3d{width:min(900px,100%);top:148px;height:470px}#yunyi-preview .yy-3d-canvas{height:420px;touch-action:none}#yunyi-preview .yy-3d-canvas canvas{touch-action:none}
#yunyi-preview [data-page="game"]{min-height:max(820px,calc(100svh - 190px))}#yunyi-preview .yy-game-bottom{bottom:24px}.house-game-actions{position:absolute;bottom:84px;left:35px;right:35px;display:flex;gap:22px;justify-content:center}#yunyi-preview .house-game-actions button{color:#f4e7d9;background:#514338a6;padding:10px 16px;border-radius:22px}
.house-board-surface{position:relative}.house-board-buttons{position:absolute;inset:0}.house-square{position:absolute;transform:translate(-50%,-50%);width:7.85%;aspect-ratio:1;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;padding:0;touch-action:manipulation}
#yunyi-preview .house-square{min-height:0;color:#59463a;font-family:"Songti TC",serif;font-size:clamp(14px,2.5vw,27px);font-weight:600;transition:box-shadow .2s,background .2s}
#yunyi-preview .house-square[data-piece]:not([data-piece=""]){background:radial-gradient(circle at 35% 28%,#ead9c6,#c5ab8f);box-shadow:0 3px 0 #8c7057,0 5px 6px #3b241c59,inset 0 0 0 2px #b3987c,inset 0 0 0 4px #e7d3ba;}
#yunyi-preview .house-square[data-side="red"]{color:#895448}#yunyi-preview .house-square[data-side="black"]{color:#eee0d1;background:radial-gradient(circle at 35% 28%,#726356,#493e35)!important;box-shadow:0 3px 0 #30271f,0 5px 6px #3b241c59,inset 0 0 0 2px #a58b72,inset 0 0 0 4px #615144!important}
#yunyi-preview .house-square[data-selected="true"]{outline:3px solid #e8ce91;outline-offset:3px;filter:brightness(1.12)}#yunyi-preview .house-square[data-last="true"]:after{content:"";position:absolute;inset:-5px;border:1px solid #e6c88c;border-radius:50%;opacity:.7}#yunyi-preview .house-square[data-legal="true"]:before{content:"";position:absolute;width:23%;height:23%;background:#78614c;border:1px solid #ead9bd;border-radius:50%;box-shadow:0 0 0 4px #e0c8a44d}#yunyi-preview .house-square[data-legal="true"]:not([data-piece=""]):before{inset:-5px;width:auto;height:auto;background:transparent;border:2px dashed #e8bc7e}
.house-capture-burst{position:absolute;width:50px;height:50px;transform:translate(-50%,-50%);border:2px solid #f5d69e;border-radius:50%;box-shadow:0 0 0 12px #d5aa5c55;animation:house-capture .8s ease-out forwards;pointer-events:none}
#yunyi-preview .yy-presence-status[data-status="online"]{color:#526849}#yunyi-preview[data-weather="night"] .yy-presence-status[data-status="online"]{color:#b6cda2}#yunyi-preview .yy-lobby-panel .house-active-room{color:var(--yy-text);font-size:12px;line-height:1.6;margin:9px 0}#yunyi-preview .yy-room-option{gap:15px}#yunyi-preview .yy-room-option span{min-width:0;overflow-wrap:anywhere}#yunyi-preview .yy-room-option button{flex-shrink:0}
#house-toast{position:fixed;z-index:40;left:50%;bottom:30px;transform:translateX(-50%);max-width:calc(100% - 40px);padding:15px 22px;border-radius:25px;background:#473a30ed;color:#fff0e1;font-size:14px;box-shadow:0 8px 30px #0003;backdrop-filter:blur(15px);text-align:center}
.house-cutscene{position:fixed;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;gap:2%;overflow:hidden;background:#1c1713ac;backdrop-filter:blur(7px)}.house-cutscene-wash{position:absolute;inset:15% -15%;rotate:-7deg;background:linear-gradient(100deg,#2c241d,#80624ad9,#2c241d);border-top:1px solid #d7b88d88;border-bottom:1px solid #d7b88d88;animation:house-slash .45s cubic-bezier(.2,.8,.2,1) both}.house-cutscene-character{position:relative;width:min(42vw,360px);aspect-ratio:5/8;background-image:url('/assets/poses.webp');background-repeat:no-repeat;filter:drop-shadow(0 10px 28px #0008);animation:house-character-in .55s cubic-bezier(.15,.8,.25,1) both}.house-cutscene-copy{position:relative;color:#f2ddba;max-width:44%;text-shadow:0 3px 12px #0006;animation:house-word-in .5s .12s ease both}.house-cutscene-copy h2{font-family:"Songti TC",serif;font-size:clamp(42px,7vw,90px);font-weight:500;letter-spacing:.15em;margin:16px 0}.house-cutscene-copy p{line-height:1.8;letter-spacing:.12em;font-size:clamp(13px,2vw,19px)}.house-cutscene-copy p:first-child{font-size:12px;color:#c7ae8d}#house-cutscene-skip{position:absolute;right:28px;bottom:25px;border:1px solid #d1b99b66;padding:12px 18px;border-radius:25px;background:#352a20a0;color:#f2ddba}
#house-confirm{max-width:380px;width:calc(100% - 50px);box-sizing:border-box;padding:30px;border:1px solid #e6d3c050;border-radius:20px;color:#f5e6d8;background:#594b40ed;box-shadow:0 20px 80px #0007;backdrop-filter:blur(24px)}#house-confirm::backdrop{background:#201a156b;backdrop-filter:blur(5px)}#house-confirm h3{font:500 25px "Songti TC",serif;letter-spacing:2px;margin:0 0 16px}#house-confirm p{font-size:14px;line-height:1.8;margin:0 0 25px}#house-confirm>div{display:flex;gap:12px;justify-content:flex-end}
.house-inline-error{font-size:12px;color:#aa6250;line-height:1.6}.house-connection{font-size:12px;color:var(--yy-sub);line-height:1.7}#yunyi-preview .yy-event-character{animation:house-character-in .6s cubic-bezier(.15,.8,.25,1) both}.house-turn-badge{color:#ead2ac!important}#yunyi-preview .yy-player[data-turn="true"]{box-shadow:0 0 24px #e7c98a66;outline:1px solid #e5c79288}
@keyframes house-fog{from{transform:translate(-5%,5%) scale(1)}to{transform:translate(18%,-5%) scale(1.15)}}@keyframes house-page-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes house-capture{to{opacity:0;scale:2.4;filter:blur(3px)}}@keyframes house-character-in{from{opacity:0;translate:-65px 15px;rotate:-5deg}to{opacity:1;translate:0 0;rotate:0deg}}@keyframes house-word-in{from{opacity:0;translate:32px 0;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes house-slash{from{transform:scaleX(.1);opacity:0}to{transform:scaleX(1);opacity:1}}
@media(max-width:620px){#yunyi-preview .yy-stage{min-height:650px}#yunyi-preview .yy-board-focus{top:174px;width:calc(100% - 28px)}#yunyi-preview .yy-board-plinth{padding:9px}#yunyi-preview .yy-3d{top:170px;height:400px}#yunyi-preview .yy-3d-canvas{height:340px}#yunyi-preview [data-page="game"]{min-height:740px}.house-game-actions{left:15px;right:15px;bottom:112px;gap:8px}#yunyi-preview .house-game-actions button{font-size:12px;padding:10px 13px}.house-cutscene{flex-direction:column;gap:0}.house-cutscene-character{width:210px;max-height:53svh}.house-cutscene-copy{max-width:90%;text-align:center}.house-cutscene-copy h2{font-size:42px;margin:5px 0}.house-cutscene-copy p{margin:6px 0}.house-pond{right:0;bottom:15%;width:35%}#yunyi-preview .yy-game-bottom{gap:9px}#yunyi-preview .yy-game-bottom span{max-width:100%;line-height:1.5}#yunyi-preview .yy-event-screen{min-height:840px}}
@media(prefers-reduced-motion:reduce){#yunyi-preview *,#yunyi-preview *:before,#yunyi-preview *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.house-cutscene-wash{rotate:0deg}}

/* Game layout: board seat stays bottom; name plates flank the board. */
#yunyi-preview [data-page="game"]:not([hidden]){display:block;min-height:max(770px,calc(100svh - 190px));padding:0 26px 30px}
#yunyi-preview .yy-game-top{display:flex;justify-content:space-between;align-items:center;padding:14px 0 20px;gap:18px;flex-wrap:wrap}
.house-game-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:26px;align-items:start}
[data-has-room="false"] .house-game-layout{grid-template-columns:minmax(0,1fr)}
.house-board-area{display:grid;grid-template-columns:104px minmax(0,1fr) 104px;grid-template-rows:auto auto auto;gap:14px 10px;align-items:center;min-width:0}
#yunyi-preview .yy-game-players{display:contents}
#yunyi-preview .yy-player{position:relative;grid-row:1;width:100%;min-width:0;max-width:none;justify-self:center;align-self:center;padding:15px 8px;flex-direction:column!important;text-align:center!important;gap:9px;backdrop-filter:blur(20px);border:0!important;background:color-mix(in srgb,var(--yy-panel) 88%,transparent)}
#yunyi-preview .yy-player[data-seat="self"]{grid-column:1}
#yunyi-preview .yy-player[data-seat="opponent"]{grid-column:3}
#yunyi-preview .yy-player strong{font-size:16px;letter-spacing:1px;overflow-wrap:anywhere}
#yunyi-preview .yy-player small{font-size:10px;letter-spacing:1px}
#yunyi-preview .yy-board-focus,#yunyi-preview .yy-3d{position:relative;grid-row:1;grid-column:2;left:auto;top:auto;transform:none;margin:0 auto}
#yunyi-preview .yy-board-focus{width:min(570px,100%)}
#yunyi-preview .yy-board-plinth{padding:12px}
#yunyi-preview .yy-board-title{margin:12px 0 0;line-height:1.7}
#yunyi-preview .yy-3d{width:100%;height:auto}
#yunyi-preview .yy-3d-canvas{height:clamp(420px,48vw,650px)}
#yunyi-preview .yy-3d-controls{gap:10px;padding:8px 0}
#yunyi-preview .yy-3d-hint{width:100%;text-align:center}
#yunyi-preview .yy-3d-controls input{width:65px}
#yunyi-preview .house-game-actions{position:relative;grid-row:2;grid-column:1/-1;left:auto;right:auto;bottom:auto;margin:2px 0;gap:14px}
#yunyi-preview .yy-game-bottom{position:relative;grid-row:3;grid-column:1/-1;left:auto;right:auto;bottom:auto;margin:0;justify-content:center;flex-wrap:wrap;gap:12px}
#yunyi-preview .yy-game-bottom span{font-size:12px;letter-spacing:1px;line-height:1.7}
#yunyi-preview .yy-focus-shade{background:linear-gradient(#30251b08,#30251b20 25%,#30251b70 85%,#30251b38)}
.house-board-surface{container-type:inline-size}
#yunyi-preview .house-square{width:7.8%;font-size:20px;font-weight:500}
#yunyi-preview .house-square>span{rotate:0deg;font-size:4.5cqw;line-height:1;font-weight:500}
#yunyi-preview [data-view="scene"] .house-game-layout{display:none}
#yunyi-preview [data-view="scene"] .yy-room-title{display:none}
#yunyi-preview [data-view="scene"] .yy-game-top{justify-content:center}
#yunyi-preview [data-view="scene"]{min-height:max(770px,calc(100svh - 190px))}
.house-chat{position:relative;z-index:2;right:auto;bottom:auto;width:100%;height:clamp(500px,48vw,650px);display:flex;flex-direction:column;border:1px solid #bca18b66;border-radius:20px;background:#594b40e8;color:#f2e2d3;backdrop-filter:blur(28px);box-shadow:0 15px 50px #241c1633;overflow:hidden}
.house-chat header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #d4bfa72b}
#yunyi-preview .house-chat h2{font-size:21px;font-weight:500;letter-spacing:3px;margin:0 0 7px;color:#f2e2d3}
#yunyi-preview .house-chat header p{font-size:11px;color:#d4bfa9;margin:0}
.house-chat-scroll{flex:1;overflow-y:auto;padding:16px;overscroll-behavior:contain}
.house-chat ol{list-style:none;padding:0;margin:0}
.house-chat-message{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;max-width:94%;width:fit-content}
.house-chat-message[data-self="true"]{margin-left:auto;flex-direction:row-reverse}
.house-chat-content{min-width:0;flex:1}
#yunyi-preview .house-chat-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;overflow:hidden;background-color:#d8c4ad;border:1px solid #f6e6ce66;box-shadow:0 2px 7px #211a1926}
.house-chat-meta{display:flex;justify-content:flex-start;font-size:10px;color:#d4bda7;padding:5px 4px 0}
.house-chat-message[data-self="true"] .house-chat-meta{justify-content:flex-end}
#yunyi-preview .house-chat-message p{margin:0;padding:10px 12px;border-radius:12px;background:#342b2380;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.house-chat-message[data-self="true"] p{background:#9b816b6b!important}
.house-chat a{color:#ffe1ac;text-decoration:underline;text-underline-offset:3px}
.house-chat form{padding:15px;border-top:1px solid #d4bfa72b}
.house-chat label{display:block;font-size:11px;margin-bottom:8px;color:#dbc6b3}
#yunyi-preview .house-chat textarea{box-sizing:border-box;width:100%;resize:vertical;max-height:120px;min-height:68px;border:1px solid #cab09a55;border-radius:10px;padding:10px;color:#fff0e3;background:#30271f60;font-family:inherit;font-size:13px;line-height:1.6}
.house-chat textarea::placeholder{color:#d4bca7}
#yunyi-preview .house-chat textarea:focus-visible{outline:2px solid #e5cda5;outline-offset:2px}
.house-chat-send{display:flex;justify-content:space-between;align-items:center;margin:8px 0}
.house-chat-send span,.house-chat small{font-size:10px;color:#d3baa5}
#yunyi-preview .house-chat-send button{padding:8px 16px;border-radius:18px;background:#d6bda4;color:#493b30;font-size:12px}
.house-chat-send button:disabled{opacity:.6}
#house-chat-empty{font-size:12px;text-align:center;margin:24px 0;color:#d5beaa}
#house-chat-older{display:block;margin:0 auto 16px;font-size:11px;color:#e2cbb4;background:none;padding:8px}
#yunyi-preview .yy-lobby-panels{position:relative;z-index:1;align-items:start;padding-top:100px;gap:32px}
#yunyi-preview .yy-lobby-panels .yy-lobby-panel,#yunyi-preview .yy-presence-panel{background:linear-gradient(135deg,#d0bfaeeF,#c1ad99e8);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:0 18px 55px #35291e30,inset 0 1px 0 #f5e6d75c}
#yunyi-preview[data-weather="night"] .yy-lobby-panels .yy-lobby-panel,#yunyi-preview[data-weather="night"] .yy-presence-panel{background:linear-gradient(135deg,#5f5146f0,#493e35ed)}
#yunyi-preview .yy-presence-list{max-height:320px;overflow-y:auto;padding-right:5px}
@media(max-width:1100px){.house-game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.house-board-area{grid-template-columns:76px minmax(0,1fr) 76px;gap:12px 6px}#yunyi-preview .yy-player{padding:12px 4px}#yunyi-preview .yy-player strong{font-size:14px}#yunyi-preview .yy-3d-controls{font-size:10px;gap:6px}#yunyi-preview .yy-3d-controls input{width:55px}}
@media(max-width:900px){.house-game-layout{grid-template-columns:minmax(0,1fr);gap:24px}.house-chat{height:380px;max-width:680px;margin:0 auto}.house-board-area{grid-template-columns:85px minmax(0,1fr) 85px}#yunyi-preview .yy-3d-canvas{height:500px}}
@media(max-width:620px){
 #yunyi-preview [data-page="game"]:not([hidden]){padding:0 10px 24px;min-height:740px}
 #yunyi-preview .yy-game-top{padding:14px 0;gap:10px;flex-wrap:nowrap}
 #yunyi-preview .yy-room-title{font-size:12px;margin:0}
 #yunyi-preview .yy-view-toggle button{padding:8px 7px;font-size:10px}
 .house-board-area{grid-template-columns:1fr 1fr;gap:12px}
 #yunyi-preview .yy-player{grid-row:1!important;flex-direction:row!important;text-align:left!important;justify-self:stretch;padding:9px 10px;gap:7px;min-width:0}
 #yunyi-preview .yy-player[data-seat="self"]{grid-column:1}#yunyi-preview .yy-player[data-seat="opponent"]{grid-column:2}
 #yunyi-preview .yy-player strong{font-size:14px;letter-spacing:0}#yunyi-preview .yy-player small{font-size:9px}
 #yunyi-preview .yy-board-focus,#yunyi-preview .yy-3d{grid-row:2;grid-column:1/-1;width:100%}
 #yunyi-preview .yy-board-plinth{padding:8px}#yunyi-preview .yy-3d-canvas{height:380px}
 #yunyi-preview .house-game-actions{grid-row:3}#yunyi-preview .yy-game-bottom{grid-row:4}
 #yunyi-preview .yy-game-bottom span{font-size:11px}.house-chat{height:420px}
 #yunyi-preview .yy-lobby-panels{padding:40px 23px 65px;gap:22px}
}

/* v1.5: larger entry controls and a continuous arrival inside the pavilion. */
#yunyi-preview .yy-bg{transition:filter 1.2s ease;transform:scale(1.025)}
#yunyi-preview[data-screen="home"] .yy-bg{transform:scale(1.07)}
#yunyi-preview .yy-hero-actions{gap:28px;margin-top:35px}
#yunyi-preview .yy-hero-actions .yy-primary{font-size:18px;min-height:64px;min-width:235px;padding:20px 32px}
#yunyi-preview .yy-hero-actions .yy-link{font-size:16px;padding:18px 0}
#yunyi-preview .yy-home-profiles{max-width:470px;padding-top:26px;margin-top:32px}
#yunyi-preview .yy-home-profiles .yy-small-label{font-size:13px;line-height:1.8;margin-bottom:18px}
#yunyi-preview .yy-home-list{gap:22px 28px}
#yunyi-preview .yy-home-list .yy-profile-mini{font-size:17px;gap:14px;min-height:64px}
#yunyi-preview .yy-home-list .yy-mini-avatar{width:64px;height:64px;flex-shrink:0}
#yunyi-preview .yy-home-list .yy-profile-mini>span:last-child{font-size:27px}
#yunyi-preview .yy-profile-layout{width:min(1080px,100%);margin:0 auto;min-height:max(710px,calc(100svh - 190px));grid-template-columns:minmax(260px,1fr) 390px;gap:70px;padding:65px 5%;align-items:center}
#yunyi-preview .yy-form-panel{border-radius:18px;background:color-mix(in srgb,var(--yy-panel) 93%,transparent);backdrop-filter:blur(26px);padding:32px}
#yunyi-preview .yy-form-panel:before{border-radius:12px}
#yunyi-preview .yy-lobby-header{padding:35px 6% 20px}
#yunyi-preview .yy-lobby-panels{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:28px 6% 70px;gap:20px}
#yunyi-preview .yy-lobby-panels .yy-lobby-panel,#yunyi-preview .yy-lobby-panels .yy-presence-panel{flex:none;width:360px;max-width:100%;margin:0}
#yunyi-preview .yy-lobby-panels .yy-presence-panel{padding:23px 26px}
#yunyi-preview .yy-lobby-panels .yy-presence-list{max-height:210px}


/* Both nameplates follow the board corners, regardless of the player's colour. */
.house-board-area{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.house-board-seat{position:relative;min-width:0;width:100%;padding:72px 0 80px}
#yunyi-preview .house-board-seat .yy-player{position:absolute;display:flex;flex-direction:row!important;text-align:left!important;justify-content:flex-start;gap:13px;width:auto;max-width:min(340px,85%);min-width:0;padding:0;background:none!important;backdrop-filter:none;box-shadow:none!important;border:0!important;border-radius:0;outline:0;color:#fff1dd;text-shadow:0 2px 7px #35271b,0 0 16px #35271bbd}
#yunyi-preview .house-board-seat .yy-player[data-seat="opponent"]{left:max(0px,calc((100% - 660px)/2));top:0;bottom:auto;right:auto}
#yunyi-preview .house-board-seat .yy-player[data-seat="self"]{right:max(0px,calc((100% - 660px)/2));bottom:0;top:auto;left:auto}
#yunyi-preview .house-board-seat .yy-player .yy-mini-avatar{width:62px;height:62px;border:0;border-radius:0;background-color:transparent;flex-shrink:0;filter:drop-shadow(0 3px 6px #251c1640);mask-image:linear-gradient(#000 80%,transparent)}
#yunyi-preview .house-board-seat .yy-player strong{font-size:32px;letter-spacing:2px;line-height:1.15;overflow-wrap:anywhere}
#yunyi-preview .house-board-seat .yy-player small{font-size:12px;line-height:1.6;margin-top:5px;color:#f3e3cd;letter-spacing:2px}
#yunyi-preview .house-board-seat .yy-player[data-turn="true"] small:before{content:'●';color:#f5d39a;margin-right:7px;font-size:8px}
#yunyi-preview .house-board-seat .yy-board-focus{width:min(620px,100%);margin:auto;position:relative;left:auto;top:auto;transform:none}
#yunyi-preview .house-board-seat .yy-board-title{display:none}
#yunyi-preview .house-board-seat .yy-3d{width:100%;height:auto;margin:0;position:relative;left:auto;top:auto;transform:none}
#yunyi-preview .house-board-seat .yy-3d-canvas{height:clamp(410px,42vw,600px)}
#yunyi-preview .yy-3d-controls{gap:12px;padding:10px 0}
#yunyi-preview .yy-3d-controls .house-zoom-control input{width:95px}
#yunyi-preview .yy-3d-controls output{min-width:35px;text-align:right;font-variant-numeric:tabular-nums}
#yunyi-preview .house-game-actions{margin:2px 0}
#yunyi-preview .house-chat{height:clamp(560px,57vw,780px)}
@media(max-width:900px){#yunyi-preview .yy-profile-layout{gap:35px;grid-template-columns:minmax(220px,1fr) 350px;padding:45px 4%}#yunyi-preview .house-chat{height:400px}#yunyi-preview .house-board-seat .yy-3d-canvas{height:530px}}
@media(max-width:620px){
 #yunyi-preview .yy-hero-actions{gap:15px}#yunyi-preview .yy-hero-actions .yy-primary{min-width:205px;font-size:16px;padding:17px 24px}
 #yunyi-preview .yy-hero-actions .yy-link{font-size:14px}#yunyi-preview .yy-home-list .yy-mini-avatar{width:56px;height:56px}#yunyi-preview .yy-home-list .yy-profile-mini>span:last-child{font-size:24px}
 #yunyi-preview .yy-profile-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:40px 23px 65px;gap:38px}#yunyi-preview .yy-form-panel{padding:26px}
 #yunyi-preview .yy-lobby-panels{padding:24px 23px 65px}#yunyi-preview .yy-lobby-panels .yy-lobby-panel,#yunyi-preview .yy-lobby-panels .yy-presence-panel{width:100%}
 .house-board-seat{padding:64px 0 68px}#yunyi-preview .house-board-seat .yy-player .yy-mini-avatar{width:48px;height:48px}#yunyi-preview .house-board-seat .yy-player strong{font-size:26px;letter-spacing:1px}#yunyi-preview .house-board-seat .yy-player small{font-size:10px}
 #yunyi-preview .house-board-seat .yy-3d-canvas{height:380px}#yunyi-preview .yy-3d-controls{gap:9px}#yunyi-preview .yy-3d-controls input{width:60px}#yunyi-preview .yy-3d-controls .house-zoom-control input{width:90px}
}

/* Keep one camera framing while page content changes height. */
#yunyi-preview .yy-bg{position:fixed;left:max(0px,calc((100vw - 1600px)/2));top:0;right:auto;bottom:auto;width:min(1600px,100vw);height:100svh;object-position:50% 50%}
#yunyi-preview[data-screen="profile"] .yy-bg,#yunyi-preview[data-screen="lobby"] .yy-bg,#yunyi-preview[data-screen="account"] .yy-bg,#yunyi-preview[data-screen="game"] .yy-bg,#yunyi-preview[data-screen="event"] .yy-bg{transform:scale(1.025)}

/* Full-bleed viewport: background and chrome share one clipped boundary. */
html,body{width:100%;max-width:100%;overflow-x:clip}
#yunyi-preview{width:100%;max-width:none;margin:0;overflow-x:clip}
#yunyi-preview .yy-shell{width:100%;overflow:clip}
#yunyi-preview .yy-bg{left:0;width:100vw;max-width:none}
