@charset "UTF-8";
/* Purchased furniture and storage share the same transparent artwork. */
.shop-tabs { display:flex; gap:8px; margin:0 0 12px; }
.shop-tabs .pill-btn { flex:1; padding:9px 12px; background:#f5eddc; border:1px solid #e2d4b7; }
.shop-tabs [aria-pressed="true"] { background:#dec58a; color:#4d3f2d; border-color:#b89755; }
.shop-filters { display:flex; gap:5px; flex-wrap:wrap; margin:7px 0 12px; }
.shop-filters .quiet-btn { padding:6px 8px; font-size:10px; border:1px solid #e5d9c3; border-radius:16px; background:#fffaf0; }
.shop-filters [aria-pressed="true"] { background:#e5ecda; border-color:#a0b08c; color:#466548; }
.shop-item-preview small { min-height:28px; text-align:center; line-height:1.5; }
.shop-decor-art .furniture-art { display:block; width:100%; height:100%; }
.shop-preview.furniture-preview { height:auto; aspect-ratio:1122 / 1402; container-type:size; }
.furniture-preview .shop-room-backdrop { position:absolute; inset:0; object-position:center; }
.warehouse-controls { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.warehouse-controls .quiet-btn { font-size:10px; padding:6px 8px; background:#f3ede1; border-radius:12px; }
.warehouse-empty { padding:28px 12px; color:var(--muted); font-size:12px; text-align:center; line-height:1.8; }
.room-furniture { position:absolute; z-index:2; pointer-events:none; user-select:none; left:calc(var(--furniture-x) * 100%); top:calc(var(--furniture-y) * 100%); width:calc(var(--furniture-width) * 100%); aspect-ratio:var(--furniture-ratio); transform:translate(-50%,-100%); }
.room-furniture .furniture-art { display:block; width:100%; height:100%; }
.furniture-background-replacement { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; user-select:none; }
.textured-room .furniture-background-replacement { --render-height:max(100cqh,calc(100cqw * 1402 / 1122)); --render-width:max(100cqw,calc(100cqh * 1122 / 1402)); max-width:none; width:var(--render-width); height:var(--render-height); left:calc((100cqw - var(--render-width)) * .5); top:calc((100cqh - var(--render-height)) * .65); }
.homestead-stage .furniture-background-replacement { z-index:1; }
.room.curtains-closed .furniture-background-replacement { filter:brightness(.72) saturate(.9); }
.room[data-mode="sleep"] .room-furniture { z-index:5; }
.textured-room .room-furniture { --render-height:max(100cqh,calc(100cqw * 1402 / 1122)); --render-width:max(100cqw,calc(100cqh * 1122 / 1402)); left:calc(var(--furniture-x) * var(--render-width) + (100cqw - var(--render-width)) * .5); top:calc(var(--furniture-y) * var(--render-height) + (100cqh - var(--render-height)) * .65); width:calc(var(--furniture-width) * var(--render-width)); }
.room[data-time-of-day="night"] .room-furniture,.homestead-page[data-time-of-day="night"] .room-furniture,.shop-preview[data-time-of-day="night"] .room-furniture { filter:brightness(.65) saturate(.8); }
.room.lights-off .room-furniture,.room.curtains-closed .room-furniture { filter:brightness(.55) saturate(.8); }
.homestead-stage .room-furniture { z-index:8; }
.economy-bar { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:0 20px 14px; font-size:11px; }
.economy-bar .quiet-btn { display:flex; align-items:center; gap:4px; padding:6px 3px; font-size:11px; white-space:nowrap; }
.economy-bar svg { width:17px; height:17px; }
.wallet-trigger { display:flex; align-items:center; gap:4px; padding:5px 8px 5px 4px; border-radius:20px; background:#f8efda; }
.wallet-trigger strong { font-variant-numeric:tabular-nums; font-size:14px; }
.wallet-trigger > span { color:var(--muted); font-size:10px; }
.coin-icon { display:inline-block; width:24px; height:24px; object-fit:contain; vertical-align:middle; flex-shrink:0; }
.coin-price { display:inline-flex; align-items:center; gap:3px; font-variant-numeric:tabular-nums; white-space:nowrap; color:#886e37; }
.coin-price .coin-icon { width:21px; height:21px; }
.wallet-total { display:flex; align-items:center; justify-content:center; gap:9px; padding:16px; }
.wallet-total .coin-icon { width:48px; height:48px; }
.wallet-total strong { font-size:36px; font-variant-numeric:tabular-nums; }
.wallet-total span { color:var(--muted); }
.wallet-ledger-title { font-size:14px; margin:20px 0 7px; }
.wallet-ledger { list-style:none; padding:0; margin:0; }
.wallet-ledger li { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid #e9e1d4; font-size:12px; }
.wallet-ledger small { display:block; color:var(--muted); }
.test-coin-note { color:var(--muted); font-size:11px; margin-top:10px; }
.daily-tasks { display:grid; gap:12px; margin:18px 0; }
.daily-task { display:flex; align-items:center; gap:10px; border:1px solid #e4d9c4; border-radius:16px; padding:14px 11px; background:#fffbef; }
.daily-task > div { flex:1; min-width:0; }
.daily-task h3 { font-size:14px; }
.daily-task p { font-size:11px; color:var(--muted); margin:5px 0; }
.daily-task small { font-size:10px; color:#9b8859; }
.task-check { color:#c6af76; font-size:22px; }
.daily-task.done { background:#f3f5e9; border-color:#d7dfc2; }
.daily-task.done .task-check { color:#839768; }
.coin-shop { padding:18px 18px 24px; }
.coin-shop-heading { display:flex; align-items:center; gap:6px; justify-content:space-between; margin-bottom:12px; }
.coin-shop-heading h2 { font-size:18px; }
.coin-shop-heading p { color:var(--muted); font-size:10px; margin-top:3px; }
.coin-shop-heading .quiet-btn { padding:6px 0; font-size:11px; white-space:nowrap; }
.shop-preview { height:240px; position:relative; overflow:hidden; border-radius:22px; background:radial-gradient(ellipse at 45% 24%,#fff9e9,#ece2cd); border:1px solid #ded0b6; }
.shop-preview-placeholder { display:grid; place-items:center; height:100%; color:var(--muted); font-size:12px; }
.shop-room-backdrop { width:100%; height:100%; object-fit:cover; object-position:50% 65%; }
.shop-preview-body { display:flex; align-items:center; justify-content:center; height:100%; position:relative; }
.shop-preview-body .pet-visual { width:190px; height:200px; position:relative; }
.shop-preview-body .pet-image { width:100%; height:100%; object-fit:contain; }
.shop-preview-body .pet-outfit { position:absolute; inset:0; }
.shop-preview-note { min-height:32px; text-align:center; margin:9px 0 13px; font-size:11px; color:var(--muted); }
.coin-shop-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.shop-item { border:1px solid #e2d7c3; background:#fffdf6; border-radius:18px; overflow:hidden; }
.shop-item.previewing { border-color:#c6a153; box-shadow:0 0 0 2px #f5e7c9; }
.shop-item-preview { width:100%; display:flex; align-items:center; flex-direction:column; gap:5px; background:transparent; padding:12px 8px 7px; }
.shop-item-preview strong { font-size:12px; }
.shop-item-preview small { color:var(--muted); font-size:10px; }
.shop-outfit-art,.shop-decor-art { display:flex; justify-content:center; align-items:center; width:110px; height:86px; }
.shop-outfit-art img { width:100%; height:100%; object-fit:contain; }
.shop-decor-art svg { width:68px; height:80px; }
.shop-decor-art .prop-art { width:75px; height:80px; }
.shop-item-bottom { display:flex; align-items:center; justify-content:space-between; padding:8px 10px 11px; font-size:11px; gap:3px; }
.shop-item-bottom .pill-btn { padding:5px 9px; font-size:11px; background:#f4e6bd; }
.shop-save-note { font-size:11px; margin-top:16px; }
.room-decor { position:absolute; pointer-events:none; z-index:2; display:block; }
.decor-flower-pot { left:12%; top:56%; width:76px; height:96px; }
.decor-flower-pot svg { width:100%; height:100%; }
.decor-cozy-rug { left:50%; top:82%; width:230px; height:60px; transform:translate(-50%,-50%); z-index:1; }
.decor-rug { display:block; position:relative; width:100%; height:100%; border-radius:50%; background:repeating-radial-gradient(ellipse,#f3ddb0 0 3px,#ead2a0 4px 5px); box-shadow:inset 0 3px 5px #fff8,0 4px 3px #a2856326; border:4px solid #e4c795; }
.decor-rug i { position:absolute; inset:12%; border:1px solid #f9ebcd; border-radius:50%; }
.shop-decor-art .decor-rug { width:104px; height:36px; }
.decor-night-lamp { left:17%; top:64%; width:64px; height:75px; }
.decor-night-lamp .prop-art { width:100%; height:100%; }
.decor-owner-cushion { left:14%; top:55%; width:60px; height:47px; }
.decor-cushion { display:block; position:relative; width:100%; height:100%; background:radial-gradient(ellipse at 30% 20%,#f8d6ca,#db9b89); border-radius:25% 30% 28% 24%; box-shadow:inset -4px -5px 7px #b67c6550,0 4px 3px #84644b24; transform:rotate(-10deg); }
.decor-cushion i { position:absolute; inset:8%; border:1px dashed #ffe0d2; border-radius:inherit; }
.shop-decor-art .decor-cushion { width:72px; height:58px; }
.homestead-stage .room-decor { z-index:2; }
.room[data-time-of-day="night"] .room-decor,.homestead-page[data-time-of-day="night"] .room-decor { filter:brightness(.65) saturate(.8); }
@media(max-width:350px) { .economy-bar { padding-left:12px; padding-right:12px; gap:3px; } .economy-bar .quiet-btn { font-size:10px; } .coin-shop { padding:14px 12px; } .coin-shop-heading h2 { font-size:16px; } }
.room-decor { left:calc(var(--decor-x) * 100%); top:calc(var(--decor-y) * 100%); width:calc(var(--decor-width) * 100%); height:calc(var(--decor-height) * 100%); transform:translate(-50%,-100%); }
.textured-room .room-decor { --render-height:max(100cqh,calc(100cqw * 1402 / 1122)); --render-width:max(100cqw,calc(100cqh * 1122 / 1402)); left:calc(var(--decor-x) * var(--render-width) + (100cqw - var(--render-width)) * .5); top:calc(var(--decor-y) * var(--render-height) + (100cqh - var(--render-height)) * .65); width:calc(var(--decor-width) * var(--render-width)); height:calc(var(--decor-height) * var(--render-height)); }
.room .decor-night-lamp { z-index:5; }
.room .decor-cozy-rug { z-index:2; }
.shop-preview .room-decor { z-index:2; }
.shop-preview[data-time-of-day="night"] .room-decor { filter:brightness(.65) saturate(.8); }
.scene-renovation-trigger { position:absolute; z-index:122; top:13px; left:12px; display:inline-flex; align-items:center; gap:5px; min-height:35px; padding:7px 12px; border:1px solid #fff9e3; border-radius:16px; color:#3d6148; background:#fff9ecef; font-size:12px; font-weight:600; box-shadow:0 2px 6px #5c452413; }
.scene-renovation-trigger svg { width:17px; height:17px; }
.room:has(.scene-renovation-trigger) .room-title { top:58px; }
.room:has(.scene-renovation-trigger) .room-actions { top:101px; }
.homestead-stage:has(.scene-renovation-trigger) .homestead-scene-label { top:58px; }
.renovation-backdrop { align-items:center; padding:12px; }
.renovation-dialog.sheet { display:flex; flex-direction:column; max-width:930px; width:100%; height:min(92dvh,780px); max-height:92dvh; overflow:hidden; padding:18px; border:1px solid #ded4bf; border-radius:24px; }
.renovation-dialog .sheet-head { flex-shrink:0; margin-bottom:12px; }
.renovation-dialog .sheet-head h2 { font-size:18px; }
.renovation-dialog .sheet-head p { font-size:11px; color:var(--muted); margin-top:4px; }
.renovation-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:18px; min-height:0; flex:1; }
.renovation-preview-wrap { display:flex; align-items:center; justify-content:center; min-height:0; min-width:0; overflow:hidden; }
.renovation-preview { position:relative; container-type:size; aspect-ratio:1122/1402; width:100%; max-height:100%; overflow:hidden; border-radius:20px; background:#ede4d1; border:1px solid #dfd3bd; }
.renovation-preview .room-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 65%; }
.renovation-preview-label { position:absolute; left:10px; bottom:10px; z-index:10; background:#fff9eced; color:#3d6148; font-size:11px; border-radius:12px; padding:5px 9px; }
.renovation-preview .room-furniture,.renovation-preview .room-decor { z-index:2; }
.renovation-preview[data-time-of-day="night"] .room-furniture,.renovation-preview[data-time-of-day="night"] .room-decor { filter:brightness(.65) saturate(.8); }
.renovation-choices { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:3px; }
.renovation-group + .renovation-group { margin-top:15px; }
.renovation-group h3 { font-size:13px; margin:0 0 8px; }
.renovation-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.renovation-option { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:3px; padding:8px 4px; min-height:116px; border:1px solid #e3d7c0; border-radius:15px; background:#fffdf5; }
.renovation-option[aria-pressed="true"] { border-color:#bd9851; background:#fbf0d5; box-shadow:inset 0 0 0 1px #bd9851; }
.renovation-item-art { display:flex; align-items:center; justify-content:center; width:100%; height:65px; overflow:hidden; }
.renovation-item-art > svg { width:90%; height:100%; }
.renovation-item-art .prop-art { width:100%; height:100%; }
.renovation-item-art .decor-rug { width:72px; height:28px; }
.renovation-item-art .decor-cushion { width:49px; height:40px; }
.renovation-option strong { font-size:10px; line-height:1.4; text-align:center; }
.renovation-option small { font-size:9px; color:#8b7652; }
.renovation-check { position:absolute; right:5px; top:3px; color:#866b2d; font-size:13px; }
.renovation-cost { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:12px; padding-top:14px; margin-top:12px; border-top:1px solid #e1d6c1; }
.renovation-summary { display:flex; flex-direction:column; gap:3px; min-width:0; }
.renovation-summary strong { font-size:13px; }
.renovation-summary small { font-size:10px; color:var(--muted); }
.renovation-actions { display:flex; gap:8px; }
.renovation-actions button { padding:10px 13px; font-size:12px; white-space:nowrap; min-height:40px; }
.outfit-colors { padding:18px; }
.outfit-colors p { font-size:11px; margin:6px 0 12px; }
.outfit-colors .coin-price { font-size:11px; margin-top:7px; }
.outfit-purchase-art { width:110px; height:100px; margin:0 auto 14px; }
.outfit-purchase-art img { width:100%; height:100%; object-fit:contain; }
@media(max-width:650px) {
  .renovation-dialog.sheet { height:94dvh; max-height:94dvh; padding:15px 12px; }
  .renovation-layout { grid-template-columns:1fr; grid-template-rows:minmax(170px,36dvh) minmax(0,1fr); gap:12px; }
  .renovation-preview { height:100%; width:auto; max-width:100%; }
  .renovation-options { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .renovation-option { min-height:102px; padding:6px 3px; border-radius:12px; }
  .renovation-item-art { height:54px; }
  .renovation-cost { display:block; padding-top:9px; margin-top:10px; }
  .renovation-summary { flex-direction:row; align-items:center; justify-content:space-between; gap:4px; margin-bottom:8px; }
  .renovation-summary small { font-size:9px; }
  .renovation-actions button { flex:1; }
}
