:root {
  --pink: #f2a5c4;
  --pink-dark: #d979a0;
  --cream: #fff9f3;
  --ink: #573f4b;
  --shadow: 0 16px 50px rgba(91, 51, 70, .22);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#f7e8ee;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
body{overflow:hidden}
button{font:inherit}
.app-shell{width:100vw;height:100vh;display:grid;place-items:center;padding:14px}
.game-wrap{width:min(100%,1500px);height:min(100%,900px);display:grid;grid-template-rows:minmax(0,1fr) 122px;border-radius:28px;overflow:hidden;background:var(--cream);box-shadow:var(--shadow);border:3px solid rgba(255,255,255,.75)}
.stage{position:relative;overflow:hidden;touch-action:none;background:#f7dce8;isolation:isolate}
.room-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.scene{position:absolute;inset:0;overflow:hidden}
.placeable{position:absolute;left:0;top:0;transform-origin:50% 100%;user-select:none;touch-action:none;cursor:grab;filter:drop-shadow(0 5px 4px rgba(75,45,60,.14));will-change:transform}
.placeable.dragging{cursor:grabbing;filter:drop-shadow(0 12px 10px rgba(75,45,60,.24))}
.placeable.selected{outline:3px solid rgba(255,255,255,.92);outline-offset:4px;border-radius:12px}
.round-btn{position:absolute;z-index:1000;width:54px;height:54px;border-radius:50%;border:3px solid rgba(255,255,255,.9);background:var(--pink);color:white;font-weight:900;font-size:28px;display:grid;place-items:center;box-shadow:0 7px 18px rgba(91,51,70,.2);cursor:pointer}
.home-btn{left:18px;top:18px}.pose-btn{right:18px;top:18px}
.trash-zone{position:absolute;left:50%;bottom:18px;translate:-50% 0;width:80px;height:54px;border-radius:28px;background:rgba(198,77,112,.82);color:#fff;font-size:38px;font-weight:300;display:grid;place-items:center;opacity:0;transform:scale(.8);transition:.15s;z-index:999;pointer-events:none}
.stage.drag-active .trash-zone{opacity:1;transform:scale(1)}
.trash-zone.hot{background:#be345e;transform:scale(1.12)}
.dock{display:grid;grid-template-columns:100px 100px minmax(0,1fr);gap:10px;align-items:center;padding:12px 16px;background:linear-gradient(#fff9fb,#f8dbe8);border-top:2px solid rgba(214,132,166,.25)}
.dock-tab{height:78px;border:0;border-radius:22px;background:#fff;color:var(--ink);font-weight:800;font-size:16px;box-shadow:0 5px 14px rgba(100,55,74,.12);cursor:pointer}
.dock-tab.active{background:var(--pink);color:#fff}
.inventory{height:92px;display:flex;gap:12px;align-items:center;overflow-x:auto;padding:5px 6px;scrollbar-width:thin}
.inventory-card{flex:0 0 96px;height:84px;border:0;border-radius:18px;background:#fff;display:grid;place-items:center;padding:7px;cursor:pointer;box-shadow:0 5px 14px rgba(100,55,74,.11)}
.inventory-card img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.inventory-card span{font-size:12px;font-weight:700}
@media(max-width:760px){.app-shell{padding:0}.game-wrap{height:100vh;border-radius:0;border:0;grid-template-rows:minmax(0,1fr) 104px}.dock{grid-template-columns:70px 70px 1fr;padding:8px}.dock-tab{height:66px;font-size:13px}.inventory{height:80px}.inventory-card{flex-basis:78px;height:70px}.round-btn{width:46px;height:46px;font-size:23px}}
