:root{color-scheme:light;--paper:#f5e4c8;--ink:#172f40}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--paper)}
body{font-family:Georgia,serif;outline:none}
main,.desk-shell,.desk{position:relative;width:100%;height:100svh;overflow:hidden}
.desk{isolation:isolate}
.scene{display:block;width:100%;height:100%}
.scene-mobile{display:none}
.effects{pointer-events:none}
.mic-world,.bigwave-world{opacity:0;transition:opacity 400ms ease}
.desk[data-active="mic"] .mic-world,.desk[data-active="glass"] .bigwave-world{opacity:1}
.hit{fill:transparent;stroke:transparent;stroke-width:6;cursor:pointer}
a{-webkit-tap-highlight-color:transparent}
.object-link,.screen-link{outline:none}
.object-link:focus-visible,.screen-link:focus-visible{outline:none}
.object-link:focus-visible .hit{stroke:var(--ink);stroke-dasharray:5 9;stroke-width:3}
.screen-link{display:none}
.desk[data-active="glass"] .screen-link{display:inline}
.screen-link:focus-visible .hit{stroke:#fff0d4;stroke-dasharray:5 9;stroke-width:3}
.screen-title{font-family:Arial,sans-serif;font-size:42px;font-weight:900;font-style:italic;letter-spacing:1px;fill:#fff0d4}
.screen-subtitle{font-family:monospace;font-size:11px;letter-spacing:1px;fill:#fff0d4;opacity:.7}
.wave{fill:none;stroke:#fff0d4;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.wave-signal{fill:none;stroke:#fff0d4;stroke-width:4;stroke-linecap:round}
.brand-heading{fill:#ffedc9;font:11px monospace;letter-spacing:3px;text-anchor:middle}
.brand-url{fill:#ffedc9;font:12px monospace;letter-spacing:1.4px;text-anchor:middle}
.liquid-surface{stroke:#969e57;stroke-width:.7;pointer-events:none}
.liquid-meniscus{fill:none;stroke:#fff7cc;stroke-width:1.5;opacity:.76;pointer-events:none}
.liquid-back{fill:none;stroke:#818a4c;stroke-width:.7;opacity:.4;pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.departure{position:fixed;inset:0;z-index:100;background:#edbb70;pointer-events:none;clip-path:circle(0 at var(--exit-x,75%) var(--exit-y,60%));transition:clip-path .3s ease-in}
.leaving-glass .departure{clip-path:circle(150% at var(--exit-x,75%) var(--exit-y,60%))}
.leaving-mic .scene{transition:filter .22s;filter:sepia(.25) brightness(.85)}
@media(max-aspect-ratio:1/1){.scene-desktop{display:none}.scene-mobile{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.screen-swash{fill:none;stroke:#fff0d4;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;opacity:.95}
.scene-mobile .screen-title{font-size:33px}

.wave-echo{fill:none;stroke:#fff0d4;stroke-width:2;stroke-linecap:round;opacity:.65}

.mic-world,.bigwave-world{transition-duration:160ms}

/* An opaque, immediate Run On reveal prevents the blue base bleeding through. */
.mic-world{transition:none}
