/* Part 2 extends the original architecture. Nothing in this sheet moves text. */
@media screen {
  html[data-world='glasshouse-after-rain'] {
    --room-approach:glass-arrival; --room-ambient:glass-steady;
    --room-late-ambient:glass-timing; --room-inspect-ambient:glass-diagnostic;
    --room-note-attention:glass-note; --cine-badge:glass-seal;
    --room-signal-radius:12px 3px 12px 3px;
    --room-stripped:#42554e;--room-stripped-fill:#e3eae3;
    --room-bed:#28543e;--room-bed-fill:#e0eddf;
    --room-finished:#254b32;--room-finished-fill:#f4edcd;
    --room-amber:#703c24;--room-amber-fill:#f3e2cb;
    --room-inspect:#654619;--room-inspect-fill:#f6e7b7;
    --room-privacy:#56342f;--room-privacy-fill:#e3e9db;
  }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] {
    --room-stripped:#d0dfd8;--room-stripped-fill:#263b34;
    --room-bed:#cfebc9;--room-bed-fill:#254335;
    --room-finished:#ffe3a0;--room-finished-fill:#214232;
    --room-amber:#ffd5a0;--room-amber-fill:#483828;
    --room-inspect:#ffe4a3;--room-inspect-fill:#35452b;
    --room-privacy:#eed5c6;--room-privacy-fill:#34392f;
  }
  html[data-world='glasshouse-after-rain'] .cine-workflow { border-color:var(--glass-brass); box-shadow:inset 3px 0 var(--glass-leaf); }
  html[data-world='glasshouse-after-rain'] .adaptive-room-card .cine-room-signals { flex-basis:100%; }
  html[data-world='glasshouse-after-rain'] .adaptive-room-card .arc-head { flex-wrap:wrap; }
  html[data-world='glasshouse-after-rain'] .adaptive-room-card:is([data-state='stripped'],[data-state='bed-made'],[data-state='finished']) .arc-status { padding:5px 8px;border:1px solid var(--glass-brass);border-radius:var(--room-signal-radius);background:var(--room-stripped-fill);color:var(--room-stripped); }
  html[data-world='glasshouse-after-rain'] .adaptive-room-card[data-state='bed-made'] .arc-status { background:var(--room-bed-fill);color:var(--room-bed); }
  html[data-world='glasshouse-after-rain'] .adaptive-room-card[data-state='finished'] .arc-status { background:var(--room-finished-fill);color:var(--room-finished); }
  html[data-world='glasshouse-after-rain'] .cine-workflow[data-workflow='stripped'] { border-style:dashed!important; box-shadow:none; }
  html[data-world='glasshouse-after-rain'] .cine-workflow[data-workflow='finished'] { box-shadow:inset 0 -2px var(--glass-brass); }
  html[data-world='glasshouse-after-rain'] .cine-notes { border-left:3px solid var(--glass-brass); border-radius:2px 10px 2px 10px; }
  html[data-world='glasshouse-after-rain'] .cine-notes::after { content:'';position:absolute;left:4px;right:4px;bottom:2px;height:2px;background:linear-gradient(90deg,transparent,var(--glass-sun),transparent);opacity:0;pointer-events:none; }
  html[data-world='glasshouse-after-rain'][data-decorative-animations='on'] .cine-notes:is(:hover,.cine-new-note)::after { animation:glass-note-drop 1.6s ease-out both; }
  html[data-world='glasshouse-after-rain'] .cine-room:has(.cine-dnd) .cine-room-ambient { opacity:.07; }
  html[data-world='glasshouse-after-rain'] .cine-room:has(.cine-dnd) .cine-room-ambient i { animation:none!important; }
  html[data-world='glasshouse-after-rain'] .cine-dnd { border-left-color:var(--glass-terracotta)!important; }
  html[data-world='glasshouse-after-rain'] .cine-timing::after { inset:auto;left:0;top:0;width:3px;height:3px;border:0;background:var(--glass-sun);offset-path:inset(2px round 8px);opacity:.7; }
  html[data-world='glasshouse-after-rain'] .cine-room-ambient :is(.arrivalAmbient,.checkoutAmbient)::before { background:var(--glass-sun);box-shadow:0 0 5px var(--glass-brass); }
  html[data-world='glasshouse-after-rain'] .stayoverAmbient { background:var(--glass-leaf);opacity:.4; }

  /* Completion is finite and confined to the structural edge: never a wash over copy. */
  html[data-world='glasshouse-after-rain'] .cine-transition-fx { z-index:0; }
  html[data-world='glasshouse-after-rain'] .cine-transition-fx i { pointer-events:none; }
  html[data-world='glasshouse-after-rain'] .glass-fx-light { inset:3px auto 3px 1px;width:7px;background:linear-gradient(180deg,transparent,var(--glass-sun),transparent);transform:scaleY(.15);opacity:0;animation:glass-completion-light var(--cine-fx-duration) ease-out both; }
  html[data-world='glasshouse-after-rain'] .glass-fx-edge { inset:2px;border:2px solid var(--glass-sun);border-radius:inherit;opacity:0;animation:glass-completion-edge var(--cine-fx-duration) ease-out both; }
  html[data-world='glasshouse-after-rain'] .glass-fx-drop { left:3px;top:8%;width:4px;height:7px;background:var(--glass-water-glint);border-radius:70% 40% 65% 40%;opacity:0;animation:glass-completion-drop var(--cine-fx-duration) ease-in both; }
  html[data-world='glasshouse-after-rain'] .glass-fx-ripple { bottom:2px;left:1px;width:22px;height:5px;border:1px solid var(--glass-brass);border-radius:50%;opacity:0;animation:glass-completion-ripple var(--cine-fx-duration) ease-out both; }
  html[data-world='glasshouse-after-rain'] .glass-fx-leaf { top:3px;right:4px;width:12px;height:3px;border-radius:100% 0;background:var(--glass-sun);opacity:0;animation:glass-completion-edge var(--cine-fx-duration) ease-out both; }
  html[data-world='glasshouse-after-rain'] .cine-transition-fx:not([data-effect='finished']) :is(.glass-fx-ripple,.glass-fx-leaf) { display:none; }
  html[data-world='glasshouse-after-rain'] .cine-transition-fx[data-effect='stripped'] { --glass-sun:var(--glass-rain);opacity:.5!important; }
  html[data-world='glasshouse-after-rain'] .cine-transition-fx[data-effect^='dnd'] { --glass-sun:var(--glass-terracotta); }
  html[data-world='glasshouse-after-rain'] .cine-transition-fx[data-effect^='inspection'] { --glass-sun:var(--room-inspect); }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glass-fx-light { background:linear-gradient(180deg,transparent,#ddb16c,transparent); }
  html[data-world='glasshouse-after-rain'][data-decorative-animations='on'] .cine-room[data-room-transition-active='finished'] :is(.room-number,.summary-room-number,.room-list-number) { animation:glass-number-light 1580ms ease-out; }

  /* Weather lives in the existing inert, behind-interface atmosphere. A single
     controller owns all major events. The old repeating sun break becomes calm. */
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled { --glass-weather-duration:24000ms; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled :is(.glasshouse-sunlight,.glasshouse-puddle-light) { animation:none!important;transition:opacity 14s ease; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled .glasshouse-condensation::after { animation:none!important; }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-layer,
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-layer * { pointer-events:none!important; }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-layer { position:absolute;inset:0;opacity:0;contain:paint; }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-beam { background:conic-gradient(from 141deg at 63% -8%,transparent,#ffe39b66 7deg,#f6dda826 15deg,transparent 22deg);transform-origin:63% 0; }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-mist { inset:45% -5% 0!important;background:radial-gradient(ellipse at 12% 78%,#dce6d866,transparent 40%),radial-gradient(ellipse at 88% 86%,#dce6d84a,transparent 38%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-rain i { position:absolute;inset:0;background:repeating-linear-gradient(92deg,transparent 0 53px,#daeced70 54px,transparent 55px 99px);mask-image:repeating-linear-gradient(0deg,transparent 0 38px,#000 40px 52px,transparent 65px 90px); }
  html[data-world='glasshouse-after-rain'] .glasshouse-rain i:first-child { inset:-12% 0 48%;transform:skewX(-25deg); }
  html[data-world='glasshouse-after-rain'] .glasshouse-rain i:nth-child(2) { inset:20% 60% -10% -4%; }
  html[data-world='glasshouse-after-rain'] .glasshouse-rain i:last-child { inset:20% -4% -10% 60%;transform:skewX(3deg); }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-ripple { inset:82% 3% 4% 5%!important;border:1px solid var(--glass-water-glint);border-radius:50%;transform:scale(.1); }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-leaf { inset:56% auto auto 1%!important;width:110px!important;height:160px!important;overflow:visible; }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-leaf i { display:block;width:100px;height:35px;background:linear-gradient(15deg,#254a32,#5a8645 48%,#a0aa60 50%,#355e3a 52%);border-radius:100% 0 100% 0;transform-origin:0 50%; }
  html[data-world='glasshouse-after-rain'] .glasshouse-weather-leaf b { position:absolute;top:30px;left:94px;width:6px;height:10px;border-radius:60% 40% 65% 35%;background:var(--glass-water-glint);opacity:0; }
  html[data-world='glasshouse-after-rain'] .glasshouse-water-run { inset:12% 7% 0 auto!important;width:9px!important;background:linear-gradient(90deg,transparent,#d2e8df99,#fff8d2cc,#a5c6c377,transparent);border-radius:50% 35% 60% 30%;transform-origin:50% 0; }
  html[data-world='glasshouse-after-rain'] .glasshouse-refraction { inset:10% 13% 25% auto!important;width:5px!important;background:linear-gradient(90deg,#f1888844,#ffe49a66,#93d4b077,#91b8ec66,#b59aca22);rotate:13deg; }
  html[data-world='glasshouse-after-rain'] .glasshouse-wing { inset:14% 1% 18% auto!important;width:min(29vw,330px)!important;mask-image:radial-gradient(ellipse,#000 45%,transparent 72%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-wing svg { width:100%;height:100%; }
  html[data-world='glasshouse-after-rain'] .glasshouse-wing-lamps { opacity:0; }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-wing-lamps { opacity:1; }
  html[data-world='glasshouse-after-rain'] .glasshouse-thunder { inset:0 0 42%!important;background:radial-gradient(ellipse at 77% 12%,#c6e7ff99,transparent 48%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-local-light { background:conic-gradient(from 156deg at var(--glass-response-x,50%) 0,transparent,#f2d68144 6deg,transparent 13deg),radial-gradient(ellipse at var(--glass-response-x,50%) var(--glass-response-y,50%),#dce6c322,transparent 30%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-room-light='finished'] .glasshouse-local-light { animation:glass-weather-light 1580ms ease-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-room-light='bed-made'] .glasshouse-local-light { animation:glass-weather-light 850ms ease-out both; }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-local-light { background:radial-gradient(ellipse at var(--glass-response-x,50%) var(--glass-response-y,50%),#e6b36344,transparent 36%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather] { transition:background-color 12s; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='cloudPassing'],[data-weather='renewedRain'],[data-weather='roofShower'],[data-weather='distantThunderstorm']) { background-color:#152d3326; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='sunBreak'],[data-weather='goldenSunBreak'],[data-weather='entireHouseGold'],[data-weather='clearingSky'],[data-weather='lampThroughRain']) .glasshouse-weather-beam { animation:glass-weather-light var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='goldenSunBreak'],[data-weather='entireHouseGold']) .glasshouse-weather-beam { background:conic-gradient(from 117deg at 55% -8%,transparent,#ffda7755 14deg,#edd68d77 36deg,#e8b95444 65deg,transparent 80deg); }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather='goldenSunBreak'] .glasshouse-weather-beam { clip-path:polygon(45% 0,60% 0,95% 100%,25% 100%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather='entireHouseGold'] .glasshouse-scene::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,#eed79550,transparent 40%,#f3c75a30);mix-blend-mode:screen;pointer-events:none;animation:glass-weather-light var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather='entireHouseGold'] .glasshouse-puddle-light { background:radial-gradient(ellipse at 24% 65%,#f2d89877,transparent 35%),radial-gradient(ellipse at 73% 77%,#a8b95866,transparent 31%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather='cloudPassing'] .glasshouse-clouds { animation:glass-cloud-cover var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='sunBreak'],[data-weather='goldenSunBreak'],[data-weather='entireHouseGold'],[data-weather='mistRise']) .glasshouse-weather-mist { animation:glass-weather-mist var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='lightDrizzle'],[data-weather='renewedRain'],[data-weather='roofShower'],[data-weather='nightRain'],[data-weather='distantThunderstorm']) .glasshouse-rain { animation:glass-weather-rain var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='lightDrizzle'],[data-weather='renewedRain'],[data-weather='roofShower'],[data-weather='nightRain'],[data-weather='distantThunderstorm']) .glasshouse-rain i { animation:glass-rain-fall 1.6s linear infinite; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather='lightDrizzle'] .glasshouse-rain { --rain-opacity:.22; }
  html[data-world='glasshouse-after-rain'][data-mode='dark'] .glasshouse-rain { background:radial-gradient(ellipse at 80% 22%,#dda34e28,transparent 55%); }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='giantLeafDump'],[data-weather='drippingCanopy']) .glasshouse-weather-leaf { opacity:.85; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='giantLeafDump'],[data-weather='drippingCanopy']) .glasshouse-weather-leaf i { animation:glass-leaf-bend var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='giantLeafDump'],[data-weather='drippingCanopy']) .glasshouse-weather-leaf b { animation:glass-leaf-dump var(--glass-weather-duration) ease-in both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='giantLeafDump'],[data-weather='puddleResponse'],[data-weather='roofShower'],[data-weather='drippingCanopy']) .glasshouse-weather-ripple { animation:glass-weather-ripple var(--glass-weather-duration) ease-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='waterRun'],[data-weather='roofCascade']) .glasshouse-water-run { animation:glass-water-stream var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather='roofCascade'] .glasshouse-water-run { width:min(18vw,180px)!important; background:repeating-linear-gradient(93deg,transparent,#d2e8df55 9px,#fff8d299 12px,transparent 24px); }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled[data-weather='rainbowRefraction'] .glasshouse-refraction { animation:glass-weather-light var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='clearPane'],[data-weather='distantConservatoryLights']) .glasshouse-wing { animation:glass-clear-wing var(--glass-weather-duration) ease-in-out both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is([data-weather='thunderLight'],[data-weather='distantThunderstorm']) .glasshouse-thunder { animation:glass-distant-flash var(--glass-weather-duration) linear both; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is(.glass-memory-sun,[data-weather='sunBreak'],[data-weather='goldenSunBreak'],[data-weather='entireHouseGold']) .glasshouse-sunlight { opacity:.62; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled.glass-memory-wet .glasshouse-puddle-light { opacity:.6; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled .glasshouse-condensation { transition:opacity 25s ease; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled:is(.glass-memory-sun,[data-weather='clearPane']) .glasshouse-condensation { opacity:.08; }
  html[data-world='glasshouse-after-rain'] .glasshouse-controlled.glass-memory-cool .glasshouse-sunlight { opacity:.18; }
  html[data-world='glasshouse-after-rain'][data-glass-weather='entireHouseGold'] #app-view .view :is(.panel,.metric,.room-card):not([data-room-transition-active]) { border-color:var(--glass-brass)!important;transition:border-color 9s; }
  html[data-world='glasshouse-after-rain']:has(dialog[open],[aria-modal='true']:not([hidden])) .glasshouse-weather-layer { opacity:0!important; }
  html[data-world='glasshouse-after-rain'] .glasshouse-arriving :is(.glasshouse-scene,.glasshouse-water,.glasshouse-sunlight) { animation:glass-arriving 3.6s ease-out both; }
  html[data-world='glasshouse-after-rain'] .cinema-transition[data-transition='glasshouse-after-rain'] { pointer-events:none!important;background:none; }
  html[data-world='glasshouse-after-rain'] .cinema-transition[data-transition='glasshouse-after-rain'] i { display:none; }
  html[data-world='glasshouse-after-rain'] .cinema-transition[data-transition='glasshouse-after-rain']::after { content:'';position:absolute;left:2%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,var(--glass-water-glint),transparent);pointer-events:none;animation:glass-passage .68s ease-out both; }
  html[data-world='glasshouse-after-rain'] .world-loading-indicator { width:52px;height:18px;mask:none;background:linear-gradient(90deg,var(--glass-iron),var(--glass-brass)) center/100% 1px no-repeat;position:relative;animation:none; }
  html[data-world='glasshouse-after-rain'] .world-loading-indicator::before { content:'';position:absolute;left:0;top:5px;width:6px;height:8px;border-radius:50% 35% 50% 35%;background:var(--glass-leaf);animation:glass-loading 1.8s ease-in-out infinite;pointer-events:none; }
  html[data-world='glasshouse-after-rain'] .world-loading-indicator::after { content:'';position:absolute;right:1px;top:6px;width:5px;height:5px;border:1px solid var(--glass-brass);border-radius:50%;pointer-events:none; }
  html[data-world='glasshouse-after-rain'] .empty-state { background:linear-gradient(90deg,var(--world-surface) 35%,transparent),url('/glasshouse-after-rain.svg') right bottom/180px auto no-repeat; }
  html[data-world='glasshouse-after-rain'] :is(dialog,[role='dialog']) { background:var(--world-surface);color:var(--world-text);border:1px solid var(--glass-brass);box-shadow:inset 3px 0 var(--glass-iron),0 18px 50px #0b1c2544; }
  html[data-world='glasshouse-after-rain'][data-decorative-animations='on'] dialog[open] { animation:glass-panel-clear .28s ease-out; }
  html[data-world='glasshouse-after-rain'][data-background-animations='off'] .glasshouse-weather-layer { display:none!important; }
  html[data-world='glasshouse-after-rain'].cinema-paused .glasshouse-weather-layer,
  html[data-world='glasshouse-after-rain'].cinema-paused .glasshouse-weather-layer * { animation-play-state:paused!important; }
  html[data-world='glasshouse-after-rain'][data-decorative-animations='off'] :is(.cine-notes::after,.world-loading-indicator::before) { animation:none!important; }
  @media (prefers-reduced-motion:reduce) {
    html[data-world='glasshouse-after-rain'] .glasshouse-weather-layer { display:none!important; }
    html[data-world='glasshouse-after-rain'] :is(.world-loading-indicator::before,.cine-notes::after,dialog[open]) { animation:none!important; }
  }
  @media (max-width:700px) {
    html[data-world='glasshouse-after-rain'] .glasshouse-wing { width:35vw!important; }
    html[data-world='glasshouse-after-rain'] .glasshouse-weather-leaf { scale:.65;transform-origin:left top; }
  }
}
@keyframes glass-arrival { 0%,70%,100%{opacity:0;translate:0 -15px}80%{opacity:.8}90%{opacity:0;translate:0 35px} }
@keyframes glass-steady { 0%,100%{opacity:.2}50%{opacity:.35} }
@keyframes glass-timing { from{offset-distance:0}to{offset-distance:100%} }
@keyframes glass-diagnostic { 0%,100%{translate:0;opacity:.5}50%{translate:-30px;opacity:1} }
@keyframes glass-note { 0%,100%{box-shadow:none}45%{box-shadow:inset 0 -2px var(--glass-brass)} }
@keyframes glass-note-drop { 0%{opacity:0;scale:.1 1;transform-origin:left}35%{opacity:.9;scale:.5 1}70%{opacity:.5;scale:1}100%{opacity:0} }
@keyframes glass-seal { 0%,100%{box-shadow:inset 0 -2px var(--glass-brass)}62%{box-shadow:inset 0 -2px var(--glass-sun),0 0 0 2px var(--glass-brass)} }
@keyframes glass-number-light { 0%,100%{text-shadow:none}62%{text-shadow:0 0 8px color-mix(in srgb,var(--glass-sun) 40%,transparent)} }
@keyframes glass-completion-light { 0%{opacity:0;transform:scaleY(.1)}32%{opacity:.7}60%{opacity:.9;transform:scaleY(1)}100%{opacity:0;transform:scaleY(1)} }
@keyframes glass-completion-edge { 0%,25%,100%{opacity:0}62%{opacity:.65} }
@keyframes glass-completion-drop { 0%,15%{opacity:0;transform:translateY(0)}30%{opacity:1}70%{opacity:.8;transform:translateY(calc(var(--cine-fx-height) * .8))}75%,100%{opacity:0;transform:translateY(calc(var(--cine-fx-height) * .85))} }
@keyframes glass-completion-ripple { 0%,65%{opacity:0;scale:.1}75%{opacity:.65}100%{opacity:0;scale:1.5} }
@keyframes glass-weather-light { 0%,100%{opacity:0;transform:rotate(-4deg)}28%{opacity:.3}45%,65%{opacity:.85;transform:rotate(2deg)}90%{opacity:.12;transform:rotate(4deg)} }
@keyframes glass-weather-mist { 0%,100%{opacity:0;transform:translateY(4%)}40%,65%{opacity:.55}90%{opacity:.1;transform:translateY(-8%)} }
@keyframes glass-cloud-cover { 0%,100%{opacity:.4;transform:translateX(-2%)}40%,70%{opacity:.8}90%{opacity:.5;transform:translateX(3%)} }
@keyframes glass-weather-rain { 0%,100%{opacity:0}20%{opacity:.08}40%,60%{opacity:var(--rain-opacity,.5)}85%{opacity:.1} }
@keyframes glass-rain-fall { to{background-position:0 90px;mask-position:0 90px} }
@keyframes glass-leaf-bend { 0%,100%{rotate:0deg}38%{rotate:12deg}44%{rotate:14deg}49%{rotate:-4deg}60%{rotate:1deg} }
@keyframes glass-leaf-dump { 0%,30%{opacity:0;transform:translateY(0) scale(.3)}40%{opacity:.9;transform:translateY(0) scale(1.5)}55%{opacity:.7;transform:translateY(27vh) scale(1)}57%,100%{opacity:0;transform:translateY(28vh)} }
@keyframes glass-weather-ripple { 0%,55%{opacity:0;transform:scale(.1)}60%{opacity:.5}78%,100%{opacity:0;transform:scale(1)} }
@keyframes glass-water-stream { 0%,100%{opacity:0;transform:scaleY(.1)}20%{opacity:.25;transform:scaleY(.4)}45%,65%{opacity:.65;transform:scaleY(1)}90%{opacity:.1;transform:scaleX(.3) scaleY(1.2)} }
@keyframes glass-clear-wing { 0%,100%{opacity:0}30%{opacity:.2}45%,70%{opacity:.85}90%{opacity:.1} }
@keyframes glass-distant-flash { 0%,31%,38%,100%{opacity:0}32%{opacity:.55}34%{opacity:.18} }
@keyframes glass-arriving { from{opacity:0} }
@keyframes glass-passage { 0%{opacity:0;transform:translateY(-60%)}35%{opacity:.65}100%{opacity:0;transform:translateY(60%)} }
@keyframes glass-loading { 0%{transform:translateX(0) scale(.3)}20%{transform:translateX(3px) scale(1)}75%{transform:translateX(39px) scale(.8)}90%,100%{transform:translateX(44px) scale(.2)} }
@keyframes glass-panel-clear { from{box-shadow:inset 3px 0 var(--glass-iron),0 8px 24px #0b1c2511}to{box-shadow:inset 3px 0 var(--glass-iron),0 18px 50px #0b1c2544} }
@media print { .glasshouse-weather-layer { display:none!important; } }
