.rainlab-page{max-width:1080px;padding-top:4.5rem}.rainlab-page h1{font-size:clamp(2.8rem,7.2vw,6rem);max-width:980px}.rainlab-page .lead{max-width:800px}.rainlab{margin:3rem 0 4rem;border:1px solid var(--line);border-radius:1.5rem;overflow:hidden;background:var(--panel)}.lab-heading,.lab-controls,.lab-reading{padding:1.5rem 1.7rem}.rainlab .lab-heading h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0;letter-spacing:-.04em;line-height:1.15}.lab-heading .eyebrow{margin-bottom:.6rem}.lab-controls{padding-top:0;display:grid;gap:1rem}.lab-controls label{font-weight:700;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem}.lab-controls output{color:var(--accent);font-variant-numeric:tabular-nums}.rainlab input[type=range]{display:block;margin:.6rem 0 0;min-height:28px}.rainlab :is(button,select){font:inherit;min-height:44px;padding:.65rem .9rem;border:1px solid var(--muted);border-radius:.7rem;color:var(--ink);background:var(--bg);max-width:100%}.rainlab button{cursor:pointer}.rainlab button:disabled{cursor:default;opacity:.55}.rainlab button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.rainlab :is(button,input,select):focus-visible{outline:3px solid var(--accent);outline-offset:4px}.rainlab input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--accent);flex-shrink:0}.lab-controls .check-label{justify-content:flex-start;align-items:center;gap:.7rem}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}.lab-buttons{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.lab-controls .hint,.lab-note{font-size:.9rem;color:var(--muted);margin:0}.lab-note{padding:0 1.7rem 1.5rem}.lab-scene{margin:0;background:#173b50;color:#e3f4f7;overflow:hidden}.lab-scene svg{width:100%;height:auto;display:block;font-family:inherit}.lab-scene text{fill:#e3f4f7;font-size:19px;font-weight:600}.lab-scene .small-label{font-size:16px;font-weight:500}.lab-scene figcaption{padding:1rem 1.7rem;font-size:.85rem;line-height:1.6;background:#123242;color:#c2dce2}.lab-reading h3{font-size:clamp(1.4rem,3vw,2rem);line-height:1.15;letter-spacing:-.04em;margin:0 0 .7rem}.lab-reading p{margin:0;max-width:75ch}.rainlab-page [hidden]{display:none!important}.lab-story{max-width:790px}.rainlab-page .lab-story h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;letter-spacing:-.045em}.lab-story a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.rainlab-page .sources{padding-inline:0;margin-inline:0;max-width:100%}.rainlab-page .sources h2{font-size:1.8rem;margin-top:0}.lab-next{border-top:1px solid var(--line);padding-top:2rem;margin-top:4rem}.lab-next h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-top:0}.lab-next nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.lab-next a{display:flex;justify-content:space-between;padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--panel);color:var(--ink)}.lab-next a[aria-current=page]{border-color:var(--accent);font-weight:750}.lab-next a:hover{color:var(--accent)}.puddle{transition:transform .35s;transform-box:fill-box;transform-origin:center}.vapor-mark{stroke:#ace6e8;fill:none;stroke-width:3;stroke-linecap:round}.sound-surface{display:none}.sound-surface.is-selected{display:inline}.sound-waves{opacity:.2}.lab-scene[data-playing=true] .sound-waves{opacity:1;animation:listen-pulse 1.7s ease-in-out infinite}.winter-snow,.winter-drops,.winter-ice{display:none}.winter-snow.is-selected,.winter-drops.is-selected,.winter-ice.is-selected{display:inline}.city-feature{display:none}.city-feature.is-selected{display:inline}.flow-route{fill:none;stroke:#8cdeef;stroke-width:4;stroke-dasharray:9 8}.rainlab .sound-message{font-size:.9rem;color:var(--muted)}.progress-track{height:.7rem;background:var(--line);border-radius:1rem;overflow:hidden;margin-top:1rem}.progress-track span{display:block;height:100%;background:var(--accent);width:0}.lab-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:1rem 1.7rem;background:#123242;color:#d1eaf0;font-size:.85rem}.lab-legend b{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.4rem}.new-home{border-top:1px solid var(--line)}.new-home .topic-card h3{font-size:1.5rem;letter-spacing:-.04em;line-height:1.15}.new-home .topic-card a{font-weight:750}
@keyframes listen-pulse{50%{opacity:.45}}
@media(max-width:600px){.rainlab-page{padding-top:3rem}.rainlab-page h1{font-size:clamp(2.7rem,10vw,4rem);overflow-wrap:break-word}.lab-heading,.lab-controls,.lab-reading{padding:1.2rem}.lab-controls{padding-top:0}.control-grid,.lab-next nav{grid-template-columns:1fr}.lab-scene figcaption{padding:1rem 1.2rem}.lab-note{padding:0 1.2rem 1.2rem}.lab-buttons button{flex:1 1 auto}.lab-scene .small-label{font-size:20px}.lab-scene text{font-size:22px}.lab-legend{padding:1rem 1.2rem}}
@media(prefers-reduced-motion:reduce){.puddle{transition:none}.lab-scene[data-playing=true] .sound-waves{animation:none}}
