/* Glasshouse After Rain, Part 1: original conservatory architecture and wet-glass interface. */
@media screen {
  html[data-world='glasshouse-after-rain'] { --theme-badge-radius: 50% 4px 50% 4px; --theme-badge-clip: polygon(8% 0,92% 0,100% 12%,100% 88%,92% 100%,8% 100%,0 88%,0 12%); }
  html[data-world='glasshouse-after-rain'] {
    --glass-iron:#3E4743; --glass-brass:#A68A50; --glass-rain:#668C9A;
    --glass-sun:#F1D38A; --glass-leaf:#3D684A; --glass-deep-leaf:#234631;
    --glass-botanical:#637C4E; --glass-terracotta:#A7664C;
    --glass-water-glint:#fffef1; --glass-water-shadow:#416c75;
    --glasshouse-canvas:radial-gradient(ellipse at 50% 13%,#f1d38a25,transparent 37%),linear-gradient(180deg,#c0d0c8 0%,#d5e2dc 46%,#697d70 100%);
    --glasshouse-canvas-edge:#697d70;
    --cine-border:color-mix(in srgb,var(--world-border) 72%,var(--glass-iron));
    --cine-shape:none;
    --cine-material:linear-gradient(124deg,color-mix(in srgb,var(--world-surface) 92%,var(--glass-rain) 8%),var(--world-surface) 44%,color-mix(in srgb,var(--world-elevated) 68%,var(--world-surface)));
    --cine-shadow:0 18px 38px -28px var(--world-deep),inset 0 1px 0 color-mix(in srgb,var(--world-highlight) 42%,transparent),inset 4px 0 0 -2px var(--glass-iron),inset 0 -1px 0 color-mix(in srgb,var(--glass-brass) 45%,transparent);
    --cine-press:glasshouse-pane-press;
    --cine-flow-ink:var(--glass-leaf); --cine-flow-secondary:var(--glass-brass);
    --room-ambient:glasshouse-room-light; --room-note-attention:glasshouse-note-waterline;
    --room-late-ambient:glasshouse-late-reflection; --room-inspect-ambient:glasshouse-inspection-clear;
    --room-amber:#A7664C; --room-amber-fill:#F0E0D6; --room-stripped:#526555;
    --room-stripped-fill:#DFE8DD; --room-bed:#41677B; --room-bed-fill:#DCE8EB;
    --room-finished:#315D3E; --room-finished-fill:#DCE8D9;
  }
  /* The page scenery fills the whole viewport. Hide only the outer scrollbar
     and its reserved gutter; wheel, touch and keyboard scrolling remain native.
     Scrollbars inside room lists and dialogs are unchanged. */
  html[data-world='glasshouse-after-rain'] {
    background-color:var(--glasshouse-canvas-edge);
    background-image:var(--glasshouse-canvas);
    background-size:100vw 100vh;
    background-position:0 0;
    background-repeat:no-repeat;
    background-attachment:fixed;
    scrollbar-width:none !important;
    scrollbar-gutter:auto !important;
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] {
    --glasshouse-canvas:radial-gradient(ellipse at 70% 18%,#d4aa6020,transparent 35%),linear-gradient(180deg,#101b16 0%,#182a22 55%,#111b16 100%);
    --glasshouse-canvas-edge:#111b16;
  }
  html[data-world='glasshouse-after-rain']::-webkit-scrollbar,
  html[data-world='glasshouse-after-rain'] > body::-webkit-scrollbar { display:none; width:0; height:0; }
  html[data-world='glasshouse-after-rain'] body,
  html[data-world='glasshouse-after-rain'] .workspace {
    background:var(--world-background) !important;
  }
  html[data-world='glasshouse-after-rain'] .world-base {
    background:var(--glasshouse-canvas);
    animation:none !important;
  }
  html[data-world='glasshouse-after-rain'] .world-horizon {
    opacity:.52;
    background:radial-gradient(ellipse at 19% 44%,#dce8dc70 0 8%,transparent 35%),radial-gradient(ellipse at 80% 49%,#c4d7d080 0 7%,transparent 32%),linear-gradient(180deg,transparent 42%,#53675a30 75%,#18251e66 100%);
    filter:blur(13px);
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .world-horizon {
    opacity:.64;
    background:radial-gradient(ellipse at 18% 42%,#d4aa6026 0 5%,transparent 28%),radial-gradient(ellipse at 82% 51%,#668c9a36 0 8%,transparent 31%),linear-gradient(180deg,transparent 40%,#15251f80 80%,#0a120f 100%);
  }
  html[data-world='glasshouse-after-rain'] .world-silhouette { display:none !important; }
  html[data-world='glasshouse-after-rain'] .world-atmosphere { opacity:.92 !important; }
  html[data-world='glasshouse-after-rain'] .cinema-atmosphere { isolation:isolate; }
  /* These planes use insets for their extent. The shared 100% width/height
     otherwise wins over the far inset and leaves a cropped strip on phones. */
  html[data-world='glasshouse-after-rain'] .cinema-atmosphere > div { width:auto; height:auto; }
  html[data-world='glasshouse-after-rain'] .glasshouse-clouds {
    inset:-12% -14% 35% !important; opacity:.52;
    background:radial-gradient(ellipse at 16% 28%,#edf1e69a 0 7%,transparent 28%),radial-gradient(ellipse at 53% 6%,#f8f6e58c 0 9%,transparent 32%),radial-gradient(ellipse at 89% 36%,#d4e1dc9c 0 8%,transparent 32%),linear-gradient(160deg,#84999122,transparent 66%);
    filter:blur(20px); mix-blend-mode:screen;
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-clouds {
    opacity:.44; background:radial-gradient(ellipse at 18% 32%,#668c9a2c 0 8%,transparent 34%),radial-gradient(ellipse at 80% 14%,#d4aa6020 0 8%,transparent 29%),linear-gradient(170deg,#050b0a,transparent 70%); mix-blend-mode:screen;
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-scene {
    inset:-3% -4% -1% !important; opacity:.77;
    background:url('/glasshouse-after-rain.svg') center 44% / cover no-repeat;
    filter:saturate(.73) contrast(.92);
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-scene {
    opacity:.55; filter:saturate(.55) brightness(.62) contrast(1.12);
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-condensation {
    inset:0 !important; opacity:.32;
    background:radial-gradient(ellipse 25% 13% at 2% 29%,#eff5ea8c,transparent 100%),radial-gradient(ellipse 21% 17% at 99% 39%,#e8f0e881,transparent 100%),radial-gradient(ellipse 36% 11% at 24% 91%,#dce7db58,transparent 100%),radial-gradient(ellipse 23% 12% at 84% 84%,#e4ebe36b,transparent 100%);
    filter:blur(16px); mask-image:linear-gradient(90deg,#000 0,transparent 20% 80%,#000 100%);
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-condensation { opacity:.24; background:radial-gradient(ellipse 24% 15% at 2% 28%,#a6c5b650,transparent),radial-gradient(ellipse 22% 16% at 99% 41%,#9cbab94c,transparent),radial-gradient(ellipse 25% 12% at 87% 83%,#c3d3c934,transparent); }
  html[data-world='glasshouse-after-rain'] .glasshouse-condensation::after {
    content:''; position:absolute; inset:12% 5% 29%; opacity:0;
    background:radial-gradient(ellipse at 51% 45%,#ffffff80 0 8%,#edf3e722 30%,transparent 58%);
    filter:blur(22px); animation:glasshouse-pane-clearing 91s ease-in-out infinite;
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] { --glass-water-glint:#ffe8ab; --glass-water-shadow:#7bb2b8; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water { inset:0 !important; opacity:.94; }
  /* The clinging beads stay still. Only a few drops travel at once, in the
     exposed gutters as well as on the distant panes behind the cards. */
  html[data-world='glasshouse-after-rain'] .glasshouse-water::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
      radial-gradient(ellipse 3px 5px at 99% 17%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 4px 6px at 98% 54%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 2px 4px at 99% 78%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 3px 5px at 1% 42%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 3px 4px at 2% 67%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 3px 5px at 24% 19%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 2px 4px at 42% 15%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 4px 6px at 72% 21%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%),
      radial-gradient(ellipse 3px 5px at 83% 39%,var(--glass-water-glint) 18%,var(--glass-water-shadow) 48%,transparent 78%);
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i {
    --drop-duration:23s; --drop-phase:-6s;
    position:absolute; display:block; width:7px; height:11px; border-radius:70% 45% 65% 50%;
    background:radial-gradient(circle at 34% 26%,var(--glass-water-glint) 0 18%,#d6e9e5 28%,var(--glass-water-shadow) 60%,#d7e4d799 76%,transparent 82%);
    box-shadow:0 1px 2px #183c4580,inset 0 0 1px var(--glass-water-glint); opacity:.85; transform-origin:50% 0;
    animation:glasshouse-drop-travel var(--drop-duration) var(--drop-phase) linear infinite;
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(1) { right:9px;top:12%; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(2) { left:calc(var(--sidebar,224px) + 12px);top:19%;--drop-duration:31s;--drop-phase:-14s; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(3) { right:18px;top:45%;width:5px;height:8px;--drop-duration:37s;--drop-phase:-22s; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(4) { left:44%;top:8%;width:5px;height:8px;--drop-duration:41s;--drop-phase:-4s; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(5) { left:73%;top:21%;--drop-duration:47s;--drop-phase:-27s; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(6) { right:11px;top:62%;width:4px;height:7px;--drop-duration:53s;--drop-phase:-19s; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i::after {
    content:''; position:absolute; left:3px;bottom:7px;width:2px;height:7vh;
    background:linear-gradient(transparent,var(--glass-water-glint)); transform-origin:bottom; opacity:.42;
    animation:glasshouse-drop-trail var(--drop-duration) var(--drop-phase) linear infinite;
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(2)::before {
    content:''; position:absolute; left:-5px;top:-4px;width:3px;height:4px;border-radius:50%;
    background:var(--glass-water-glint); animation:glasshouse-drop-merge var(--drop-duration) var(--drop-phase) linear infinite;
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-leaf-drops { inset:0 !important; }
  html[data-world='glasshouse-after-rain'] .glasshouse-leaf-drops i {
    position:absolute; top:67%; width:7px;height:9px;border-radius:60% 45% 68% 48%;
    background:radial-gradient(circle at 32% 25%,#fff 0 12%,#dce9dc 24%,#82a6a1 68%,transparent 76%);
    opacity:0; transform-origin:50% -18px;
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-leaf-drops i:first-child { left:8%;animation:glasshouse-leaf-release 97s -56s ease-in-out infinite; }
  html[data-world='glasshouse-after-rain'] .glasshouse-leaf-drops i:last-child { left:91%;top:61%;animation:glasshouse-leaf-release 131s -81s ease-in-out infinite; }
  html[data-world='glasshouse-after-rain'] .glasshouse-sunlight {
    inset:-12% 7% 15% !important; opacity:.3;
    background:linear-gradient(113deg,transparent 0 38%,#f1d38a00 41%,#fff1c72e 48%,#f1d38a00 58%,transparent 64%),linear-gradient(124deg,transparent 0 62%,#e8f0dc20 68%,transparent 74%);
    filter:blur(12px); mix-blend-mode:screen;
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-sunlight {
    opacity:.28; background:radial-gradient(ellipse at 78% 35%,#d4aa6024,transparent 35%),linear-gradient(125deg,transparent 0 61%,#d4aa6015 67%,transparent 74%);
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-puddle-light {
    inset:61% -6% -2% !important; opacity:.34;
    background:radial-gradient(ellipse at 24% 65%,#c5d5c52c 0 7%,transparent 29%),radial-gradient(ellipse at 73% 77%,#d5bd7a2c 0 8%,transparent 31%),linear-gradient(180deg,transparent 28%,#16261d26 100%);
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-puddle-light i {
    position:absolute; left:22%;top:54%;width:min(20vw,210px);height:34px;border:1px solid #d1e0d247;border-radius:50%;
    opacity:0; transform:scale(.35); box-shadow:0 0 9px #f1d38a13;
  }
  html[data-world='glasshouse-after-rain'] .glasshouse-puddle-light i:last-child { left:73%;top:69%;width:min(15vw,160px);height:26px;animation-delay:38s; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-puddle-light i { animation:glasshouse-puddle-ripple 113s -52s ease-out infinite; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-puddle-light i:last-child { animation-delay:-72s; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-leaf-drops i { animation-name:glasshouse-leaf-release; }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-puddle-light {
    opacity:.42; background:radial-gradient(ellipse at 25% 65%,#668c9a20 0 8%,transparent 30%),radial-gradient(ellipse at 72% 76%,#d4aa602c 0 8%,transparent 30%);
  }
  /* Fine iron rails and etched brass joints make cards feel mounted into the house, not frosted-glass widgets. */
  html[data-world='glasshouse-after-rain'] #app-view .view :is(.panel,.metric,.room-card,.prod-score-card,.summary-card,.metric-card) {
    position:relative; border:1px solid color-mix(in srgb,var(--glass-iron) 52%,var(--world-border)) !important;
    border-radius:var(--world-radius) !important; background:var(--cine-material) !important;
    box-shadow:var(--cine-shadow) !important; clip-path:none !important; backdrop-filter:blur(7px) saturate(.94);
  }
  html[data-world='glasshouse-after-rain'] #app-view .view :is(.panel,.room-card,.prod-score-card,.summary-card)::before {
    content:''; position:absolute; inset:5px; border:1px solid color-mix(in srgb,var(--glass-brass) 38%,transparent);
    border-right-color:transparent; border-bottom-color:color-mix(in srgb,var(--glass-iron) 24%,transparent);
    border-radius:inherit; pointer-events:none; opacity:.68;
  }
  html[data-world='glasshouse-after-rain'] #app-view .view :is(.panel,.room-card,.prod-score-card,.summary-card)::after {
    content:''; position:absolute; top:9px; right:11px; width:7px; height:7px; border-radius:50%;
    background:var(--glass-brass); box-shadow:0 0 0 2px color-mix(in srgb,var(--glass-iron) 35%,transparent),0 0 9px color-mix(in srgb,var(--glass-sun) 42%,transparent); pointer-events:none;
  }
  html[data-world='glasshouse-after-rain'] #app-view .view :is(.panel,.room-card,.prod-score-card,.summary-card):is(:hover,:focus-within) {
    box-shadow:var(--cine-shadow),inset 0 0 48px -38px color-mix(in srgb,var(--glass-sun) 54%,transparent) !important;
    border-color:color-mix(in srgb,var(--glass-brass) 64%,var(--world-border)) !important;
  }
  html[data-world='glasshouse-after-rain'] #app-view .view :is(.panel,.room-card,.prod-score-card,.summary-card):is(:hover,:focus-within)::after {
    background:var(--glass-sun); box-shadow:0 0 0 2px color-mix(in srgb,var(--glass-iron) 35%,transparent),0 0 15px color-mix(in srgb,var(--glass-sun) 70%,transparent);
  }
  html[data-world='glasshouse-after-rain'] #app-view .view :is(.panel-head,.panel > header,.room-card-head) {
    border-bottom:1px solid color-mix(in srgb,var(--glass-iron) 30%,var(--world-border));
    background:linear-gradient(90deg,color-mix(in srgb,var(--glass-iron) 7%,transparent),transparent 56%,color-mix(in srgb,var(--glass-rain) 9%,transparent));
  }
  html[data-world='glasshouse-after-rain'][data-theme][data-mode] :is(.sidebar,.topbar,#mobile-nav-sheet,.mobile-nav-bar) {
    border-color:color-mix(in srgb,var(--glass-brass) 48%,var(--world-border)) !important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--world-surface) 94%,var(--glass-rain) 6%),color-mix(in srgb,var(--world-deep) 9%,var(--world-surface))) !important;
    box-shadow:inset -4px 0 0 -2px color-mix(in srgb,var(--glass-iron) 40%,transparent),inset 0 1px 0 color-mix(in srgb,var(--glass-brass) 48%,transparent);
  }
  html[data-world='glasshouse-after-rain'] :is(.nav-item,.mobile-nav-sheet-item) { border-bottom:1px solid color-mix(in srgb,var(--glass-iron) 18%,transparent); }
  html[data-world='glasshouse-after-rain'] :is(.nav-item.active,.mobile-nav-sheet-item.active,[aria-selected='true']) {
    background:linear-gradient(90deg,color-mix(in srgb,var(--glass-leaf) 18%,var(--world-surface)),color-mix(in srgb,var(--glass-rain) 8%,var(--world-surface))) !important;
    box-shadow:inset 3px 0 var(--glass-brass),inset 0 1px 0 color-mix(in srgb,var(--glass-sun) 36%,transparent) !important;
  }
  html[data-world='glasshouse-after-rain'][data-theme][data-mode] #app-view .topbar {
    border-bottom:1px solid color-mix(in srgb,var(--glass-brass) 54%,var(--world-border));
    background:linear-gradient(100deg,color-mix(in srgb,var(--world-surface) 94%,var(--glass-rain) 6%),color-mix(in srgb,var(--world-surface) 87%,var(--glass-leaf) 13%)) !important;
    box-shadow:inset 0 -3px 0 -2px var(--glass-iron),0 12px 35px -27px var(--world-deep);
  }
  html[data-world='glasshouse-after-rain'] .tab-selector-bar,
  html[data-world='glasshouse-after-rain'] .tab-bar,
  html[data-world='glasshouse-after-rain'] [role='tablist'] { border-color:color-mix(in srgb,var(--glass-iron) 48%,var(--world-border)); }
  html[data-world='glasshouse-after-rain'] :is(.tab-selector-bar button,.tab-bar button,[role='tab']) {
    border:1px solid color-mix(in srgb,var(--glass-iron) 44%,var(--world-border));
    border-radius:var(--world-control-radius) !important; background:linear-gradient(145deg,var(--world-surface),color-mix(in srgb,var(--glass-rain) 9%,var(--world-elevated))) !important;
    box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 48%,transparent),inset 2px 0 0 -1px var(--glass-iron);
  }
  html[data-world='glasshouse-after-rain'] :is(.tab-selector-bar button[aria-selected='true'],.tab-bar button.active,[role='tab'][aria-selected='true']) {
    border-color:var(--glass-brass); background:linear-gradient(135deg,color-mix(in srgb,var(--glass-leaf) 14%,var(--world-surface)),var(--world-elevated)) !important;
    box-shadow:inset 0 -3px 0 -1px var(--glass-brass),inset 0 1px 0 var(--world-highlight) !important;
  }
  html[data-world='glasshouse-after-rain'] :is(.button,.notification-button,.badge) {
    border-color:color-mix(in srgb,var(--glass-iron) 50%,var(--glass-brass)) !important;
    background:linear-gradient(145deg,var(--world-elevated),color-mix(in srgb,var(--glass-rain) 7%,var(--world-surface))) !important;
    box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent),inset 2px 0 0 -1px var(--glass-iron),0 3px 8px -7px var(--world-deep);
  }
  html[data-world='glasshouse-after-rain'] .button.primary { background:linear-gradient(145deg,var(--world-accent),color-mix(in srgb,var(--glass-leaf) 35%,var(--world-accent))) !important; }
  html[data-world='glasshouse-after-rain'] :is(input,select,textarea) {
    border-color:color-mix(in srgb,var(--glass-iron) 44%,var(--world-border)) !important;
    background:linear-gradient(160deg,var(--world-surface),color-mix(in srgb,var(--glass-rain) 6%,var(--world-elevated))) !important;
    box-shadow:inset 0 2px 6px color-mix(in srgb,var(--world-deep) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--glass-brass) 16%,transparent) !important;
  }
  html[data-world='glasshouse-after-rain'] :is(input,select,textarea):focus { outline:2px solid color-mix(in srgb,var(--glass-leaf) 72%,var(--glass-brass)); outline-offset:2px; }
  html[data-world='glasshouse-after-rain'] :is(.nav-item.active,.mobile-nav-sheet-item.active,[aria-selected='true'],:focus-visible) { scroll-margin:8px; }

  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-clouds { animation:glasshouse-cloud-shift 38s -13s ease-in-out infinite alternate; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-sunlight { animation:glasshouse-sun-break 29s -8s ease-in-out infinite; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-puddle-light { animation:glasshouse-reflected-light 29s -8s ease-in-out infinite; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-condensation::after { animation:glasshouse-pane-clearing 91s ease-in-out infinite; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-water i { animation-name:glasshouse-drop-travel; }
  html[data-world='glasshouse-after-rain'][data-background-animations='on'] .glasshouse-water i::after { animation-name:glasshouse-drop-trail; }
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-water i,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-water i::after,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-water i::before,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-clouds,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-sunlight,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-puddle-light,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-condensation::after,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-leaf-drops i,
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-puddle-light i { animation:none !important; }
  /* Keep the wet reflection in the frame itself, clear of text and buttons. */
  html[data-world='glasshouse-after-rain'][data-cinematic] #app-view .view :is(.panel,.metric,.room-card)::after {
    inset:8px auto 8px 2px; width:5px; height:auto; border:0; border-radius:4px;
    background:radial-gradient(ellipse at center,var(--glass-water-glint) 15%,var(--glass-water-shadow) 60%,transparent 76%) center 20% / 5px 11px no-repeat;
    box-shadow:none; opacity:.8; pointer-events:none;
  }
  html[data-world='glasshouse-after-rain'][data-cinematic][data-decorative-animations='on'] #app-view .view :is(.panel,.metric,.room-card)::after { animation:glasshouse-frame-water 19s -5s ease-in-out infinite; }
  html[data-world='glasshouse-after-rain'][data-cinematic][data-decorative-animations='on'] #app-view .view :is(.panel,.metric,.room-card):nth-child(even)::after { animation-duration:27s; animation-delay:-16s; }
  html[data-world='glasshouse-after-rain'][data-cinematic][data-decorative-animations='off'] #app-view .view :is(.panel,.metric,.room-card)::after { animation:none !important; }
  html[data-world='glasshouse-after-rain'].cinema-paused #app-view .view :is(.panel,.metric,.room-card)::after { animation-play-state:paused !important; }
  html[data-world='glasshouse-after-rain'] .cinema-atmosphere.is-reacting .glasshouse-sunlight {
    background:radial-gradient(ellipse at var(--react-x) var(--react-y),color-mix(in srgb,var(--glass-sun) 19%,transparent),transparent 34%),linear-gradient(118deg,transparent 0 51%,#f1d38a18 58%,transparent 67%);
  }
  html[data-world='glasshouse-after-rain'][data-world-performance='lite'] .glasshouse-water i:nth-child(n+4) { display:none; }
  @media (max-width:700px) {
    html[data-world='glasshouse-after-rain'] .glasshouse-scene {
      inset:0 !important; background-position:center; background-size:cover; opacity:.77;
    }
    html[data-world='glasshouse-after-rain'] .glasshouse-condensation { opacity:.22; }
    html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(2) { left:6px; }
    html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(3) { right:6px; }
    html[data-world='glasshouse-after-rain'] .glasshouse-water i:nth-child(n+4) { display:none; }
  }
  @media (max-width:700px) and (orientation:portrait) {
    html[data-world='glasshouse-after-rain'] .glasshouse-scene { background-image:url('/glasshouse-after-rain-portrait.svg'); }
  }
  @media (prefers-reduced-motion:reduce) {
    html[data-world='glasshouse-after-rain'] .cinema-atmosphere *,html[data-world='glasshouse-after-rain'] .cinema-atmosphere *::before,html[data-world='glasshouse-after-rain'] .cinema-atmosphere *::after { animation:none !important; transition:none !important; }
    html[data-world='glasshouse-after-rain'][data-cinematic] #app-view .view :is(.panel,.metric,.room-card)::after { animation:none !important; }
  }
  @media (max-width:700px) {
    html[data-world='glasshouse-after-rain'] .glasshouse-puddle-light i { width:25vw;height:22px; }
    html[data-world='glasshouse-after-rain'] .glasshouse-leaf-drops i:last-child { display:none; }
  }
}
@keyframes glasshouse-cloud-shift { 0%{transform:translate3d(-1.5%,0,0);opacity:.38} 50%{opacity:.58} 100%{transform:translate3d(1.5%,1%,0);opacity:.42} }
@keyframes glasshouse-pane-clearing { 0%,18%,100%{opacity:0;transform:scale(.8)} 35%,68%{opacity:.68;transform:scale(1.12)} 82%{opacity:.08;transform:scale(1.25)} }
@keyframes glasshouse-drop-travel { 0%{transform:translateY(0) scale(.8);opacity:.75} 26%{transform:translateY(5vh) scale(.88);opacity:.95} 40%{transform:translateY(9vh) scale(1.12);opacity:.95} 65%{transform:translateY(24vh) scale(1.08);opacity:.85} 88%{transform:translateY(30vh) scale(.94);opacity:.7} 96%,100%{transform:translateY(32vh) scale(.85);opacity:0} }
@keyframes glasshouse-drop-trail { 0%{transform:scaleY(.12);opacity:.15} 40%{transform:scaleY(.4);opacity:.48} 65%{transform:scaleY(1);opacity:.36} 88%{transform:scaleY(1.2);opacity:.2} 100%{transform:scaleY(.1);opacity:0} }
@keyframes glasshouse-drop-merge { 0%,18%{opacity:0;transform:translate(-3px,16px) scale(.7)} 26%{opacity:.8;transform:translate(-2px,10px) scale(.8)} 40%,100%{opacity:0;transform:translate(1px,2px) scale(.2)} }
@keyframes glasshouse-sun-break { 0%,100%{opacity:.22;transform:translateX(-4%)} 42%{opacity:.8;transform:translateX(3%)} 72%{opacity:.42;transform:translateX(6%)} }
@keyframes glasshouse-reflected-light { 0%,100%{opacity:.28} 42%{opacity:.72} 72%{opacity:.38} }
@keyframes glasshouse-frame-water { 0%{background-position:center 8%;opacity:.55} 42%{background-position:center 42%;opacity:.95} 72%{background-position:center 83%;opacity:.75} 90%,100%{background-position:center 94%;opacity:0} }
@keyframes glasshouse-leaf-release { 0%,57%{opacity:0;transform:translateY(0) scale(.6) rotate(0)} 62%{opacity:.85;transform:translateY(0) scale(1) rotate(0)} 65%{transform:translateY(3px) scale(.9) rotate(-3deg)} 78%{opacity:.76;transform:translateY(24vh) scale(1.05) rotate(2deg)} 84%,100%{opacity:0;transform:translateY(28vh) scale(.9) rotate(0)} }
@keyframes glasshouse-puddle-ripple { 0%,42%{opacity:0;transform:scale(.35)} 47%{opacity:.42;transform:scale(.5)} 58%{opacity:.16;transform:scale(1.2)} 67%,100%{opacity:0;transform:scale(1.5)} }
@keyframes glasshouse-pane-press { 0%,100%{filter:brightness(1)} 45%{filter:brightness(1.08)} }
