:root{--font-display:"Mulish";--font-body:"Mulish";--font-mono:"IBM Plex Mono";--solar:#f79a1b;--battery:#27bd72;--grid:#5b8def;--load:#fb7185;--invert:#a78bfa;--amber:#f79a1b;--g-orange:#ff870f;--g-yellow:#ffd60f;--g-lime:#7fd41c;--bg:#edefe6;--bg-grad:radial-gradient(1100px 660px at 10% -8%,hsla(90,42%,66%,.42),transparent 58%),radial-gradient(950px 560px at 86% 2%,hsla(83,37%,82%,.5),transparent 54%),radial-gradient(1050px 640px at 78% 114%,hsla(42,63%,77%,.42),transparent 58%);--aur1:hsla(90,42%,66%,.5);--aur2:hsla(36,82%,71%,.42);--aurora-o:0.5;--panel:#fff;--panel-2:#f3f6ef;--chip:#fff;--glass:color-mix(in srgb,#fff 58%,transparent);--tab-active-bg:#fff;--tab-active-text:#171a21;--ink:#15171f;--ink-2:#21242e;--ink-text:#f2f3f6;--ink-dim:#a2a8b4;--text:#171a21;--text-dim:#656d7a;--text-faint:#98a0ac;--line:rgba(20,26,42,.09);--line-soft:rgba(20,26,42,.055);--line-strong:rgba(20,26,42,.16);--track:#e8eaef;--sheen:hsla(0,0%,100%,.55);--shadow:0 1px 2px rgba(22,26,40,.05),0 10px 26px -14px rgba(22,26,40,.18);--shadow-lg:0 2px 4px rgba(22,26,40,.05),0 22px 48px -22px rgba(22,26,40,.28);--flow-node-fill:#fff;--flow-inv-fill:#fff;--flow-halo:0.13;--ok:#1fb488;--warn:#f5a623;--bad:#fb7185;--radius:22px;--radius-md:16px;--radius-sm:12px;--radius-xs:9px;--ease-out:cubic-bezier(0.2,0.7,0.2,1);--ease-spring:cubic-bezier(0.34,1.45,0.6,1)}:root[data-theme=dark]{--solar:#ffc247;--battery:#4ce39b;--grid:#5aa8ff;--load:#ff8a72;--invert:#c39bff;--amber:#ffc247;--g-orange:#ff9b2e;--g-yellow:#ffe14a;--g-lime:#9ae83e;--bg:#0c0f13;--bg-grad:radial-gradient(1100px 660px at 10% -10%,rgba(154,232,62,.075),transparent 56%),radial-gradient(1000px 560px at 86% 0%,rgba(255,194,71,.07),transparent 52%),radial-gradient(1000px 620px at 60% 118%,rgba(70,224,160,.055),transparent 55%);--aur1:rgba(154,232,62,.1);--aur2:rgba(255,194,71,.1);--aurora-o:0.5;--panel:#161a23;--panel-2:#1e2330;--chip:#232a38;--glass:color-mix(in srgb,#161a23 62%,transparent);--tab-active-bg:#eef1f4;--tab-active-text:#10131b;--ink:#05070c;--ink-2:#10131b;--ink-text:#eef1f6;--ink-dim:#8592a4;--text:#eaeef4;--text-dim:#93a0b1;--text-faint:#5f6b7c;--line:rgba(140,175,215,.13);--line-soft:rgba(140,175,215,.07);--line-strong:rgba(140,175,215,.24);--track:#232a38;--sheen:hsla(0,0%,100%,.09);--shadow:0 10px 30px -16px rgba(0,0,0,.7);--shadow-lg:0 24px 54px -24px rgba(0,0,0,.75);--flow-node-fill:#1b2130;--flow-inv-fill:#1b2130;--flow-halo:0.26}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;transition:background-color .3s ease,color .3s ease}body:before{content:"";position:fixed;inset:0;z-index:-2;background:var(--bg-grad),var(--bg);transition:background-color .3s ease}.aurora{position:fixed;inset:-12%;z-index:-1;pointer-events:none;opacity:var(--aurora-o);transform:translateZ(0)}.aurora:after,.aurora:before{content:"";position:absolute;width:44vmax;height:44vmax;border-radius:50%;will-change:transform}.aurora:before{left:-8%;top:-14%;background:radial-gradient(circle at 50% 50%,var(--aur1),transparent 68%);animation:drift-a 30s ease-in-out infinite alternate}.aurora:after{right:-10%;bottom:-18%;background:radial-gradient(circle at 50% 50%,var(--aur2),transparent 68%);animation:drift-b 38s ease-in-out infinite alternate}@keyframes drift-a{to{transform:translate3d(9vmax,7vmax,0) scale(1.12)}}@keyframes drift-b{to{transform:translate3d(-8vmax,-6vmax,0) scale(1.08)}}.mono{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.display{font-family:var(--font-display),system-ui,sans-serif}button,input,select{font-family:inherit}:focus-visible{outline:2px solid color-mix(in srgb,var(--amber) 70%,transparent);outline-offset:2px}.rv{animation:rv-in .6s var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * 65ms)}@keyframes rv-in{0%{opacity:0;transform:translateY(14px) scale(.985)}}.shell{max-width:1200px;margin:0 auto;padding:14px 24px 72px}.topbar{position:-webkit-sticky;position:sticky;top:10px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 14px;margin-bottom:18px;border-radius:20px;border:1px solid transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.topbar.scrolled{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-color:var(--line-soft);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(150deg,#ffc93f,var(--g-orange));box-shadow:0 8px 20px -8px color-mix(in srgb,var(--g-orange) 70%,transparent);flex-shrink:0}.brand-mark svg{display:block}.brand-mark.live:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid color-mix(in srgb,var(--g-orange) 55%,transparent);animation:ring 2.6s var(--ease-out) infinite}@keyframes ring{0%{transform:scale(.9);opacity:.9}70%,to{transform:scale(1.35);opacity:0}}.brand-text h1{font-family:var(--font-display),sans-serif;font-size:20px;font-weight:700;letter-spacing:-.015em;line-height:1.1}.brand-text .sub{font-size:10.5px;color:var(--text-faint);letter-spacing:.16em;text-transform:uppercase;margin-top:3px;display:block}.top-right{gap:10px;flex-wrap:wrap}.kpis,.top-right{display:flex;align-items:center}.kpis{gap:6px}.kpi{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:100px;border:1px solid var(--line-soft);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.kpi .k-dot{width:7px;height:7px;border-radius:50%;background:var(--accent,var(--amber));box-shadow:0 0 8px color-mix(in srgb,var(--accent,var(--amber)) 65%,transparent)}.kpi .k-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--text-faint)}.kpi .k-val{font-size:12px;color:var(--text);font-weight:500}.status-pill{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-dim);padding:9px 15px;border:1px solid var(--line-soft);border-radius:100px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);flex-shrink:0}.dot.live{background:var(--ok);animation:pulse 2s infinite}.dot.stale{background:var(--warn);box-shadow:0 0 10px var(--warn)}.dot.down{background:var(--bad);box-shadow:0 0 10px var(--bad)}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 45%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-soft);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-dim);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);transition:color .15s,border-color .15s,transform .2s var(--ease-spring)}.theme-toggle:hover{color:var(--amber);border-color:var(--line-strong);transform:rotate(-14deg)}.theme-toggle:active{transform:scale(.9)}.theme-toggle svg{display:block}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){-webkit-clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,5%));clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,5%));animation:vt-reveal .55s var(--ease-out) forwards}@keyframes vt-reveal{to{-webkit-clip-path:circle(160vmax at var(--vt-x,50%) var(--vt-y,5%));clip-path:circle(160vmax at var(--vt-x,50%) var(--vt-y,5%))}}.tabs{margin-bottom:22px;max-width:100%}.tab,.tabs{display:inline-flex;gap:8px}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;background:color-mix(in srgb,var(--panel) 45%,transparent);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-dim);font-family:var(--font-body),sans-serif;font-size:13.5px;font-weight:600;padding:11px 22px;cursor:pointer;border-radius:100px;transition:color .18s,background .18s,box-shadow .18s,border-color .18s,transform .25s var(--ease-spring)}.tab .t-ico{display:grid;place-items:center}.tab .t-ico svg{width:15px;height:15px;display:block}.tab:hover{color:var(--text);background:color-mix(in srgb,var(--panel) 72%,transparent);transform:translateY(-1px)}.tab:active{transform:scale(.95)}.tab.active{color:var(--tab-active-text);background:var(--tab-active-bg);border-color:transparent;box-shadow:0 2px 4px rgba(22,26,40,.06),0 14px 30px -12px rgba(22,26,40,.3)}.tab.active .t-ico{color:var(--g-orange)}.pane{animation:pane-in .4s var(--ease-out)}@keyframes pane-in{0%{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line-soft)}.panel-head,.panel-head h2{display:flex;align-items:center}.panel-head h2{font-family:var(--font-display),sans-serif;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);gap:9px}.panel-head h2:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px color-mix(in srgb,var(--amber) 60%,transparent)}.grid{display:grid;grid-gap:14px;gap:14px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .25s}.card:after{content:"";position:absolute;top:-60%;bottom:-60%;left:-30%;width:36%;background:linear-gradient(100deg,transparent,var(--sheen),transparent);transform:translateX(-160%) rotate(8deg);transition:transform .7s var(--ease-out);pointer-events:none;opacity:.55}.card:hover:after{transform:translateX(420%) rotate(8deg)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.card-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.card-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--chip);border:1px solid var(--line-soft);box-shadow:0 3px 10px -3px rgba(22,26,40,.2);color:var(--accent,var(--amber));transition:transform .3s var(--ease-spring)}.card:hover .card-icon{transform:scale(1.08) rotate(-6deg)}.card-icon svg{display:block}.card-top .label{flex:1 1;min-width:0}.card-top .badge{margin-left:auto;flex-shrink:0}.card .label,.kcard .label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);font-weight:700}.card .value{font-family:var(--font-display),sans-serif;font-size:31px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card .value .unit{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:500;color:var(--text-dim);margin-left:5px;letter-spacing:0}.card .meta{font-size:12.5px;color:var(--text-dim);margin-top:10px;line-height:1.4}.badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono),monospace;font-size:11px;font-weight:500;padding:3px 9px;border-radius:100px;background:color-mix(in srgb,var(--accent,var(--amber)) 16%,transparent);color:color-mix(in srgb,var(--accent,var(--amber)) 92%,var(--text));white-space:nowrap}.card.ink{background:radial-gradient(120% 120% at 85% -10%,hsla(0,0%,100%,.08),transparent 50%),linear-gradient(155deg,var(--ink),var(--ink-2));border:none;color:var(--ink-text);box-shadow:var(--shadow),inset 0 0 0 1px hsla(0,0%,100%,.06)}.card.ink .label{color:var(--ink-dim)}.card.ink .value{color:var(--ink-text)}.card.ink .meta{color:var(--ink-dim)}.card.ink .card-icon{background:color-mix(in srgb,var(--accent,var(--amber)) 26%,transparent);border-color:transparent;color:var(--accent,var(--amber))}.card.ink:after{opacity:.25}.card.ink:hover{box-shadow:var(--shadow-lg)}.card.hl,.kcard.hl{background:linear-gradient(160deg,#ffd75e,#ffb01f,#ffd75e);background-size:220% 220%;animation:hl-shift 9s ease-in-out infinite;border:none}@keyframes hl-shift{0%,to{background-position:0 0}50%{background-position:90% 90%}}.card.hl .label,.kcard.hl .label{color:rgba(27,18,5,.55)}.card.hl .value,.kcard.hl .kc-val{color:#1b1205}.card.hl .value .unit,.kcard.hl .kc-val .unit{color:rgba(27,18,5,.55)}.card.hl .meta,.kcard.hl .kc-meta{color:rgba(27,18,5,.62)}.card.hl .card-icon,.kcard.hl .card-icon{background:hsla(0,0%,100%,.88);border-color:transparent;color:#b25f00}.hero-photo{position:relative;overflow:hidden;margin-bottom:14px;aspect-ratio:21/8.5;min-height:300px;background:#0a0d13}.hpx-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 38%;transform-origin:55% 42%;animation:kenburns 28s ease-in-out infinite alternate}@keyframes kenburns{0%{transform:scale(1)}to{transform:scale(1.075) translate(-1.2%,1%)}}.hpx-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,14,.62),rgba(5,8,14,.18) 34%,transparent 55%),linear-gradient(0deg,rgba(5,8,14,.4),transparent 30%);pointer-events:none}.hpx-head{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:22px 24px}.hpx-hi{font-family:var(--font-display),sans-serif;font-size:25px;font-weight:700;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);animation:rv-in .7s var(--ease-out) backwards}.hpx-name{background:linear-gradient(100deg,#fff 30%,#ffd98a 50%,#fff 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:name-shimmer 5.5s ease-in-out infinite}@keyframes name-shimmer{0%,to{background-position:110% 0}50%{background-position:-10% 0}}.hpx-sub{font-size:13px;color:hsla(0,0%,100%,.82);margin-top:5px;text-shadow:0 1px 8px rgba(0,0,0,.4);animation:rv-in .7s .1s var(--ease-out) backwards}.hpx-corner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;animation:rv-in .7s .15s var(--ease-out) backwards}.hpx-date,.hpx-wx{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:hsla(0,0%,100%,.8);background:rgba(10,14,22,.45);border:1px solid hsla(0,0%,100%,.14);padding:6px 12px;border-radius:100px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.hpx-wx svg{color:#ffd98a}.hpx-today{position:absolute;left:22px;bottom:18px;display:flex;align-items:center;gap:11px;padding:11px 16px 11px 12px;border-radius:16px;background:rgba(12,16,24,.55);border:1px solid hsla(0,0%,100%,.16);-webkit-backdrop-filter:blur(10px) saturate(130%);backdrop-filter:blur(10px) saturate(130%);box-shadow:0 8px 24px -10px rgba(0,0,0,.5);animation:pp-in .7s .5s var(--ease-spring) backwards}.ht-ico{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(150deg,#ffc93f,var(--g-orange));color:#fff;flex-shrink:0}.ht-val{font-family:var(--font-display),sans-serif;font-size:22px;font-weight:800;color:#fff;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ht-val span{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.66);margin-left:3px}.ht-lbl{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:hsla(0,0%,100%,.6);font-weight:700;margin-top:3px}.ppill{position:absolute;display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:pp-in .65s var(--ease-spring) backwards;animation-delay:var(--d,.3s)}@keyframes pp-in{0%{opacity:0;transform:translateY(12px) scale(.86)}}.pp-card{background:rgba(12,16,24,.58);border:1px solid hsla(0,0%,100%,.16);border-radius:14px;padding:9px 16px;-webkit-backdrop-filter:blur(10px) saturate(130%);backdrop-filter:blur(10px) saturate(130%);box-shadow:0 8px 24px -10px rgba(0,0,0,.5);white-space:nowrap;animation:pp-float 6s ease-in-out infinite;animation-delay:var(--d,0s)}@keyframes pp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.pp-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.62);font-weight:700}.pp-value{font-family:var(--font-display),sans-serif;font-size:19px;font-weight:700;color:#fff;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pp-line{width:0;height:var(--h,44px);border-left:2px dotted hsla(0,0%,100%,.55);transform-origin:top;animation:line-grow .5s var(--ease-out) backwards;animation-delay:calc(var(--d, .3s) + .12s)}@keyframes line-grow{0%{transform:scaleY(0)}}.pp-dot{width:11px;height:11px;border-radius:50%;background:hsla(0,0%,100%,.92);border:3px solid var(--amber);box-shadow:0 0 10px rgba(0,0,0,.45)}.pp-dot.on{animation:dot-ping 2.4s var(--ease-out) infinite}@keyframes dot-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent,var(--amber)) 55%,transparent)}70%,to{box-shadow:0 0 0 9px transparent}}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:14px}.kcard{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 12px;box-shadow:var(--shadow);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .25s}.kcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.kcard:hover .card-icon{transform:scale(1.08) rotate(-6deg)}.kc-top{display:flex;align-items:center;gap:9px;margin-bottom:12px}.kc-top .card-icon{width:32px;height:32px}.kc-top .label{flex:1 1}.kc-top .badge{flex-shrink:0}.kc-val{font-family:var(--font-display),sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kc-val .unit{font-family:var(--font-body),sans-serif;font-size:13px;font-weight:600;color:var(--text-dim);margin-left:4px}.kc-meta{font-size:12px;color:var(--text-dim);margin-top:12px}.kcard .spark{display:block;width:100%;height:34px;margin-top:10px}.spark-line{stroke-dasharray:1;stroke-dashoffset:1;animation:spark-draw 1.1s .35s var(--ease-out) forwards}@keyframes spark-draw{to{stroke-dashoffset:0}}.spark-dot{transform-box:fill-box;transform-origin:center;animation:spark-pulse 2.4s ease-in-out infinite}@keyframes spark-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}.photo-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-bottom:14px}.photo-card{position:relative;overflow:hidden;border-radius:var(--radius);min-height:228px;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .25s var(--ease-out),box-shadow .25s;background:#0a0d13}.photo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.pc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.photo-card:hover .pc-img:not(.pc-zoom-batt){transform:scale(1.06)}.pc-zoom-batt{object-position:62% 100%;transform:scale(1.8);transform-origin:62% 75%}.photo-card:hover .pc-zoom-batt{transform:scale(1.88)}.pc-home{object-position:50% 64%}.pc-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,9,15,.74),rgba(6,9,15,.22) 42%,transparent 62%),linear-gradient(180deg,rgba(6,9,15,.38),transparent 30%);pointer-events:none;transition:opacity .4s}.pc-head{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display),sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.88);background:rgba(12,16,24,.5);border:1px solid hsla(0,0%,100%,.15);padding:7px 13px;border-radius:100px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pc-dot.on{animation:dot-ping 2.4s var(--ease-out) infinite}.pc-body{position:absolute;left:18px;right:18px;bottom:16px}.pc-value{font-family:var(--font-display),sans-serif;font-size:34px;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1;text-shadow:0 2px 14px rgba(0,0,0,.45);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pc-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.pc-pill{font-family:var(--font-mono),monospace;font-size:11px;color:hsla(0,0%,100%,.85);background:rgba(12,16,24,.52);border:1px solid hsla(0,0%,100%,.16);padding:4px 11px;border-radius:100px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pp-in .55s var(--ease-spring) backwards;animation-delay:var(--d,.35s)}.gauge-card{grid-column:span 2;display:flex;align-items:center;gap:22px}.gauge-card>.ginfo{min-width:0;flex:1 1}.gauge-card .value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgauge{position:relative;width:168px;flex-shrink:0}.sgauge svg{display:block;width:100%;height:auto;overflow:visible}.sgauge .g-track{stroke:var(--track)}.sgauge .g-arc,.sgauge .g-track{fill:none;stroke-width:15;stroke-linecap:round}.sgauge .g-arc{transition:stroke-dashoffset .9s var(--ease-out),stroke .4s}.sgauge .g-center{position:absolute;left:0;right:0;bottom:6px;text-align:center}.sgauge .g-val{font-family:var(--font-display),sans-serif;font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sgauge .g-val .u{font-size:15px;color:var(--text-dim);font-weight:500}.sgauge .g-lbl{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-top:5px;font-weight:700}.flow-wrap{padding:18px 22px 22px;display:flex;justify-content:center}.flow-svg{width:100%;max-width:1060px;height:auto;display:block}.flow-node{animation:node-in .55s var(--ease-out) backwards;animation-delay:var(--d,0s)}.inv-pop{animation:node-in .6s .32s var(--ease-out) backwards}@keyframes node-in{0%{opacity:0;transform:translateY(9px)}}.flow-node .node-box{fill:var(--flow-node-fill);stroke:var(--line-soft);stroke-width:1;filter:drop-shadow(0 6px 16px rgba(22,26,40,.12));transition:stroke .3s,fill .3s,filter .4s}.flow-node.on .node-box{stroke-width:1.4;filter:drop-shadow(0 6px 16px rgba(22,26,40,.12)) drop-shadow(0 0 14px color-mix(in srgb,var(--nc,var(--amber)) 26%,transparent))}:root[data-theme=dark] .flow-node .node-box{filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}:root[data-theme=dark] .flow-node.on .node-box{filter:drop-shadow(0 8px 18px rgba(0,0,0,.5)) drop-shadow(0 0 16px color-mix(in srgb,var(--nc,var(--amber)) 34%,transparent))}.flow-node .node-label{font-family:var(--font-display),sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;fill:var(--text-dim);font-weight:700}.flow-node .node-sub{font-family:var(--font-body),sans-serif;font-size:10.5px;fill:var(--text-faint)}.flow-node .node-val{font-family:var(--font-display),sans-serif;font-size:21px;font-weight:800;fill:var(--text);letter-spacing:-.01em}.node-live{animation:blink 2.1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.wire-pill-g{animation:rv-in .5s .4s var(--ease-out) backwards}.wire-pill{fill:var(--panel);stroke-width:1;filter:drop-shadow(0 2px 5px rgba(10,14,24,.16))}.wire-txt{font-family:var(--font-mono),monospace;font-size:10.5px;font-weight:500}.inv-body{stroke:var(--line-soft);stroke-width:1;filter:drop-shadow(0 6px 16px rgba(22,26,40,.14))}:root[data-theme=dark] .inv-body{filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}.node-chip{filter:drop-shadow(0 2px 6px rgba(22,26,40,.18))}.inv-track{fill:none;stroke:var(--track);stroke-width:6}.inv-track-grad{fill:none;stroke-width:6;opacity:.3}.inv-ring{transition:stroke-dashoffset .8s var(--ease-out)}.inv-ring,.inv-sheen{fill:none;stroke-width:6;stroke-linecap:round}.inv-sheen{opacity:.55}.inv-glow{animation:glow-breathe 5.5s ease-in-out infinite}@keyframes glow-breathe{0%,to{opacity:.75}50%{opacity:1}}.inv-val{font-family:var(--font-display),sans-serif;font-size:16.5px;font-weight:800;fill:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inv-sub{font-family:var(--font-body),sans-serif;font-size:9px;fill:var(--text-faint)}.inv-lbl{font-family:var(--font-display),sans-serif;font-size:8.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;fill:var(--text-dim)}.flow-line{fill:none;stroke:var(--track);stroke-width:2.5;stroke-linecap:round}.flow-line.active{stroke-width:3;stroke-dasharray:5 9;animation:dash .9s linear infinite}.flow-halo{fill:none;stroke-width:9;stroke-linecap:round;opacity:var(--flow-halo);animation:halo-breathe 3.4s ease-in-out infinite}@keyframes halo-breathe{0%,to{opacity:var(--flow-halo)}50%{opacity:calc(var(--flow-halo) * 1.9)}}.flow-particle{opacity:0}.flow-particle.on{opacity:1}@keyframes dash{to{stroke-dashoffset:-14}}.dt-bar{gap:14px;flex-wrap:wrap;margin-bottom:16px}.dt-bar,.dt-search{display:flex;align-items:center}.dt-search{flex:1 1;min-width:240px;max-width:420px;gap:10px;padding:0 14px;border-radius:100px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);color:var(--text-faint);transition:border-color .2s,box-shadow .2s}.dt-search:focus-within{border-color:color-mix(in srgb,var(--amber) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 14%,transparent),var(--shadow)}.dt-search input{flex:1 1;height:42px;border:none;background:transparent;color:var(--text);font-size:13.5px;outline:none}.dt-search input::placeholder{color:var(--text-faint)}.dt-search input::-webkit-search-cancel-button{display:none}.dt-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:22px;height:22px;border-radius:50%;background:var(--panel-2);color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer}.dt-clear:hover{color:var(--text);background:var(--track)}.dt-count{font-size:12px;color:var(--text-faint)}.detail-group{margin-top:6px}.detail-group .gh{font-family:var(--font-display),sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);padding:0 4px 10px;display:flex;align-items:center;gap:9px;font-weight:700}.detail-group .gh:before{content:"";width:9px;height:9px;border-radius:3px;background:var(--accent,var(--line));box-shadow:0 0 8px color-mix(in srgb,var(--accent,transparent) 45%,transparent)}.gh-count{margin-left:auto;font-size:11px;color:var(--text-faint);border:1px solid var(--line-soft);padding:2px 9px;border-radius:100px}.gh-count,table.detail{background:var(--panel)}table.detail{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}table.detail td{padding:12px 20px;border-bottom:1px solid var(--line-soft);font-size:14px;transition:background .15s}table.detail tr:last-child td{border-bottom:none}table.detail tr:hover td{background:var(--panel-2)}table.detail td.k{color:var(--text-dim)}table.detail td.v{text-align:right;font-family:var(--font-mono),monospace;color:var(--text);font-weight:500}table.detail td.v .u{color:var(--text-faint);margin-left:4px;font-size:12px}.warn-banner{display:flex;gap:13px;padding:16px 18px;background:color-mix(in srgb,var(--amber) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--amber) 32%,transparent);border-radius:var(--radius);font-size:13px;color:color-mix(in srgb,var(--amber) 55%,var(--text));line-height:1.55;margin-bottom:16px;box-shadow:var(--shadow)}.warn-banner b{color:var(--amber)}.warn-banner .wb-ico{flex-shrink:0;color:var(--amber);margin-top:1px;animation:wb-pulse 3s ease-in-out infinite}@keyframes wb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.settings-status{padding:13px 18px;font-size:12.5px;color:var(--text-dim);display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);margin-bottom:14px}.spin{width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--amber);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.ctrl-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.ctrl-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s var(--ease-out),box-shadow .25s,border-color .25s}.ctrl-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.cc-head{display:flex;align-items:center;gap:12px}.cc-head .card-icon{width:38px;height:38px;color:var(--amber)}.cc-t{min-width:0;flex:1 1}.cc-t .t{font-size:14.5px;font-weight:700}.cc-current{font-size:12px;color:var(--text-faint);margin-top:3px;font-family:var(--font-mono),monospace;display:flex;align-items:center;gap:7px}.cc-current b{color:var(--battery);font-weight:600}.cc-current.dim{font-style:italic}.cc-live{width:6px;height:6px;border-radius:50%;background:var(--battery);animation:pulse 2s infinite;flex-shrink:0}.ctrl-card .d{font-size:12.5px;color:var(--text-dim);margin:11px 0 14px;line-height:1.5;flex:1 1}.ctrl-card .editor{display:flex;flex-direction:column;gap:0}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-2);width:100%}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1;background:transparent;border:none;border-right:1px solid var(--line);color:var(--text-dim);font-family:var(--font-body),sans-serif;font-size:13px;font-weight:600;padding:10px 16px;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.seg button:last-child{border-right:none}.seg button:hover:not(:disabled):not(.sel){color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.seg button.sel{background:linear-gradient(135deg,var(--amber),var(--g-orange));color:#1b1205;font-weight:700;box-shadow:0 4px 14px -4px color-mix(in srgb,var(--g-orange) 60%,transparent)}.seg button:disabled{opacity:.45;cursor:not-allowed}.num-ctl{display:flex;gap:8px;flex-wrap:wrap}.num-ctl,.stepper{align-items:center}.stepper{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-2)}.stepper button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--text-dim);font-size:17px;width:36px;height:40px;cursor:pointer;transition:background .12s,color .12s}.stepper button:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper input{width:66px;height:40px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);background:transparent;color:var(--text);text-align:center;font-family:var(--font-mono),monospace;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input:focus{outline:none}.num-unit{color:var(--text-faint);font-size:13px;font-family:var(--font-mono),monospace}.apply-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:linear-gradient(135deg,var(--amber),var(--g-orange));color:#1b1205;font-family:var(--font-body),sans-serif;font-size:13px;font-weight:700;padding:11px 18px;border-radius:var(--radius-sm);cursor:pointer;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--g-orange) 65%,transparent);transition:transform .15s var(--ease-spring),opacity .14s,box-shadow .2s;margin-left:auto}.apply-btn:hover:not(:disabled){transform:translateY(-1px)}.apply-btn:active:not(:disabled){transform:scale(.96)}.apply-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:transparent;color:var(--text-dim);font-family:var(--font-mono),monospace;font-size:12px;padding:4px 10px;border-radius:100px;cursor:pointer;transition:color .12s,border-color .12s,background .12s,transform .15s var(--ease-spring)}.chip:hover{color:var(--text);border-color:var(--line-strong);transform:translateY(-1px)}.chip.on{color:color-mix(in srgb,var(--amber) 80%,var(--text));border-color:color-mix(in srgb,var(--amber) 50%,transparent);background:color-mix(in srgb,var(--amber) 12%,transparent)}.snack{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:min(92vw,520px);padding:13px 16px;border-radius:var(--radius-md);font-size:13px;line-height:1.45;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:snack-in .4s var(--ease-spring);overflow:hidden}@keyframes snack-in{0%{opacity:0;transform:translate(-50%,16px) scale(.95)}}.snack:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:currentColor;opacity:.3;animation:snack-life 7s linear forwards}@keyframes snack-life{to{width:0}}.snack.ok{color:color-mix(in srgb,var(--ok) 70%,var(--text));border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.snack.err{color:color-mix(in srgb,var(--bad) 75%,var(--text));border-color:color-mix(in srgb,var(--bad) 38%,transparent)}.sn-ico{flex-shrink:0;display:grid;place-items:center}.sn-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;font-size:17px;line-height:1;cursor:pointer;padding:2px 4px;margin-left:4px;opacity:.7}.sn-close:hover{opacity:1}.dialog-backdrop{position:fixed;inset:0;background:rgba(10,14,22,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;animation:fade .2s ease}.dialog-card{max-width:420px;width:100%;padding:22px;animation:rise .3s var(--ease-spring);box-shadow:var(--shadow-lg)}.dlg-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dlg-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.dlg-t{font-family:var(--font-display),sans-serif;font-size:17px;font-weight:700}.dlg-what{font-size:13.5px;color:var(--text-dim)}.dlg-diff{display:flex;align-items:center;gap:10px;margin:14px 0;flex-wrap:wrap;color:var(--text-faint)}.df{font-family:var(--font-mono),monospace;font-size:13px;padding:7px 13px;border-radius:100px}.df.from{background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim)}.df.to{background:color-mix(in srgb,var(--amber) 15%,transparent);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);color:color-mix(in srgb,var(--amber) 85%,var(--text));font-weight:600}.dlg-note{font-size:12px;color:var(--text-faint);margin-bottom:18px}.dlg-actions{display:flex;gap:10px;justify-content:flex-end}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:10px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body),sans-serif;transition:border-color .15s,background .15s,transform .15s var(--ease-spring)}.btn:hover:not(:disabled){border-color:var(--line-strong)}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--amber),var(--g-orange));border:none;color:#1b1205;font-weight:700;box-shadow:0 6px 18px -6px color-mix(in srgb,var(--g-orange) 70%,transparent)}.btn:disabled{opacity:.55;cursor:not-allowed}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.wxb{position:relative;overflow:hidden;min-height:216px;background:#0a0d13}.wxb-img{width:100%;height:100%;object-fit:cover;object-position:24% 42%;transform-origin:30% 40%;animation:kenburns 32s ease-in-out infinite alternate}.wxb-img,.wxb-scrim{position:absolute;inset:0}.wxb-scrim{background:linear-gradient(90deg,rgba(5,8,14,.66),rgba(5,8,14,.3) 52%,rgba(5,8,14,.12)),linear-gradient(0deg,rgba(5,8,14,.3),transparent 40%)}.wxb-inner{position:relative;justify-content:space-between;gap:18px;padding:24px 28px;min-height:216px}.wxb-inner,.wxb-place{display:flex;align-items:center}.wxb-place{gap:9px;font-family:var(--font-display),sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:hsla(0,0%,100%,.75);animation:rv-in .6s var(--ease-out) backwards}.wx-dot{width:7px;height:7px;border-radius:50%;background:var(--g-yellow);box-shadow:0 0 8px var(--g-yellow)}.wxb-temp{font-family:var(--font-display),sans-serif;font-size:58px;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.05;margin-top:8px;text-shadow:0 2px 16px rgba(0,0,0,.4);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;animation:rv-in .6s .08s var(--ease-out) backwards}.wxb-desc{font-size:14px;color:hsla(0,0%,100%,.85);margin-top:2px;animation:rv-in .6s .16s var(--ease-out) backwards}.wxb-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.wxb-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:hsla(0,0%,100%,.85);background:rgba(12,16,24,.5);border:1px solid hsla(0,0%,100%,.16);padding:6px 12px;border-radius:100px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pp-in .55s var(--ease-spring) backwards}.wxb-chip:first-child{animation-delay:.25s}.wxb-chip:nth-child(2){animation-delay:.33s}.wxb-chip:nth-child(3){animation-delay:.41s}.wxb-icon{color:hsla(0,0%,100%,.92);filter:drop-shadow(0 4px 16px rgba(0,0,0,.4));animation:wx-float 6s ease-in-out infinite;flex-shrink:0;margin-right:8px}@keyframes wx-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.wxb-icon.spin-slow svg{animation:spin 42s linear infinite}.wx-row{display:flex;align-items:center;gap:14px}.wx-gauge{position:relative;width:84px;flex-shrink:0}.wx-gauge svg{display:block;width:100%;height:auto}.wx-gauge .g-track{stroke:var(--track)}.wx-gauge-val{position:absolute;left:0;right:0;bottom:0;text-align:center;font-family:var(--font-display),sans-serif;font-size:17px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wx-gauge-val span{font-size:11px;color:var(--text-dim)}.wx-solar{padding:0;border:1px solid var(--line)}.wx-solar:after{display:none}.wxs-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;transition:transform .6s var(--ease-out)}.wx-solar:hover .wxs-img{transform:scale(1.06)}.wxs-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,9,15,.78),rgba(6,9,15,.3) 55%,rgba(6,9,15,.12))}.wxs-inner{position:relative;padding:16px;display:flex;flex-direction:column;height:100%;min-height:148px}.wxs-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.wxs-top .label{color:hsla(0,0%,100%,.78)}.wx-solar .badge{background:rgba(12,16,24,.55);border:1px solid hsla(0,0%,100%,.18);color:#ffd98a}.wxs-val{font-family:var(--font-display),sans-serif;font-size:27px;font-weight:800;color:#fff;margin-top:auto;text-shadow:0 2px 12px rgba(0,0,0,.5)}.wxs-meta{font-size:11.5px;color:hsla(0,0%,100%,.72);margin-top:4px}.wx-hours{min-width:0}.wx-hours-row{display:flex;gap:8px;margin-top:14px;overflow-x:auto;padding-bottom:4px;min-width:0;scrollbar-width:thin}.hchip{position:relative;flex:1 1;min-width:56px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 6px 8px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line-soft);color:var(--text-dim);animation:pp-in .5s var(--ease-spring) backwards;animation-delay:var(--d,0s);transition:transform .2s var(--ease-spring),border-color .2s}.hchip:hover{transform:translateY(-2px);border-color:var(--line-strong)}.hchip.now{background:color-mix(in srgb,var(--amber) 14%,var(--panel-2));border-color:color-mix(in srgb,var(--amber) 38%,transparent)}.hchip .hh{font-family:var(--font-mono),monospace;font-size:10.5px;color:var(--text-faint)}.hchip .ht{font-family:var(--font-display),sans-serif;font-size:14px;font-weight:700;color:var(--text)}.hchip .hr{font-size:10px;color:var(--grid);min-height:12px;font-family:var(--font-mono),monospace}.hrb{position:absolute;right:7px;top:9px;width:3.5px;height:20px;background:var(--track);display:flex;align-items:flex-end;overflow:hidden}.hrb,.hrb span{border-radius:100px}.hrb span{display:block;width:100%;background:var(--grid);transition:height .6s var(--ease-out)}.wx-days-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:14px}.wday{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:13px 14px;animation:pp-in .5s var(--ease-spring) backwards;animation-delay:var(--d,0s);transition:transform .2s var(--ease-spring),border-color .2s}.wday:hover{transform:translateY(-2px);border-color:var(--line-strong)}.wd-name{font-size:12px;font-weight:700;color:var(--text-dim)}.wd-ico{color:var(--solar);margin:9px 0 7px}.wd-temp{font-family:var(--font-display),sans-serif;font-size:20px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wd-temp span{font-size:13px;font-weight:600;color:var(--text-faint)}.wd-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.wd-rain,.wd-sun{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-family:var(--font-mono),monospace}.wd-rain{color:var(--grid)}.wd-sun{color:var(--solar)}.bars{display:flex;gap:16px;align-items:flex-end;height:132px;margin-top:10px}.bars .bar{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%;min-width:0}.bar .bv{font-family:var(--font-mono),monospace;font-size:10.5px;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--line-soft);padding:2px 8px;border-radius:100px;white-space:nowrap}.bar .bt{width:100%;max-width:58px;border-radius:10px 10px 5px 5px;min-height:6px;transition:height .7s var(--ease-out);background-size:16px 100%;animation:bar-slide 1.6s linear infinite}@keyframes bar-slide{to{background-position:16px 0}}.bar .bl{font-size:11px;color:var(--text-faint);font-weight:500}.b-solar .bt{background-image:repeating-linear-gradient(90deg,color-mix(in srgb,var(--solar) 60%,var(--panel)) 0 4px,color-mix(in srgb,var(--solar) 24%,var(--panel)) 4px 8px)}.b-load .bt{background-image:repeating-linear-gradient(90deg,color-mix(in srgb,var(--load) 55%,var(--panel)) 0 4px,color-mix(in srgb,var(--load) 22%,var(--panel)) 4px 8px)}.b-batt .bt{background-image:repeating-linear-gradient(90deg,color-mix(in srgb,var(--invert) 55%,var(--panel)) 0 4px,color-mix(in srgb,var(--invert) 22%,var(--panel)) 4px 8px)}.offline{padding:46px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.off-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad);margin-bottom:6px}.off-t{font-family:var(--font-display),sans-serif;font-size:17px;font-weight:700}.off-d{font-size:13.5px;color:var(--text-dim);line-height:1.65;max-width:400px}.offline .btn-primary{margin-top:14px}.empty{padding:48px 40px;text-align:center;color:var(--text-dim);font-size:14px;line-height:1.7}.skel .sk{position:relative;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--panel);overflow:hidden;animation:rv-in .5s var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * 70ms)}.skel .sk:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,var(--panel-2) 50%,transparent 70%);background-size:220% 100%;animation:sk-shimmer 1.5s linear infinite}@keyframes sk-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.sk-hero{aspect-ratio:21/8.5;min-height:300px}.sk-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-top:14px}.sk-row.three{grid-template-columns:repeat(3,1fr)}.sk-card{height:140px}.sk-photo{height:228px}.footer-meta{margin-top:28px;display:flex;gap:14px 22px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--text-faint)}.footer-meta .mono,.refresh-ctl{color:var(--text-dim)}.refresh-ctl{display:inline-flex;align-items:center;gap:8px;font-size:12px}.refresh-ctl select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:100px;padding:6px 12px;font-family:var(--font-mono),monospace;font-size:12px;cursor:pointer}.refresh-ctl select:hover{border-color:var(--line-strong)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.flow-particle{display:none}.hpx-img,.wxb-img{animation:none}.aurora{display:none}}@media (max-width:940px){.kpis{display:none}.kpi-row{grid-template-columns:repeat(2,1fr)}.ctrl-grid{grid-template-columns:1fr}.sk-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.shell{padding:10px 14px 56px}.topbar{top:6px;padding:8px 10px}.brand-mark{width:40px;height:40px}.brand-text h1{font-size:17px}.status-pill{font-size:0;gap:0;padding:12px}.status-pill .dot{width:9px;height:9px}.tabs{display:flex;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.tabs::-webkit-scrollbar{display:none}.tab{flex:1 0 auto;justify-content:center;padding:10px 15px}.hero-photo{aspect-ratio:4/3.4;min-height:0}.hpx-img{object-position:40% 38%}.hpx-hi{font-size:19px}.hpx-head{padding:14px}.hpx-date{display:none}.hpx-head{inset:0;align-content:flex-start}.hpx-corner{position:absolute;right:12px;bottom:12px}.hpx-today{padding:8px 12px 8px 9px;gap:8px}.hpx-today .ht-lbl{display:none}.hpx-today .ht-ico{width:27px;height:27px}.hpx-wx{font-size:11px;padding:8px 11px}.pill-secondary{display:none}.pp-value{font-size:16px}.pp-card{padding:7px 12px}.hpx-today{left:12px;bottom:12px;padding:9px 13px 9px 10px;gap:9px}.ht-val{font-size:18px}.card{padding:16px}.card .value{font-size:26px}.kc-val{font-size:24px}.kcard{padding:14px 14px 10px}.kcard .badge{display:none}.kpi-row,.photo-row{gap:12px}.pc-value{font-size:28px}.wxb-inner{padding:18px;min-height:190px}.wxb-temp{font-size:44px}.wxb-icon svg{width:44px;height:44px}.wx-days-row{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.flow-wrap{padding:12px 0;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.flow-svg{min-width:680px;max-width:none}.dt-search{min-width:0;max-width:none;width:100%}.footer-meta{gap:12px 16px}.sk-row,.sk-row.three{grid-template-columns:repeat(2,1fr)}.sk-hero{aspect-ratio:4/3.4;min-height:0}}@media (max-width:560px){.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-top{flex-wrap:wrap;row-gap:6px}.card-top .label{min-width:auto}.card-top .badge{margin-left:0}.gauge-card{grid-column:span 2}.sgauge{width:140px}}@media (max-width:350px){.grid.cards{grid-template-columns:1fr}.gauge-card{grid-column:span 1}.kpi-row,.sk-row,.sk-row.three{grid-template-columns:1fr}}.off-ico.ok{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok)}.err-filter{display:inline-flex;gap:3px;padding:3px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.err-seg{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:none;background:transparent;border-radius:var(--radius-xs);font:inherit;font-size:13px;font-weight:600;color:var(--text-dim);cursor:pointer;transition:background .18s ease,color .18s ease}.err-seg .mono{font-size:11.5px;opacity:.75}.err-seg.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.err-refresh{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.err-refresh .spin{width:14px;height:14px}.err-list{display:flex;flex-direction:column;gap:12px;margin-top:6px}.err-card{position:relative;overflow:hidden;padding:15px 18px 15px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow)}.err-card.resolved{opacity:.82}.err-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.err-card.resolved .err-bar{opacity:.5}.err-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.err-sev{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--accent)}.err-sev-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.err-code{font-size:12px;font-weight:600;padding:2px 8px;border-radius:var(--radius-xs);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.err-state{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:999px}.err-state.on{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.err-state.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.err-desc{margin-top:9px;font-size:15px;font-weight:600;color:var(--text);line-height:1.4}.err-meta{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--text-dim)}.err-m{display:inline-flex;align-items:center;gap:6px}.err-m svg,.err-m.dim{color:var(--text-faint)}.err-m .mono{color:var(--text)}@media (max-width:560px){.err-filter{flex:1 1}.err-seg{flex:1 1;justify-content:center}}:root{--fire:#f4602a}:root[data-theme=dark]{--fire:#ff8a5c}.brand-mark.fire{background:linear-gradient(150deg,#ffb03f,var(--fire,#f4602a) 70%,#e0431f);box-shadow:0 8px 20px -8px color-mix(in srgb,var(--fire) 70%,transparent)}.brand-mark.fire.live:after{border-color:color-mix(in srgb,var(--fire) 55%,transparent)}.ht-ico.fire-grad{background:linear-gradient(150deg,#ffb03f,var(--fire))}.fire-hero.dimmed .hpx-img{filter:saturate(.55) brightness(.72)}.hx-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.hpx-wx.hx-err{color:#ffd7cd;border-color:color-mix(in srgb,var(--bad) 55%,transparent)}.hpx-wx.hx-err svg{color:var(--bad)}.tab-alert{width:7px;height:7px;border-radius:50%;background:var(--bad);box-shadow:0 0 8px var(--bad);margin-left:2px}.login-scene{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:400px;padding:30px 28px 24px;display:flex;flex-direction:column;gap:15px}.lg-brand{display:flex;align-items:center;gap:14px;margin-bottom:8px}.lg-title{font-family:var(--font-display),sans-serif;font-size:21px;font-weight:800;letter-spacing:-.015em}.lg-sub{font-size:10.5px;color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase;margin-top:3px}.lg-field,.lg-label{display:block}.lg-label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;margin-bottom:7px}.lg-input,.lg-label{color:var(--text-faint)}.lg-input{display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);transition:border-color .15s,box-shadow .15s}.lg-input:focus-within{border-color:color-mix(in srgb,var(--amber) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 18%,transparent)}.lg-input input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:14.5px;padding:12px 0}.lg-input input::placeholder{color:var(--text-faint);opacity:.7}.lg-eye{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:grid;place-items:center;padding:6px;border-radius:8px}.lg-eye:hover{color:var(--text)}.lg-remember{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lg-remember input{width:16px;height:16px;accent-color:var(--g-orange);cursor:pointer}.lg-error{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent);border:1px solid color-mix(in srgb,var(--bad) 28%,transparent);padding:10px 13px;border-radius:var(--radius-sm)}.lg-submit{width:100%;justify-content:center;gap:9px;font-size:14.5px;padding:13px 18px}.lg-foot{font-size:11.5px;color:var(--text-faint);text-align:center;line-height:1.5;margin-top:2px}.hub-greet{margin:8px 2px 20px}.hub-greet h2{font-family:var(--font-display),sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em}.hub-greet p{margin-top:6px;font-size:14px;color:var(--text-dim)}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px;margin-bottom:20px}.hub-card{position:relative;overflow:hidden;border-radius:var(--radius);min-height:250px;border:1px solid var(--line);box-shadow:var(--shadow);background:#0a0d13;display:block;text-decoration:none;color:inherit;transition:transform .25s var(--ease-out),box-shadow .25s,border-color .25s}.hub-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hub-card:hover .hc-img{transform:scale(1.06)}.hub-card:hover .hc-cta{gap:12px;color:#fff}.hc-img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.hc-img,.hc-scrim{position:absolute;inset:0}.hc-scrim{background:linear-gradient(0deg,rgba(6,9,15,.78),rgba(6,9,15,.26) 46%,transparent 66%),linear-gradient(180deg,rgba(6,9,15,.36),transparent 30%);pointer-events:none}.hub-card .pc-head{z-index:1}.hc-body{position:absolute;left:20px;right:20px;bottom:18px}.hc-title{font-family:var(--font-display),sans-serif;font-size:27px;font-weight:800;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}.hc-sub{margin-top:5px;font-size:12.5px;color:hsla(0,0%,100%,.78)}.hc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:13px;font-size:13px;font-weight:700;color:hsla(0,0%,100%,.92);background:rgba(12,16,24,.5);border:1px solid hsla(0,0%,100%,.16);padding:8px 15px;border-radius:100px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:gap .25s var(--ease-spring),color .2s}.hub-card.soon-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:20px;cursor:default;opacity:.92}.hub-card.soon-card:hover{transform:none;box-shadow:var(--shadow)}.hc-soon-ico{position:absolute;top:20px;left:20px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.1);color:var(--ink-dim)}.hc-body-static .hc-title{font-size:22px;color:var(--ink-text)}.hc-body-static .hc-sub,.soon-chip{color:var(--ink-dim)}.soon-chip{position:absolute;top:20px;right:20px;font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border:1px dashed color-mix(in srgb,var(--ink-dim) 55%,transparent);padding:5px 11px;border-radius:100px}.dev-switch{position:relative}.dev-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-body),sans-serif;font-size:13px;font-weight:700;color:var(--text);padding:9px 14px;border:1px solid var(--line-soft);border-radius:100px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);cursor:pointer;transition:border-color .15s,transform .2s var(--ease-spring)}.dev-btn:hover{border-color:var(--line-strong)}.dev-btn:active{transform:scale(.96)}.dev-btn .dev-ico{display:grid;place-items:center}.dev-btn .dev-ico svg{width:15px;height:15px}.dev-chev{color:var(--text-faint);transition:transform .2s var(--ease-out)}.dev-btn.open .dev-chev{transform:rotate(180deg)}.dev-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:250px;padding:7px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:dev-pop .22s var(--ease-spring) backwards}@keyframes dev-pop{0%{opacity:0;transform:translateY(-6px) scale(.97)}}.dev-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 11px;border-radius:11px;text-decoration:none;color:inherit;cursor:pointer;transition:background .14s}.dev-item:hover{background:var(--panel-2)}.dev-item .dev-ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--chip);border:1px solid var(--line-soft);color:var(--text-dim)}.dev-item .dev-ico svg{width:16px;height:16px}.dev-item .dev-t{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.dev-item .dev-t b{font-size:13.5px;font-weight:700}.dev-item .dev-t small{font-size:11px;color:var(--text-faint)}.dev-item.on{background:color-mix(in srgb,var(--amber) 9%,transparent)}.dev-item .dev-check{color:var(--ok);flex-shrink:0}.dev-item.soon{cursor:default;opacity:.6}.dev-item.soon:hover{background:transparent}.dev-item.soon .soon-chip{position:static;color:var(--text-faint);border-color:var(--line-strong);flex-shrink:0}.dev-sep{height:1px;background:var(--line-soft);margin:6px 4px}.action-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:13px;text-align:left;padding:16px 18px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);cursor:pointer;color:inherit;font-family:inherit;transition:transform .22s var(--ease-out),box-shadow .22s,border-color .22s}.action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--accent,var(--amber)) 45%,var(--line))}.action-btn:active{transform:scale(.98)}.action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.action-btn .ab-ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--accent,var(--amber));background:color-mix(in srgb,var(--accent,var(--amber)) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent,var(--amber)) 30%,transparent)}.action-btn .ab-t{display:flex;flex-direction:column;gap:3px;min-width:0}.action-btn .ab-t b{font-size:15px;font-weight:800;letter-spacing:-.01em}.action-btn .ab-t small{font-size:12px;color:var(--text-dim);line-height:1.35}.errcat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.errcat-row{display:flex;align-items:center;gap:14px;padding:11px 18px;border-bottom:1px solid var(--line-soft)}.errcat-row:last-child{border-bottom:none}.errcat-row.on{background:color-mix(in srgb,var(--bad) 8%,transparent);box-shadow:inset 3px 0 0 var(--bad)}.errcat-cod{font-size:12px;color:var(--text-faint);background:var(--panel-2);border:1px solid var(--line-soft);padding:4px 9px;border-radius:8px;flex-shrink:0}.errcat-row.on .errcat-cod{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.errcat-t{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.errcat-t b{font-size:13.5px;font-weight:700}.errcat-t small{font-size:12px;color:var(--text-faint);line-height:1.4}@media (max-width:640px){.hub-greet h2{font-size:24px}.login-card{padding:24px 20px 20px}}.brand-mark.cam{background:linear-gradient(150deg,#7fb2ff,var(--grid) 72%,#3f6fd6);box-shadow:0 8px 20px -8px color-mix(in srgb,var(--grid) 70%,transparent)}.cam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:16px;gap:16px}.cam-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .25s}.cam-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.cam-view{position:relative;aspect-ratio:16/9;background:radial-gradient(120% 120% at 50% 0,#10151f,#05070c 70%);overflow:hidden}.cam-view:-webkit-full-screen{aspect-ratio:auto;width:100%;height:100%;display:grid;place-items:center}.cam-view:fullscreen{aspect-ratio:auto;width:100%;height:100%;display:grid;place-items:center}.cam-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;opacity:0;transition:opacity .5s var(--ease-out)}.cam-frame.on{opacity:1}.cam-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-faint);font-size:12.5px;letter-spacing:.04em}.cam-spin{width:26px;height:26px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--grid) 30%,transparent);border-top-color:var(--grid);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.cam-poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-dim)}.cam-poster-glow{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--grid) 28%,transparent),transparent 70%);filter:blur(6px);opacity:.7;transition:transform .3s var(--ease-spring),opacity .3s}.cam-poster:hover .cam-poster-glow{transform:scale(1.15);opacity:1}.cam-play{position:relative;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:#fff;background:color-mix(in srgb,var(--grid) 55%,rgba(12,16,24,.6));border:1px solid hsla(0,0%,100%,.28);box-shadow:0 10px 30px -10px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s var(--ease-spring),background .2s}.cam-play svg{margin-left:3px}.cam-poster:hover .cam-play{transform:scale(1.08);background:var(--grid)}.cam-poster-hint{position:relative;font-size:12.5px;font-weight:600;letter-spacing:.02em}.cam-live{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display),sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.12em;color:#fff;padding:6px 11px;border-radius:100px;background:rgba(10,14,22,.55);border:1px solid hsla(0,0%,100%,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.6;transition:opacity .4s}.cam-live.on{opacity:1}.cam-live-dot{width:8px;height:8px;border-radius:50%;background:#ff4d4f;box-shadow:0 0 8px #ff4d4f;animation:pulse 1.8s ease-in-out infinite}.cam-ptz{position:absolute;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(3,42px) 46px;grid-template-rows:repeat(3,42px);grid-gap:8px;gap:8px;z-index:3;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}.cam-view:-webkit-full-screen .cam-ptz{opacity:1;transform:none}.cam-tile:hover .cam-ptz,.cam-view:fullscreen .cam-ptz{opacity:1;transform:none}.cam-ptz-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsla(0,0%,100%,.18);background:rgba(10,14,22,.55);color:#fff;border-radius:12px;display:grid;place-items:center;cursor:pointer;font-size:20px;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 24px -14px rgba(0,0,0,.65);transition:transform .16s var(--ease-spring),background .16s,border-color .16s}.cam-ptz-btn:hover{transform:translateY(-1px) scale(1.02);background:rgba(18,26,38,.75);border-color:hsla(0,0%,100%,.3)}.cam-ptz-btn.active{background:color-mix(in srgb,var(--grid) 70%,rgba(10,14,22,.45));border-color:color-mix(in srgb,var(--grid) 65%,hsla(0,0%,100%,.18))}.cam-ptz>.cam-ptz-btn:first-child{grid-column:2;grid-row:1}.cam-ptz>.cam-ptz-btn:nth-child(2){grid-column:1;grid-row:2}.cam-ptz>.cam-ptz-btn:nth-child(3){grid-column:2;grid-row:2}.cam-ptz>.cam-ptz-btn:nth-child(4){grid-column:3;grid-row:2}.cam-ptz>.cam-ptz-btn:nth-child(5){grid-column:2;grid-row:3}.cam-ptz-stop{font-size:14px;color:var(--bad)}.cam-zoom{grid-column:4;grid-row:1/span 3;display:grid;grid-gap:8px;gap:8px}.cam-fs{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(10,14,22,.5);border:1px solid hsla(0,0%,100%,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s,background .2s}.cam-tile:hover .cam-fs{opacity:1;transform:none}.cam-fs:hover{background:color-mix(in srgb,var(--grid) 65%,rgba(10,14,22,.5))}.cam-bar{display:flex;align-items:center;gap:10px;padding:12px 15px}.cam-name{font-family:var(--font-display),sans-serif;font-weight:700;font-size:14.5px;letter-spacing:-.01em;flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cam-ip{font-size:11.5px;color:var(--text-faint);flex-shrink:0}.cam-ptz-badge{flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--grid) 78%,#fff 22%);background:color-mix(in srgb,var(--grid) 12%,var(--panel-2));border:1px solid color-mix(in srgb,var(--grid) 18%,transparent);padding:5px 8px;border-radius:999px}.cam-ptz-msg{min-width:0;flex:1 1 140px;font-size:11.5px;color:var(--bad);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cam-stop{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);width:30px;height:30px;border-radius:9px;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s}.cam-stop:hover{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}@media (max-width:720px){.cam-grid{grid-template-columns:1fr}.cam-ptz{right:10px;bottom:10px;grid-template-columns:repeat(3,38px) 42px;grid-template-rows:repeat(3,38px);gap:6px}.cam-ptz-btn{font-size:18px;border-radius:10px}.cam-bar{flex-wrap:wrap}.cam-ptz-msg{flex-basis:100%}}