/* Scoped boutique styles preserve the landing art and other games. */
#spaceCabin{padding:24px;background:#fffaf0;color:#304f56;border:1px solid #d9d4b9;border-radius:28px;overflow:hidden}
#spaceCabin button{color:#304f56;background:#fffcf3;border:1px solid #c7cbbb;box-shadow:0 3px 0 #d6cfb4;border-radius:15px;min-height:48px;font-size:15px;font-weight:700}
#spaceCabin button.primary{background:#3c7775;color:#fff9ed;border-color:#3c7775;box-shadow:0 3px 0 #285758}
#spaceCabin button:disabled{opacity:.55;cursor:default;filter:none}
#spaceCabin button[aria-pressed=true]{background:#e0eeea;border-color:#397c7a;box-shadow:0 3px 0 #aac3bc}
#spaceCabin .cabin-heading h2{font-size:clamp(22px,3vw,32px);margin:5px 0}
#spaceCabin .cabin-heading small{color:#736648;font-size:10px;letter-spacing:.18em}
.cabin-intro{margin:10px 0 22px;line-height:1.7}
#spaceCabin .cabin-wallet{display:flex;align-items:center;gap:8px;background:#f7e5b0;border:1px solid #d6b676;border-radius:20px;padding:8px 15px;font-size:24px}
#spaceCabin .cabin-wallet small{letter-spacing:0;font-size:12px}
.cabin-coin{width:27px;height:27px;flex:0 0 27px;vertical-align:middle}.cabin-wallet .cabin-coin{width:37px;height:37px}
.cabin-tabs,.cabin-categories{display:flex;gap:10px;flex-wrap:wrap}.cabin-tabs{padding:8px;background:#ede8d8;border-radius:20px}.cabin-tabs button{flex:1;min-width:100px}
.cabin-notice{min-height:26px;margin:14px 0;color:#376d65;font-weight:700;line-height:1.5}
.cabin-boutique{position:relative;aspect-ratio:2.4;overflow:hidden;border-radius:22px;border:3px solid #d7b473;background:#eee1c5}.cabin-boutique>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.cabin-welcome{position:absolute;left:6%;top:15%;padding:18px 24px;background:#fffcf1ec;border:2px solid #d3b783;border-radius:20px;line-height:1.8;font-size:20px;font-weight:700;box-shadow:0 5px 18px #5e44231a;margin:0}
.cabin-categories{margin:22px 0 16px}.cabin-categories button{min-width:85px;padding:10px 20px}
#spaceCabin .cabin-showpiece{position:absolute;left:var(--display-x);bottom:15%;transform:translateX(-50%);width:13%;height:45%;min-height:44px;min-width:44px;border:0;background:transparent;box-shadow:none;padding:0}.cabin-showpiece .cabin-object{height:100%;filter:drop-shadow(0 6px 3px #50331a40)}#spaceCabin .cabin-showpiece:hover{background:#fffae833;border-radius:20px}.cabin-back-flight{display:block;margin:24px auto 4px;padding:12px 24px}
.cabin-goods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
#spaceCabin .cabin-goods>button{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;background:radial-gradient(ellipse at 50% 35%,#fff7db,#faf4e9);border:2px solid #e2d7bf;padding:12px 10px;font-size:14px;min-width:0;overflow:hidden}
.cabin-object{display:block;width:100%;height:140px;object-fit:contain;user-select:none;pointer-events:none;filter:drop-shadow(0 4px 3px #72562f22)}
.cabin-goods strong{min-height:24px;line-height:1.5}.cabin-price{display:flex;gap:5px;align-items:center;justify-content:center;min-height:30px}.cabin-owned{font-size:12px;color:#47746b;border:1px solid #ccdcd0;background:#eff3e9;border-radius:20px;padding:5px 12px}
.cabin-detail{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:24px;background:#f3ebda;border:1px solid #ddceb0;border-radius:22px;padding:20px;margin:18px 0}
.cabin-detail>.cabin-object{height:180px}.cabin-detail small{color:#7b714f;letter-spacing:.07em;font-size:10px}.cabin-detail h3{font-size:22px;margin:7px 0}.cabin-detail p{line-height:1.6}
.cabin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cabin-actions button{display:inline-flex;align-items:center;gap:7px;justify-content:center;padding:12px 20px}.cabin-short{font-size:14px;color:#7a6548}.cabin-short button{font-size:13px!important;padding:7px 14px}
.cabin-room-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}.cabin-room-tools h3{font-size:18px;margin:0}.cabin-room-tools button{font-size:13px!important;padding:8px 16px}
.cabin-scene{position:relative;aspect-ratio:1.5;border:3px solid #d6b273;border-radius:24px;overflow:hidden;background:#ead4aa;isolation:isolate}
.cabin-backdrop{display:block;width:100%;height:100%;object-fit:cover}.cabin-evening{position:absolute;inset:0;background:linear-gradient(#23345460,#33394e38);opacity:0;pointer-events:none;transition:opacity .4s}.cabin-night .cabin-evening{opacity:1}
#spaceCabin .cabin-spot{position:absolute;left:var(--spot-x);top:var(--spot-y);transform:translate(-50%,-100%);width:16%;height:24%;min-height:48px;min-width:48px;border:2px dashed #547a7990;background:#fffbdf44;border-radius:18px;padding:5px;box-shadow:none;display:grid;place-items:center;touch-action:none}
#spaceCabin .cabin-spot.empty{height:12%;width:12%;border-color:#567c6f88;background:#fffdf078}
.cabin-spot .cabin-object{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 3px #40261736)}
#spaceCabin .cabin-spot.filled{border-color:transparent;background:transparent}
#spaceCabin .cabin-spot.filled:hover,#spaceCabin .cabin-spot.filled:focus-visible{border-color:#387974;background:#fffbea55}
#spaceCabin.cabin-dragging .cabin-spot{border-color:#467f75;background:#fffbea55}
#spaceCabin .cabin-spot.drop-ready{border:3px solid #478671;background:#ffefb7aa}
.cabin-spot>span{font-size:26px;line-height:1}.cabin-spot small{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);display:grid;place-items:center;border-radius:50%;font-size:11px;color:#486966;background:#fff9e4;width:22px;height:22px;border:1px solid #bcc5ae;pointer-events:none}
.cabin-spot.filled small{opacity:0}.cabin-dragging .cabin-spot.filled small,.cabin-spot:focus-visible small{opacity:1}
#spaceCabin .cabin-spot.trial{border:2px dashed #a67930;background:#fff2c444}
.cabin-hint{font-size:15px;line-height:1.7;min-height:28px;margin:18px 0}.cabin-trial-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f4e1b2;border:1px solid #d5b776;border-radius:18px;padding:14px;margin-bottom:18px}
.cabin-empty{text-align:center;background:#eeeade;border-radius:18px;padding:25px}.cabin-empty strong{font-size:18px}.cabin-empty button{padding:12px 24px}.cabin-organize{justify-content:center;margin:22px 0}
.cabin-drag-ghost{position:fixed;width:110px;height:110px;transform:translate(-50%,-70%);z-index:10000;pointer-events:none;filter:drop-shadow(0 10px 7px #30434e44)}.cabin-drag-ghost .cabin-object{height:100%}
#spaceCabin [data-drag-good]{touch-action:none;cursor:grab}.cabin-dragging [data-drag-good]{cursor:grabbing}
.cabin-trade-title>div{display:flex;align-items:center;gap:10px}.cabin-trade-title h3{margin:5px 0}.cabin-trade-title p{line-height:1.7}
.cabin-trades{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
.cabin-trades article{display:flex;flex-direction:column;align-items:center;gap:10px;border:1px solid #dfd4bc;background:#fcf6e9;border-radius:20px;padding:14px 10px;text-align:center;min-width:0}
.cabin-trades article>img{width:100%;height:100px;object-fit:contain}.cabin-trades article>strong{font-size:14px}.cabin-trades article>span{font-size:13px}.cabin-trades button{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:10px 5px;font-size:13px!important}.cabin-trades .cabin-coin{width:23px;height:23px;flex-basis:23px}
.cabin-unknown{min-height:210px;background:#eeeadd;border:1px dashed #d9d2bc;color:#8b927f;font-size:44px}.cabin-unknown small{font-size:13px}
.cabin-collection-progress{display:grid;grid-template-columns:1fr auto;gap:8px;margin:26px 0 0;padding:18px;background:#e8eee4;border-radius:18px;font-size:14px}.cabin-collection-progress>div{grid-column:1/-1;height:8px;background:#cdd9cb;border-radius:20px;overflow:hidden}.cabin-collection-progress i{height:100%;display:block;background:#6e9987;border-radius:20px}.cabin-collection-progress small{grid-column:1/-1;color:#607164}
@media(max-width:700px){#spaceCabin{padding:14px}.cabin-goods,.cabin-trades{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cabin-object{height:110px}.cabin-boutique{aspect-ratio:1.9}.cabin-welcome{font-size:16px;padding:10px 14px;left:4%;top:10%}.cabin-detail{grid-template-columns:115px 1fr;gap:14px;padding:14px}.cabin-detail>.cabin-object{height:130px}.cabin-detail h3{font-size:18px}.cabin-detail p{font-size:14px}.cabin-detail .cabin-actions button{width:100%;padding:10px}.cabin-trial-bar{flex-direction:column;align-items:stretch}.cabin-trial-bar .cabin-actions{justify-content:center}.cabin-scene{border-radius:18px}.cabin-tabs{gap:6px}.cabin-tabs button{min-width:70px;font-size:13px!important;padding:10px 6px}}
@media(max-width:460px){#spaceCabin .cabin-heading h2{font-size:21px}.cabin-heading{gap:7px;align-items:center}#spaceCabin .cabin-wallet{padding:7px 9px;gap:4px;font-size:19px}.cabin-wallet .cabin-coin{width:28px;height:28px}.cabin-wallet small{display:none}.cabin-goods,.cabin-trades{grid-template-columns:repeat(2,minmax(0,1fr))}.cabin-goods .cabin-object{height:125px}.cabin-categories{gap:6px}.cabin-categories button{flex:1;min-width:55px;font-size:12px!important;padding:9px 6px}.cabin-room-tools{align-items:flex-start}.cabin-room-tools h3{font-size:15px;line-height:1.5}.cabin-room-tools button{max-width:130px;font-size:12px!important}.cabin-actions{gap:8px}.cabin-actions button{font-size:13px!important}.cabin-detail{grid-template-columns:85px 1fr;gap:10px}.cabin-detail>.cabin-object{height:110px}.cabin-welcome{font-size:14px;padding:8px 12px}.cabin-intro{font-size:14px}.cabin-trades article>img{height:110px}#spaceCabin .cabin-spot small{width:17px;height:17px;font-size:10px}.cabin-hint{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cabin-evening{transition:none}}
