:root{--game-width:min(100vw,480px,calc(100dvh * .62))}
body{background:radial-gradient(ellipse at 50% 30%,#d7c6ac,#aa967e);}
.world{inset:0 auto 0 50%;width:var(--game-width);transform:translateX(-50%);box-shadow:0 0 80px #55422b40}
.world .pet-actor{width:calc(min(320px,calc(var(--game-width) * .62))*var(--life-size,.76))}
.world .hud-top{left:14px;right:14px;top:max(16px,env(safe-area-inset-top));gap:8px}
.world .care-dock{width:calc(100% - 20px);gap:6px;bottom:max(18px,env(safe-area-inset-bottom))}
.world .care-button{min-width:0;flex:1}.world .daily-gift{right:18px;bottom:126px}
dialog:not(.boutique-mode):not(.orientation-guard){width:calc(var(--game-width) - 24px);max-width:420px}
dialog.boutique-mode{inset:0 auto 0 50%;width:var(--game-width);transform:translateX(-50%);box-shadow:0 0 80px #55422b40}
.boutique-layout{grid-template-columns:100%;grid-template-rows:minmax(min(260px,52dvh),54%) minmax(0,1fr)}
.boutique-stock{border:0;border-top:5px solid #bb9067;padding:12px 14px max(12px,env(safe-area-inset-bottom));box-shadow:0 -4px 0 #e9cba4,0 -9px 25px #7151341f}
.boutique-art img{object-position:center top}
.boutique-brand{max-width:210px}.boutique-brand strong{font-size:clamp(18px,calc(var(--game-width)*.057),28px)}.boutique-brand small{font-size:clamp(6px,calc(var(--game-width)*.018),8px);letter-spacing:1px}
.cashier-chat{top:43%;right:4%;width:45%;max-width:230px;padding:9px 10px 8px}
.cashier-chat>strong{font-size:11px;margin-bottom:4px}#cashier-speech{font-size:11px;line-height:1.5}.cashier-invite{font-size:8px}
.boutique-fitting-space{left:3%;top:calc(min(90.5%,calc(100% - 52px)) - 37.35%);width:54%;height:45%}.boutique-fitting-space .preview-actor{width:calc(clamp(145px,calc(var(--game-width)*.52),230px)*var(--life-size,1))}
.boutique-mode .fitting-stages{left:12px;bottom:10px}.boutique-mode .fitting-stages button{min-height:29px;padding:6px 9px;font-size:9px}
.boutique-fitting-tag{right:10px;bottom:14px;max-width:43%;font-size:8px}
.boutique-mode .shop-grid{display:flex;gap:10px;overflow-x:auto;padding:0 1px 12px;align-items:stretch;scroll-snap-type:x mandatory}
.boutique-mode .shop-item{flex:0 0 155px;width:155px;padding:8px;scroll-snap-align:start}
.boutique-mode .shop-item .shop-illustration.full-outfit{display:block;height:100px}
.boutique-mode .shop-item h3{font-size:13px;line-height:1.2;margin:7px 0 5px;min-height:31px}
.boutique-mode .shop-item p{display:none}
.outfit-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}
.boutique-mode .shop-item .try-item,.boutique-mode .shop-item .buy-item{min-height:44px;margin:0;padding:7px 3px;border:1px solid #bfca9c;border-radius:9px;font-size:11px;font-weight:bold;text-decoration:none;background:#f7fae9;color:#78835c}
.boutique-mode .shop-item .buy-item{background:#8b9c72;color:#fff9e8;border-color:#8b9c72}
.boutique-mode .shop-item .buy-item small{display:block;font-size:9px;font-weight:normal;margin-top:2px}
.boutique-mode .shop-item .try-item[aria-pressed=true]{background:#e9d6b4;border-color:#b99a69;color:#876947}
.boutique-mode .boutique-outfit-summary{padding-bottom:8px}.boutique-mode .fitting-caption{padding:5px 0}.boutique-mode .fitting-caption strong{font-size:18px}
.boutique-mode .outfit-includes{font-size:10px;line-height:1.4}.boutique-eyebrow{font-size:8px}
.boutique-mode .shop-filter{margin:10px 0}.boutique-mode .shop-filter h3{font-size:15px}.boutique-mode .remove-outfit{margin-top:7px;min-height:28px;font-size:9px;padding:6px}
.orientation-guard{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:20px;border:0;border-radius:0;background:radial-gradient(#fff8e9,#e9d8ba);color:#80674e;box-shadow:none;text-align:center}
.orientation-guard[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.orientation-guard::backdrop{background:#e9d8ba}.orientation-guard svg{width:65px;height:78px;stroke:#a88758;stroke-width:2;fill:#fffdf3;animation:turn-upright 2.2s ease-in-out infinite}
.orientation-guard h2{font-family:Georgia,serif;font-weight:normal;font-size:26px;margin:0}.orientation-guard p{max-width:320px;line-height:1.7;font-size:13px;margin:0;color:#a08563}
@keyframes turn-upright{0%,15%{transform:rotate(-90deg)}65%,100%{transform:rotate(0)}}
@media(max-width:350px){.boutique-mode .shop-item{flex-basis:143px;width:143px}.cashier-chat{padding:7px 8px}.cashier-chat>strong{font-size:10px}#cashier-speech{font-size:10px}.cashier-invite{font-size:7px}.boutique-mode .fitting-stages button{font-size:8px;padding:5px 7px;min-height:27px}}
@media(max-height:700px){.boutique-mode .shop-item .shop-illustration.full-outfit{height:84px}.boutique-mode .shop-item h3{font-size:12px;min-height:29px}.boutique-stock{padding-top:10px}.boutique-outfit-summary:not(.is-proving) .outfit-includes{display:none}.boutique-mode .fitting-caption strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.orientation-guard svg{animation:none}}
