:root{--s0:#070c0f;--s1:#0e151a;--s2:#162026;--s3:#1e2b33;--s4:#27363f;--line:#26343d;--line-soft:#1a252b;--ink:#e9f1f0;--ink2:#9db1b6;--ink3:#6b8087;--teal-200:#99f6e4;--teal-300:#5eead4;--teal-400:#2dd4bf;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--teal-800:#115e59;--teal-900:#134e4a;--teal-950:#042f2e;--acc:var(--teal-400);--acc-ink:var(--teal-950);--acc-dim:var(--teal-600);--acc-soft:rgba(45,212,191,.13);--acc-line:rgba(45,212,191,.3);--acc-grad:linear-gradient(180deg,var(--teal-400),var(--teal-500));--acc-grad-hi:linear-gradient(180deg,var(--teal-300),var(--teal-400));--lime:#b6fe68;--brand-deep:#014552;--crit:#ff6b5e;--crit-soft:rgba(255,107,94,.14);--crit-line:rgba(255,107,94,.32);--warn:#f2b544;--warn-soft:rgba(242,181,68,.14);--warn-line:rgba(242,181,68,.32);--info:#58b6e8;--info-soft:rgba(88,182,232,.14);--info-line:rgba(88,182,232,.32);--good:#4ade80;--good-soft:rgba(74,222,128,.13);--good-line:rgba(74,222,128,.3);--ser1:#0d9488;--ser2:#b45309;--ser3:#6d28d9;--cat-mine:#8b9fff;--cat-expert:#ffb03a;--cat-nation:#ff7ab8;--t-display:28px;--t-h2:20px;--t-h3:16px;--t-body:14px;--t-small:13px;--t-eyebrow:11px;--sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:24px;--sp6:32px;--sp7:48px;--r-ctrl:6px;--r-card:8px;--r-pill:999px;--h-ctrl:36px;--h-icon:40px;--shadow-pop:0 2px 6px rgba(0,0,0,.4),0 16px 40px -16px rgba(0,0,0,.8);--shadow-card:none;--font-ui:Inter,-apple-system,"Segoe UI",sans-serif;--font-display:Archivo,Inter,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace}[data-polarity=light]{color:var(--ink);--s0:#eef3f3;--s1:#f7fafa;--s2:#fff;--s3:#e9f0f0;--s4:#dbe6e6;--line:#d6e0e0;--line-soft:#e7eded;--ink:#0c1719;--ink2:#4e6065;--ink3:#78888d;--shadow-card:0 1px 2px rgb(12 23 25/7%),0 10px 24px -14px rgba(12,23,25,.22);--shadow-pop:0 2px 6px rgba(12,23,25,.1),0 18px 44px -18px rgba(12,23,25,.34);--acc:var(--teal-700);--acc-ink:#fff;--acc-dim:var(--teal-600);--acc-soft:rgba(15,118,110,.1);--acc-line:rgba(15,118,110,.28);--acc-grad:linear-gradient(180deg,var(--teal-700),var(--teal-800));--acc-grad-hi:linear-gradient(180deg,var(--teal-800),var(--teal-900));--crit:#b91c1c;--crit-soft:rgb(185 28 28/8%);--crit-line:rgba(185,28,28,.24);--warn:#b45309;--warn-soft:rgb(180 83 9/9%);--warn-line:rgba(180,83,9,.26);--info:#1d4ed8;--info-soft:rgb(29 78 216/8%);--info-line:rgba(29,78,216,.24);--good:#15803d;--good-soft:rgb(21 128 61/9%);--good-line:rgba(21,128,61,.26)}.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{color:var(--ink3);font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font-family:var(--font-ui);transition:background .13s,border-color .13s,color .13s}.btn{gap:var(--sp2);height:var(--h-ctrl);padding:0 14px;border-radius:var(--r-ctrl);font-size:var(--t-body);font-weight:500;white-space:nowrap}.btn-primary{background:var(--acc-grad);color:var(--acc-ink);font-weight:600}.btn-primary:hover{background:var(--acc-grad-hi)}.btn-secondary{border:1px solid var(--line);background:var(--s3);color:var(--ink)}.btn-secondary:hover,.icon-btn:hover{background:var(--s4);color:var(--ink)}.btn-ghost{border:1px solid transparent;background:transparent;color:var(--ink2)}.btn-ghost:hover{background:var(--s3);color:var(--ink)}.btn-sm{height:30px;padding:0 10px;font-size:var(--t-small)}.btn-block{width:100%}.icon-btn{width:var(--h-icon);height:var(--h-icon);border:1px solid var(--line);border-radius:var(--r-ctrl);background:var(--s2);color:var(--ink2)}.field{display:flex;flex-direction:column;gap:6px}.field>label{color:var(--ink3);font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.input,.select{width:100%;height:var(--h-ctrl);border:1px solid var(--line);border-radius:var(--r-ctrl);background:var(--s2);color:var(--ink);font-size:var(--t-body);padding:0 12px;transition:border-color .13s,background .13s}.input::placeholder{color:var(--ink3)}.input:focus,.select:focus{border-color:var(--acc);outline:none;background:var(--s3)}.seg{gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--r-ctrl);background:var(--s2)}.seg,.seg button{display:inline-flex;align-items:center}.seg button{justify-content:center;height:30px;padding:0 12px;border-radius:4px;color:var(--ink2);font-size:var(--t-small);font-weight:500}.seg button:hover{background:var(--s3);color:var(--ink)}.seg button.on,.seg button[aria-selected=true]{background:var(--acc-soft);box-shadow:inset 0 0 0 1px var(--acc-line);color:var(--acc);font-weight:600}.utabs{display:flex;gap:var(--sp5);overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.utabs button{position:relative;padding:0 0 10px;color:var(--ink3);font-size:var(--t-body);font-weight:500;white-space:nowrap}.utabs button:hover{color:var(--ink2)}.utabs button[aria-selected=true]{color:var(--ink)}.utabs button[aria-selected=true]:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px;background:var(--acc);content:""}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600}.chip-outline,.chip-solid{border:1px solid var(--line);color:var(--ink2)}.chip-solid{background:var(--s3)}.chip-outline{background:transparent}.chip-acc{border:1px solid var(--acc-line);background:var(--acc-soft);color:var(--acc)}.card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--s2);box-shadow:var(--shadow-card)}.ds-head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--sp4);margin-bottom:var(--sp5)}.ds-head h1,.ds-head h2{margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--t-display);font-weight:700;letter-spacing:-.028em}.ds-head .sp{flex:1 1}.ds-sub{margin:6px 0 0;color:var(--ink2);font-size:var(--t-body)}.ds-empty{max-width:420px;margin:var(--sp7) auto;padding:var(--sp6) var(--sp5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--s2);box-shadow:var(--shadow-card);text-align:center}.ds-empty h3{margin:0 0 6px;color:var(--ink);font-family:var(--font-display);font-size:var(--t-h2)}.ds-empty p,.note{color:var(--ink2);font-size:var(--t-small);line-height:1.55}@font-face{font-family:Inter;src:url(/fonts/Inter.var.woff2) format("woff2-variations");font-weight:100 900}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,button,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,time,tr,tt,u,ul,var,video{font:inherit;padding:0;margin:0}html{font-family:var(--font-ui);font-size:var(--t-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;box-sizing:border-box}body,html{color:var(--ink);background:var(--s0);height:100%}.mapboxgl-popup-content{padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-ctrl);background:var(--s2);box-shadow:var(--shadow-pop);color:var(--ink);font-size:var(--t-small);font-weight:600}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:var(--s2)}#__next{height:100%;overflow:hidden}*,:after,:before{box-sizing:inherit}button,input,select,textarea{color:inherit;font-family:inherit}button{border:0;background:none;cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}::selection{background:var(--acc-soft);color:var(--ink)}.react-datepicker{height:270px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--s4);border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:var(--ink3)}.mapboxgl-ctrl-attrib-inner{display:none}.drawing-toast{text-align:center;animation:shake 4s infinite!important}@keyframes shake{0%,15%,to{transform:rotate(0deg)}2%,6%{transform:rotate(1deg)}4%,8%{transform:rotate(-1deg)}}