.princess-room{background:radial-gradient(at 20% 0%,#ffe9ba,transparent 60%),linear-gradient(#f3d6ec,#e5d4f2);padding:65px 16px 20px;min-height:100dvh}.princess-heading p{font-size:9px;letter-spacing:2px;color:#956d85;margin:8px}.princess-heading h2{font-size:26px;margin:5px 0 14px;color:#70426d}.dressing-layout{max-width:960px;margin:auto}.princess-stage{position:relative;width:min(100%,410px);margin:auto;aspect-ratio:1086/1448;max-height:49dvh;border:3px solid #fff3d6;border-radius:25px;overflow:hidden;box-shadow:0 6px 25px #86608430}.princess-stage>img{width:100%;height:100%;object-fit:fill;display:block}#princess-layers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.wardrobe{max-width:520px;margin:14px auto 0;padding:12px;background:#fff8;border:1px solid #fff;border-radius:24px}.wardrobe-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.wardrobe-tabs button{padding:7px 3px;background:#eee2f5;color:#73547e;border-radius:14px;border:2px solid transparent;font-size:22px}.wardrobe-tabs button span{display:block;font-size:11px;font-weight:bold;margin-top:3px}.wardrobe-tabs button[aria-pressed=true]{background:#f6bfdc;border-color:#bc6b9e}#wardrobe-hint{font-size:13px;margin:12px 0;color:#79597f}#wardrobe-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:220px;overflow:auto;padding:3px}.wardrobe-choice{position:relative;min-height:65px;padding:6px 3px;border-radius:14px;background:#fff9;border:2px solid #fff;color:#73547c}.wardrobe-choice[aria-pressed=true]{border-color:#9d5b9e;box-shadow:0 0 0 2px #f8d5ed}.wardrobe-choice .sample{display:grid;place-items:center;width:34px;height:34px;margin:auto;border-radius:50%;font-size:23px;box-shadow:inset 0 0 0 2px #ffffff80}.wardrobe-choice small{display:block;font-size:10px;margin-top:5px;font-weight:bold;line-height:1.1}.princess-actions{display:flex;gap:8px;margin-top:12px}.princess-actions button{border-radius:15px;padding:11px 7px;font-size:13px;background:#ead8f2;color:#765181;font-weight:bold;flex:1}#princess-done{background:#dd86b5;color:white}#princess-reset{flex:0 0 40px;font-size:20px}.wardrobe-saved{font-size:9px;margin:9px 0 0;color:#8b708c}.princess-toast{position:absolute;bottom:16px;left:5%;width:90%;background:#fff3dcec;color:#8b5c86;border:2px solid white;border-radius:20px;padding:15px 8px;font-weight:bold;font-size:16px;box-shadow:0 5px 20px #8d649744}@media(min-width:650px),(orientation:landscape){.dressing-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(270px,1fr);gap:20px;align-items:center}.princess-stage{max-height:none;width:100%;max-width:410px}.wardrobe{margin:0;width:100%}#wardrobe-options{max-height:340px}.princess-room{padding-top:65px}}@media(orientation:landscape) and (max-height:550px){.princess-room{padding:45px 15px 12px}.princess-heading{display:none}.dressing-layout{height:calc(100dvh - 60px);grid-template-columns:1fr 1.2fr;gap:12px}.princess-stage{height:100%;width:auto;max-width:100%}.wardrobe{padding:9px}.wardrobe-tabs button{font-size:18px;padding:4px}.wardrobe-tabs button span{font-size:10px}#wardrobe-hint{margin:6px}#wardrobe-options{max-height:150px;grid-template-columns:repeat(5,1fr)}.wardrobe-choice{min-height:53px}.wardrobe-choice .sample{width:25px;height:25px;font-size:18px}.wardrobe-choice small{font-size:9px}.princess-actions{margin-top:7px}.princess-actions button{padding:8px}.wardrobe-saved{font-size:8px}}@media(max-height:740px) and (orientation:portrait){.princess-room{padding-top:55px}.princess-heading h2{font-size:22px;margin-bottom:8px}.princess-stage{max-height:42dvh}.wardrobe{margin-top:10px}#wardrobe-options{max-height:155px}}

@media(orientation:portrait) and (max-width:649px){.princess-stage{width:min(100%,calc(49dvh * .75),410px);max-height:none}}@media(max-height:740px) and (orientation:portrait) and (max-width:649px){.princess-stage{width:min(100%,calc(42dvh * .75))}}

/* A single room fills the viewport; the wardrobe floats over the scenery. */
.princess-room.active{position:fixed;inset:0;z-index:12;display:block;padding:0;min-height:0;height:100dvh;overflow:hidden;background:#d9b5cc}.princess-room:before{content:"";position:absolute;inset:-12px;background:url('assets/princess-base-v7.webp') center/cover;filter:blur(9px);opacity:.65}.princess-heading{position:absolute;z-index:4;top:calc(10px + env(safe-area-inset-top));left:65px;right:65px;pointer-events:none;text-shadow:0 1px 3px white}.princess-heading p{display:none}.princess-heading h2{font-size:18px;margin:12px 0;color:#714562}.dressing-layout{position:absolute;inset:0;display:block!important;max-width:none;margin:0;height:auto}.princess-stage{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;overflow:hidden;margin:0}.princess-stage>img{object-fit:contain}.wardrobe{position:absolute;z-index:5;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-width:490px;margin:0 auto;padding:8px;background:#fff5efd9;backdrop-filter:blur(9px);border:1px solid #fffb;border-radius:23px;box-shadow:0 5px 24px #654a6840}.wardrobe-tabs{gap:6px}.wardrobe-tabs button{font-size:22px;min-height:52px;padding:6px 3px}.wardrobe-tabs button span{font-size:11px}.wardrobe-close{position:absolute;right:9px;top:68px;width:30px;height:30px;border-radius:50%;background:#eecce5;font-size:23px;color:#805679}.wardrobe:not(.open) .wardrobe-close,.wardrobe:not(.open) #wardrobe-hint,.wardrobe:not(.open) #wardrobe-options{display:none}.wardrobe:not(.open) .wardrobe-saved{display:none}#wardrobe-hint{margin:8px 35px 7px;font-size:12px}#wardrobe-options{display:flex;gap:8px;max-height:none!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding:3px 3px 8px}.wardrobe-choice{flex:0 0 66px;min-height:66px;scroll-snap-align:center;padding:5px 2px}.wardrobe-choice .sample{width:30px;height:30px;font-size:21px}.wardrobe-choice small{font-size:10px}.princess-actions{margin-top:6px}.princess-actions button{padding:8px;font-size:12px}.wardrobe-saved{display:none}.princess-toast{bottom:150px;left:10%;width:80%;z-index:6}.princess-room~#particles{z-index:40}body.princess-mode header{z-index:30}body.princess-mode{overflow:hidden}@media(orientation:landscape){.wardrobe{left:auto;right:12px;top:calc(58px + env(safe-area-inset-top));bottom:12px;width:260px;max-width:36vw;margin:0;display:flex;flex-direction:column;justify-content:center}.wardrobe-tabs{grid-template-columns:repeat(2,1fr)}#wardrobe-options{display:grid;grid-template-columns:repeat(3,1fr);overflow-y:auto;overflow-x:hidden;max-height:150px!important}.wardrobe-choice{min-height:55px}.princess-stage{right:280px!important;width:calc(100% - 280px)!important}.princess-heading{right:280px;left:60px}.wardrobe-close{top:118px;right:8px}.princess-toast{bottom:25px}.princess-actions button{font-size:10px}.wardrobe-saved{display:none}}@media(orientation:portrait) and (max-height:740px){.wardrobe-tabs button{min-height:43px;font-size:19px}.wardrobe-tabs button span{font-size:10px}.wardrobe-choice{min-height:57px}.wardrobe-close{top:60px}}

.princess-room:before{background-image:url('assets/princess-room-v8.webp');filter:none;opacity:1;inset:0}.princess-stage>img{object-fit:cover}.princess-heading h2{background:#fff4e9c9;padding:7px 10px;border-radius:18px;margin-top:4px;display:inline-block;font-size:16px}@media(orientation:landscape){.princess-room:before{background:linear-gradient(120deg,#ead1b6,#e4bed7)}.princess-stage>img{object-fit:contain}#princess-layers{aspect-ratio:941/1672;object-fit:contain}}

.princess-room:before{background:url('assets/princess-v9/room.webp') center/cover}.princess-stage{background:none}.princess-stage>img{display:none}#princess-layers{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;filter:drop-shadow(0 5px 3px #81603a30)}#princess-loading{position:absolute;left:15%;right:15%;top:40%;background:#fff8e4dc;border-radius:20px;padding:20px;color:#805780;font-weight:bold}.wardrobe-choice .sample{width:44px;height:44px;background:transparent!important;box-shadow:none}.wardrobe-choice .sample img{width:100%;height:100%;object-fit:contain}.wardrobe-choice small{font-size:10px;max-width:67px}.wardrobe-choice{min-height:78px;flex-basis:77px}.princess-stage #doll-jewel{filter:drop-shadow(0 1px 1px #5d432542)}@media(orientation:landscape){.princess-room:before{background:url('assets/princess-v9/room.webp') center/cover}.wardrobe-choice{min-height:65px}.wardrobe-choice .sample{width:34px;height:34px}#wardrobe-options{max-height:145px!important}}
