:root{--ink:#1c1f22;--paper:#f4f1ec;--rule:#1c1f2224;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Inter,sans-serif}*{box-sizing:border-box}html{scrollbar-width:none;height:100%}body{margin:0}#root{width:100%;height:100%;min-height:100%;position:relative;overflow:hidden}canvas{touch-action:none;width:100%!important;display:block!important}.loading,.nowebgl{letter-spacing:.02em;color:#55606a;place-items:center;height:100%;font-size:.9rem;display:grid}.hud{pointer-events:none;z-index:10;position:fixed;top:clamp(1rem,4vw,2.5rem);left:clamp(1rem,4vw,2.5rem)}.hud__title{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,6vw,3.4rem);font-weight:300;line-height:1}.hud__hint{letter-spacing:.08em;text-transform:uppercase;color:#5c6670;margin:.6rem 0 0;font-size:.72rem}.seasons{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--rule);z-index:10;background:#ffffff8c;border-radius:999px;gap:.25rem;padding:.25rem;display:flex;position:fixed;bottom:clamp(1rem,4vw,2.5rem);left:clamp(1rem,4vw,2.5rem)}.seasons__btn{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:#5c6670;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem .95rem;font-size:.72rem;transition:background .2s,color .2s}.seasons__btn:hover{color:var(--ink)}.seasons__btn.is-active{background:var(--ink);color:var(--paper)}.hotspot{font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;display:inline-flex}.hotspot__dot{background:#fc4c02;flex:none;width:.95rem;height:.95rem;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s;position:relative;box-shadow:0 1px 3px #00000059}.hotspot__dot:after{content:"";background:#fff;width:31.25%;height:31.25%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hotspot:hover .hotspot__dot,.hotspot.is-selected .hotspot__dot{transform:scale(1.2);box-shadow:0 0 0 4px #fc4c0240,0 1px 3px #00000059}.hotspot__label{border:1px solid var(--rule);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:0;pointer-events:none;background:#fff;padding:4px 21px;font-size:1rem;font-weight:400;transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.3,1);transform:translate(-6px)}.hotspot:hover .hotspot__label,.hotspot.is-selected .hotspot__label{opacity:1;transform:none}.panel{z-index:10;background:#fff;border-right:0;width:min(27rem,92vw - 40px);height:auto;padding:clamp(1.25rem,4vw,1.875rem);transition:transform .55s cubic-bezier(.16,1,.3,1);position:fixed;top:20px;bottom:20px;left:20px;overflow-y:auto;transform:translate(calc(-100% - 20px));box-shadow:16px 0 40px -12px #14161847}.panel--open{transform:none}.panel__close{color:#565656;cursor:pointer;background:0 0;border:0;place-items:center;width:2rem;height:2rem;padding:0;transition:opacity .2s;display:grid;position:absolute;top:clamp(1.25rem,4vw,1.875rem);right:clamp(1.25rem,4vw,1.875rem)}.panel__close:hover{opacity:.65}.panel__close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.panel__eyebrow{display:none}.panel__title{letter-spacing:-.01em;color:var(--ink);font-size:clamp(24px,3.5vw,32px);font-weight:500;line-height:1.1;font-family:var(--font-body);margin:0 0 1.75rem;padding-right:2.5rem}.panel__blurb{color:#55606a;margin:0;font-size:.92rem;line-height:1.6}.panel__subhead{letter-spacing:-.01em;text-transform:none;color:var(--ink);font-size:clamp(18px,1.4vw,20px);font-weight:500;font-family:var(--font-body);border-top:0;margin:0 0 .5rem;padding-top:1.75rem}.panel__subhead:first-of-type{padding-top:0}.panel__states{-moz-columns:2;columns:2;color:#3d454c;margin:0;padding:0;font-size:.85rem;line-height:2;list-style:none}@media (width<=600px){.panel{border-radius:0;width:auto;height:40dvh;max-height:40dvh;margin:0 auto;inset:auto 10px 0;transform:translateY(calc(100% + 10px));box-shadow:0 -16px 40px -12px #14161847}.panel--open{transform:none}.panel__content{box-sizing:border-box;height:100%;overflow-y:auto}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sr-only button:focus{clip:auto;background:var(--ink);width:auto;height:auto;color:var(--paper);font:inherit;z-index:100;border:0;border-radius:999px;padding:.6rem 1.1rem;font-size:.78rem;position:fixed;top:1rem;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.panel,.hotspot{transition-duration:.01ms}}.map-canvas-wrap{width:100%;height:100dvh;position:relative}.map-canvas-wrap.is-inactive canvas{pointer-events:none}.activate-overlay{z-index:15;cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:fixed;inset:0}.activate-overlay__hint{border:1px solid var(--rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--paper);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;background:#1c1f228c;border-radius:999px;padding:.6rem 1.2rem;font-size:.78rem}.fullscreen-btn{z-index:50;border:1px solid var(--rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:#ffffffd1;place-items:center;padding:0;transition:background .2s,transform .2s;display:grid;position:fixed;top:clamp(1rem,4vw,2.5rem);right:clamp(1rem,4vw,2.5rem);overflow:hidden}.fullscreen-btn:hover{background:#fff;transform:translateY(-1px)}.fullscreen-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.fullscreen-btn__icon{place-items:center;transition:opacity .25s,transform .25s;display:grid;position:absolute;inset:0}.fullscreen-btn__icon--expand{opacity:1;transform:scale(1)}.fullscreen-btn__icon--compress{opacity:0;transform:scale(.85)}.fullscreen-btn:hover .fullscreen-btn__icon--expand{opacity:0;transform:scale(1.15)}.fullscreen-btn:hover .fullscreen-btn__icon--compress{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.fullscreen-btn__icon{transition-duration:.01ms}}
