@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#02060b;--panel:#06111b;--line:#55d9ff2e;--cyan:#55d9ff;--green:#68ee9a;--text:#e3f3f8;--muted:#cae8f185;font-family:IBM Plex Sans Variable,IBM Plex Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--background);width:100%;min-height:100%;margin:0}body{color:var(--text);overflow:hidden}button,input,select{font:inherit}button,label{-webkit-tap-highlight-color:transparent}.app-shell{background:var(--background);grid-template-columns:minmax(0,1fr) 320px;width:100%;height:100dvh;min-height:520px;display:grid;overflow:hidden}.earth-stage{background:radial-gradient(circle at 50% 45%,#12374c38,#0000 37%),#02060b;outline:none;min-width:0;position:relative;overflow:hidden}.earth-stage canvas{cursor:grab;display:block;position:absolute;inset:0}.earth-stage[data-event-hover=true] canvas{cursor:pointer}.earth-stage[data-dragging=true] canvas{cursor:grabbing}.ambient-field{pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 12% 18%,#55d9ff47 0 1px,#0000 1.5px),radial-gradient(circle at 78% 31%,#ffffff38 0 1px,#0000 1.4px),radial-gradient(circle at 66% 82%,#55d9ff2e 0 1px,#0000 1.4px);background-size:211px 193px,263px 229px,337px 281px;position:absolute;inset:0}.apeira-home{z-index:10;color:var(--text);letter-spacing:.15em;align-items:center;gap:7px;font:600 10px/1 IBM Plex Mono,Unispace,ui-monospace,monospace;text-decoration:none;display:inline-flex;position:absolute;top:22px;left:28px}.apeira-home span,.apeira-home b{color:var(--cyan)}.apeira-home:hover,.apeira-home:focus-visible{color:#fff;text-shadow:0 0 12px #55d9ffb8}.brand-block{z-index:3;pointer-events:none;position:absolute;top:60px;left:28px}.brand-block p{color:var(--cyan);letter-spacing:.16em;margin:0 0 6px;font:600 10px/1.2 ui-monospace,monospace}.brand-block h1{letter-spacing:-.055em;margin:0;font-size:clamp(28px,3.1vw,48px);font-weight:300}.brand-block h1 span{color:var(--green);font-weight:750;display:block}.loading{z-index:4;color:var(--cyan);letter-spacing:.14em;font:600 10px/1 ui-monospace,monospace;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.coordinate-readout{z-index:5;pointer-events:none;position:absolute;transform:translate(13px,-50%)}.coordinate-readout i{background:var(--cyan);width:14px;height:1px;position:absolute;top:50%;right:100%}.coordinate-readout div{color:#e7f9ff;background:#020910e6;border:1px solid #55d9ff61;gap:8px;padding:7px 9px;font:600 9px/1 ui-monospace,monospace;display:flex}.event-card{z-index:8;background:#030c14f5;border:1px solid #ffbd5c7a;width:min(340px,100% - 48px);padding:20px;position:absolute;top:24px;right:24px;box-shadow:0 18px 55px #0000005c}.event-card .card-close{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:22px;position:absolute;top:8px;right:8px}.event-card>span,.selected-location>span{color:#ffbd5c;letter-spacing:.1em;margin-right:28px;font:650 9px/1.2 ui-monospace,monospace;display:block}.event-card h2{margin:9px 26px 10px 0;font-size:18px;line-height:1.25}.event-card p{color:#e3f3f8b8;margin:0 0 12px;font-size:12px;line-height:1.55}.event-card time{color:var(--muted);margin-bottom:15px;font:600 9px/1.3 ui-monospace,monospace;display:block}.event-card-links{flex-wrap:wrap;gap:12px 18px;display:flex}.event-card-links a{color:var(--green);letter-spacing:.07em;font:650 9px/1 ui-monospace,monospace;text-decoration:none}.event-card-links a+a{color:#55d9ff}.rotation-resume{z-index:4;color:#cae8f29e;letter-spacing:.1em;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020a12d6;border:1px solid #55d9ff47;width:max-content;max-width:calc(100% - 40px);padding:8px 12px;font:600 7px/1.4 ui-monospace,monospace;position:absolute;bottom:43px;left:50%;transform:translate(-50%)}.rotation-resume strong{color:var(--cyan);font-size:9px;font-weight:600}.globe-hint,.texture-credit{z-index:3;color:#c6e6ef6b;letter-spacing:.08em;font:600 8px/1 ui-monospace,monospace;position:absolute;bottom:18px}.globe-hint{left:24px}.texture-credit{text-decoration:none;right:24px}.control-panel{z-index:5;border-left:1px solid var(--line);background:#040e17f5;height:100%;position:relative;overflow-y:auto}.control-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:82px;padding:18px 20px;display:flex}.control-panel>header div{gap:5px;display:grid}.control-panel>header span,.section-title span{color:var(--cyan);letter-spacing:.12em;font:650 9px/1 ui-monospace,monospace}.control-panel>header strong{font-size:16px}.control-panel button{border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;background:#55d9ff08;font-size:20px}.control-panel button:hover{background:#55d9ff1a}.control-panel section{border-bottom:1px solid var(--line);padding:22px 20px}.location-search{gap:8px;display:grid}.location-search>label{color:var(--muted);letter-spacing:.08em;font:650 9px/1 ui-monospace,monospace}.location-search>div{grid-template-columns:minmax(0,1fr) 44px;display:grid}.location-search input{border:1px solid var(--line);min-width:0;height:44px;color:var(--text);background:#07131d;border-right:0;border-radius:0;outline:none;padding:0 12px;font-size:12px}.location-search input:focus{border-color:#55d9ff94}.location-search button{height:44px}.location-status,.event-status{color:var(--cyan);letter-spacing:.06em;margin:12px 0 0;font:650 9px/1.4 ui-monospace,monospace}.location-status[data-state=error],.event-status[data-state=error]{color:#ffbd5c}.location-results{gap:6px;margin-top:10px;display:grid}.location-result{text-align:left;min-height:42px;padding:8px 10px;width:100%!important;height:auto!important}.location-result strong,.location-result small{display:block}.location-result strong{font:650 10px/1.25 ui-monospace,monospace}.location-result small{color:var(--muted);margin-top:4px;font-size:10px}.selected-location{background:#68ee9a06;border:1px solid #68ee9a47;gap:7px;margin-top:12px;padding:12px;display:grid}.selected-location>span{color:var(--green)}.selected-location>strong{font-size:12px}.selected-location>small{color:var(--muted);font:600 9px/1.2 ui-monospace,monospace}.selected-location>div{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.selected-location a{color:var(--cyan);letter-spacing:.06em;font:650 8px/1 ui-monospace,monospace;text-decoration:none}.section-title{align-items:center;gap:9px;margin-bottom:16px;display:flex}.section-title h2{letter-spacing:.08em;margin:0;font-size:11px}.toggle-grid{gap:8px;display:grid}.view-picker{gap:8px;margin-bottom:12px;display:grid}.view-picker>span{color:var(--muted);letter-spacing:.08em;font:650 9px/1 ui-monospace,monospace}.view-picker select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);letter-spacing:.05em;cursor:pointer;background:#07131d;border-radius:0;outline:none;padding:0 34px 0 12px;font:650 10px/1 ui-monospace,monospace}.view-picker select:focus{border-color:#55d9ff94}.view-description{min-height:30px;color:var(--muted);margin:-2px 0 12px;font-size:11px;line-height:1.45}.toggle-grid label{border:1px solid var(--line);cursor:pointer;align-items:center;min-height:44px;padding:0 12px;display:flex}.toggle-grid input{width:18px;height:18px;accent-color:var(--green);margin:0 11px 0 0}.toggle-grid span{letter-spacing:.06em;font:650 10px/1 ui-monospace,monospace}.weather-status{color:var(--green);letter-spacing:.08em;margin:13px 0 0;font:650 9px/1.3 ui-monospace,monospace;text-decoration:none;display:block}.weather-status[data-state=loading]{color:var(--cyan)}.weather-status[data-state=error]{color:#ffbd5c}.event-status[data-state=ready]{color:var(--green)}.event-legend{flex-wrap:wrap;gap:9px 13px;margin-top:12px;display:flex}.event-legend span{color:var(--muted);align-items:center;gap:5px;font:600 8px/1 ui-monospace,monospace;display:inline-flex}.event-legend i{border-radius:50%;width:7px;height:7px;box-shadow:0 0 7px}.event-legend i[data-color=storm]{color:#ffbd5c;background:#ffbd5c}.event-legend i[data-color=alert]{color:#ff5b73;background:#ff5b73}.event-legend i[data-color=flood]{color:#55d9ff;background:#55d9ff}.event-legend i[data-color=hazard]{color:#ff6b47;background:#ff6b47}.instructions{gap:10px;margin:0;display:grid}.instructions div{grid-template-columns:70px 1fr;gap:10px;display:grid}.instructions dt{color:var(--green);font:650 10px/1.4 ui-monospace,monospace}.instructions dd{color:var(--muted);margin:0;font-size:12px}.foundation-note{color:var(--muted);margin:0;font-size:12px;line-height:1.7}[hidden]{display:none!important}@media (width<=760px){body{overflow-y:auto}.app-shell{height:auto;min-height:100dvh;display:block;overflow:visible}.earth-stage{width:100%;height:62svh;min-height:390px}.control-panel{border-top:1px solid var(--line);border-left:0;width:100%;height:auto;min-height:420px}.brand-block{top:max(54px, calc(env(safe-area-inset-top) + 42px));left:max(18px, env(safe-area-inset-left))}.apeira-home{top:max(17px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left))}.globe-hint{left:max(14px, env(safe-area-inset-left));bottom:12px}.texture-credit{display:none}.event-card{width:calc(100% - 28px);top:auto;bottom:44px;right:14px}}@media (orientation:landscape) and (height<=500px) and (width<=950px){.app-shell{grid-template-columns:minmax(0,1fr) 300px;min-height:100svh;display:grid}.earth-stage{width:100%;height:100svh;min-height:0}.control-panel{border-top:0;border-left:1px solid var(--line);width:300px;height:100svh;min-height:0}.brand-block{top:max(50px, calc(env(safe-area-inset-top) + 38px));left:max(14px, env(safe-area-inset-left))}.apeira-home{top:max(13px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left))}}
