:root{--font-body:"Google Sans Flex", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--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}.hotspot{font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;display:inline-flex;transform:translate(-.475rem,-50%)}.hotspot__dot{width:.95rem;height:.95rem;transition:transform .35s var(--ease-soft), box-shadow .35s var(--ease-soft);background:#fc4c02;flex:none;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;transition:opacity .28s var(--ease-soft), transform .4s var(--ease);pointer-events:none;background:#fff;padding:4px 21px;font-size:1rem;font-weight:400;transform:translate(-6px)}.hotspot:hover .hotspot__label,.hotspot.is-selected .hotspot__label{opacity:1;transform:none}.panel{font-family:var(--font-body);letter-spacing:0;visibility:hidden;width:min(27rem,92vw - 40px);height:auto;transition:transform .9s var(--ease), opacity .45s var(--ease-soft), visibility 0s linear .9s;will-change:transform;z-index:10;background:#fff;border-right:0;padding:clamp(1.25rem,4vw,1.875rem);font-size:16px;font-weight:400;line-height:1.5;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{opacity:1;visibility:visible;transition:transform .9s var(--ease), opacity .45s var(--ease-soft), visibility 0s;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,.panel__blurb,.panel__subhead,.panel__states{opacity:0;transition:opacity .55s var(--ease-soft), transform .85s var(--ease);transform:translateY(14px)}.panel--open .panel__title,.panel--open .panel__blurb,.panel--open .panel__subhead,.panel--open .panel__states{opacity:1;transform:none}.panel--open .panel__title{transition-delay:.2s}.panel--open .panel__blurb{transition-delay:.3s}.panel--open .panel__subhead{transition-delay:.4s}.panel--open .panel__states{transition-delay:.5s}.panel--swap .panel__title,.panel--swap .panel__blurb,.panel--swap .panel__subhead,.panel--swap .panel__states{opacity:0;transition:opacity .24s var(--ease-soft), transform .24s var(--ease-soft);transition-delay:0s;transform:translateY(-10px)}.panel__title{letter-spacing:0;color:var(--ink);font-size: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:0;text-transform:none;color:var(--ink);font-size:16px;font-weight:500;line-height:1.5;font-family:var(--font-body);border-top:0;margin:0 0 .35rem;padding-top:0}.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}.panel--cross{opacity:0;transition:opacity .3s var(--ease-soft), transform .3s var(--ease-soft);transform:translate(-20px)}.panel--right.panel--cross{transform:translate(20px)}.panel--jump,.panel--jump *{transition:none!important}.panel--right{left:auto;right:20px;transform:translate(calc(100% + 20px));box-shadow:-16px 0 40px -12px #14161847}.panel--right.panel--open{transform:none}@media (width<=600px){.panel{border-radius:14px 14px 0 0;width:100%;height:55vh;inset:auto 0 0;transform:translateY(100%);box-shadow:0 -12px 40px -12px #14161859}.panel--right{left:0;right:0;transform:translateY(100%)}.panel--open{transform:none}.hotspot__label{display:none}}.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,.panel *,.hotspot,.hotspot *{transition-duration:.01ms;transition-delay:0s}.panel__title,.panel__blurb,.panel__subhead,.panel__states{transform:none}}.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;transition:background .3s var(--ease-soft), transform .3s var(--ease-soft);background:#ffffffd1;place-items:center;padding:0;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{transition:opacity .35s var(--ease-soft), transform .35s var(--ease);place-items:center;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}}
