.garden-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:16px; }
.garden-heading h1 { font-size:30px; }
.garden-heading p { font-size:12px; margin-top:6px; max-width:660px; }
.garden-tools { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
.garden-heading{flex-wrap:wrap}.garden-tools{flex-shrink:1}
.garden-scene-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.garden-scene-toolbar .garden-space-switch{margin:0}
.garden-display-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.wallpaper-action{gap:8px}.subscriber-tag{font:10px/1.2 var(--font-body,sans-serif);letter-spacing:.025em;padding:4px 7px;border-radius:20px;background:#e7e9d7;color:#5a6847}
.garden-room-panel { position:relative; }
.room-viewport { height:clamp(560px,72vh,820px); width:100%; overflow:auto; border:1px solid #b9a77f; border-radius:22px; background:#dfc69a; box-shadow:0 6px 22px #77634225; overscroll-behavior:contain; scrollbar-color:#ae9468 #eedbb7; }
.plant-room { width:100%; min-width:1000px; min-height:var(--room-height); height:100%; position:relative; isolation:isolate; overflow:hidden; background:#dec093 url('../assets/garden-room-day-v2.png') center top / 100% auto no-repeat; }
.room-floor-extension { position:absolute; z-index:-1; left:0; width:1000px; height:120px; background:url('../assets/garden-room-day-v2.png') center bottom / 1000px auto no-repeat; pointer-events:none; }
.room-daylight { display:none; }
.room-zone-headings { position:absolute; left:20px; right:20px; top:22px; height:40px; z-index:6; pointer-events:none; }
.room-zone-marker { position:absolute; width:38px; height:38px; border:1px solid #b6a78988; border-radius:50%; display:grid; place-items:center; background:#fff7e4c9; color:#687653; pointer-events:auto; padding:0; }
.room-zone-marker:hover { background:#fff8e8; }.room-zone-marker:focus-visible { outline:3px solid #687653; outline-offset:3px; }
.room-shelf { position:absolute; height:39px; padding:0; border:0; background:none; border-radius:3px; }
.shelf-plank { display:block; width:100%; height:39px; background:url("../assets/watercolor-shelf-v1.png") 50% 52.062868% / 104.826255% 336.744186% no-repeat; }

.room-plant { position:absolute; border:0; background:transparent; padding:0; text-align:center; display:flex; flex-direction:column; align-items:center; border-radius:16px; }
.room-plant:hover { background:#fff9e53b; }
.room-plant:focus-visible { outline:3px solid #718348; outline-offset:2px; }
.room-plant-art { display:block; width:140px; height:140px; flex-shrink:0; position:relative; z-index:1; mix-blend-mode:normal; visibility:hidden; transform:translateY(var(--pot-offset)); }
.room-sprite { position:absolute; inset:0; background-repeat:no-repeat; }
.room-leaves { clip-path:inset(0 0 var(--leaf-bottom) 0); transform-origin:50% var(--leaf-pivot); }
.room-pot { clip-path:inset(var(--leaf-pivot) 0 0 0); }
.room-pot-shadow { position:absolute; top:134px; left:43px; width:54px; height:7px; border-radius:50%; background:radial-gradient(ellipse,#49332245,transparent 72%); }
.room-plant.happy .room-leaves { animation:plant-breathe 8s ease-in-out infinite; }
.room-plant:nth-of-type(2n) .room-leaves { animation-delay:-3s; }
.room-plant.wilted .room-leaves { transform:translateY(6px) rotate(-7deg) skewX(-6deg) scaleY(.86); filter:saturate(.64); }

.room-empty { position:absolute; top:260px; left:250px; width:500px; padding:30px; border-radius:20px; text-align:center; background:#fff6e4e8; }
.room-empty p { margin:10px 0 20px; }
.room-decorations { position:absolute; inset:0; z-index:2; pointer-events:none; }
.room-decoration { display:block; position:absolute; padding:0; border:0; background:transparent; margin:0; }
.decor-art { display:block; width:100%; position:relative; overflow:hidden; }
.decor-art img { position:absolute; max-width:none; object-fit:fill; }
.garden-shop .shop-art { width:160px; height:145px; margin:auto auto 14px; display:flex; align-items:end; justify-content:center; }
.garden-shop .shop-art .decor-art { width:140px; max-height:145px; }
.garden-shop .shop-card:first-child .shop-art .decor-art { width:110px; }
@media(max-width:650px) { .garden-shop .shop-card { grid-template-columns:100px 1fr; }.garden-shop .shop-art { width:100px; height:100px; margin:0; align-self:center; }.garden-shop .shop-art .decor-art,.garden-shop .shop-card:first-child .shop-art .decor-art { width:95px; max-height:100px; } }
.room-legend { display:flex; gap:16px; flex-wrap:wrap; margin:12px 0 22px; font-size:11px; color:#697354; }
.room-legend p { flex-basis:100%; }
.garden-shop>summary { font-family:var(--font-hand); font-size:23px; cursor:pointer; margin:22px 0 15px; }
.garden-shop .garden-banner { margin:16px 0; }
.room-focus .sidebar,.room-focus .topbar,.room-focus .mobile-nav,.room-focus .page-footer,.room-focus .garden-shop,.room-focus [data-weather-alerts],.room-focus .weather-mobile { display:none; }
.room-focus.app-shell { display:block; max-width:none; border:0; border-radius:0; }
.room-focus .workspace { padding:18px; }
.room-focus .room-viewport { height:calc(100dvh - 170px); }
.page-garden .rain-charm-anchor { display:none; }
.page-garden .workspace::before { opacity:.25; }
@keyframes plant-breathe { 0%,100% { transform:rotate(-.6deg); } 50% { transform:rotate(.6deg); } }
@keyframes room-light { to { opacity:.55; } }
@media(max-width:650px) { .garden-heading { display:block; }.garden-heading h1 { font-size:26px; }.garden-tools { margin-top:14px; }.room-viewport { height:66dvh; min-height:480px; border-radius:17px; }.room-legend { gap:8px 15px; }.room-focus .workspace { padding:12px; }.room-focus .room-viewport { height:calc(100dvh - 200px); } }
@media(prefers-reduced-motion:reduce) { .room-daylight,.room-plant.happy .room-leaves { animation:none; } }
body.room-paused .room-daylight,body.room-paused .room-leaves { animation-play-state:paused!important; }

.garden-space-switch { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 14px; }
.garden-space-switch .btn[aria-pressed="true"] { background:#687653; color:#fff9eb; border-color:#687653; }
.garden-space-switch .btn span { opacity:.75; font-size:.85em; margin-left:7px; }
.plant-room[data-space="outdoors"] { background-image:url('../assets/garden-balcony-day-v2.png'); }
.plant-room[data-space="outdoors"] .room-floor-extension { background-image:url('../assets/garden-balcony-day-v2.png'); }


.room-arrange-controls { padding:15px 18px; margin:0 0 14px; border:1px solid #c6b994; border-radius:16px; background:#fff8e9; font-size:12px; }
.decor-picker { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 8px; align-items:center; }
.decor-picker [aria-pressed="true"] { background:#687653; color:#fff9eb; }
.decor-placement-status { color:#5e6b48; min-height:1.5em; }
.plant-room[data-arranging="true"] { cursor:crosshair; }
.plant-room[data-arranging="true"] .room-decoration { pointer-events:auto; cursor:grab; touch-action:none; border-radius:12px; outline:1px dashed #6d794aaa; outline-offset:5px; }
.plant-room[data-arranging="true"] .room-decoration:active { cursor:grabbing; }
.plant-room[data-arranging="true"] .room-decoration.decor-selected,.plant-room[data-arranging="true"] .room-decoration:focus-visible { outline:3px solid #697c46; outline-offset:5px; }
.plant-room[data-arranging="true"] .room-decoration .decor-art { animation-play-state:paused!important; }

.room-plant-art[data-cutout="ready"],.room-plant-art[data-cutout="fallback"] { visibility:visible; }

.room-furnishings { position:absolute; inset:0; z-index:2; pointer-events:none; }
.room-furnishings>.room-plant { pointer-events:auto; }
.room-decorations { display:contents; }
.room-empty { z-index:3; }
.plant-room[data-arranging="true"] [data-room-kind] { pointer-events:auto; cursor:grab; touch-action:none; border-radius:10px; outline:1px dashed #6d794aaa; outline-offset:4px; }
.plant-room[data-arranging="true"] [data-room-kind]:active { cursor:grabbing; }
.plant-room[data-arranging="true"] [data-room-kind].decor-selected,.plant-room[data-arranging="true"] [data-room-kind]:focus-visible { outline:3px solid #697c46; }
.plant-room[data-arranging="true"] .room-leaves { animation-play-state:paused!important; }
.room-light-warning { position:absolute; top:8px; right:9px; width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:#f2d899; border:1px solid #96783f; color:#634a21; font:bold 13px/1 Arial,sans-serif; box-shadow:0 1px 3px #48321922; z-index:2; }
.room-light-warning[hidden] { display:none; }
.room-arrange-tools { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:12px 0; }
.room-arrange-tools select { flex:1; min-width:180px; max-width:340px; }
.room-arrange-tools [hidden] { display:none; }

/* Fixed 16:9 wallpaper stage. Only its camera can scroll. */
.room-viewport { position:relative; overflow-y:hidden; overscroll-behavior-x:contain; touch-action:pan-x pan-y; }
.plant-room { min-height:562.5px; height:562.5px; background-size:1000px auto; }
.room-canvas { position:relative; overflow:hidden; flex-shrink:0; }
.room-viewport:focus-visible { outline:3px solid #718348; outline-offset:3px; }
@media(min-width:651px) { .garden-heading { flex-wrap:wrap; } }

@media(min-width:651px) { [data-action="garden-fit"] { display:none; } }

@media(min-width:651px) { [data-action="garden-fit"] { display:none; } }

/* The collection uses the same transparent watercolor art in the shop and room. */
.garden-shop .shop-filter { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0; font-size:12px; }
.shop-filter select { padding:10px 14px; border:1px solid #c6b994; border-radius:12px; background:#fff8e9; color:#526047; font:inherit; }
.shop-filter [role="status"] { color:#697354; }
.garden-shop .shop-card[hidden] { display:none; }
.garden-shop .shop-art { height:170px; align-items:center; justify-content:center; }
.garden-shop .shop-art .decor-art,.garden-shop .shop-card:first-child .shop-art .decor-art { width:auto; height:150px; max-width:160px; max-height:150px; }
.garden-shop .shop-card[data-decor-category="rugs"] .decor-art { width:160px; height:auto; }
.garden-shop .shop-card[data-decor-category="paintings"] .decor-art { max-width:155px; }
.room-decoration[data-category="pets"] .decor-art { transform-origin:50% 99%; animation:cat-sleep-breathe 6s ease-in-out infinite; }
.room-decoration[data-category="pets"]:nth-child(2n) .decor-art { animation-delay:-2s; }
.room-decoration[data-category="lamps"]::before { content:''; position:absolute; inset:-45% -60% -15%; background:radial-gradient(ellipse,#ffd89166,transparent 65%); opacity:0; pointer-events:none; animation:lamp-warmth 8s ease-in-out infinite alternate; }
.plant-room[data-period="night"] .room-decoration[data-category="lamps"]::before { opacity:.75; }
.plant-room[data-period="dawn"] .room-decoration[data-category="lamps"]::before,.plant-room[data-period="dusk"] .room-decoration[data-category="lamps"]::before { opacity:.35; }
@keyframes lamp-warmth { to { transform:scale(1.045); } }
body.room-paused .room-decoration::before,body.room-manual-pause .room-decoration::before,body.room-host-paused .room-decoration::before,.plant-room[data-motion="false"] .room-decoration::before,.plant-room[data-arranging="true"] .room-decoration::before { animation-play-state:paused!important; }
@media(prefers-reduced-motion:reduce) { .room-decoration::before { animation:none!important; } }
@media(max-width:650px) { .garden-shop .shop-art { height:120px; }.garden-shop .shop-art .decor-art,.garden-shop .shop-card:first-child .shop-art .decor-art { max-width:95px; max-height:110px; height:110px; }.garden-shop .shop-card[data-decor-category="rugs"] .decor-art { width:95px; height:auto; } }

.garden-shop .shop-art .decor-art,.garden-shop .shop-card:first-child .shop-art .decor-art { width:min(160px,calc(150px * var(--decor-ratio))); height:auto; max-width:none; max-height:none; }
@media(max-width:650px) { .garden-shop .shop-art .decor-art,.garden-shop .shop-card:first-child .shop-art .decor-art { width:min(95px,calc(110px * var(--decor-ratio))); height:auto; max-width:none; max-height:none; } }

/* Shape-following shadows sit outside the art's tone filters and atlas crop. */
.plant-room .room-shelf { filter:drop-shadow(1px 3px 2.5px #4a321e35); }
.plant-room .room-plant { filter:drop-shadow(1.2px 2px 1.6px #44342130); }
.plant-room .room-decoration { filter:drop-shadow(1.3px 2.2px 1.8px #44342135); }
.plant-room .room-decoration[data-category="scrolls"],.plant-room .room-decoration[data-category="paintings"] { filter:drop-shadow(1px 1.5px 1.3px #44342138); }
.plant-room .room-decoration[data-category="rugs"] { filter:drop-shadow(0 1px 1.1px #44342138); }
.plant-room .room-pot-shadow { top:135px; left:36px; width:68px; height:7px; background:radial-gradient(ellipse,#49332250 0%,#49332224 36%,transparent 72%); filter:blur(.7px); animation:none; }
.room-decoration:is([data-category="pots"],[data-category="pets"],[data-category="lamps"],[data-category="vases"],[data-category="essentials"])::after { content:""; position:absolute; pointer-events:none; left:16%; width:68%; bottom:-2px; height:6px; background:radial-gradient(ellipse,#4933224d,transparent 70%); filter:blur(.7px); z-index:-1; }

body.inventory-visible{overflow:hidden}
#inventory-drawer{position:fixed;inset:18px 18px 18px auto;margin:0;width:440px;max-width:calc(100vw - 36px);height:calc(100dvh - 36px);max-height:none;box-sizing:border-box;padding:0;border:1px solid #c8b88f;border-radius:24px;background:#fbf5e5;color:#576043;box-shadow:-12px 8px 50px #463c2a2e;overflow:hidden;font-family:var(--font-body,sans-serif)}
#inventory-drawer:not([open]){display:none}
#inventory-drawer[open]{display:flex;flex-direction:column;animation:inventory-arrive .2s ease-out}
#inventory-drawer::backdrop{background:#554c382e}
.inventory-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 22px 18px;border-bottom:1px solid #dcd3b8;background:radial-gradient(ellipse at top right,#e2e8cf80,transparent 65%),#f9f0d9;flex:none}
.inventory-header .eyebrow{font-size:9px;letter-spacing:.16em;margin:0 0 8px}.inventory-header h2{font:30px/1.2 var(--font-hand,serif);margin:0 0 10px;color:#536343}
.inventory-header p:last-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:#7d7961;margin:0}.inventory-header p span{display:inline-flex;align-items:center;gap:4px}.inventory-header p svg{width:13px;height:13px;color:#ad8b48}
.inventory-close{width:36px;height:36px;display:grid;place-items:center;flex:none;border:1px solid #d8ceb1;border-radius:50%;background:#fff9eb;color:#697555;padding:8px;cursor:pointer}
.inventory-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 20px 12px;flex:none}
.inventory-tabs button{display:flex;flex-direction:column;align-items:center;gap:7px;border:1px solid #d9d2b8;border-radius:14px;background:#fff9eb;color:#72785d;padding:12px 6px;font:12px var(--font-body,sans-serif);cursor:pointer}
.inventory-tabs button svg{width:23px;height:23px}.inventory-tabs button[aria-pressed=true]{background:#718250;color:#fffbed;border-color:#718250;box-shadow:0 3px 8px #64763f24}
.inventory-search{padding:0 20px 12px;flex:none}.inventory-search label{display:block;font-size:10px;color:#7c7d67;margin-bottom:6px}.inventory-search>div{position:relative}.inventory-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#879074;pointer-events:none}
#inventory-drawer .inventory-search input{width:100%;height:40px;padding:8px 12px 8px 38px;border:1px solid #d9d0b5;border-radius:11px;background:#fffcef;color:#566346;font:12px var(--font-body,sans-serif);box-sizing:border-box}
.inventory-filters{display:flex;gap:6px;overflow:auto;padding:0 20px 12px;flex:none;scrollbar-width:thin;scrollbar-color:#c7caaa transparent}.inventory-filters[hidden]{display:none}
.inventory-filters button{display:inline-flex;align-items:center;gap:5px;flex:none;padding:7px 9px;border:1px solid #d8d1b9;border-radius:20px;background:#fffaee;font:10px var(--font-body,sans-serif);color:#73785c;cursor:pointer}.inventory-filters svg{width:14px;height:14px}.inventory-filters button[aria-pressed=true]{background:#e4e9d4;border-color:#a4b184;color:#50613c}
#inventory-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 18px;scrollbar-color:#b5bd96 #f6efde;scrollbar-width:thin}
.inventory-results-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:5px 0 12px;font-size:11px;color:#7d7e64}.inventory-results-heading .text-link{display:inline-flex;align-items:center;gap:4px;font-size:11px}
.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.inventory-card{min-width:0;padding:12px 9px 10px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fffbee;border:1px solid #e2d9be;border-radius:15px;box-shadow:0 2px 4px #74644108}
.inventory-art{width:100%;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 0 8px}
.inventory-art .decor-art{width:min(100%,100px);height:auto;max-height:100px}.inventory-art .decor-art:has(img){width:min(100px,calc(100px * var(--decor-ratio)))}
.inventory-art .inventory-plant-art{display:block;width:110px;height:110px;flex:none;margin:0;transform:none}
.inventory-art .inventory-shelf-art{width:130px;height:39px;flex:none}
.inventory-card h3{font:17px/1.3 var(--font-hand,serif);margin:0 0 5px;color:#626747;overflow-wrap:anywhere}.inventory-card>p{font-size:10px;line-height:1.4;color:#8b866b;margin:0 0 10px}
.inventory-card-actions{margin-top:auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.inventory-card-actions .btn{width:100%;justify-content:center;min-height:36px;padding:7px 9px;font-size:11px}.inventory-card-actions .text-link{font-size:10px;min-height:30px}.inventory-stored{font-size:9px;color:#919079;min-height:30px;display:grid;place-items:center}
.inventory-empty{text-align:center;padding:32px 15px;color:#85876c}.inventory-empty>svg{width:42px;height:42px;opacity:.65}.inventory-empty h3{font:22px var(--font-hand,serif);margin:16px 0 10px}.inventory-empty p{font-size:12px;line-height:1.7}
.inventory-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px;font-size:11px}.inventory-pagination .btn{padding:8px;font-size:11px}
.inventory-footer{padding:13px 20px 18px;border-top:1px solid #ddd5bd;background:#f4eedc;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;flex:none}.inventory-footer>span{font-size:10px;color:#86836b}.inventory-footer button{display:flex;align-items:center;gap:6px;font-size:11px}
#inventory-drawer button:focus-visible,#inventory-drawer input:focus-visible{outline:2px solid #647c43;outline-offset:2px}
@keyframes inventory-arrive{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#inventory-drawer[open]{animation:none}}
@media(max-width:650px){#inventory-drawer{inset:0 0 0 auto;width:100%;max-width:100%;height:100dvh;border-radius:0;border-width:0}.inventory-header{padding:20px 18px 14px}.inventory-tabs{padding:12px 16px 10px}.inventory-search{padding:0 16px 10px}.inventory-filters{padding:0 16px 10px}#inventory-results{padding:0 16px 16px}.inventory-footer{padding:12px 16px max(16px,env(safe-area-inset-bottom))}.inventory-card-actions .btn,.inventory-card-actions .text-link{min-height:44px}.inventory-close{width:44px;height:44px}.garden-display-tools{width:100%}.garden-display-tools .wallpaper-action{font-size:11px}.subscriber-tag{font-size:9px}}
