@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/fragment-mono-latin.woff2)format("woff2")}@font-face{font-family:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/silkscreen-latin.woff2)format("woff2")}:root{color:#f1ead4;font-synthesis:none;text-rendering:optimizelegibility;--ink:#f1ead4;--ink-muted:#c8c2ad;--line:#f1ead46b;--focus:#f6c85f;--deep-sea:#0b282b;--control-bg:#081f228a;--safe-top:max(1rem, env(safe-area-inset-top));--safe-right:max(1rem, env(safe-area-inset-right));--safe-bottom:max(1rem, env(safe-area-inset-bottom));--safe-left:max(1rem, env(safe-area-inset-left));background:#0b282b;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html,body{width:100%;min-width:20rem;height:100%;margin:0;overflow:hidden}body{background:var(--deep-sea)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.site-shell{isolation:isolate;background:radial-gradient(circle at 72% 34%, #c2deca57, transparent 29%), linear-gradient(180deg, #94b8a8 0 44%, #355f59 44% 62%, var(--deep-sea) 62%);width:100%;height:100svh;position:relative;overflow:hidden}.scene-frame,.scene-poster,.canvas-host,.scene-shade{position:absolute;inset:0}.scene-frame{overflow:hidden}.scene-poster{z-index:0;display:block}.scene-poster img{object-fit:cover;object-position:center;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.canvas-host{z-index:1;overflow:hidden}.canvas-host canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;outline:none;display:block}.canvas-host canvas:focus-visible{outline-offset:-2px;outline:1px solid #f6c85f94}.scene-shade{z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000 48%,#05151717 72%,#0515173d 100%),linear-gradient(#0000 68%,#05151747)}.identity{z-index:3;top:var(--identity-top,max(calc(var(--safe-top) + 1.5rem), 9vh));right:var(--identity-right,var(--safe-right));width:min(42vw,38rem);max-width:calc(100vw - var(--safe-left) - var(--safe-right));text-align:right;pointer-events:none;margin:0;position:absolute;left:auto}.identity h1{color:var(--ink);letter-spacing:-.055em;white-space:nowrap;text-shadow:0 2px 18px #0312133d;margin:0;font-family:Fragment Mono,SFMono-Regular,Consolas,monospace;font-size:clamp(2.35rem,4.8vw,5rem);font-weight:400;line-height:.94}.social-links{pointer-events:auto;justify-content:flex-end;gap:clamp(1rem,2vw,1.75rem);margin-top:clamp(1.15rem,2.2vw,2rem);display:flex}.social-links a{color:var(--ink-muted);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 10px #0312136b;padding:.25rem 0;font-size:clamp(.72rem,1vw,.88rem);font-weight:600;text-decoration:none;transition:color .18s,transform .18s;position:relative}.social-links a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.24)}.social-links a:hover,.social-links a:focus-visible{color:var(--ink);transform:translateY(-1px)}.social-links a:hover:after,.social-links a:focus-visible:after{transform:scaleX(1)}.social-links a:focus-visible,.scene-control:focus-visible,.analytics-consent button:focus-visible,.analytics-settings:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.analytics-consent{--dialog-ink:var(--ink);--dialog-muted:var(--ink-muted);z-index:5;right:auto;bottom:calc(var(--safe-bottom) + 1.85rem);left:var(--safe-left);width:min(16.5rem, calc(100vw - var(--safe-left) - var(--safe-right)));color:var(--dialog-ink);background:#081f22e6;border:1px solid #f1ead44d;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem;padding:.58rem .62rem .55rem;animation:.18s steps(3,end) .32s both analytics-consent-in;display:grid;position:absolute;box-shadow:3px 3px #05151794}.analytics-consent[hidden],.analytics-settings[hidden]{display:none}.analytics-consent p{margin:0}.analytics-consent__copy{min-width:0}.analytics-consent__title{color:var(--dialog-ink);font-family:Silkscreen,monospace;font-size:.66rem;line-height:1.3}.analytics-consent__detail{color:var(--dialog-muted);white-space:nowrap;font-family:Silkscreen,monospace;font-size:.45rem;line-height:1.4;margin-top:.18rem!important}.analytics-consent__actions{align-items:center;gap:.05rem;display:flex}.analytics-consent button,.analytics-settings{color:var(--dialog-muted,var(--ink-muted));cursor:pointer;text-transform:uppercase;background:0 0;transition:color .1s steps(2,end),background-color .1s steps(2,end)}.analytics-consent button{white-space:nowrap;border:0;min-height:1.6rem;padding:.35rem .35rem .32rem .82rem;font-family:Silkscreen,monospace;font-size:.52rem;line-height:1;position:relative}.analytics-consent button:before{color:var(--ink);content:">";opacity:0;position:absolute;top:50%;left:.2rem;transform:translateY(-55%)}.analytics-consent button:hover,.analytics-consent button:focus-visible{color:var(--dialog-ink);background:0 0}.analytics-consent button:hover:before,.analytics-consent button:focus-visible:before{opacity:1}.analytics-settings{z-index:4;bottom:var(--safe-bottom);left:var(--safe-left);letter-spacing:0;text-shadow:0 1px 8px #021112ad;border:0;border-bottom:1px solid #f1ead442;padding:.3rem 0;font-family:Silkscreen,monospace;font-size:.6rem;position:absolute}.analytics-settings:hover{color:var(--ink);border-bottom-color:#f1ead49e}.analytics-settings:not([hidden])~.weather-credit:not([hidden]){bottom:calc(var(--safe-bottom) + 1.75rem)}.analytics-consent:not([hidden])~.weather-credit:not([hidden]){bottom:calc(var(--safe-bottom) + 5.3rem)}@keyframes analytics-consent-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scene-controls{z-index:4;top:auto;right:var(--safe-right);bottom:var(--safe-bottom);gap:.4rem;display:flex;position:absolute}.weather-credit{z-index:4;bottom:var(--safe-bottom);left:var(--safe-left);color:#f1ead494;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 1px 8px #021112ad;padding:.35rem 0;font-size:.62rem;font-weight:600;text-decoration:none;position:absolute}.weather-credit:hover,.weather-credit:focus-visible{color:var(--ink)}.weather-credit[hidden]{display:none}.scene-control{width:2.65rem;height:2.65rem;color:var(--ink);background:var(--control-bg);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #f1ead438;border-radius:50%;place-items:center;padding:0;transition:background-color .16s,border-color .16s,transform .16s;display:grid;box-shadow:0 .35rem 1rem #0211122e}.scene-control:hover{background:#081f22b8;border-color:#f1ead485;transform:translateY(-1px)}.scene-control:disabled{display:none}.scene-control__icon{fill:currentColor;width:1rem;height:1rem}.scene-control .icon-play,.scene-control .icon-exit-fullscreen,.scene-control[data-state=paused] .icon-pause,.scene-control[data-state=fullscreen] .icon-enter-fullscreen{display:none}.scene-control[data-state=paused] .icon-play,.scene-control[data-state=fullscreen] .icon-exit-fullscreen{display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell[data-renderer=failed] .scene-control[data-action=pause]{display:none}@media (orientation:portrait){.scene-shade{background:linear-gradient(#0000 56%,#0414167a)}.identity{top:calc(var(--safe-top) + clamp(1.5rem, 5vh, 3.5rem));right:var(--safe-right);bottom:auto;left:var(--safe-left);text-align:center;width:auto;max-width:none}.identity h1{font-size:clamp(2.75rem,11vw,5.25rem)}.social-links{justify-content:center}.analytics-consent{bottom:calc(var(--safe-bottom) + 4rem)}}@media (orientation:landscape) and (height<=31rem){.identity h1{font-size:clamp(2.1rem,7.5vh,3.6rem)}.social-links{margin-top:.75rem}.analytics-consent{bottom:var(--safe-bottom)}}@media (aspect-ratio>=11/5){.scene-poster img{object-fit:contain;object-position:left center}.scene-shade{background:linear-gradient(90deg,#0000 38%,#0515172e 56%,#05151785 100%),linear-gradient(#0000 68%,#05151747)}}@media (prefers-reduced-motion:reduce){.social-links a,.social-links a:after,.scene-control,.analytics-consent button,.analytics-settings{transition:none}.analytics-consent{animation:none}}
