:root{color-scheme:light;--bg:#f3f5f9;--bg-2:#e9edf3;--panel:#ffffff;--panel-2:#f7f9fc;--panel-3:#eef2f7;--line:#e3e8ef;--line-2:#cbd3de;--text:#101828;--text-2:#475467;--text-3:#667085;--brand:#f5c518;--brand-2:#ffd84d;--brand-ink:#141100;--brand-soft:#fff6d6;--brand-line:#f0d873;--ex:#16a34a;--at:#ea7a0c;--in:#dc2626;--info:#2563eb;--off:#98a2b3;--ex-soft:#e6f6ec;--at-soft:#fff1e3;--in-soft:#fde8e8;--info-soft:#e8f0fe;--off-soft:#eef1f5;--ex-line:#b3e2c2;--at-line:#f6cfa8;--in-line:#f4b9b9;--info-line:#bcd2fb;--off-line:#d5dbe3;--accent-line:#101828;--shadow:0 1px 2px rgba(16,24,40,0.04),0 6px 20px -12px rgba(16,24,40,0.16);--shadow-h:0 2px 4px rgba(16,24,40,0.06),0 14px 32px -14px rgba(16,24,40,0.24);--focus:0 0 0 3px rgba(245,197,24,0.6);--fac-1:#f5f1e8;--fac-2:#ebe4d6;--fac-line:#d9d0bf;--fac-floor:rgba(255,255,255,0.45);--fac-floor-line:rgba(120,105,80,0.16);--roof-1:#d3cab6;--roof-2:#c2b8a1;--roof-line:#aa9f87;--roof-ink:#4a4335;--ground-1:#a99e87;--ground-2:#8f846d;--ground-ink:#fff8e6;--door:#5e5546;--win-off:#faf8f3;--win-off-line:#d6cdbb;--map-land:#eef1f5;--map-water:#bcd6ee;--map-road:#dde3ec;--map-park:#dcefdf;--map-ink:#667085;--r:14px;--r-sm:9px;--r-xs:6px;--font:var(--font-manrope),"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:var(--font-jetbrains),"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--ease:cubic-bezier(0.2,0.7,0.2,1);--dur:200ms;--side-w:252px;--top-h:60px;--z-side:40;--z-top:30;--z-modal:60;--z-toast:70;--z-tip:80}html[data-theme=dark]{color-scheme:dark;--bg:#0b1020;--bg-2:#0e1528;--panel:#121a2e;--panel-2:#172137;--panel-3:#1d2842;--line:rgba(148,163,184,0.14);--line-2:rgba(148,163,184,0.26);--text:#e8edf6;--text-2:#a7b3c6;--text-3:#7d8aa3;--brand-ink:#141100;--brand-soft:rgba(245,197,24,0.12);--brand-line:rgba(245,197,24,0.35);--ex:#22c55e;--at:#f97316;--in:#ef4444;--info:#60a5fa;--off:#64748b;--ex-soft:rgba(34,197,94,0.14);--at-soft:rgba(249,115,22,0.14);--in-soft:rgba(239,68,68,0.14);--info-soft:rgba(96,165,250,0.14);--off-soft:rgba(100,116,139,0.2);--ex-line:rgba(34,197,94,0.4);--at-line:rgba(249,115,22,0.4);--in-line:rgba(239,68,68,0.4);--info-line:rgba(96,165,250,0.4);--off-line:rgba(100,116,139,0.4);--accent-line:#f5c518;--shadow:0 1px 0 rgba(255,255,255,0.035) inset,0 10px 30px -18px rgba(0,0,0,0.8);--shadow-h:0 1px 0 rgba(255,255,255,0.05) inset,0 16px 40px -18px rgba(0,0,0,0.9);--fac-1:#1b2438;--fac-2:#161e30;--fac-line:#2a3550;--fac-floor:rgba(255,255,255,0.03);--fac-floor-line:rgba(148,163,184,0.12);--roof-1:#2a3550;--roof-2:#222c44;--roof-line:#33405e;--roof-ink:#c5cee0;--ground-1:#222c44;--ground-2:#1a2238;--ground-ink:#c5cee0;--door:#0b1020;--win-off:#141c30;--win-off-line:#2c3852;--map-land:#141c30;--map-water:#1e3a5f;--map-road:#1f2a44;--map-park:#173225;--map-ink:#7d8aa3}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}a,button{color:inherit}button{font:inherit}h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.01em}svg{display:block}.mono{font-family:var(--mono)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.num{font-variant-numeric:tabular-nums}.skip{position:absolute;left:-9999px;top:8px;background:var(--brand);color:var(--brand-ink);padding:8px 12px;border-radius:8px;z-index:100;font-weight:700}.skip:focus{left:8px}:focus-visible{outline:none;box-shadow:var(--focus)}::-moz-selection{background:var(--brand-soft)}::selection{background:var(--brand-soft)}[hidden]{display:none!important}.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .25s var(--ease)}.app.side-collapsed{--side-w:76px}.main-col{min-width:0;display:flex;flex-direction:column}.main{padding:22px 28px 56px;min-width:0;flex:1;overflow-x:hidden}.view{max-width:1560px;margin:0 auto}.side{position:sticky;top:0;height:100vh;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px 14px;z-index:var(--z-side)}.brand{align-items:flex-start;justify-content:space-between;padding:4px 6px 16px;border-bottom:1px solid var(--line);margin-bottom:10px}.brand,.brand-mark{display:flex;gap:6px}.brand-mark{flex-direction:column;text-decoration:none;min-width:0}.brand-mark img{height:34px;width:auto;display:block;margin-left:-4px}html[data-theme=dark] .brand-mark img{filter:invert(1) hue-rotate(180deg) brightness(1.1)}.wordmark{font-weight:800;font-size:23px;letter-spacing:-.03em;line-height:1;color:var(--text)}.wordmark .star{color:var(--brand);font-weight:800;margin-left:1px}.brand-sub{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.side-toggle{flex:0 0 auto;margin-top:-2px}.nav{display:flex;flex-direction:column;gap:2px}.nav a,.nav button{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:var(--text-2);text-decoration:none;font-weight:600;font-size:13.5px;position:relative;transition:background var(--dur),color var(--dur)}.nav a .ic,.nav button .ic{width:18px;height:18px;flex:0 0 18px;color:var(--text-3)}.nav a:hover,.nav button:hover{background:var(--panel-3);color:var(--text)}.nav a.active,.nav button.active{background:var(--brand-soft);color:var(--text)}.nav a.active .ic,.nav button.active .ic{color:var(--text)}.nav a.active:before,.nav button.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--brand)}.nav a .cnt,.nav button .cnt{margin-left:auto;font-size:11px;font-weight:800;background:var(--in);color:#fff;border-radius:20px;padding:1px 7px;line-height:1.5}.nav .nav-sep{margin:8px 10px 4px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.side-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.staygreen{display:flex;align-items:center;gap:8px;color:var(--ex);font-weight:800;font-size:14px;padding:0 6px}.staygreen .ic{width:18px;height:18px}.staygreen .pill{margin-left:auto}.powered{padding:0 6px;font-size:11px;color:var(--text-3);line-height:1.5}.powered b{color:var(--text);font-weight:800}.powered-s{display:block}.side-collapsed .side{padding-left:10px;padding-right:10px}.side-collapsed .brand{flex-direction:column;align-items:center}.side-collapsed .brand-mark img,.side-collapsed .brand-sub,.side-collapsed .nav a span:not(.cnt):not(.ic),.side-collapsed .nav button span:not(.cnt):not(.ic),.side-collapsed .nav-sep,.side-collapsed .powered,.side-collapsed .sg-word,.side-collapsed .staygreen .pill,.side-collapsed .wordmark{display:none}.side-collapsed .nav a,.side-collapsed .nav button{justify-content:center;padding:11px 0}.side-collapsed .nav a .cnt,.side-collapsed .nav button .cnt{position:absolute;top:4px;right:6px;margin:0}.side-collapsed .staygreen{justify-content:center}.side-scrim{position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:calc(var(--z-side) - 1)}.topbar{position:sticky;top:0;z-index:var(--z-top);height:var(--top-h);display:flex;align-items:center;gap:14px;padding:0 28px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.menu-btn{display:none}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-3);min-width:0;flex:1}.crumbs a{color:var(--text-2);text-decoration:none;font-weight:600;white-space:nowrap}.crumbs a:hover{color:var(--text);text-decoration:underline}.crumbs .sep{color:var(--line-2)}.crumbs .cur{color:var(--text);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--text-2);position:relative;transition:background var(--dur),color var(--dur),border-color var(--dur);text-decoration:none}.icon-btn:hover{background:var(--panel-3);color:var(--text);border-color:var(--line-2)}.icon-btn .ic,.icon-btn>svg{width:18px;height:18px}.icon-btn .badge{position:absolute;top:-5px;right:-5px;background:var(--in);color:#fff;font-size:10px;font-weight:800;border-radius:20px;padding:1px 5px;min-width:18px;text-align:center;border:2px solid var(--bg)}.search{position:relative;display:flex;align-items:center}.search .search-ic{position:absolute;left:11px;width:16px;height:16px;color:var(--text-3);pointer-events:none}.search input{width:300px;max-width:40vw;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--panel);padding:0 12px 0 34px;font:inherit;font-size:13px;color:var(--text);transition:border-color var(--dur),box-shadow var(--dur)}.search input::-moz-placeholder{color:var(--text-3)}.search input::placeholder{color:var(--text-3)}.search input:focus{border-color:var(--brand);box-shadow:var(--focus);outline:none}.search-results{position:absolute;top:44px;left:0;right:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-h);padding:6px;max-height:380px;overflow:auto;z-index:5}.search-results a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;text-decoration:none;font-size:13px}.search-results a.sel,.search-results a:hover{background:var(--panel-3)}.search-results .sr-k{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);width:52px;flex:0 0 52px}.search-results .sr-s{margin-left:auto;color:var(--text-3);font-size:12px}.search-results .none{padding:10px;color:var(--text-3);font-size:13px}.live{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 13px;border-radius:20px;border:1px solid var(--line);background:var(--panel);font-size:12px;font-weight:800;color:var(--text-3);cursor:pointer;white-space:nowrap}.live .led{width:9px;height:9px;border-radius:50%;background:var(--off)}.live.on{color:var(--ex);border-color:var(--ex-line)}.live.on .led{background:var(--ex);animation:pulse 1.6s infinite}.live.paused{color:var(--at);border-color:var(--at-line)}.live.paused .led{background:var(--at)}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.55)}70%{box-shadow:0 0 0 8px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:2px 0 18px;flex-wrap:wrap}.page-h h1{font-size:26px;letter-spacing:-.02em}.page-h .sub{color:var(--text-2);font-size:13.5px;margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-h .sub .dot-sep{color:var(--line-2)}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 13px;border-radius:9px;border:1px solid var(--line);background:var(--panel);font-weight:700;font-size:13px;cursor:pointer;color:var(--text);text-decoration:none;transition:background var(--dur),border-color var(--dur),color var(--dur);white-space:nowrap}.btn:hover{background:var(--panel-3);border-color:var(--line-2)}.btn .ic{width:16px;height:16px}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover{background:var(--brand-2)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--panel-3);color:var(--text)}.btn.sm{height:30px;padding:0 10px;font-size:12px;border-radius:8px}.btn:disabled{opacity:.55;cursor:default}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}.seg button{white-space:nowrap;flex:0 0 auto;border:0;background:transparent;border-radius:7px;padding:5px 11px;font-size:12px;font-weight:700;color:var(--text-2);cursor:pointer;transition:background var(--dur),color var(--dur)}.seg button:hover{color:var(--text)}.seg button.on{box-shadow:var(--shadow)}.seg button.on,input.ctl,select.ctl{background:var(--panel);color:var(--text)}input.ctl,select.ctl{height:36px;border-radius:9px;border:1px solid var(--line);padding:0 10px;font:inherit;font-size:13px}.link{color:var(--text);font-weight:700;font-size:12.5px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.link:hover{text-decoration:underline}.link .ic{width:14px;height:14px}input[type=range]{accent-color:var(--brand)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px;border:1px solid transparent;line-height:1.4;white-space:nowrap}.pill.ex{color:var(--ex);background:var(--ex-soft);border-color:var(--ex-line)}.pill.at{color:var(--at);background:var(--at-soft);border-color:var(--at-line)}.pill.in{color:var(--in);background:var(--in-soft);border-color:var(--in-line)}.pill.info{color:var(--info);background:var(--info-soft);border-color:var(--info-line)}.pill.grey,.pill.off{color:var(--text-2);background:var(--off-soft);border-color:var(--off-line)}.pill.brand{color:var(--brand-ink);background:var(--brand);border-color:var(--brand)}.pill.soft{color:var(--text-2);background:var(--panel-3);border-color:var(--line)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 9px}.bg-ex{background:var(--ex)}.bg-at{background:var(--at)}.bg-in{background:var(--in)}.bg-off{background:var(--off)}.bg-info{background:var(--info)}.c-ex{color:var(--ex)}.c-at{color:var(--at)}.c-in{color:var(--in)}.c-off{color:var(--off)}.c-info{color:var(--info)}.delta{font-size:12px;font-weight:800}.delta.up{color:var(--ex)}.delta.down{color:var(--in)}.delta.flat{color:var(--text-3)}.grid{display:grid;gap:16px}.g-kpi{grid-template-columns:repeat(6,minmax(0,1fr))}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-12{grid-template-columns:repeat(12,minmax(0,1fr))}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-12{grid-column:span 12}.stack{display:flex;flex-direction:column;gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);position:relative;min-width:0;animation:cardIn .55s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms)}.card.tight{padding:14px 16px}.card.flush{padding:0;overflow:hidden}.card.click{cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s}.card.click:hover{transform:translateY(-2px);box-shadow:var(--shadow-h);border-color:var(--line-2)}.card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.card-h>div:first-child{min-width:180px;flex:1 1 220px}.card-h h3{font-size:15px;font-weight:800}.card-h .sub{color:var(--text-3);font-size:12px;margin-top:2px}.card-h .actions{gap:8px;flex-wrap:wrap}.card-foot,.card-h .actions{display:flex;align-items:center}.card-foot{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);justify-content:space-between;gap:10px;font-size:12px}.card-foot,.note{color:var(--text-2)}.note{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;padding:11px 13px;font-size:12.5px}.note b{color:var(--text)}.note.warn{border-left-color:var(--at)}.note.bad{border-left-color:var(--in)}.note.good{border-left-color:var(--ex)}.kpi{display:flex;flex-direction:column;gap:6px;min-height:118px}.kpi .k-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px 8px}.kpi .k-top .lab{flex:1 1 auto;min-width:0}.kpi .k-top>.delta,.kpi .k-top>.pill{max-width:100%}.kpi .k-top>.pill{white-space:normal}.kpi .lab{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);line-height:1.3}.kpi .big{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;margin-top:4px;display:flex;align-items:baseline;gap:5px}.kpi .big .unit{font-size:13px;color:var(--text-3);font-weight:700;letter-spacing:0}.kpi .meta{color:var(--text-2);font-size:12px;margin-top:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.kpi .spark{margin-top:4px}.kpi.click{cursor:pointer}.kpi.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow);background:var(--brand-soft)}.kpi.on .lab{color:var(--text)}.drill-target{scroll-margin-top:84px}.drill-target.drill-flash{animation:drillFlash 2.2s ease-out}@keyframes drillFlash{0%,55%{box-shadow:0 0 0 3px var(--brand),0 0 0 8px var(--brand-soft)}to{box-shadow:0 0 0 0 transparent,0 0 0 0 transparent}}.tbl-wrap{overflow:auto;border-radius:10px;border:1px solid var(--line)}table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl th{position:sticky;top:0;z-index:1;text-align:left;background:var(--panel-2);color:var(--text-3);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbl th.sortable:hover,.tbl th.sorted{color:var(--text)}.tbl th .sort-ic{font-size:9px;margin-left:4px}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--panel-2)}.tbl td.rt,.tbl th.rt{text-align:right}.tbl .tname{font-weight:700;color:var(--text)}.tbl .tsub{color:var(--text-3)}.tag,.tbl .tsub{font-size:11.5px}.tag{font-family:var(--mono);color:var(--text-2);background:var(--panel-3);border:1px solid var(--line);border-radius:5px;padding:2px 6px;white-space:nowrap}.tbl-empty{padding:26px;text-align:center;color:var(--text-3)}.list{flex-direction:column}.list,.row{display:flex}.row{align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;border-radius:6px}.row:last-child{border-bottom:0}.row.click{cursor:pointer}.row.click:hover{background:var(--panel-2)}.row .r-main{flex:1;min-width:0}.row .r-t{font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row .r-s{font-size:12px;margin-top:1px;overflow:hidden;text-overflow:ellipsis}.row .r-r,.row .r-s{color:var(--text-3);white-space:nowrap}.row .r-r{text-align:right;font-size:11.5px}.row .sev{width:4px;align-self:stretch;border-radius:3px;flex:0 0 4px;min-height:34px}.row.newlive{animation:flash 1.6s ease-out}@keyframes flash{0%{background:var(--brand-soft)}to{background:transparent}}.score{font-weight:800;font-size:15px;min-width:30px;text-align:right}.score-bar{height:6px;border-radius:4px;background:var(--panel-3);overflow:hidden;flex:1;min-width:60px}.score-bar i{display:block;height:100%;border-radius:4px;transform-origin:left;animation:growX .8s var(--ease) both}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2);align-items:center}.legend span{display:inline-flex;align-items:center;gap:6px}.legend .sw{width:12px;height:12px;border-radius:3px;display:inline-block}.legend .sw.off{background:var(--win-off);border:1px dashed var(--win-off-line)}.legend .sw.await{background:var(--info-soft);border:1px dashed var(--info)}.legend .sw.offline{background:repeating-linear-gradient(135deg,#c9cfd8 0 3px,#aeb6c2 3px 6px)}.chart{width:100%;height:auto;display:block;overflow:visible;font-family:var(--font)}.chart .grid{stroke:var(--line);stroke-width:1}.chart .tick{fill:var(--text-3);font-size:10px}.chart .band.ex{fill:var(--ex);opacity:.06}.chart .band.at{fill:var(--at);opacity:.07}.chart .band.in{fill:var(--in);opacity:.06}.chart .vzone{fill:var(--text);opacity:.045}.chart .thr{stroke:var(--at);stroke-dasharray:4 4;stroke-width:1}.chart .thr.in{stroke:var(--in)}.chart .thr-lab{fill:var(--text-3);font-size:9.5px;font-weight:700}.chart .hov .guide{stroke:var(--text-3);stroke-width:1;stroke-dasharray:3 3}.chart .hdot{stroke:var(--panel);stroke-width:2}.anim-draw{stroke-dasharray:1 1;stroke-dashoffset:1;animation:draw var(--dur,1.2s) var(--ease) forwards}.anim-fade{animation:fadeIn .9s .35s both}.anim-pop{animation:pop .5s .9s var(--ease) both;transform-box:fill-box;transform-origin:center}@keyframes pop{0%{transform:scale(0);opacity:0}}.seg-arc{animation:segIn 1.1s var(--ease) both;animation-delay:var(--d,0s)}@keyframes segIn{0%{stroke-dasharray:0 1}}.grow{transform-box:fill-box;transform-origin:bottom;animation:growY .7s var(--ease) both;animation-delay:var(--d,0s)}@keyframes growY{0%{transform:scaleY(0)}}@keyframes growX{0%{transform:scaleX(0)}}.donut-c .big{fill:var(--text);font-size:26px;font-weight:800;letter-spacing:-.02em}.donut-c .small{fill:var(--text-3);font-size:10.5px;font-weight:700}.gauge .g-track{stroke:var(--panel-3)}.gauge .g-tick{stroke:var(--panel);stroke-width:3}.gauge .g-num{fill:var(--text);font-size:44px;font-weight:800;letter-spacing:-.04em}.gauge .g-of{fill:var(--text-3);font-size:12px;font-weight:700}.gauge .g-lab{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hbar{display:grid;grid-template-columns:minmax(90px,150px) 1fr var(--hbar-v,54px);align-items:center;gap:10px;padding:5px 0;font-size:12.5px}.hbar-l{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-t{height:9px;background:var(--panel-3);overflow:hidden}.hbar-f,.hbar-t{border-radius:5px}.hbar-f{height:100%;transform-origin:left;animation:growX .8s var(--ease) both;animation-delay:var(--d,0s)}.hbar-v{text-align:right;font-weight:800}.hbar-v-sub{font-weight:600;font-size:11.5px;color:var(--text-3);white-space:nowrap;margin-top:1px}.hbar-v-sub,.spark{display:block}.map-wrap{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--map-land)}.map-svg{width:100%;height:auto;display:block}.map-svg .river{stroke:var(--map-water);fill:none;stroke-linecap:round;stroke-linejoin:round}.map-svg .basin{fill:var(--map-water)}.map-svg .road{stroke:var(--map-road);fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.map-svg .park{fill:var(--map-park)}.map-svg .lm{fill:var(--map-ink);font-size:9.5px;font-weight:600;letter-spacing:.02em;pointer-events:none}.map-svg .lm.w{font-style:italic;fill:#7fa6cc}.map-svg .pin{cursor:pointer}.map-svg .pin .halo{fill:var(--panel);opacity:.9}.map-svg .pin .ring{fill:none;stroke-width:2;opacity:.35;transform-box:fill-box;transform-origin:center;animation:ringOut 2.4s ease-out infinite;animation-delay:var(--d,0s)}.map-svg .pin .body{stroke:var(--panel);stroke-width:2.5;transition:r .15s}.map-svg .pin:hover .body{stroke:var(--text)}.map-svg .pin .sc{fill:#fff;font-size:11px;font-weight:800;pointer-events:none}.map-svg .pin .nm{fill:var(--text);font-size:11px;font-weight:800;paint-order:stroke;stroke:var(--map-land);stroke-width:3px;stroke-linejoin:round}.map-svg .pin.in .ring{stroke:var(--in)}.map-svg .pin.at .ring{stroke:var(--at)}.map-svg .pin.ex .ring{stroke:var(--ex)}.map-svg .pin.in .body{fill:var(--in)}.map-svg .pin.at .body{fill:var(--at)}.map-svg .pin.ex .body{fill:var(--ex)}@keyframes ringOut{0%{transform:scale(.7);opacity:.6}to{transform:scale(2.2);opacity:0}}.map-legend{position:absolute;left:12px;bottom:10px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px;color:var(--text-2);display:flex;flex-direction:column;gap:4px}.map-legend span{display:flex;align-items:center;gap:6px}.map-note{position:absolute;right:12px;bottom:10px;font-size:10.5px;color:var(--text-3)}.bld{position:relative;border-radius:10px 10px 6px 6px;overflow:hidden;background:linear-gradient(var(--fac-1),var(--fac-2));border:1px solid var(--fac-line)}.bld-roof{height:26px;background:linear-gradient(var(--roof-1),var(--roof-2));border-bottom:1px solid var(--roof-line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--roof-ink)}.bld-roof .plant{display:inline-flex;gap:4px;align-items:center;font-size:10px;letter-spacing:.06em;opacity:.8}.bld-roof .plant i{display:inline-block;width:10px;height:6px;border-radius:2px 2px 0 0;background:var(--roof-line)}.bld-body{padding:8px 10px 8px 6px;display:flex;flex-direction:column;gap:5px}.bld-floor{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px 5px 4px;background:var(--fac-floor);border:1px solid var(--fac-floor-line);border-radius:6px;animation:floorIn .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 55ms)}.bld-fl{font-family:var(--mono);font-weight:700;font-size:11.5px;color:var(--text-3);text-align:center}.bld-rooms{display:grid;grid-template-columns:repeat(var(--cols,10),minmax(0,1fr));gap:3px}.win{display:block;width:100%;aspect-ratio:1/1.2;border-radius:3px;border:0;padding:0;margin:0;cursor:pointer;position:relative;background:var(--off);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.1);transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .4s;animation:winIn .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 55ms + var(--j, 0) * 7ms)}.win.b-ex{background:var(--ex)}.win.b-at{background:var(--at)}.win.b-in{background:var(--in)}.win.b-offline{background:repeating-linear-gradient(135deg,#c9cfd8 0 3px,#aeb6c2 3px 6px)}.win.b-occ:before{content:"";position:absolute;left:3px;bottom:3px;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(0,0,0,.15)}.win.win-off{background:var(--win-off);border:1px dashed var(--win-off-line);cursor:default;box-shadow:none}.win.win-await{background:var(--info-soft);border:1px dashed var(--info);box-shadow:none}.win.win-await span{color:var(--text-3)}.win span{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font:700 9.5px/1 var(--mono);color:rgba(0,0,0,.7);letter-spacing:-.02em}.bld.labels .win span{display:flex}.bld.labels .win.b-occ:before{display:none}.win:not(.win-off):focus-visible,.win:not(.win-off):hover{transform:translateY(-2px) scale(1.12);z-index:3;box-shadow:0 6px 14px rgba(16,24,40,.3)}.win.selected{outline:2.5px solid var(--text);outline-offset:1px;z-index:2}.win.ping:after{content:"";position:absolute;inset:-2px;border-radius:5px;border:2px solid var(--info);animation:ping .9s ease-out forwards;pointer-events:none}@keyframes ping{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.bld-fs{font-size:11px;color:var(--text-2);display:flex;align-items:center;gap:6px;white-space:nowrap;justify-content:flex-end;min-width:64px}.bld-fs b{font-size:12px}.bld-ground{height:38px;background:linear-gradient(var(--ground-1),var(--ground-2));display:flex;align-items:flex-end;gap:14px;padding:0 16px;color:var(--ground-ink);font-size:11px}.bld-door{width:28px;height:26px;background:var(--door);border-radius:4px 4px 0 0;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);flex:0 0 28px;position:relative}.bld-door:after{content:"";position:absolute;right:6px;top:12px;width:3px;height:3px;border-radius:50%;background:var(--brand)}.bld-addr{padding-bottom:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.95}@keyframes floorIn{0%{opacity:0;transform:translateY(10px)}}@keyframes winIn{0%{opacity:0;transform:scale(.6)}}.bld-mini{border-radius:4px 4px 2px 2px}.bld-mini .bld-roof{height:7px;padding:0;font-size:0;border-bottom-width:1px}.bld-mini .bld-body{padding:3px;gap:2px}.bld-mini .bld-floor{grid-template-columns:1fr;padding:0;gap:0;background:transparent;border:0;border-radius:0}.bld-mini .bld-fl,.bld-mini .bld-fs{display:none}.bld-mini .bld-rooms{gap:1px}.bld-mini .win{border-radius:1px;aspect-ratio:1/1.15;box-shadow:none;animation-duration:.35s}.bld-mini .win span,.bld-mini .win.b-occ:before{display:none!important}.bld-mini .win:hover{transform:none;box-shadow:none}.bld-mini .bld-ground{height:9px;padding:0;gap:0}.bld-mini .bld-addr,.bld-mini .bld-door{display:none}.skyline{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:22px 28px;padding:10px 6px 4px}.sky-b{display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:inherit;flex:0 0 auto;transition:transform .18s var(--ease)}.sky-b:hover{transform:translateY(-3px)}.sky-b .bld{width:calc(var(--cols, 6) * 10px + 8px)}.sky-l{font-size:11.5px;font-weight:700;display:flex;gap:6px;align-items:center;white-space:nowrap}.sky-l .sc{font-weight:800;font-size:12px}.sky-l .rooms{color:var(--text-3);font-weight:600}.sky-ground{height:2px;background:var(--line-2);border-radius:2px;margin:-6px 6px 8px}.scrub{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.scrub input[type=range]{flex:1;min-width:160px;height:28px;margin:0}.scrub .t{font-family:var(--mono);font-weight:700;font-size:12.5px;min-width:130px}.scrub .t small{color:var(--text-3);font-weight:600;margin-left:6px}.scrub .now{color:var(--ex)}.met{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:13px 14px;position:relative;min-width:0;transition:border-color .2s}.met.limit{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.met .flag{position:absolute;top:10px;right:12px;font-size:9.5px;letter-spacing:.1em;color:var(--text)}.met .flag,.met .ml{font-weight:800;text-transform:uppercase}.met .ml{color:var(--text-3);font-size:11px;letter-spacing:.08em;display:flex;align-items:center;gap:7px}.met .mv{font-size:24px;font-weight:800;margin-top:5px;letter-spacing:-.02em;display:flex;align-items:baseline;gap:4px}.met .mv small{font-size:12px;color:var(--text-3);font-weight:700}.met .mr{font-size:11.5px;color:var(--text-2);margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.met .msp{margin-top:8px}.hero-band{border-radius:var(--r);padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;border:1px solid var(--line);background:var(--panel)}.hero-band.ex{background:linear-gradient(135deg,var(--ex-soft),var(--panel) 70%)}.hero-band.at{background:linear-gradient(135deg,var(--at-soft),var(--panel) 70%)}.hero-band.in{background:linear-gradient(135deg,var(--in-soft),var(--panel) 70%)}.hero-band .h-now{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.hero-band .h-state{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:2px}.hero-band .h-sub{color:var(--text-2);font-size:13px;margin-top:6px}.hero-band .h-facts{display:grid;grid-template-columns:repeat(2,auto);gap:6px 22px;font-size:12.5px;color:var(--text-2)}.hero-band .h-facts b{color:var(--text);font-weight:800}.device-img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--panel-3);display:block}.subrow{display:grid;grid-template-columns:130px 1fr 90px 60px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.subrow:last-of-type{border-bottom:0}.subrow .track{height:8px;border-radius:5px;background:var(--panel-3);overflow:hidden}.subrow .fill{height:100%;border-radius:5px;transform-origin:left;animation:growX .8s var(--ease) both}.subrow.limit{background:var(--brand-soft);margin:0 -8px;padding:9px 8px;border-radius:8px}.feed{display:flex;flex-direction:column;gap:0;max-height:420px;overflow:auto;font-family:var(--mono);font-size:11.5px}.feed .f{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:7px 8px;border-bottom:1px solid var(--line);animation:feedIn .35s var(--ease) both}.feed .f .ft{color:var(--text-3)}.feed .f .fm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed .f .fm b{color:var(--text);font-weight:600}.feed .f .fr{color:var(--text-3);white-space:nowrap}.feed .f.k-alert{background:var(--in-soft)}.feed .f.k-resolve{background:var(--ex-soft)}.feed .f.k-backfill{background:var(--info-soft)}.feed .f.k-dedup{color:var(--text-3)}@keyframes feedIn{0%{opacity:0;transform:translateY(-8px)}}.hex{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.02em;word-break:break-all}.hex b{color:var(--text-2);font-weight:600}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip,.filters{align-items:center}.chip{display:inline-flex;gap:6px;height:30px;padding:0 11px;border-radius:20px;border:1px solid var(--line);background:var(--panel);font-size:12px;font-weight:700;color:var(--text-2);cursor:pointer;transition:background var(--dur),color var(--dur),border-color var(--dur)}.chip:hover{border-color:var(--line-2);color:var(--text)}.chip.on{background:var(--text);color:var(--panel);border-color:var(--text)}.chip .n{font-size:11px;opacity:.75}.pipe{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:6px 2px}.pipe-n{flex:1 1 0;min-width:126px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 12px 10px;position:relative}.pipe-n .pn{font-weight:800;font-size:12.5px;display:flex;align-items:center;gap:7px}.pipe-n .pn .dot{width:8px;height:8px;flex:0 0 8px}.pipe-n .ps{color:var(--text-3);font-size:11px;margin-top:3px;line-height:1.4}.pipe-n .pm{font-family:var(--mono);font-size:12px;font-weight:700;margin-top:9px;color:var(--text)}.pipe-n .pm small{color:var(--text-3);font-weight:600;font-family:var(--font)}.pipe-l{flex:0 0 34px;position:relative;display:flex;align-items:center}.pipe-l:before{content:"";right:0;height:2px;background:var(--line-2);transform:translateY(-50%)}.pipe-l i,.pipe-l:before{position:absolute;left:0;top:50%}.pipe-l i{width:7px;height:7px;border-radius:50%;background:var(--ex);transform:translate(-50%,-50%);animation:flow 1.7s linear infinite;animation-delay:var(--d,0s)}@keyframes flow{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}to{left:100%;opacity:0}}.ins{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.ins .ins-ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.ins .ins-ic .ic{width:18px;height:18px}.ins.in .ins-ic{background:var(--in-soft);color:var(--in)}.ins.at .ins-ic{background:var(--at-soft);color:var(--at)}.ins.info .ins-ic{background:var(--info-soft);color:var(--info)}.ins.ex .ins-ic{background:var(--ex-soft);color:var(--ex)}.ins .ins-t{font-weight:800;font-size:13.5px}.ins .ins-b{color:var(--text-2);font-size:12.5px;margin-top:3px;line-height:1.5}.ins .ins-f{gap:10px;margin-top:9px;font-size:12px;color:var(--text-3)}.ins .ins-f,.strip{display:flex;align-items:center;flex-wrap:wrap}.strip{gap:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 18px;box-shadow:var(--shadow)}.strip .s-i{display:flex;flex-direction:column;min-width:80px}.strip .s-i b{font-size:19px;font-weight:800;letter-spacing:-.02em}.strip .s-i span{font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.strip .s-lead{margin-right:auto;display:flex;align-items:center;gap:10px;font-weight:800;font-size:13px}.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.trust .t{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.trust .t .ic{width:20px;height:20px;color:var(--text-2);flex:0 0 20px;margin-top:2px}.trust .t b{display:block;font-size:12.5px}.trust .t span{font-size:12px;color:var(--text-3);line-height:1.45}.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:var(--z-toast);max-width:380px}.toast{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-h);display:flex;gap:12px;align-items:flex-start;animation:toastIn .35s var(--ease) both;cursor:pointer}.toast.in{border-left-color:var(--in)}.toast.at{border-left-color:var(--at)}.toast.ex{border-left-color:var(--ex)}.toast .tt{font-weight:800;font-size:13px}.toast .ts{color:var(--text-2);font-size:12px;margin-top:2px}.toast .tx{margin-left:auto;color:var(--text-3);border:0;background:none;cursor:pointer;font-size:16px;line-height:1}.toast.out{animation:toastOut .3s var(--ease) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}}@keyframes toastOut{to{opacity:0;transform:translateX(20px)}}.modal-scrim{position:fixed;inset:0;background:rgba(16,24,40,.42);backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15);display:flex;align-items:center;justify-content:center;padding:24px;z-index:var(--z-modal);animation:fadeIn .22s both}html[data-theme=dark] .modal-scrim{background:rgba(3,7,18,.55)}.side-scrim{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;max-width:640px;width:100%;box-shadow:var(--shadow-h);overflow:hidden;animation:modalIn .32s var(--ease) both}.modal.wide{max-width:960px}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.985)}}.modal .mh{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.modal .mh h3{font-size:16px}.modal .mh .sub{color:var(--text-3);font-size:12px;margin-top:2px}.modal .mb{padding:18px 20px;max-height:70vh;overflow:auto}.tip{position:fixed;z-index:var(--z-tip);background:var(--text);color:var(--panel);font-size:12px;padding:8px 10px;border-radius:8px;pointer-events:none;box-shadow:var(--shadow-h);max-width:280px;line-height:1.45}.tip b{font-weight:800}.tip .tk{opacity:.7}.tip .trow{display:flex;justify-content:space-between;gap:14px}.click,[data-alert],[data-go],[data-info]{cursor:pointer}.hbar.click,.ins.click,.met.click,.pipe-n.click,.strip .s-i.click,.trust .t.click{transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.ins.click:hover,.met.click:hover,.pipe-n.click:hover,.trust .t.click:hover{border-color:var(--line-2);background:var(--panel-3)}.met.click:hover{transform:translateY(-1px)}.hbar.click:hover .hbar-l{color:var(--text);text-decoration:underline}.strip .s-i.click{padding:4px 8px;margin:-4px -8px;border-radius:8px}.strip .s-i.click:hover{background:var(--panel-3)}.bld-fl[data-go]:hover,.bld-fs[data-go]:hover{color:var(--text);text-decoration:underline}.pill[data-go]:hover{filter:brightness(.92);text-decoration:underline}.kpi .meta .link{font-size:12px;font-weight:700}.kpi .meta .link:hover{text-decoration:underline}.chart .grow.click:hover,.seg-arc.click:hover{filter:brightness(.85)}.feed .f.click:hover{background:var(--panel-3)}.staygreen.click{border-radius:8px;padding:4px 6px;margin:0 2px}.powered.click:hover,.staygreen.click:hover{background:var(--panel-3)}.powered.click{border-radius:8px;padding:6px}.tl{display:flex;flex-direction:column;gap:0;padding-left:4px}.tl-step{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:flex-start;padding:6px 0 10px;position:relative;font-size:13px;color:var(--text-2)}.tl-step b{color:var(--text);font-weight:700}.tl-step .tl-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-2);background:var(--panel);margin-top:3px;position:relative;z-index:1}.tl-step.done .tl-dot{background:var(--ex);border-color:var(--ex)}.tl-step:not(:last-child):before{content:"";position:absolute;left:5px;top:18px;bottom:-4px;width:2px;background:var(--line)}.tl-step.done:not(:last-child):before{background:var(--ex-line)}.aqi-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.aqi-head b{font-size:22px;font-weight:800;letter-spacing:-.02em}.aqi-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 13px;border-radius:9px;font-weight:800;font-size:14px;letter-spacing:.01em;white-space:nowrap}.aqi-badge.sm{padding:2px 8px;font-size:11px;border-radius:6px}.aqi-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--panel-3);gap:1px}.aqi-bar i{display:block;height:100%;min-width:3px;transition:filter .15s;animation:growX .7s var(--ease) both;transform-origin:left}.aqi-bar i:hover{filter:brightness(.85)}.aqi-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:11.5px;color:var(--text-2)}.aqi-legend span{display:inline-flex;align-items:center;gap:5px}.aqi-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.aqi-legend b{color:var(--text)}.aqi-out{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--text-2)}.acc{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:10px;overflow:hidden;transition:border-color .2s}.acc:hover{border-color:var(--line-2)}.acc-h{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.acc-h::-webkit-details-marker{display:none}.acc-h::marker{content:""}.acc[open] .acc-h{border-bottom:1px solid var(--line);background:var(--panel-2)}.acc-t{display:flex;flex-direction:column;min-width:0}.acc-t b{font-size:14px}.acc-t .tsub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acc-meta{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.acc-chev{width:18px;height:18px;color:var(--text-3);transition:transform .22s var(--ease);flex:0 0 18px}.acc[open] .acc-chev{transform:rotate(180deg)}.acc-b{padding:12px 14px 14px;animation:fadeIn .25s both}.acc .tbl-wrap{max-height:420px}.bat-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.bat-m{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel-2);display:flex;flex-direction:column;gap:2px}.bat-m.click:hover{border-color:var(--line-2);background:var(--panel-3)}.bat-m b{font-size:20px}.bat-m .tsub{font-size:11px}@media (max-width:820px){.acc-meta .pill.soft{display:none}}.ask-btn{gap:8px;background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.ask-btn:hover{background:var(--brand-2);border-color:var(--brand-2)}.ask-btn .ic{width:16px;height:16px}.nav a[data-ask] .ic{color:var(--brand-ink)}html[data-theme=dark] .nav a[data-ask] .ic{color:var(--brand)}.ask{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow-h);z-index:calc(var(--z-modal) - 1);display:flex;flex-direction:column;animation:askIn .28s var(--ease) both}@keyframes askIn{0%{transform:translateX(30px);opacity:0}}.ask-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.ask-title{font-weight:800;font-size:18px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.ask-title:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand);flex:0 0 10px}.ask-subtitle{color:var(--text-2);font-size:12.5px;margin-top:4px;line-height:1.5}.ask-head-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.ask-scroll{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}.ask-briefing .eyebrow{margin-bottom:8px}.ask-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ask-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;transition:border-color .18s,transform .18s var(--ease),background .18s;font:inherit;color:inherit;animation:cardIn .4s var(--ease) both}.ask-card:hover{border-color:var(--line-2);transform:translateY(-1px);background:var(--panel-3)}.ask-card-big{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.ask-card-small{font-size:11px;color:var(--text-3);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ask-card-q{font-size:12.5px;color:var(--text-2);margin-top:6px;line-height:1.4}.ask-briefing.compact .ask-cards{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.ask-briefing.compact .ask-card{flex:0 0 150px;padding:8px 10px}.ask-briefing.compact .ask-card-big{font-size:16px}.ask-briefing.compact .ask-card-q{font-size:11px;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ask-thread{gap:16px}.ask-thread,.ask-turn{display:flex;flex-direction:column}.ask-turn{gap:8px;animation:cardIn .35s var(--ease) both}.ask-bubble{align-self:flex-end;max-width:85%;background:var(--text);color:var(--panel);padding:9px 13px;border-radius:14px 14px 4px 14px;font-size:13.5px;font-weight:600;line-height:1.45}.ask-route{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px;border:1px dashed var(--line-2);border-radius:12px;font-size:11.5px;font-weight:700;color:var(--text-3)}.rt-stop{padding:4px 9px;border-radius:20px;border:1.5px solid var(--at);color:var(--at);background:transparent;transition:all .25s var(--ease)}.rt-stop.done{border-color:var(--ex);color:var(--ex);background:var(--ex-soft)}.rt-stop.pending{animation:amberPulse 1s ease-in-out infinite}@keyframes amberPulse{0%,to{box-shadow:0 0 0 0 rgba(234,122,12,.4)}50%{box-shadow:0 0 0 6px rgba(234,122,12,0)}}.rt-link{width:14px;height:2px;background:var(--line-2);display:inline-block}.ask-ans{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.ask-ans.none{border-color:var(--in-line)}.ask-ans.partial{border-color:var(--at-line)}.ask-band{font-size:12px;color:var(--at);border:1.5px solid var(--at-line);border-radius:8px;padding:6px 10px;background:transparent}.ask-band.refuse{color:var(--in);border-color:var(--in-line);display:flex;gap:6px;align-items:center}.ask-band.refuse .ic{width:14px;height:14px}.ask-receipt{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.ask-receipt i{color:var(--line-2);font-style:normal}.ask-receipt .r-done{color:var(--text-3)}.ask-receipt .r-ok{color:var(--ex)}.ask-receipt .r-bad{color:var(--in)}.ask-receipt .faint{margin-left:auto;text-transform:none;letter-spacing:0}.ask-hl{font-size:15px;font-weight:800;line-height:1.4;letter-spacing:-.01em}.ask-sub{margin:0;font-size:12.5px;color:var(--text-2);line-height:1.5}.ask-chips{display:flex;flex-wrap:wrap;gap:6px}.ask-chip{height:26px;padding:0 9px;font-size:11.5px;gap:4px;cursor:default}.ask-chip-x{border:0;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 0 0 4px;opacity:.75}.ask-chip-x:hover{opacity:1}.ask-num{flex-direction:column}.ask-big,.ask-num{display:flex;gap:6px}.ask-big{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;align-items:baseline}.ask-big small{font-size:13px;color:var(--text-3);font-weight:700}.ask-bar{height:8px;border-radius:5px;background:var(--panel-3);overflow:hidden}.ask-bar i{display:block;height:100%;border-radius:5px;transform-origin:left;animation:growX .7s var(--ease) both}.ask-dist{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-2)}.ask-dist span{display:inline-flex;align-items:center;gap:5px}.ask-dist span:hover{color:var(--text);text-decoration:underline}.ask-rank{display:flex;flex-direction:column}.ask-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--line);font-size:13px;border-radius:6px}.ask-row:last-child{border-bottom:0}.ask-row:hover{background:var(--panel-3)}.ask-row .ask-pos{font-size:11px;color:var(--text-3);font-weight:700;font-family:var(--mono)}.ask-row .ask-lab{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column}.ask-row .ask-lab small{color:var(--text-3);font-weight:500;font-size:11px}.ask-row .ask-track{width:90px;height:7px;border-radius:4px;background:var(--panel-3);overflow:hidden}.ask-row .ask-track i{display:block;height:100%;border-radius:4px;transform-origin:left;animation:growX .7s var(--ease) both;animation-delay:var(--d,0s)}.ask-row b{font-variant-numeric:tabular-nums;white-space:nowrap}.ask-room{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ask-met{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;grid-template-columns:1fr auto;gap:2px 6px;align-items:center;font-size:12px}.ask-met.lim{border-color:var(--text)}.ask-met .ask-met-l{color:var(--text-3);font-weight:700;font-size:11px;display:flex;gap:5px;align-items:center;grid-column:1/-1}.ask-met b{font-size:16px}.ask-met small{color:var(--text-3)}.ask-met .spark{grid-column:1/-1}.ask-trend .chart{margin-top:4px}.ask-cmp .tbl td,.ask-cmp .tbl th{padding:7px 9px;font-size:12.5px}.ask-notes{font-size:12px;color:var(--text-2);border-left:3px solid var(--brand);padding:6px 10px;background:var(--panel);border-radius:6px;display:flex;flex-direction:column;gap:4px}.ask-actions,.ask-sugg{display:flex;flex-wrap:wrap;gap:6px}.ask-actions{align-items:center}.ask-how{font-size:12px;color:var(--text-2)}.ask-how summary{cursor:pointer;font-weight:700;color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.ask-how .kv{margin-top:8px;font-size:12px}.ask-help .ask-dgwrap{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px}.ask-dg{width:100%;height:auto;display:block}.ask-dg-t{fill:var(--text-3);font-size:9px;font-weight:600}.ask-dg-b{fill:var(--text);font-size:10px;font-weight:800}.ask-dg-box{fill:var(--panel-2);stroke:var(--line-2);stroke-width:1}.ask-dg-l{stroke:var(--text-3);stroke-width:1.2;fill:none}.ask-dg-line{stroke:var(--ex);stroke-width:2;fill:none}.ask-dg-thr{stroke:var(--at);stroke-width:1;stroke-dasharray:3 3}.ask-dg-night{fill:var(--text);opacity:.05}.ask-link{color:var(--text);font-weight:700;text-decoration:none;border-bottom:1px solid var(--line-2)}.ask-link:hover{border-bottom-color:var(--text)}.ask-composer{display:flex;gap:8px;padding:12px 18px 8px;border-top:1px solid var(--line);background:var(--panel)}.ask-composer input{flex:1;min-width:0;height:42px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);padding:0 14px;font:inherit;font-size:14px;color:var(--text)}.ask-composer input:focus{border-color:var(--brand);box-shadow:var(--focus);outline:none}.ask-composer .btn{height:42px;padding:0 16px}.ask-hint{padding:0 18px 12px;font-size:11px;color:var(--text-3);line-height:1.5}@media (max-width:1100px){.ask{width:100vw}}@media (max-width:520px){.ask-btn span{display:none}.ask-cards{grid-template-columns:1fr}.ask-row{grid-template-columns:20px minmax(0,1fr) auto}.ask-row .ask-track{display:none}}.empty{padding:40px 20px;text-align:center;color:var(--text-3)}.empty .ic{width:36px;height:36px;margin:0 auto 10px;color:var(--line-2)}.progress{height:6px;border-radius:4px;background:var(--panel-3);overflow:hidden}.progress i{display:block;height:100%;background:var(--brand);border-radius:4px;transition:width .3s var(--ease)}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:12.5px}.kv dt{color:var(--text-3)}.kv dd{margin:0;font-weight:700;color:var(--text)}.avatar{width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.ic{display:inline-block;width:18px;height:18px;flex:0 0 auto}.ic svg{width:100%;height:100%}.skeleton{background:linear-gradient(90deg,var(--panel-3) 25%,var(--panel-2) 50%,var(--panel-3) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}}@keyframes fadeIn{0%{opacity:0}}.view-enter .card{animation-name:cardIn}@media (max-width:1400px){.g-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.g-12>.span-4,.g-12>.span-5,.g-12>.span-7,.g-12>.span-8{grid-column:span 6}.g-4,.trust{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.app{grid-template-columns:minmax(0,1fr)}.side{position:fixed;left:0;top:0;bottom:0;width:272px;transform:translateX(-100%);transition:transform .25s var(--ease);box-shadow:none}.app.side-open .side{transform:none;box-shadow:var(--shadow-h)}.side-toggle{display:none}.menu-btn{display:inline-flex}.main{padding:18px 18px 48px}.topbar{padding:0 18px}.search input{width:220px}}@media (max-width:820px){.g-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.g-12>*{grid-column:span 12!important}.g-2,.g-3,.g-4,.trust{grid-template-columns:minmax(0,1fr)}.hero-band{grid-template-columns:1fr}.search input{width:160px;max-width:38vw}.crumbs{display:none}.page-h h1{font-size:22px}.page-h .sub{gap:4px 12px}.page-h .sub .dot-sep{display:none}.bld-floor{grid-template-columns:26px minmax(0,1fr)}.bld-fs{display:none}.subrow{grid-template-columns:100px 1fr 70px 50px}}@media (max-width:520px){.g-kpi{grid-template-columns:minmax(0,1fr)}.main{padding:14px 14px 40px}.live #liveTxt,.search{display:none}.toasts{left:12px;right:12px;max-width:none}.subrow{grid-template-columns:1fr auto 48px;gap:8px 10px}.subrow .track{grid-column:1/-1}.modal .mb,.modal .mh{padding:14px 16px}}@media print{.side,.tip,.toasts,.topbar{display:none!important}.app{grid-template-columns:1fr}.card{box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.anim-draw{stroke-dashoffset:0}.pipe-l i{display:none}}.nav button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;font-weight:600;font-size:13.5px}.side-user{display:flex;align-items:center;gap:9px;padding:4px 6px;border-radius:8px;text-decoration:none;color:inherit;min-width:0}.side-user:hover{background:var(--panel-3)}.side-user .su-n{font-weight:700;font-size:12.5px}.side-user .su-e,.side-user .su-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .su-e{font-size:10.5px;color:var(--text-3)}.side-user .su-t{display:flex;flex-direction:column;min-width:0;flex:1;text-decoration:none;color:inherit}.side-user .avatar,.side-user form{flex-shrink:0}.side-user form{margin-left:auto}.side-collapsed .side-user .su-t,.side-collapsed .side-user form{display:none}.side-collapsed .side-user{justify-content:center}.link-btn{padding:0;cursor:pointer}.link-btn,.row-btn{border:0;background:none;font:inherit}.row-btn{width:100%;text-align:left}.tbl tr.click:focus-visible{outline:none;box-shadow:inset var(--focus)}.tbl td .link{white-space:nowrap}.win span{pointer-events:none}.card-hd{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:12px 0 6px}.crumbs .cur-btn{all:unset}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.state-empty{padding:26px 20px;text-align:center;color:var(--text-3);background:var(--panel-2);border:1px dashed var(--line);border-radius:10px;font-size:13px}.state-empty b{display:block;color:var(--text);font-size:14px;margin-bottom:4px}.state-error{padding:22px 20px;text-align:center;color:var(--text-2);background:var(--in-soft);border:1px solid var(--in-line);border-radius:10px;font-size:13px}.state-error b{display:block;color:var(--in);margin-bottom:4px}.state-error .ref{font-family:var(--mono);font-size:11px;color:var(--text-3);margin-top:8px}.settings-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:900px){.settings-grid{grid-template-columns:minmax(0,1fr)}}.field{display:block;margin-top:12px}.field>span{display:block;font-size:12px;font-weight:700;color:var(--text-2);margin-bottom:6px}.field select.ctl{width:100%}.field .hint{display:block;font-size:11.5px;color:var(--text-3);margin-top:6px}.lg-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--bg);color:var(--text)}.lg-brand{position:relative;overflow:hidden;background:radial-gradient(900px 520px at 12% -10%,var(--brand-soft),transparent 60%),radial-gradient(700px 480px at 110% 110%,var(--ex-soft),transparent 55%),linear-gradient(180deg,var(--panel-2),var(--bg-2));border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:48px 56px}.lg-brand:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:.35;mask-image:radial-gradient(closest-side at 50% 50%,#000 40%,transparent 100%);-webkit-mask-image:radial-gradient(closest-side at 50% 50%,#000 40%,transparent 100%);pointer-events:none}.lg-brand-in{position:relative;width:100%;max-width:640px;display:flex;flex-direction:column;gap:22px;animation:cardIn .7s var(--ease) both}.lg-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.lg-eyebrow .led{width:8px;height:8px;border-radius:50%;background:var(--ex);box-shadow:0 0 0 0 var(--ex);animation:lgPing 2s infinite}@keyframes lgPing{0%{box-shadow:0 0 0 0 rgba(22,163,74,.55)}70%{box-shadow:0 0 0 9px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}.lg-h{margin:0;font-size:clamp(30px,3.4vw,42px);line-height:1.05;letter-spacing:-.03em;font-weight:800;max-width:12ch}.lg-h em{font-style:normal;background:linear-gradient(transparent 62%,var(--brand) 62%,var(--brand) 88%,transparent 88%);padding:0 2px}.lg-p{margin:0;color:var(--text-2);font-size:15px;line-height:1.55;max-width:46ch}.lg-art{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.lg-art .b{border-radius:8px 8px 4px 4px;background:linear-gradient(var(--fac-1),var(--fac-2));border:1px solid var(--fac-line);padding:8px 8px 10px;display:grid;grid-template-columns:repeat(var(--c),minmax(0,1fr));gap:4px;box-shadow:var(--shadow);animation:cardIn .6s var(--ease) both;animation-delay:calc(var(--i) * 90ms + .12s)}.lg-art .b:before{content:"";grid-column:1/-1;height:10px;margin:-8px -8px 2px;background:linear-gradient(var(--roof-1),var(--roof-2));border-bottom:1px solid var(--roof-line)}.lg-art .b i{display:block;aspect-ratio:1/1.25;border-radius:2px;background:var(--win-off);border:1px solid var(--win-off-line);animation:lgLight 6s ease-in-out infinite both;animation-delay:calc(var(--d) * -1s)}@keyframes lgLight{0%,55%,to{background:var(--win-off);border-color:var(--win-off-line)}70%,90%{background:var(--brand-soft);border-color:var(--brand-line)}}.lg-claims{margin:0;padding:0;list-style:none;display:grid;gap:8px;color:var(--text-2);font-size:13.5px;font-weight:600}.lg-claims li{display:flex;gap:10px;align-items:center}.lg-claims li:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--brand);flex:0 0 auto}.lg-form{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:18px}.lg-card{width:100%;max-width:420px;padding:30px 30px 24px}.lg-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:22px}.lg-head,.lg-head .brand-mark{align-items:flex-start}.lg-head .brand-mark img{height:36px}.lg-steps{display:flex;gap:6px;align-items:center;margin-top:4px}.lg-step{width:26px;height:4px;border-radius:2px;background:var(--line-2);transition:background .3s var(--ease)}.lg-step.done{background:var(--ex)}.lg-step.cur{background:var(--brand)}.lg-steps-k{font-size:10.5px;color:var(--text-3);font-weight:700;text-align:right;margin-top:6px;white-space:nowrap}.lg-stage{animation:stageIn .4s var(--ease) both}@keyframes stageIn{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}.lg-card h1{margin:0 0 6px;font-size:24px;letter-spacing:-.02em;font-weight:800}.lg-card .lead{margin:0;color:var(--text-2);font-size:13.5px;line-height:1.55}.lg-card .lead b{color:var(--text)}.lg-card form{margin-top:18px;display:flex;flex-direction:column;gap:14px}.lg-card .field{display:block;margin:0}.lg-card .field>span{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.lg-card .field>span .link{font-size:12px;font-weight:600;color:var(--text-2)}.lg-card input.ctl{width:100%;height:44px;font-size:14.5px;padding:0 14px;border-radius:10px;transition:border-color .15s,box-shadow .15s}.lg-card input.ctl:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.lg-card input.ctl[aria-invalid=true]{border-color:var(--in)}.pw{position:relative;display:block}.pw input.ctl{padding-right:46px}.pw .eye{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;background:transparent;border-radius:8px;cursor:pointer;color:var(--text-3);display:grid;place-items:center;padding:0}.pw .eye:hover{background:var(--panel-3);color:var(--text)}.pw .eye svg{width:18px;height:18px}.lg-card .btn.primary{height:46px;width:100%;justify-content:center;font-size:14px;border-radius:10px;position:relative;overflow:hidden;transition:transform .15s var(--ease),background var(--dur)}.lg-card .btn.primary:active{transform:translateY(1px)}.lg-card .btn.primary.busy{color:transparent;pointer-events:none}.lg-card .btn.primary.busy:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(20,17,0,.25);border-top:2.5px solid var(--brand-ink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.lg-card .btn.primary .ic{width:16px;height:16px}.lg-card .btn.ghost.wide{width:100%;justify-content:center;height:40px;border:1px solid var(--line)}.lg-card .btn.ghost.wide:disabled{opacity:.6}.who{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);margin-top:16px;animation:cardIn .45s var(--ease) both}.who .av{width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:800;font-size:12px;flex:0 0 auto}.who .wk,.who .wv{display:block}.who .wk{font-size:10.5px;color:var(--text-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.who .wv{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.who .grow{min-width:0;flex:1}.who .link{flex:0 0 auto;font-size:12px}.otp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.otp input{height:54px;width:100%;text-align:center;font:700 22px/1 var(--mono);border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);caret-color:var(--brand);transition:border-color .15s,box-shadow .15s,transform .15s var(--ease)}.otp input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.otp input.filled{border-color:var(--line-2);background:var(--panel-2)}.otp.bad input{border-color:var(--in);animation:shake .35s var(--ease)}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.otp-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-3);font-weight:600;margin-top:-4px}.otp-meta .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.otp-meta .mono.low{color:var(--at)}.otp-meta .mono.out{color:var(--in)}.lg-card .note{margin:14px 0 0;animation:cardIn .35s var(--ease) both}.lg-card .note.bad,.lg-card .note.good,.lg-card .note.info,.lg-card .note.warn{display:flex;gap:8px;align-items:flex-start}.lg-card .note svg{width:15px;height:15px;flex:0 0 auto;margin-top:1px}.lg-card .note.bad svg{color:var(--in)}.lg-card .note.warn svg{color:var(--at)}.lg-card .note.good svg{color:var(--ex)}.lg-card .note.info svg{color:var(--info)}.lg-done{text-align:center;padding:12px 0 4px}.lg-done .ring{width:64px;height:64px;margin:0 auto 14px}.lg-done .ring circle{fill:var(--ex-soft);stroke:var(--ex);stroke-width:2}.lg-done .ring path{fill:none;stroke:var(--ex);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .5s .15s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}.lg-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);justify-content:space-between;gap:12px}.lg-foot,.lg-powered{display:flex;align-items:center}.lg-powered{gap:9px;text-decoration:none;color:inherit}.lg-powered img{height:20px;width:auto;display:block}html[data-theme=dark] .lg-powered img{filter:brightness(0) invert(1)}.lg-powered .k{font-size:10px;font-weight:700;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;display:block;line-height:1.1}.lg-powered .v{font-size:11.5px;font-weight:700;display:block;line-height:1.2}.lg-trust{font-size:11px;color:var(--text-3);text-align:right;line-height:1.5}.lg-trust svg{width:12px;height:12px;vertical-align:-2px;margin-right:3px;display:inline-block}.lg-help-d{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:18px}.lg-help-d>summary{list-style:none;cursor:pointer}.lg-help-d>summary::-webkit-details-marker{display:none}.lg-help{font-size:12px;color:var(--text-3);display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.lg-help .link{font-weight:600}.lg-help .link,.lg-help-note{color:var(--text-2);font-size:12px}.lg-help-note{max-width:420px;width:100%;line-height:1.55;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;animation:cardIn .35s var(--ease) both}@media (max-width:960px){.lg-wrap{grid-template-columns:1fr}.lg-brand{display:none}.lg-form{padding:28px 16px 40px}.lg-card{padding:24px 20px 20px}}@media (max-height:720px) and (min-width:961px){.lg-claims{display:none}}@media (prefers-reduced-motion:reduce){.lg-art .b,.lg-art .b i,.lg-eyebrow .led,.lg-stage,.otp.bad input{animation:none}}.aqi-out .off{font-style:italic}.tbl tr.selected td{background:var(--brand-soft)}.bld-body .bld-floor .bld-fl[data-go],.bld-body .bld-floor .bld-fs[data-go]{cursor:pointer}.replay-note{font-size:11.5px;color:var(--text-3)}.drill{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow-h);z-index:calc(var(--z-modal) - 1);display:flex;flex-direction:column;animation:askIn .28s var(--ease) both}.drill-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.drill-head-text{min-width:0}.drill-head .eyebrow{margin-bottom:4px}.drill-title{font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.25;margin:0}.drill-sub{color:var(--text-2);font-size:12.5px;margin-top:4px;line-height:1.5}.drill-scroll{flex:1;overflow:auto;padding:16px 18px 20px;gap:20px;scrollbar-width:thin}.drill-foot,.drill-scroll{display:flex;flex-direction:column}.drill-foot{border-top:1px solid var(--line);padding:12px 18px;gap:6px;background:var(--panel)}.drill-foot-actions{display:flex;gap:8px;flex-wrap:wrap}.drill-foot-hint{font-size:11px;color:var(--text-3)}.drill-hero{display:flex;flex-direction:column;gap:8px}.drill-hero .big{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline;gap:6px}.drill-hero .big .unit{font-size:13px;color:var(--text-3);font-weight:700;letter-spacing:0}.drill-hero .pill{align-self:flex-start;white-space:normal}.drill-def{margin:0;color:var(--text-2);font-size:12.5px;line-height:1.55}.drill-sec{display:flex;flex-direction:column;gap:8px}.drill-sec .eyebrow{margin-bottom:0;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.drill-sec .eyebrow .n{font-weight:700;letter-spacing:0;text-transform:none}.drill .empty{padding:18px 12px}@media (max-width:1100px){.drill{width:100vw}}.device-photo{margin:0}.device-photo figcaption{font-size:11.5px;margin-top:6px}.device-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px;margin-top:8px}.device-thumbs button{padding:0;border:1px solid var(--line);border-radius:6px;background:var(--panel-3);overflow:hidden;cursor:pointer}.device-thumbs button[aria-pressed=true]{outline:2px solid var(--accent-line);outline-offset:1px}.device-thumbs img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block}