@import"https://unpkg.com/leaflet@1.9.4/dist/leaflet.css";._button_1728u_1{width:100%;margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;color:var(--text-2)}._button_1728u_1:hover,._button_1728u_1:focus-visible{color:var(--accent);border-color:var(--accent-dim)}._button_1728u_1:focus-visible{outline:2px solid var(--accent);outline-offset:3px}._page_1hhgw_1{min-height:100vh;background:var(--bg-void);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}._glow_1hhgw_12{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:radial-gradient(circle,rgba(220,180,95,.06) 0%,transparent 70%);pointer-events:none}._content_1hhgw_23{width:100%;max-width:380px}._logoBlock_1hhgw_28{text-align:center;margin-bottom:36px}._logoImage_1hhgw_33{margin:0 auto 12px;border-radius:10px;-o-object-fit:cover;object-fit:cover}._title_1hhgw_39{font-family:var(--font-display);font-weight:900;font-size:2.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-1)}._subtitle_1hhgw_48{color:var(--text-2);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-display);margin-top:6px}._card_1hhgw_57{padding:28px}._cardTitle_1hhgw_61{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}._tabSwitcher_1hhgw_70{display:flex;gap:4px;margin-bottom:20px;padding:3px;background:var(--bg-surface);border-radius:10px;border:1px solid var(--border)}._tab_1hhgw_70{flex:1;padding:8px 0;border-radius:8px;cursor:pointer;background:transparent;border:1px solid transparent;color:var(--text-2);font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:all .15s}._tab_1hhgw_70._tabActive_1hhgw_95{background:var(--bg-raised);border-color:var(--border);color:var(--text-1)}._form_1hhgw_101{display:flex;flex-direction:column;gap:14px}._label_1hhgw_107{font-family:var(--font-display);font-size:.72rem;color:var(--text-2);letter-spacing:.1em;text-transform:uppercase;font-weight:600;display:block;margin-bottom:6px}._forgotRow_1hhgw_118{text-align:right;margin-top:6px}._forgotLink_1hhgw_123{color:var(--text-3);font-size:.74rem;font-family:var(--font-mono);text-decoration:none}._errorBanner_1hhgw_130{background:#ff3b3b1a;border:1px solid rgba(255,59,59,.3);border-radius:8px;padding:10px 14px;font-size:.82rem;color:var(--red)}._submitButton_1hhgw_139{margin-top:4px;width:100%}._registerRow_1hhgw_144{text-align:center;margin-top:20px}._registerPrompt_1hhgw_149{color:var(--text-3);font-size:.82rem}._registerLink_1hhgw_154{color:var(--accent);font-size:.82rem;font-family:var(--font-display);font-weight:600;text-decoration:none;letter-spacing:.05em}._page_ospgf_1{padding:calc(60px + var(--safe-top)) 16px calc(40px + var(--safe-bottom));max-width:640px;margin:0 auto}._header_ospgf_7{text-align:center;margin:24px 0 32px}._logoImage_ospgf_12{margin:0 auto 14px;border-radius:12px;-o-object-fit:cover;object-fit:cover}._title_ospgf_18{font-family:var(--font-display);font-weight:900;font-size:2rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-1)}._subtitle_ospgf_27{color:var(--text-2);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-display);margin-top:6px}._versionBadge_ospgf_36{display:inline-block;margin-top:10px;padding:3px 10px;border-radius:20px;background:#dcb45f14;border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em}._section_ospgf_49{margin-bottom:18px;padding:22px}._sectionTitle_ospgf_54{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-1);margin-bottom:12px}._sectionIcon_ospgf_67{color:var(--accent);flex-shrink:0}._body_ospgf_72{font-family:var(--font-body);font-size:.88rem;line-height:1.65;color:var(--text-2)}._body_ospgf_72+._body_ospgf_72{margin-top:10px}._list_ospgf_83{display:flex;flex-direction:column;gap:10px;margin-top:12px}._listItem_ospgf_90{display:flex;gap:10px;align-items:flex-start}._listBullet_ospgf_96{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:7px}._listText_ospgf_105{font-family:var(--font-body);font-size:.86rem;line-height:1.6;color:var(--text-2)}._listText_ospgf_105 strong{color:var(--text-1);font-weight:600}._formula_ospgf_116{font-family:var(--font-mono);font-size:.78rem;color:var(--accent);background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin:12px 0;overflow-x:auto;white-space:nowrap}._contactCard_ospgf_129{display:flex;align-items:center;gap:14px}._contactAvatar_ospgf_135{width:48px;height:48px;border-radius:50%;flex-shrink:0;background:#dcb45f1a;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--accent)}._contactInfo_ospgf_150{flex:1;min-width:0}._contactName_ospgf_155{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-1)}._contactEmail_ospgf_162{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-family:var(--font-mono);font-size:.8rem;color:var(--text-2);text-decoration:none;transition:color .15s}._contactEmail_ospgf_162:hover{color:var(--accent)}._stack_ospgf_177{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}._stackTag_ospgf_184{font-family:var(--font-mono);font-size:.68rem;padding:4px 10px;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-2)}._footer_ospgf_194{text-align:center;margin-top:28px;padding-bottom:12px}._footerText_ospgf_200{font-family:var(--font-mono);font-size:.68rem;color:var(--text-3)}._page_18j86_1{min-height:100vh;background:radial-gradient(circle at 15% -5%,rgba(220,180,95,.08),transparent 34rem),var(--bg-void);color:var(--text-1)}._header_18j86_7{position:fixed;inset:0 0 auto;z-index:1500;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#0a0a0ced;border-bottom:1px solid var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}._brand_18j86_22{display:flex;align-items:center;gap:10px;color:var(--text-1);text-decoration:none;font-family:var(--font-display);font-weight:900;letter-spacing:.12em}._brand_18j86_22 img{border-radius:7px;-o-object-fit:cover;object-fit:cover}._docsLabel_18j86_38{color:var(--accent);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid rgba(220,180,95,.28);background:#dcb45f14}._headerActions_18j86_49{display:flex;align-items:center;gap:10px}._githubLink_18j86_55,._appButton_18j86_56{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border-radius:9px;text-decoration:none;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}._githubLink_18j86_55{color:var(--text-2);border:1px solid var(--border)}._githubLink_18j86_55:hover{color:var(--text-1);background:var(--bg-surface)}._appButton_18j86_56{color:#050506;background:var(--accent)}._appButton_18j86_56:hover{filter:brightness(1.08)}._menuButton_18j86_90{display:none;color:var(--text-1);background:transparent;border:1px solid var(--border);border-radius:9px;padding:7px;cursor:pointer}._shell_18j86_100{min-height:100vh;padding-top:64px}._sidebar_18j86_105{position:fixed;top:64px;left:0;bottom:0;width:310px;overflow-y:auto;padding:24px 18px 40px;border-right:1px solid var(--border);background:#0c0c0ff5;z-index:1300}._searchWrap_18j86_118{display:flex;align-items:center;gap:8px;padding:0 11px;min-height:42px;color:var(--text-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;margin-bottom:24px}._searchWrap_18j86_118:focus-within{border-color:#dcb45f8c;color:var(--accent)}._searchWrap_18j86_118 input{flex:1;width:100%;border:0;outline:0;background:transparent;color:var(--text-1);font-family:var(--font-body);font-size:.86rem}._searchWrap_18j86_118 input::-moz-placeholder{color:var(--text-3)}._searchWrap_18j86_118 input::placeholder{color:var(--text-3)}._searchWrap_18j86_118 button{border:0;background:transparent;color:var(--text-3);cursor:pointer;display:flex}._sidebarHeading_18j86_159{color:var(--text-3);font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 8px 9px}._guideNav_18j86_169{display:grid;gap:5px}._guideLink_18j86_174{display:flex;align-items:flex-start;gap:10px;padding:11px;color:var(--text-2);text-decoration:none;border:1px solid transparent;border-radius:10px}._guideLink_18j86_174 svg{margin-top:2px;flex:0 0 auto}._guideLink_18j86_174 span{min-width:0;display:grid;gap:4px}._guideLink_18j86_174 strong{font-family:var(--font-display);font-size:.83rem;letter-spacing:.035em}._guideLink_18j86_174 small{color:var(--text-3);font-size:.7rem;line-height:1.35}._guideLink_18j86_174:hover{color:var(--text-1);background:#ffffff06}._guideLinkActive_18j86_213{color:var(--accent);border-color:#dcb45f2e;background:#dcb45f0f}._guideLinkActive_18j86_213 small{color:var(--text-2)}._toc_18j86_223{display:grid;gap:2px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}._toc_18j86_223 button{text-align:left;border:0;border-left:2px solid transparent;background:transparent;color:var(--text-3);padding:5px 8px;font-family:var(--font-body);font-size:.76rem;line-height:1.3;cursor:pointer}._toc_18j86_223 button:hover{color:var(--text-1);border-left-color:var(--accent)}._toc_18j86_223 ._tocNested_18j86_249{padding-left:18px;font-size:.72rem}._searchResults_18j86_254{display:grid;gap:7px}._searchResult_18j86_254{text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);padding:11px;color:var(--text-1);cursor:pointer}._searchResult_18j86_254:hover{border-color:#dcb45f4d}._searchResult_18j86_254 span{display:block;font-family:var(--font-display);font-weight:700;font-size:.82rem}._searchResult_18j86_254 small{display:block;color:var(--accent);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;margin-top:3px}._searchResult_18j86_254 p{color:var(--text-3);font-size:.69rem;line-height:1.4;margin-top:6px}._noResults_18j86_296{color:var(--text-3);font-size:.82rem;padding:10px 8px}._main_18j86_302{width:min(100% - 310px,1080px);margin-left:310px;padding:56px 64px 80px}._hero_18j86_308{padding-bottom:34px;border-bottom:1px solid var(--border);margin-bottom:36px}._eyebrow_18j86_314{color:var(--accent);font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}._hero_18j86_308 h1{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.7rem);line-height:.98;letter-spacing:-.02em}._hero_18j86_308 p{max-width:720px;color:var(--text-2);font-size:1rem;line-height:1.65;margin-top:17px}._footer_18j86_339{display:flex;justify-content:space-between;gap:20px;margin-top:70px;padding-top:24px;border-top:1px solid var(--border);color:var(--text-3);font-size:.78rem}._footer_18j86_339 a{color:var(--accent);text-decoration:none}._backdrop_18j86_355{display:none}.docs-markdown{color:var(--text-2);font-size:.95rem;line-height:1.72}.docs-markdown h1,.docs-markdown h2,.docs-markdown h3,.docs-markdown h4,.docs-markdown h5,.docs-markdown h6{scroll-margin-top:88px;color:var(--text-1);font-family:var(--font-display);line-height:1.15;letter-spacing:-.01em}.docs-markdown h1{font-size:2.2rem;margin:54px 0 18px}.docs-markdown h2{font-size:1.75rem;margin:52px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.docs-markdown h3{font-size:1.3rem;margin:38px 0 12px}.docs-markdown h4{font-size:1.05rem;margin:28px 0 10px}.docs-markdown p{margin:0 0 17px}.docs-markdown strong{color:var(--text-1);font-weight:700}.docs-markdown em{color:#b8b8c9}.docs-markdown a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(220,180,95,.25)}.docs-markdown a:hover{border-bottom-color:var(--accent)}.docs-markdown img{max-width:100%;height:auto;vertical-align:middle}.docs-markdown p>img{margin-right:6px}.docs-markdown code{font-family:var(--font-mono);font-size:.84em;color:#d7ffd0;background:#dcb45f12;border:1px solid rgba(220,180,95,.12);border-radius:5px;padding:2px 5px}.docs-markdown ul,.docs-markdown ol{margin:0 0 19px 22px}.docs-markdown li{margin:6px 0;padding-left:3px}.docs-markdown li::marker{color:var(--accent)}.docs-markdown blockquote{margin:22px 0;padding:15px 18px;border-left:3px solid var(--accent);background:#dcb45f0b;border-radius:0 10px 10px 0;color:#b7b7c6}.docs-markdown hr{height:1px;border:0;background:var(--border);margin:38px 0}.docs-code-block{margin:20px 0 24px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#08080a}.docs-code-toolbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px;background:var(--bg-surface);border-bottom:1px solid var(--border);color:var(--text-3);font-family:var(--font-mono);font-size:.67rem;text-transform:uppercase}.docs-code-toolbar button{display:inline-flex;align-items:center;gap:5px;color:var(--text-2);border:0;background:transparent;padding:6px;font-family:var(--font-display);font-weight:700;font-size:.65rem;text-transform:uppercase;cursor:pointer}.docs-code-toolbar button:hover{color:var(--accent)}.docs-code-block pre{margin:0;padding:18px;overflow-x:auto}.docs-code-block pre code{display:block;min-width:-moz-max-content;min-width:max-content;color:#d5d5df;background:transparent;border:0;padding:0;font-size:.78rem;line-height:1.6}.docs-table-wrap{width:100%;overflow-x:auto;margin:21px 0 27px;border:1px solid var(--border);border-radius:12px}.docs-table-wrap table{width:100%;min-width:560px;border-collapse:collapse;font-size:.82rem}.docs-table-wrap th{color:var(--text-1);background:var(--bg-surface);font-family:var(--font-display);font-weight:700;letter-spacing:.035em;text-align:left}.docs-table-wrap th,.docs-table-wrap td{padding:11px 13px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top}.docs-table-wrap th:last-child,.docs-table-wrap td:last-child{border-right:0}.docs-table-wrap tbody tr:last-child td{border-bottom:0}.docs-table-wrap tbody tr:nth-child(2n){background:#ffffff04}@media (max-width: 920px){._header_18j86_7{padding:0 14px}._githubLink_18j86_55{display:none}._menuButton_18j86_90{display:flex}._sidebar_18j86_105{transform:translate(-105%);transition:transform .22s ease;box-shadow:18px 0 55px #00000073}._sidebarOpen_18j86_591{transform:translate(0)}._backdrop_18j86_355{display:block;position:fixed;top:64px;right:0;bottom:0;left:0;border:0;background:#0000008c;z-index:1200}._main_18j86_302{width:100%;margin-left:0;padding:42px 24px 70px}}@media (max-width: 560px){._docsLabel_18j86_38{display:none}._appButton_18j86_56{padding:0 10px}._main_18j86_302{padding:34px 17px 60px}._hero_18j86_308{margin-bottom:28px;padding-bottom:26px}._hero_18j86_308 p{font-size:.9rem}._footer_18j86_339{flex-direction:column}._sidebar_18j86_105{width:min(88vw,330px)}.docs-markdown{font-size:.9rem}.docs-markdown h1{font-size:1.75rem}.docs-markdown h2{font-size:1.45rem}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.p-1{padding:.25rem}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg-void: #0a0a0c;--bg-card: #111115;--bg-surface: #18181f;--bg-raised: #22222c;--accent: #dcb45f;--accent-dim: #7a5a1e;--accent-glow: rgba(220, 180, 95, .22);--red: #ff3b3b;--amber: #ffb800;--blue: #3b82f6;--text-1: #f0f0f8;--text-2: #8888a0;--text-3: #44445a;--border: rgba(255,255,255,.07);--font-display: "Barlow Condensed", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-body: "Barlow", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;background:var(--bg-void);color:var(--text-1);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-raised);border-radius:4px}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}@keyframes glow-pulse{0%,to{box-shadow:0 0 12px var(--accent-glow)}50%{box-shadow:0 0 28px #dcb45f66}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes ring-fill{0%{stroke-dashoffset:339}}.animate-slide-up{animation:slide-up .4s ease forwards}.animate-fade-in{animation:fade-in .3s ease forwards}.animate-glow{animation:glow-pulse 2s ease-in-out infinite}.leaflet-container{background:#0e0e14!important;font-family:var(--font-body)!important}.leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.7)}.leaflet-control-zoom a{background:var(--bg-card)!important;color:var(--text-1)!important;border-color:var(--border)!important}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px}.btn-accent{background:var(--accent);color:#000;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:12px;padding:14px 28px;cursor:pointer;transition:all .15s ease}.btn-accent:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-accent:active{transform:translateY(0)}.btn-accent:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-2);font-family:var(--font-display);font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);border-radius:12px;padding:12px 24px;cursor:pointer;transition:all .15s ease}.btn-ghost:hover{background:var(--bg-raised);color:var(--text-1)}.input-dark{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-1);font-family:var(--font-body);font-size:.95rem;padding:12px 16px;width:100%;outline:none;transition:border-color .2s}.input-dark:focus{border-color:var(--accent)}.input-dark::-moz-placeholder{color:var(--text-3)}.input-dark::placeholder{color:var(--text-3)}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(64px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#0a0a0ceb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around;z-index:1200}.tab-item{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0;padding:8px 2px;cursor:pointer;opacity:.45;transition:opacity .2s;font-family:var(--font-body);font-size:.6rem;letter-spacing:.02em;color:var(--text-2);text-transform:uppercase;font-weight:500}.tab-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-item.active{opacity:1;color:var(--accent)}.metric-value{font-family:var(--font-display);font-weight:900;font-size:3.5rem;line-height:1;color:var(--text-1);letter-spacing:-.02em}.metric-unit{font-family:var(--font-display);font-weight:400;font-size:1rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display)}.badge-green{background:#dcb45f26;color:var(--accent)}.badge-red{background:#ff3b3b26;color:var(--red)}.badge-amber{background:#ffb80026;color:var(--amber)}.badge-blue{background:#3b82f626;color:var(--blue)}.divider{height:1px;background:var(--border);margin:16px 0}.page-content{padding-top:calc(64px + var(--safe-top));padding-bottom:calc(80px + var(--safe-bottom));min-height:100vh}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}
