@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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}:root{--bg:#080b10;--canvas:#0d1117;--glass:#10141bc7;--glass-strong:#10141beb;--raised:#ffffff0b;--raised-hover:#ffffff14;--line:#ffffff17;--line-strong:#ffffff2e;--ink:#f1f4f8;--ink-2:#b9c2ce;--muted:#7f8b9b;--sun:#ffc233;--sun-ink:#1a1300;--focus:#5cc8ff;--green:#34d58a;--amber:#ff9a3d;--red:#ff5d55;--grey:#8b96a5;--green-soft:#34d58a24;--amber-soft:#ff9a3d26;--red-soft:#ff5d5526;--grey-soft:#8b96a526;--tree:#2fa565;--tree-soft:#2fa56552;--solid:#66727f;--sky-top:#1b2a40;--sky-bottom:#101823;--series-1:#5cc8ff;--series-2:#2f7fd1;--series-3:#ffffff29;--r-sm:8px;--r-md:12px;--r-lg:18px;--shadow:0 18px 50px #00000073, 0 2px 6px #0000004d;--blur:saturate(140%) blur(18px);--font:"Inter Variable", "Inter", "Segoe UI", system-ui, sans-serif;--t-xs:11px;--t-sm:12.5px;--t-md:14px;--t-lg:16px;--t-xl:20px;--t-2xl:28px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--ease:cubic-bezier(.2, .8, .2, 1);--fast:.14s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef1f5;--canvas:#dfe5ec;--glass:#ffffffd6;--glass-strong:#fffffff5;--raised:#0f172a0a;--raised-hover:#0f172a14;--line:#0f172a1a;--line-strong:#0f172a38;--ink:#111823;--ink-2:#3b4757;--muted:#677385;--sun:#e9a400;--sun-ink:#1a1300;--focus:#0b7fd6;--green:#12925a;--amber:#d26a00;--red:#d2362c;--grey:#6b7686;--green-soft:#12925a21;--amber-soft:#d26a0021;--red-soft:#d2362c1f;--grey-soft:#6b768624;--tree:#2a8f55;--tree-soft:#2a8f5547;--solid:#7a8694;--sky-top:#cfe3f7;--sky-bottom:#eef5fc;--series-1:#1787d6;--series-2:#0c4f8a;--series-3:#0f172a21;--shadow:0 16px 40px #0f172a29, 0 1px 3px #0f172a1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--t-md);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}a{color:var(--focus);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}::selection{background:color-mix(in srgb, var(--sun) 40%, transparent)}.glass{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.block{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s3)}.kicker{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650}.title{font-size:var(--t-lg);letter-spacing:-.01em;font-weight:650}.muted{color:var(--muted)}.small{font-size:var(--t-sm)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum", "cv11"}.btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--raised);height:34px;color:var(--ink);font-size:var(--t-sm);white-space:nowrap;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.btn:hover{background:var(--raised-hover);border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn svg{flex:none;width:15px;height:15px}.btn-primary{background:var(--sun);color:var(--sun-ink);border-color:#0000}.btn-primary:hover{background:color-mix(in srgb, var(--sun) 88%, white);border-color:#0000}.btn-quiet{color:var(--ink-2);background:0 0;border-color:#0000}.btn-quiet:hover{background:var(--raised-hover);color:var(--ink);border-color:#0000}.btn-icon{width:34px;padding:0}.btn-sm{height:28px;font-size:var(--t-xs);padding:0 9px}.seg{background:var(--raised);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{height:28px;color:var(--ink-2);font-size:var(--t-sm);white-space:nowrap;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 11px;font-weight:600;display:inline-flex}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--glass-strong);color:var(--ink);box-shadow:0 1px 2px #00000040, inset 0 0 0 1px var(--line)}.seg svg{width:14px;height:14px}.seg.block-seg{display:flex}.seg.block-seg button{flex:1;justify-content:center}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{font-size:var(--t-xs);color:var(--muted);font-weight:600}.input,.select{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--raised);width:100%;height:34px;color:var(--ink);font-size:var(--t-sm);transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease);padding:0 10px}.input:hover,.select:hover{border-color:var(--line-strong)}.input:focus,.select:focus{border-color:var(--focus);background:var(--raised-hover);outline:none}.select option{color:#f1f4f8;background:#161b23}:root[data-theme=light] .select option{color:#111823;background:#fff}input[type=range]{accent-color:var(--sun);width:100%}input[type=checkbox]{accent-color:var(--sun)}.dot{background:var(--grey);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot.green{background:var(--green)}.dot.amber{background:var(--amber)}.dot.red{background:var(--red)}.dot.unknown{background:var(--grey)}.badge{height:22px;font-size:var(--t-xs);background:var(--grey-soft);color:var(--grey);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:650;display:inline-flex}.badge.green{background:var(--green-soft);color:var(--green)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red)}.tabs{border-bottom:1px solid var(--line);padding:0 var(--s3);gap:2px;display:flex}.tabs button{height:40px;color:var(--muted);font-size:var(--t-sm);background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex;position:relative}.tabs button:hover,.tabs button.on{color:var(--ink)}.tabs button.on:after{content:"";background:var(--sun);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.tabs svg{width:14px;height:14px}.divider{background:var(--line);height:1px;margin:var(--s3) 0;border:0}.row{align-items:center;gap:var(--s2);display:flex}.grow{flex:1;min-width:0}.stack{gap:var(--s3);flex-direction:column;display:flex}.scroll{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overflow:auto}.scroll::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 6px}.table thead th{font-size:var(--t-xs);color:var(--muted);font-weight:600}.table td{font-variant-numeric:tabular-nums}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--raised) 0%, var(--raised-hover) 50%, var(--raised) 100%);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise .26s var(--ease) both}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{background:var(--canvas);height:100%;min-height:100vh;position:relative;overflow:hidden}.app-shell.is-welcome{background:var(--bg);overflow:auto}.shell-canvas{position:absolute;inset:0}.shell-top{z-index:30;border-radius:16px;align-items:center;height:56px;padding:0 12px 0 16px;display:flex;position:absolute;top:16px;left:16px;right:16px}.shell-top>*{flex:1;min-width:0}.is-welcome .shell-top{width:auto;margin:16px;position:sticky;left:auto;right:auto}.shell-left,.shell-right{z-index:20;transition:transform .26s var(--ease), opacity .2s var(--ease);flex-direction:column;display:flex;position:absolute;top:88px;bottom:16px;overflow:hidden}.shell-left{opacity:0;pointer-events:none;width:340px;left:16px;transform:translate(-380px)}.shell-right{opacity:0;pointer-events:none;width:420px;right:16px;transform:translate(460px)}.left-open .shell-left,.right-open .shell-right{opacity:1;pointer-events:auto;transform:none}.shell-scroll{flex:1;min-height:0;padding:16px}.shell-tab{padding:16px}.shell-collapse{z-index:21;width:26px;height:40px;transition:left .26s var(--ease), right .26s var(--ease);border-radius:9px;position:absolute;top:104px}.shell-collapse-left{left:16px}.left-open .shell-collapse-left{left:364px}.shell-collapse-right{right:16px}.right-open .shell-collapse-right{right:444px}.shell-bottom{z-index:20;width:min(760px,100% - 32px);transition:left .26s var(--ease), right .26s var(--ease), width .26s var(--ease);margin:0 auto;padding:12px 16px;position:absolute;bottom:16px;left:16px;right:16px}.left-open .shell-bottom{left:372px}.right-open .shell-bottom{right:452px}.left-open.right-open .shell-bottom{width:min(760px,100% - 824px)}.left-open:not(.right-open) .shell-bottom{width:min(760px,100% - 388px)}.right-open:not(.left-open) .shell-bottom{width:min(760px,100% - 468px)}.shell-toast{z-index:40;font-size:var(--t-sm);max-width:min(560px,100% - 32px);animation:rise .24s var(--ease) both;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;top:88px;left:50%;transform:translate(-50%)}.shell-toast svg{flex:none;width:16px;height:16px}.shell-toast.is-error{border-color:var(--red);color:var(--ink)}.shell-toast.is-error>svg{color:var(--red)}.shell-spinner{border:2px solid var(--line-strong);border-top-color:var(--sun);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shell-error{border-left:3px solid var(--red);align-items:flex-start;gap:10px;display:flex}.shell-error svg{width:16px;height:16px;color:var(--red);flex:none;margin-top:2px}.shell-nodata{background:radial-gradient(1200px 600px at 50% 40%, var(--raised-hover), transparent);place-items:center;display:grid;position:absolute;inset:0}.shell-nodata-card{flex-direction:column;gap:8px;max-width:440px;padding:24px;display:flex}.shell-canvas .map{background:var(--canvas);touch-action:none;border:0;border-radius:0;height:auto;min-height:0;position:absolute;inset:0}.shell-canvas .map canvas{display:block}.shell-canvas .map-zoom{flex-direction:column;gap:6px;display:flex;position:absolute;inset:auto 468px 164px auto}.app-shell:not(.right-open) .map-zoom{right:16px}.shell-canvas .map-zoom button{border:1px solid var(--line);background:var(--glass);width:34px;height:34px;color:var(--ink);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:9px;font-size:18px;line-height:1}.shell-canvas .map-credit{color:var(--ink-2);background:var(--glass);border-radius:6px;max-width:320px;padding:3px 8px;font-size:10.5px;position:absolute;bottom:16px;left:388px}.app-shell:not(.left-open) .map-credit{left:16px}@media (width<=899px){.app-shell.is-studio{background:var(--bg);flex-direction:column;gap:10px;height:auto;padding:10px;display:flex;overflow:auto}.shell-canvas{border-radius:var(--r-lg);border:1px solid var(--line);order:2;height:46vh;min-height:280px;position:relative;inset:auto;overflow:hidden}.shell-top{order:1;position:sticky;top:10px;left:auto;right:auto}.shell-bottom{order:3;margin:0;position:static;width:auto!important}.shell-right{order:4}.shell-left{order:5}.shell-left,.shell-right{opacity:1;pointer-events:auto;width:auto;max-height:none;position:static;transform:none}.shell-scroll{overflow:visible}.shell-collapse{display:none}.shell-toast{position:fixed;top:76px}.shell-canvas .map-zoom{bottom:12px;right:12px}.shell-canvas .map-credit{max-width:60%;bottom:12px;left:12px}}@media print{html.printing-report .app-shell{display:none!important}}.br-mark{color:var(--ink);flex:none;display:block}.br-word{align-items:center;gap:var(--s2);color:var(--ink);white-space:nowrap;display:inline-flex}.br-text{font-size:var(--t-lg);letter-spacing:-.02em;font-weight:650;line-height:1}.br-solar{color:var(--ink)}.br-shader{color:var(--ink-2)}.lg-page{min-height:100vh;padding:var(--s5) var(--s4);background:radial-gradient(900px 500px at 50% 110%, color-mix(in srgb, var(--sun) 22%, transparent), transparent 70%), var(--bg);align-content:center;place-items:center;gap:var(--s4);display:grid}.lg-card{width:min(400px,100%);padding:var(--s5);gap:var(--s4);flex-direction:column;display:flex}.lg-title{font-size:var(--t-xl);letter-spacing:-.01em;font-weight:650}.lg-gap{margin-top:var(--s2)}.lg-form{gap:var(--s3);flex-direction:column;display:flex}.lg-form .input{height:40px;font-size:var(--t-md)}.lg-submit{height:40px;font-size:var(--t-md);margin-top:var(--s1)}.lg-switch{align-self:center}.lg-msg{font-size:var(--t-sm);padding:var(--s2) var(--s3);border-radius:var(--r-sm);border:1px solid var(--line)}.lg-msg.error{border-color:var(--red);background:var(--red-soft)}.lg-msg.info{border-color:var(--focus);background:var(--raised)}.lg-foot{text-align:center}
