:root,[data-theme=light]{--bg:#f5f6f7;--sf:#ffffff;--sf2:#f1f2f4;--sf3:#e5e7eb;--segon:#ffffff;--tx:#0f1115;--mu:#5a606c;--ln:#eceef1;--ln2:#dfe2e7;--ac:#2f5bff;--ac6:#2148e6;--act:#1f43d1;--acs:#edf1ff;--ring:rgba(47,91,255,0.18);--on:#f59e0b;--ons:#fff7e8;--onb:#f6d99c;--ont:#985805;--ok:#1f9d63;--oks:#e6f5ed;--okt:#116c46;--bad:#e5484d;--bads:#fdecec;--badt:#bf262b;--sw:#d5d8de;--ink:#0f1115;--inkt:#f3f4f6;--log:#0d0f13;--sh1:0 1px 2px rgba(16,24,40,0.05);--sh2:0 1px 2px rgba(16,24,40,0.04),0 8px 24px -8px rgba(16,24,40,0.12);--sh3:0 2px 6px rgba(16,24,40,0.06),0 24px 64px -16px rgba(16,24,40,0.28);--btn-sh:0 1px 2px rgba(16,24,40,0.18),inset 0 1px 0 rgba(255,255,255,0.18);color-scheme:light}[data-theme=dark]{--bg:#0a0b0d;--sf:#121418;--sf2:#191c21;--sf3:#252930;--segon:#252930;--tx:#eceef2;--mu:#989eab;--ln:#1d2026;--ln2:#2a2e36;--ac:#5b7cff;--ac6:#4a6bf0;--act:#a6b6ff;--acs:#161c38;--ring:rgba(91,124,255,0.3);--on:#f5a524;--ons:#241c0f;--onb:#4a3816;--ont:#f7c46a;--ok:#3ccf8e;--oks:#10261c;--okt:#62dca5;--bad:#ff6369;--bads:#2b1416;--badt:#ff8a8f;--sw:#363a45;--ink:#050608;--inkt:#eceef2;--log:#07080a;--sh1:0 1px 2px rgba(0,0,0,0.35);--sh2:0 1px 2px rgba(0,0,0,0.3),0 10px 30px -10px rgba(0,0,0,0.6);--sh3:0 2px 6px rgba(0,0,0,0.4),0 24px 64px -16px rgba(0,0,0,0.75);--btn-sh:0 1px 2px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.12);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--tx)}body{font-family:Geist,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","tnum"}a{color:var(--act);text-decoration:none}a:hover{color:var(--ac)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ac);outline-offset:2px}::selection{background:var(--ring)}h1,h2,h3{margin:0;font-weight:600;line-height:1.2}h1{font-size:28px;letter-spacing:-.03em;line-height:1.15}h2{font-size:15px}h2,h3{letter-spacing:-.01em}h3{font-size:14px}p{margin:0}b{font-weight:600}.muted{color:var(--mu)}.small{font-size:12.5px}.mono{font-size:.92em}.eyebrow,.mono{font-family:Geist Mono,ui-monospace,monospace}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--mu)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.push{margin-left:auto}.nowrap{white-space:nowrap}.grow{flex:1 1;min-width:0}@media (max-width:760px){.hide-sm{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{min-height:100vh;background:var(--bg)}.app,.side{display:flex}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;width:252px;flex:none;flex-direction:column;gap:2px;padding:14px 12px;background:var(--sf);border-right:1px solid var(--ln2);overflow-y:auto;z-index:6}.side-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.side-brand,.side-brand:hover{color:var(--tx)}.side-brand b{font-size:16px;letter-spacing:-.02em}.brand-mark{width:28px;height:28px;flex:none;border-radius:8px;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--btn-sh)}.brand-mark.sm{width:26px;height:26px}.ctx-pill{margin-left:auto;font-family:Geist Mono,monospace;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:5px;border:1px solid var(--ln2);color:var(--mu)}.ctx-wrap{position:relative;margin-bottom:16px}.ctx{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:var(--sf2);border:1px solid var(--ln);text-align:left;cursor:pointer}.ctx:hover{border-color:var(--ln2)}.ctx-icon{width:32px;height:32px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center}.ctx-icon.platform{background:var(--ink);color:var(--inkt)}[data-theme=dark] .ctx-icon.platform{background:var(--sf3)}.ctx-icon.home{background:var(--ons);color:var(--ont)}.ctx-text{display:flex;flex-direction:column;gap:1px;line-height:1.3;min-width:0;flex:1 1}.ctx-text b{font-size:13.5px}.ctx-text b,.ctx-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-text span{font-size:12px;color:var(--mu)}.side-label{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px 6px}.nav-item,.side-label{font-weight:500;color:var(--mu)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;font-size:13.5px;cursor:pointer;text-align:left;background:transparent}.nav-item:hover{background:var(--sf2);color:var(--tx)}.nav-item.active{background:var(--acs);color:var(--act)}.nav-item.parent{color:var(--tx)}.nav-item.sub{padding-left:22px}.nav-item .count{font-size:11.5px;font-weight:500;padding:0 7px;border-radius:999px;background:var(--sf2);color:var(--mu)}.nav-item .count.bad{background:var(--bads);color:var(--badt)}.nav-item.active .count{background:var(--sf)}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--ln)}.live{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;padding:0 10px;color:var(--okt)}.live.off{color:var(--mu)}.live-dot{width:8px;height:8px;flex:none;border-radius:999px;background:var(--ok);box-shadow:0 0 0 3px var(--oks);display:block}.live-dot.off,.live.off .live-dot{background:var(--mu);box-shadow:0 0 0 3px var(--sf2)}.me-row{display:flex;align-items:center;gap:10px;padding:6px 4px 2px}.me-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.3}.me-text b{font-size:13.5px}.me-text b,.me-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-text span{font-size:12px;color:var(--mu)}.avatar{width:34px;height:34px;flex:none;border-radius:999px;border:0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12.5px;line-height:1;background:var(--sf3);color:var(--tx)}.avatar.sm{width:30px;height:30px;font-size:11px}.avatar.xs{width:26px;height:26px;font-size:10.5px}.av-superadmin{background:var(--tx);color:var(--bg)}.av-installer{background:var(--ok);color:#fff}.av-support{background:var(--ac);color:#fff}.av-admin,.av-owner{background:var(--on);color:#1a1204}.av-guest,.av-member{background:var(--sf3);color:var(--tx)}.av-system{background:var(--sf2);color:var(--mu)}.icon-btn,button.avatar{cursor:pointer}.icon-btn{width:32px;height:32px;flex:none;border:0;border-radius:8px;background:transparent;color:var(--mu);display:inline-flex;align-items:center;justify-content:center;position:relative}.icon-btn:hover{background:var(--sf3);color:var(--tx)}.icon-btn-lg{width:44px;height:44px;border-radius:12px}.frame{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;gap:12px;min-height:56px;padding:8px clamp(16px,3vw,36px);border-bottom:1px solid var(--ln);background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:6px;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden}.crumbs a,.crumbs span.cur{padding:2px 4px;border-radius:6px;white-space:nowrap;color:var(--mu);flex:none}.crumbs span.cur{flex:0 1 auto;min-width:0;max-width:46vw}.crumbs .crumb-sep{flex:none}.crumbs a:hover{color:var(--tx);background:var(--sf2)}.crumbs span.cur{color:var(--tx);overflow:hidden;text-overflow:ellipsis}.crumbs .crumb-sep{color:var(--sf3)}.searchbox{display:flex;align-items:center;gap:8px;width:min(300px,30vw);height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--ln2);background:var(--sf);color:var(--mu);font-size:13px;box-shadow:var(--sh1);cursor:pointer;text-align:left}.searchbox:hover{border-color:var(--mu)}.kbd{font-family:Geist Mono,monospace;font-size:11px;padding:1px 5px;border-radius:4px;border:1px solid var(--ln2);color:var(--mu)}.bell-badge{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--bad);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--bg)}.scroll{flex:1 1;min-height:0}.main{width:100%;max-width:1240px;padding:clamp(20px,3vw,32px) clamp(16px,3vw,36px) 64px}.m-head,.tabbar{display:none}.view-as{display:flex;align-items:center;gap:10px;padding:8px clamp(16px,3vw,36px);background:var(--ink);color:var(--inkt);font-size:13px}.view-as a{color:#fff;font-weight:600}.view-as .push{display:flex;gap:8px}@media (max-width:760px){.side,.topbar{display:none}.m-head{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px 16px;border-bottom:1px solid var(--ln);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.m-head b{font-size:16px}.m-head .ctx-btn{display:flex;align-items:center;gap:6px;border:0;background:none;padding:4px;margin-left:-4px;border-radius:8px;cursor:pointer;min-width:0}.main{padding:18px 16px 104px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--sf) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--ln2)}.tab{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;min-height:48px;border-radius:10px;font-size:11px;font-weight:500;color:var(--mu);text-align:center}.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.active{color:var(--act)}}.menu{position:absolute;z-index:30;min-width:240px;padding:6px;border-radius:12px;background:var(--sf);border:1px solid var(--ln2);box-shadow:var(--sh3);display:flex;flex-direction:column;gap:2px}.menu-label{font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--mu);padding:6px 8px 2px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;font-size:13.5px;color:var(--tx)}.menu-item.focus,.menu-item:hover{background:var(--sf2);color:var(--tx)}.menu-item .grow span{font-size:12px;color:var(--mu)}.menu-item.danger{color:var(--badt)}.menu-sep{height:1px;background:var(--ln);margin:4px 2px}.ph{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.ph-text{display:flex;flex-direction:column;gap:6px;min-width:0}.ph-text p{color:var(--mu);max-width:680px}.ph-actions{display:flex;flex-wrap:wrap;gap:8px}.back,.ph-actions{align-items:center}.back{display:inline-flex;gap:6px;border:0;background:none;padding:0;margin-bottom:10px;font-size:13px;font-weight:500;color:var(--mu);cursor:pointer}.back:hover{color:var(--tx)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));grid-gap:16px}.grid-2,.grid-2-wide{display:grid;gap:16px;align-items:start}.grid-2-wide{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);grid-gap:16px}@media (max-width:1000px){.grid-2-wide{grid-template-columns:minmax(0,1fr)}}.stack{gap:14px}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:8px}.stack-tight{display:flex;flex-direction:column;gap:2px;line-height:1.3;min-width:0}.stack-tight .small{font-size:12px}.row{gap:8px}.row,.spread{display:flex;flex-wrap:wrap;align-items:center}.spread{justify-content:space-between;gap:12px}.section{margin-bottom:28px}.section-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.section-head h2{font-size:16px;letter-spacing:-.02em}.mb16{margin-bottom:16px}.mb20{margin-bottom:20px}.mt8{margin-top:8px}.mt16{margin-top:16px}.panel{background:var(--sf);border:1px solid var(--ln2);border-radius:12px;box-shadow:var(--sh1);overflow:hidden}.panel-pad{padding:16px 18px}.panel-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ln)}.panel-head .link-btn{margin-left:auto}.panel-head .muted{margin-left:auto;font-size:12px}.li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ln)}.li:last-child{border-bottom:0}.li-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.35}.li-text b{font-size:13.5px}.li-text .sub{font-size:12.5px;color:var(--mu);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.li-icon{width:30px;height:30px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--sf2);color:var(--mu)}.li-icon.ok{background:var(--oks);color:var(--okt)}.li-icon.bad{background:var(--bads);color:var(--badt)}.li-icon.house{background:var(--ons);color:var(--ont)}.card{background:var(--sf);border:1px solid var(--ln2);border-radius:12px;box-shadow:var(--sh1)}.card-pad{padding:16px 18px}.empty{padding:32px;text-align:center;color:var(--mu);background:var(--sf);border:1px dashed var(--ln2);border-radius:12px}.empty .btn{margin-top:12px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1px;gap:1px;background:var(--ln2);border:1px solid var(--ln2);border-radius:12px;overflow:hidden;box-shadow:var(--sh1);margin-bottom:20px}.kpis.k3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{background:var(--sf);padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-width:0}.kpi.sm{padding:14px 16px;gap:6px}.kpi-label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--mu)}.kpi-value{font-size:26px;font-weight:600;letter-spacing:-.035em;line-height:1}.kpi.sm .kpi-value{font-size:22px}.kpi-unit{font-size:14px;font-weight:500;color:var(--mu)}.kpi-sub{font-size:12px;color:var(--mu)}.kpi-chip{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center}button.kpi{border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}button.kpi.active{box-shadow:inset 0 -2px 0 var(--ac)}button.kpi:not(.active){background:var(--sf2)}.fg-warn{color:var(--ont)}.fg-ok{color:var(--okt)}.fg-bad{color:var(--badt)}.fg-mu{color:var(--mu)}.tone-on{background:var(--ons);color:var(--ont)}.tone-ac{background:var(--acs);color:var(--act)}.tone-ok{background:var(--oks);color:var(--okt)}.tone-bad{background:var(--bads);color:var(--badt)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--ln2);background:var(--sf);color:var(--tx);box-shadow:var(--sh1);font-weight:500;font-size:13.5px;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover{background:var(--sf2);color:var(--tx)}.btn:disabled,button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ac);border-color:transparent;color:#fff;box-shadow:var(--btn-sh)}.btn-primary:hover{background:var(--ac6);color:#fff}.btn-danger{color:var(--badt)}.btn-danger:hover{background:var(--bads);border-color:var(--bads);color:var(--badt)}.btn-danger-solid{background:var(--bad);color:#fff;border-color:transparent;box-shadow:var(--btn-sh)}.btn-danger-solid:hover{background:var(--badt);color:#fff}.btn-ghost{border-color:transparent;box-shadow:none;background:transparent;color:var(--mu)}.btn-ghost:hover{background:var(--sf2);color:var(--tx)}.btn-sm,.btn-small{height:30px;padding:0 10px;font-size:12.5px;border-radius:7px}.btn-lg{height:42px;border-radius:10px;font-size:14.5px;padding:0 16px}.btn-block{width:100%}.link-btn{border:0;background:none;padding:4px 8px;margin:-4px -8px;border-radius:6px;font-weight:500;font-size:13px;color:var(--act);cursor:pointer}.link-btn:hover{background:var(--acs)}label.field{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:12.5px;font-weight:500}label.field>.copy-row,label.field>div,label.field>input,label.field>select,label.field>textarea{flex-basis:100%}label.field .hint{font-weight:400;color:var(--mu);font-size:12px}input,select,textarea{width:100%;height:38px;padding:0 12px;font-size:13.5px;color:var(--tx);background:var(--sf);border:1px solid var(--ln2);border-radius:8px;box-shadow:var(--sh1);outline:none}textarea{height:auto;padding:10px 12px;resize:vertical}select{padding-right:28px}input::placeholder,textarea::placeholder{color:var(--mu)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 4px var(--ring)}input[type=checkbox],input[type=radio]{width:16px;height:16px;padding:0;box-shadow:none;accent-color:var(--ac)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px;align-items:end}.inline-select{width:auto;height:30px;font-size:12.5px;padding:0 26px 0 10px}.input-icon{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--ln2);background:var(--sf);color:var(--mu);box-shadow:var(--sh1)}.input-icon input{border:0;box-shadow:none;height:32px;padding:0;background:transparent}.input-icon input:focus{box-shadow:none}.input-icon:focus-within{border-color:var(--ac);box-shadow:0 0 0 4px var(--ring)}.seg-group{display:inline-flex;flex-wrap:wrap;padding:3px;gap:2px;background:var(--sf2);border:1px solid var(--ln);border-radius:9px}.seg-btn{display:inline-flex;align-items:center;gap:6px;border:0;padding:5px 11px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:transparent;color:var(--mu)}.seg-btn:hover{color:var(--tx)}.seg-btn.active{background:var(--segon);color:var(--tx);box-shadow:var(--sh1)}.seg-btn .n{font-size:11.5px;color:var(--mu)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--sf2);color:var(--mu);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;flex:none}.badge.plain:before{display:none}.badge.ok{background:var(--oks);color:var(--okt)}.badge.bad{background:var(--bads);color:var(--badt)}.badge.warn{background:var(--ons);color:var(--ont)}.badge.info{background:var(--acs);color:var(--act)}.badge.mute{color:var(--mu)}.badge.mute,.tag{background:var(--sf2)}.tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:2px 8px;border-radius:6px;color:var(--tx);white-space:nowrap}.tag.ok{background:var(--oks);color:var(--okt)}.tag.info{background:var(--acs);color:var(--act)}.tag.warn{background:var(--ons);color:var(--ont)}.pill,.tag.mute{color:var(--mu)}.pill{font-size:12px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--sf2);white-space:nowrap}.pill.bad{background:var(--bads);color:var(--badt)}.sdot{width:10px;height:10px;flex:none;border-radius:999px;display:inline-block;background:var(--mu);box-shadow:0 0 0 3px var(--sf2)}.sdot.lg{width:14px;height:14px;box-shadow:0 0 0 4px var(--sf2)}.sdot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--oks)}.sdot.warn{background:var(--on);box-shadow:0 0 0 3px var(--ons)}.sdot.bad{background:var(--bad);box-shadow:0 0 0 3px var(--bads)}.sdot.info{background:var(--ac);box-shadow:0 0 0 3px var(--acs)}.sdot.lg.ok{box-shadow:0 0 0 4px var(--oks)}.sdot.lg.warn{box-shadow:0 0 0 4px var(--ons);animation:led 2s ease-in-out infinite}.sdot.lg.bad{box-shadow:0 0 0 4px var(--bads);animation:led 1.2s ease-in-out infinite}@keyframes led{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.sdot{animation:none!important}}.dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:var(--mu)}.dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--oks)}.dot.off{background:var(--mu)}.alert{background:var(--bads);color:var(--badt);font-weight:500}.alert,.notice{padding:10px 14px;border-radius:10px;font-size:13.5px}.notice{background:var(--acs);color:var(--act)}.ok-note{padding:10px 14px;border-radius:10px;background:var(--oks);color:var(--okt);font-size:13.5px}.progress{height:6px;border-radius:999px;background:var(--sf2);overflow:hidden}.progress>i{display:block;height:100%;border-radius:999px;background:var(--ok)}.progress.ac>i{background:var(--ac)}.progress.warn>i{background:var(--on)}.segs{display:flex;gap:2px}.segs i{width:10px;height:6px;border-radius:2px;background:var(--sf3)}.segs i.done{background:var(--ac)}.segs.complete i.done{background:var(--ok)}.table-wrap{overflow-x:auto;background:var(--sf);border:1px solid var(--ln2);border-radius:12px;box-shadow:var(--sh1)}table.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{font-family:Geist Mono,monospace;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);text-align:left;background:var(--sf2);padding:9px 14px;border-bottom:1px solid var(--ln2);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--ln);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--sf2)}.table tr.selected td{background:color-mix(in srgb,var(--acs) 70%,transparent)}.table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--ac)}.table td.right,.table th.right{text-align:right}.cell-main{display:flex;align-items:center;gap:10px}.cell-main .stack-tight b{white-space:nowrap}.cell-sub{font-size:12px;color:var(--mu)}.access-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:500;white-space:nowrap;border:1px solid transparent;background:transparent;color:var(--mu)}.access-chip.view{background:var(--sf2);color:var(--tx)}.access-chip.control,.access-chip.manage{background:var(--acs);color:var(--act)}select.access-chip{width:auto;padding-right:24px;box-shadow:none;border-color:var(--ln2);cursor:pointer}.backdrop{position:fixed;inset:0;z-index:60;background:rgba(10,11,13,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;overflow-y:auto;animation:fade .15s ease-out}.dialog{width:100%;max-width:520px;background:var(--sf);border:1px solid var(--ln2);border-radius:14px;box-shadow:var(--sh3);animation:pop .16s ease-out}.dialog.wide{max-width:680px}.dialog-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 4px}.dialog-head h2{font-size:17px;letter-spacing:-.02em}.dialog-head p{color:var(--mu);font-size:13px;margin-top:4px}.dialog-body{padding:14px 20px 6px;display:flex;flex-direction:column;gap:14px}.dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.99)}}.palette{max-width:600px}.palette .input-icon{border:0;border-bottom:1px solid var(--ln);border-radius:14px 14px 0 0;box-shadow:none;height:52px;padding:0 16px}.palette .input-icon input{height:50px;font-size:15px}.palette .input-icon:focus-within{box-shadow:none}.palette-list{max-height:60vh;overflow-y:auto;padding:6px}.copy-row{display:flex;gap:8px}.copy-row input{font-family:Geist Mono,monospace;font-size:12.5px}.radio-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px}.radio-card{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--ln2);border-radius:10px;cursor:pointer;font-size:13px}.radio-card b{font-size:13.5px}.radio-card span{color:var(--mu);font-size:12px}.radio-card.on{border-color:var(--ac);box-shadow:0 0 0 3px var(--ring)}.radio-card input{display:none}.cmd-chart{height:140px;display:grid;grid-template-columns:repeat(24,1fr);grid-gap:4px;gap:4px;align-items:end;border-bottom:1px solid var(--ln2)}.cmd-chart>div{height:100%;display:flex;flex-direction:column-reverse}.cmd-chart .ok{background:var(--ok);border-radius:3px 3px 0 0}.cmd-chart .bad{background:var(--bad);border-radius:3px 3px 0 0}.chart-axis{justify-content:space-between;font-family:Geist Mono,monospace;font-size:11px}.chart-axis,.legend{display:flex;color:var(--mu)}.legend{gap:14px;font-size:12.5px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}.getting-started{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.gs-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:12px;border:1px solid var(--ln2);background:var(--sf);box-shadow:var(--sh1)}.gs-card.done{background:var(--sf2)}.gs-card .gs-n{width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--acs);color:var(--act);font-weight:700;font-size:12px;margin-bottom:4px}.gs-card.done .gs-n{background:var(--ok);color:#fff}.gs-card .btn{align-self:flex-start;margin-top:6px}.ws-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.ws-title{gap:14px;min-width:0}.ws-icon,.ws-title{display:flex;align-items:center}.ws-icon{width:48px;height:48px;flex:none;border-radius:12px;background:var(--ons);color:var(--ont);justify-content:center}.ws-title h1{font-size:26px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ln2);overflow-x:auto;scrollbar-width:none;margin-bottom:20px}.tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:0;background:none;font-size:13.5px;font-weight:500;color:var(--mu);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab-btn:hover{color:var(--tx)}.tab-btn.active{color:var(--act);border-bottom-color:var(--ac)}.tab-btn .pill{font-size:11px;padding:0 7px}.step-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ln)}.step-row:last-child{border-bottom:0}.step-row.current{background:color-mix(in srgb,var(--acs) 55%,transparent)}.step-n{width:24px;height:24px;display:flex;background:var(--sf2);color:var(--mu)}.step-row.done .step-n{background:var(--ok);color:#fff}.step-row.current .step-n{background:var(--ac);color:#fff}.step-row:not(.done):not(.current) .li-text b{color:var(--mu)}.room-tile{display:flex;flex-direction:column;gap:6px;min-height:170px;padding:16px;background:var(--sf);border:1px solid var(--ln2);border-radius:14px;box-shadow:var(--sh1);text-align:left;color:var(--tx)}.room-tile .ri{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--acs);color:var(--act);margin-bottom:8px}.room-tile b{font-size:17px;letter-spacing:-.02em}.room-tile .foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;gap:8px}.room-tile.add{align-items:center;justify-content:center;gap:8px;border:1.5px dashed var(--ln2);background:transparent;box-shadow:none;cursor:pointer}.room-tile.add:hover{border-color:var(--ac);background:var(--acs)}.room-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:14px 16px;margin-bottom:20px;border-radius:12px}.banner.bad{background:var(--bads);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent)}.banner.warn{background:var(--ons);border:1px solid var(--onb)}.banner.info{background:var(--sf2);border:1px solid var(--ln)}.banner-led{width:12px;height:12px;flex:none;border-radius:999px;background:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 22%,transparent);animation:led 1.2s ease-in-out infinite}.banner.warn .banner-led{background:var(--on);box-shadow:0 0 0 4px color-mix(in srgb,var(--on) 25%,transparent);animation-duration:2s}.banner-text{flex:1 1;min-width:200px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.banner.bad .banner-text b{color:var(--badt)}.banner.warn .banner-text b{color:var(--ont)}.banner-text span{font-size:13px}.scenes{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px;padding-bottom:2px;scrollbar-width:none}.scene-chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 10px;border-radius:999px;font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;background:var(--sf);color:var(--tx);border:1px solid var(--ln2);flex:none}.scene-chip:hover{border-color:var(--mu)}.scene-chip .si{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--sf2)}.scene-chip.active{background:var(--ac);color:#fff;border-color:var(--ac)}.scene-chip.active .si{background:rgba(255,255,255,.18)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));grid-gap:10px;gap:10px}.tile{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;box-shadow:var(--sh1);transition:background .2s,border-color .2s;background:var(--sf);border:1px solid var(--ln2)}.tile.is-on{background:var(--ons);border-color:var(--onb)}.tile.is-offline{opacity:.55}.tile-body{flex:1 1;display:flex;flex-direction:column;gap:16px;padding:14px 14px 12px;border:0;background:transparent;text-align:left;color:var(--tx)}button.tile-body{cursor:pointer}button.tile-body:disabled{cursor:default;opacity:1}button.tile-body:focus-visible{outline:2px solid var(--ac);outline-offset:-2px;border-radius:14px}.tile-top{justify-content:space-between;gap:8px}.tile-icon,.tile-top{display:flex;align-items:center}.tile-icon{width:38px;height:38px;border-radius:11px;justify-content:center;background:var(--sf2);color:var(--mu)}.tile.sensor .tile-icon{background:var(--acs);color:var(--act)}.tile.is-on .tile-icon{background:var(--on);color:#1a1204}.toggle{width:42px;height:24px;flex:none;border-radius:999px;padding:3px;display:flex;transition:background .2s;background:var(--sw)}.toggle:after{content:"";width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:margin .2s}.is-on .toggle{background:var(--on)}.is-on .toggle:after{margin-left:18px}.tile-read{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}.tile-read .v{font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1}.tile-read .x{font-size:13px;font-weight:500;color:var(--mu)}.tile-read .v.alert-text{color:var(--badt)}.tile-text{display:flex;flex-direction:column;gap:1px;min-width:0}.tile-text b{font-size:14.5px;line-height:1.25}.tile-foot,.tile-text span{font-size:12.5px;color:var(--mu)}.tile-foot{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-weight:500;border-top:1px solid var(--ln)}.tile-foot:hover{color:var(--tx)}.tile.is-on .tile-foot{border-top-color:var(--onb)}.tile-error{padding:0 14px 10px;font-size:12.5px;color:var(--badt)}.device{flex-direction:column;box-shadow:var(--sh1);overflow:hidden}.ask,.device{display:flex;background:var(--sf);border:1px solid var(--ln2);border-radius:14px}.ask{align-items:center;gap:8px;padding:6px 6px 6px 14px;margin-bottom:28px;box-shadow:var(--sh2)}.ask input{flex:1 1;min-width:0;border:0;background:transparent;padding:0 4px;height:44px;font-size:14px}.ask input,.ask input:focus{box-shadow:none}.ask .sparkle{color:var(--ac);display:inline-flex}.mic{width:44px;height:44px;flex:none;border:0;border-radius:11px;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--btn-sh)}.mic:hover{background:var(--ac6)}.mic.recording{background:var(--bad);animation:pulse 1.4s ease-in-out infinite}.send-btn{width:40px;height:40px;flex:none;border:0;border-radius:10px;background:var(--sf2);color:var(--tx);display:flex;align-items:center;justify-content:center;cursor:pointer}.send-btn:hover{background:var(--sf3)}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--bad) 25%,transparent)}}@media (prefers-reduced-motion:reduce){.mic.recording{animation:none}}.ask-panel{margin:-18px 0 28px;background:var(--sf);border:1px solid var(--ln2);border-radius:14px;box-shadow:var(--sh1);overflow:hidden}.chat-log{display:flex;flex-direction:column;gap:8px;padding:14px 16px;max-height:300px;overflow-y:auto}.bubble{max-width:80%;padding:8px 13px;border-radius:14px;font-size:14px}.bubble.me{align-self:flex-end;background:var(--ac);color:#fff}.bubble.bot{align-self:flex-start;background:var(--sf2);color:var(--tx)}.replay{border:0;background:none;color:var(--mu);margin-left:6px;padding:2px;vertical-align:-2px;cursor:pointer;border-radius:6px}.replay:hover{color:var(--tx)}.ask-note{padding:0 16px 12px;font-size:12.5px;color:var(--mu)}.ask-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--ln);font-size:13px}.diag{background:var(--sf);border:1px solid var(--ln2);border-radius:12px;box-shadow:var(--sh1);overflow:hidden}.diag.bad{border-color:color-mix(in srgb,var(--bad) 35%,var(--ln2))}.diag.warn{border-color:var(--onb)}.diag-head{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--tx)}.diag-head .chev{color:var(--mu);display:inline-flex;transition:transform .2s}.diag-head.open .chev{transform:rotate(180deg)}.diag-body{border-top:1px solid var(--ln);padding:16px;display:flex;flex-direction:column;gap:16px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:1px;gap:1px;background:var(--ln);border:1px solid var(--ln);border-radius:10px;overflow:hidden}.metric{background:var(--sf2);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.metric span{font-size:11.5px;color:var(--mu)}.metric b{font-size:15px}.metric b.warn{color:var(--ont)}.advice{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px}.advice.bad{background:var(--bads)}.advice.bad>b{color:var(--badt)}.advice.warn{background:var(--ons)}.advice.warn>b{color:var(--ont)}.advice>div{display:flex;gap:10px;font-size:13px;line-height:1.45}.advice .n{width:20px;height:20px;flex:none;border-radius:999px;background:var(--sf);justify-content:center;font-size:11px;font-weight:700;color:var(--mu)}.advice .n,.lockbar{display:flex;align-items:center}.lockbar{flex-wrap:wrap;gap:12px;padding:12px 14px;border-radius:12px;background:var(--sf2);border:1px solid var(--ln)}.lockbar .lock{width:32px;height:32px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--sf);color:var(--mu)}.lockbar .lock,.pin-table{border:1px solid var(--ln2)}.pin-table{overflow-x:auto;border-radius:10px}.pin-table table{width:100%;border-collapse:collapse;font-size:13px}.pin-table td{padding:9px 12px;border-bottom:1px solid var(--ln)}.pin-table tr:last-child td{border-bottom:0}.pin-table td.pin{width:56px;font-family:Geist Mono,monospace;font-size:12px;font-weight:500}.side-panel{position:-webkit-sticky;position:sticky;top:72px;background:var(--sf);border:1px solid var(--ln2);border-radius:12px;box-shadow:var(--sh2);overflow:hidden}.side-panel .sp-head{padding:16px;border-bottom:1px solid var(--ln);display:flex;flex-direction:column;gap:8px}.side-panel dl{margin:0;padding:14px 16px;display:grid;grid-template-columns:max-content 1fr;grid-gap:8px 18px;gap:8px 18px;font-size:13px;border-bottom:1px solid var(--ln)}.side-panel dt{color:var(--mu)}.side-panel dd{margin:0;min-width:0;overflow-wrap:anywhere}.side-panel .sp-body{padding:16px;display:flex;flex-direction:column;gap:12px}@media (max-width:1000px){.side-panel{position:static}}.matrix th.col{text-align:center;padding:10px 8px;vertical-align:bottom}.matrix th.col button{border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}.matrix th.col.active{background:var(--acs);box-shadow:inset 0 -2px 0 var(--ac)}.matrix th.col b{font-family:Geist,sans-serif;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--tx);white-space:nowrap}.matrix th.col.active b{color:var(--act)}.matrix th.col .n{font-family:Geist,sans-serif;font-size:11.5px;letter-spacing:0;text-transform:none;font-weight:400}.matrix td.c{text-align:center;padding:8px}.matrix td.c.active{background:color-mix(in srgb,var(--acs) 55%,transparent)}.matrix td.group{padding:14px 14px 6px;font-family:Geist Mono,monospace;font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--mu)}.mx{width:22px;height:22px;margin:0 auto;border-radius:999px;display:flex;align-items:center;justify-content:center}.mx.full{background:var(--acs);color:var(--act)}.mx.read{background:var(--sf2);color:var(--mu)}.mx-scope{display:inline-block;font-size:11.5px;font-weight:500;padding:2px 7px;border-radius:5px;border:1px solid var(--ln2);background:var(--sf);white-space:nowrap}.mx-none{color:var(--sf3);font-weight:600}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.plan{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:12px;border:1px solid var(--ln2);background:var(--sf);box-shadow:var(--sh1)}.plan.current{border-color:var(--ac);box-shadow:0 0 0 3px var(--ring)}.plan .price{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1}.plan .price span{font-size:13px;font-weight:500;color:var(--mu);letter-spacing:0}.plan ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px}.plan li{display:flex;gap:8px;align-items:center}.plan li svg{color:var(--ok)}.plan .btn{margin-top:auto}.usage{display:flex;flex-direction:column;gap:6px}.usage .spread{font-size:13px}.splash{min-height:60vh;display:flex;align-items:center;justify-content:center;color:var(--mu)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-head>div{display:flex;flex-direction:column;gap:4px}.page-head p{color:var(--mu)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.stat{background:var(--sf);border:1px solid var(--ln2);border-radius:12px;padding:14px 16px;box-shadow:var(--sh1);display:flex;flex-direction:column;gap:8px}.stat-label{font-size:12.5px;font-weight:500;color:var(--mu)}.stat-value{font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1}.stat-unit{font-size:14px;font-weight:500;color:var(--mu)}.chip{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.device-body{all:unset;box-sizing:border-box;flex:1 1;display:flex;flex-direction:column;gap:16px;padding:14px 14px 12px}.device-top{justify-content:space-between;gap:8px}.device-icon,.device-top{display:flex;align-items:center}.device-icon{width:38px;height:38px;border-radius:11px;justify-content:center;background:var(--acs);color:var(--act)}.device-text{display:flex;flex-direction:column;gap:1px;min-width:0}.device-name{font-size:14.5px;font-weight:600;line-height:1.25}.device-meta{font-size:12.5px;color:var(--mu)}.reading{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.reading-value{font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1}.reading-extra,.reading-unit{color:var(--mu)}.details-link,.reading-extra,.reading-unit{font-size:13px;font-weight:500}.switch{width:42px;height:24px;flex:none;border-radius:999px;background:var(--sw);padding:3px;display:flex;transition:background .2s}.switch:after{content:"";width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:margin .2s}.is-on .switch{background:var(--on)}.is-on .switch:after{margin-left:18px}.kv{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--mu)}.kv b{color:var(--tx);font-weight:500}.subtle-box{padding:14px 18px;border-radius:12px;background:var(--sf2);border:1px solid var(--ln)}.spark{width:100%;height:120px;color:var(--ac)}.logbox{height:340px;overflow-y:auto;padding:10px 12px;border-radius:12px;background:var(--log);color:#d6d9e0;font-family:Geist Mono,ui-monospace,monospace;font-size:12.5px;line-height:1.6}.log-line{display:flex;gap:10px;white-space:pre-wrap;word-break:break-word}.log-time{color:#6b7280;flex:none}.log-src{flex:none;width:48px;color:#9aa0ac}.log-src.server{color:#8b87ff}.log-lvl{flex:none;width:40px;color:#6b7280;text-transform:uppercase;font-size:11px;line-height:20px}.lvl-debug .log-msg{color:#8a909c}.lvl-warn .log-lvl,.lvl-warn .log-msg{color:#f7c46a}.lvl-error .log-lvl,.lvl-error .log-msg{color:#ff8a8f}.log-empty{color:#6b7280;padding:8px 0}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;flex:none;border-radius:999px;vertical-align:middle;border:2px solid;border-right:2px solid transparent;opacity:.75;animation:spin .7s linear infinite}.loader{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 16px;color:var(--mu);font-size:14px}.loader .spinner{color:var(--ac);opacity:1}.loader-full{min-height:70vh}.btn[aria-busy=true],.icon-btn[aria-busy=true],.link-btn[aria-busy=true],.send-btn[aria-busy=true]{position:relative;color:transparent!important;pointer-events:none}.btn[aria-busy=true]:after,.icon-btn[aria-busy=true]:after,.link-btn[aria-busy=true]:after,.send-btn[aria-busy=true]:after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:999px;border:2px solid var(--tx);border-right:2px solid transparent;animation:spin .7s linear infinite}.btn-primary[aria-busy=true]:after{border-color:#fff transparent #fff #fff}.btn-danger[aria-busy=true]:after,.link-btn[aria-busy=true]:after{border-color:var(--act);border-right-color:transparent}.btn-danger[aria-busy=true]:after{border-color:var(--badt);border-right-color:transparent}.api-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:50;pointer-events:none;opacity:0;transition:opacity .2s;overflow:hidden}.api-progress.on{opacity:1}.api-progress:before{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--ac);animation:progress 1.1s ease-in-out infinite}@keyframes progress{0%{left:-40%}to{left:100%}}.device.is-busy .spinner{color:var(--ont)}.mic .spinner{color:#fff;opacity:1}.typing{display:flex;gap:4px;align-items:center;padding:12px 14px}.typing i{width:6px;height:6px;border-radius:999px;background:var(--mu);animation:blink 1.2s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.api-progress:before,.spinner,.typing i,[aria-busy=true]:after{animation-duration:2s}}.btn[aria-busy=true]:disabled{opacity:.85}.toasts{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px))}.toast{display:flex;gap:10px;align-items:flex-start;padding:12px 12px 12px 14px;border-radius:14px;background:var(--sf);border:1px solid var(--ln2);box-shadow:var(--sh2);animation:toast-in .2s ease-out}.toast.bad{border-color:color-mix(in srgb,var(--bad) 40%,var(--ln2))}.toast.bad .live-dot{background:var(--bad);box-shadow:0 0 0 3px var(--bads)}.toast .live-dot{margin-top:6px}.toast-body{flex:1 1;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--mu)}.toast-body b{color:var(--tx);font-size:14px}.toast .icon-btn{font-size:18px;width:28px;height:28px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (max-width:760px){.toasts{bottom:84px}}.board-diagram{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;background:var(--sf2);border:1px solid var(--ln);overflow-x:auto}.pin-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--mu)}.pin-legend span{display:inline-flex;align-items:center;gap:6px}.pinout{display:grid;grid-template-columns:minmax(120px,1fr) 132px minmax(120px,1fr);grid-column-gap:0;column-gap:0;min-width:440px;max-width:640px;margin:0 auto;width:100%}.pcb{grid-column:2;position:relative;border-radius:10px;background:#1f3b2d;box-shadow:inset 0 0 0 2px #2c5a43,var(--sh1);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 0}[data-theme=dark] .pcb{background:#17301f;box-shadow:inset 0 0 0 2px #24503a}.pcb-chip{width:84px;height:44px;border-radius:4px;background:linear-gradient(#c9ccd1,#a9adb4);padding-bottom:4px;font:600 10px Geist Mono,monospace;color:#3a3f47;letter-spacing:.04em}.pcb-chip,.pcb-usb{display:flex;align-items:flex-end;justify-content:center}.pcb-usb{width:46px;height:30px;border-radius:4px 4px 2px 2px;background:linear-gradient(#d5d8dd,#b4b8bf);font:500 8px Geist Mono,monospace;color:#555;padding-bottom:2px;margin-bottom:-10px}.pin-row{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;cursor:default}.pin-row.left{grid-column:1;justify-content:flex-end;margin-right:-6px}.pin-row.right{grid-column:3;justify-content:flex-start;margin-left:-6px}.pin-label{font-family:Geist Mono,monospace;font-size:11.5px;width:30px;color:var(--mu)}.pin-row.left .pin-label{text-align:right}.pin-dot{width:12px;height:12px;flex:none;border-radius:999px;display:inline-block;border:2px solid transparent;position:relative;z-index:1}.pin-power{background:#c9a227;border-color:#8a6d12}.pin-reserved{background:var(--sf3);border-color:var(--ln2)}.pin-free{background:var(--sf);border-color:var(--ok)}.pin-used{background:var(--ac);border-color:var(--ac6)}.pin-row:has(.pin-free) .pin-label,.pin-row:has(.pin-used) .pin-label{color:var(--tx);font-weight:500}.pin-tag{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:500;padding:1px 8px;border-radius:999px}.tag-free{color:var(--okt);background:var(--oks)}.tag-switch{color:var(--ont);background:var(--ons);border:1px solid var(--onb)}.tag-switch.is-on{background:var(--on);color:#1a1204;border-color:var(--on)}.tag-sensor{color:var(--act);background:var(--acs)}.tag-button{background:var(--oks);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent)}.tag-button,.text-ok{color:var(--okt)}.text-alert,.text-bad{color:var(--badt)}.back-link{display:inline-block;font-size:13px;font-weight:500;color:var(--mu);margin-bottom:6px}.back-link:hover{color:var(--tx)}.board-list{display:flex;flex-direction:column;background:var(--sf);border:1px solid var(--ln2);border-radius:16px;box-shadow:var(--sh1);overflow:hidden}@media (max-width:640px){.board-item{flex-wrap:wrap}.board-item-meta{width:100%;justify-content:flex-start;padding-left:50px}}.stat-btn{font:inherit;color:inherit;text-align:left;cursor:pointer}.stat-btn:hover{border-color:var(--ac)}.facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:10px 24px;gap:10px 24px;margin:0;font-size:14px}.facts dt{color:var(--mu)}.facts dd{margin:0}.sub-head{margin-top:8px;font-size:14px;color:var(--mu);font-weight:600}.condition{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:16px;border:1px solid var(--ln2);background:var(--sf);box-shadow:var(--sh1)}.condition b{font-size:16px}.condition .stack-tight{gap:3px;font-size:13.5px;color:var(--mu)}.condition-seen{font-weight:500;font-size:13px;color:var(--mu)}.condition-led-note{font-size:12.5px}.condition-led{width:18px;height:18px;flex:none;margin-top:3px;border-radius:999px;background:var(--mu);position:relative}.condition-led.sm{width:12px;height:12px;margin:0}.tone-ok .condition-led{background:var(--ok);box-shadow:0 0 0 4px var(--oks),0 0 14px color-mix(in srgb,var(--ok) 60%,transparent)}.tone-warn .condition-led{background:var(--on);box-shadow:0 0 0 4px var(--ons),0 0 14px color-mix(in srgb,var(--on) 60%,transparent);animation:led-pulse 2s ease-in-out infinite}.tone-bad .condition-led{background:var(--bad);box-shadow:0 0 0 4px var(--bads),0 0 14px color-mix(in srgb,var(--bad) 55%,transparent);animation:led-pulse 1.2s ease-in-out infinite}.condition.tone-bad{border-color:color-mix(in srgb,var(--bad) 35%,var(--ln2))}.condition.tone-warn{border-color:var(--onb)}@keyframes led-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.condition-led{animation:none!important}}.health-value{font-size:24px}.health-ok .health-value{color:var(--okt)}.health-warn .health-value{color:var(--ont)}.health-bad .health-value{color:var(--badt)}.bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.bars i{width:4px;border-radius:1px;background:var(--sf3)}.bars i:first-child{height:4px}.bars i:nth-child(2){height:7px}.bars i:nth-child(3){height:10px}.bars i:nth-child(4){height:14px}.bars i.on{background:var(--ok)}.health-warn .bars i.on{background:var(--on)}.health-bad .bars i.on{background:var(--bad)}.hboard-wrap{overflow-x:auto;padding-bottom:4px}.hboard{--cell:38px;width:calc(var(--cell) * 15 + 64px);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start}.hrow{display:grid;grid-template-columns:repeat(15,var(--cell));padding-left:24px}.hcell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.htags{height:132px}.htags.top .hcell{justify-content:flex-end}.htags.bottom .hcell{justify-content:flex-start}.htags .pin-tag{writing-mode:vertical-rl;transform:rotate(180deg);max-height:128px;padding:6px 1px}.htags.bottom .pin-tag{transform:none}.hpcb{position:relative;width:100%;background:#16181c;border-radius:10px;box-shadow:inset 0 0 0 2px #2a2d33,var(--sh2);padding:6px 0}.hpcb .pin-label{color:#c9ccd3;font-size:10.5px;width:auto;text-align:center!important}.hpcb .pin-dot{border-width:2px}.hpcb .pin-reserved{background:#3a3d44;border-color:#555a63}.hpcb-mid{position:relative;height:112px}.hmodule{position:absolute;left:6px;top:6px;width:196px;height:100px;display:flex}.hantenna{width:48px;height:100%;border-radius:4px 0 0 4px;background:repeating-linear-gradient(90deg,#1d3a2a 0 6px,#c9a227 6px 8px);opacity:.85}.hshield{flex:1 1;border-radius:0 4px 4px 0;background:linear-gradient(135deg,#d9dce1,#a7abb3);font:600 11px Geist Mono,monospace;color:#3a3f47;letter-spacing:.05em}.hchip,.hshield{display:flex;align-items:center;justify-content:center}.hchip{left:330px;top:30px;width:120px;height:44px;background:#0b0c0e;border-radius:3px;color:#8a8f99;font:500 10px Geist Mono,monospace;box-shadow:0 0 0 2px #2b2e34}.hbtns,.hchip{position:absolute}.hbtns{right:64px;top:10px;bottom:10px;display:flex;flex-direction:column;justify-content:space-between}.hbtns i{width:18px;height:18px;border-radius:3px;background:#c9ccd1;box-shadow:inset 0 0 0 5px #8d9199}.husb{position:absolute;right:-14px;top:30px;width:52px;height:44px;border-radius:4px;background:linear-gradient(#dfe2e6,#b0b4bb);color:#555;font:500 8px Geist Mono,monospace;display:flex;align-items:center;justify-content:center}.text-warn{color:var(--ont)}.tip{position:relative;vertical-align:1px;margin-left:5px}.tip,.tip-btn{display:inline-flex}.tip-btn{width:16px;height:16px;padding:0;border-radius:999px;border:1px solid var(--ln2);background:var(--sf2);color:var(--mu);font:600 10px/1 Geist,sans-serif;font-style:italic;cursor:help;align-items:center;justify-content:center}.tip-btn:focus,.tip-btn:hover{color:var(--act);border-color:var(--ac);background:var(--acs)}.tip-body{position:absolute;z-index:30;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:260px;padding:8px 10px;border-radius:10px;background:var(--ink);color:var(--inkt);font-size:12.5px;font-weight:400;font-style:normal;line-height:1.45;text-transform:none;letter-spacing:0;box-shadow:var(--sh2);opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none;white-space:normal}.tip-btn:focus+.tip-body,.tip:hover .tip-body{opacity:1;visibility:visible}.help-toggle{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 6px;border-radius:999px;border:1px solid var(--ln2);background:var(--sf);color:var(--mu);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.help-toggle.active,.help-toggle:hover{color:var(--act);border-color:var(--ac);background:var(--acs)}.help-q{width:20px;height:20px;border-radius:999px;background:var(--ac);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.page-help{flex-basis:100%;order:10;display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:var(--acs);border:1px solid color-mix(in srgb,var(--ac) 25%,transparent);color:var(--tx);font-size:14px}.page-help b{font-weight:600}.page-help-body p,.page-help-body ul{margin:0}.page-help-body ul{padding-left:18px;gap:4px}.help-page,.page-help-body ul{display:flex;flex-direction:column}.help-page{gap:16px;max-width:820px}.faq{margin:0;display:flex;flex-direction:column}.faq dt{font-weight:600;margin-top:14px}.faq dt:first-child{margin-top:0}.faq dd{margin:4px 0 0;color:var(--mu)}.faq ol,.faq ul{margin:6px 0 0;padding-left:20px}label.field>span{display:inline-flex;align-items:center}.bars.warn i.on{background:var(--on)}.bars.bad i.on{background:var(--bad)}.bars.lg{height:20px;gap:3px}.bars.lg i{width:5px}.bars.lg i:first-child{height:6px}.bars.lg i:nth-child(2){height:10px}.bars.lg i:nth-child(3){height:15px}.bars.lg i:nth-child(4){height:20px}.danger-zone{border-color:color-mix(in srgb,var(--bad) 25%,var(--ln2))}.net-hero{flex-wrap:wrap;gap:16px 20px;padding:20px 20px 16px}.net-hero,.net-hero-icon{display:flex;align-items:center}.net-hero-icon{width:52px;height:52px;flex:none;border-radius:14px;justify-content:center;background:var(--sf2);color:var(--mu)}.net-hero-icon.ok{background:var(--oks);color:var(--okt)}.net-hero-icon.warn{background:var(--ons);color:var(--ont)}.net-hero-icon.bad,.net-hero-icon.off{background:var(--bads);color:var(--badt)}.net-hero-text{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}.net-hero-text h2{font-size:22px;letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.net-hero-signal{flex:0 1 280px;display:flex;flex-direction:column;gap:8px;min-width:220px}.net-dbm{font-size:13px;color:var(--mu)}.net-dbm b{font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--tx);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sig-meter{display:flex;flex-direction:column;gap:5px}.sig-track{position:relative;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--bad) 0,var(--on) 30%,var(--on) 42%,var(--ok) 62%,var(--ok) 100%);opacity:.9}.sig-track i{position:absolute;top:50%;width:14px;height:14px;border-radius:999px;background:var(--sf);border:3px solid var(--tx);transform:translate(-50%,-50%);box-shadow:var(--sh1)}.sig-scale{display:grid;grid-template-columns:repeat(4,1fr);font-size:10.5px;color:var(--mu);font-family:Geist Mono,monospace;letter-spacing:.02em}.sig-scale span:nth-child(2),.sig-scale span:nth-child(3){text-align:center}.sig-scale span:last-child{text-align:right}.net-advice{display:flex;align-items:flex-start;gap:10px;margin:0 20px 16px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45}.net-advice svg{flex:none;margin-top:2px}.net-advice.ok{background:var(--oks);color:var(--okt)}.net-advice.warn{background:var(--ons);color:var(--ont)}.net-advice.bad{background:var(--bads);color:var(--badt)}.net-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ln);background:var(--sf2)}.net-hop{position:relative;display:flex;align-items:flex-start;gap:10px;padding:14px 16px;min-width:0}.net-hop+.net-hop:before{content:"";position:absolute;left:-9px;top:29px;width:18px;height:2px;border-radius:2px;background:var(--ok);z-index:1}.net-path.is-down .net-hop+.net-hop:before{background:repeating-linear-gradient(90deg,var(--bad) 0 4px,transparent 4px 7px)}.net-hop+.net-hop{border-left:1px solid var(--ln)}.net-hop-icon{width:32px;height:32px;flex:none;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--sf);border:1px solid var(--ln2);color:var(--mu)}.net-hop-icon.ok{background:var(--oks);border-color:transparent;color:var(--okt)}.net-hop-icon.bad{background:var(--bads);border-color:transparent;color:var(--badt)}.net-hop-text{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.35}.net-hop-title{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-family:Geist Mono,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--mu)}.net-hop-text b{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.net-hop-sub .mono,.net-hop-text b .mono{display:inline-flex;align-items:center;gap:2px}.net-hop-text b .mono{font-weight:500}.net-hop-sub{font-size:12px;color:var(--mu);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.net-copy{width:20px;height:20px;border:0;border-radius:5px;background:transparent;color:var(--mu);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s}.net-copy:focus-visible,.net-hop:hover .net-copy{opacity:1}.net-copy:hover{background:var(--sf3);color:var(--tx)}@media (hover:none){.net-copy{opacity:1}}.net-rows{display:flex;flex-direction:column}.net-rows.refreshing{opacity:.55;transition:opacity .2s}.net-row{display:grid;grid-template-columns:36px minmax(0,1fr) 110px 76px;align-items:center;grid-gap:12px;gap:12px;padding:10px 16px;border-bottom:1px solid var(--ln)}.net-row.current{background:color-mix(in srgb,var(--oks) 55%,transparent)}.net-row-icon{width:36px;height:36px;border-radius:10px;background:var(--sf2);display:flex;align-items:center;justify-content:center}.net-row.current .net-row-icon{background:var(--sf)}.net-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.net-row-main b{font-size:14px;font-weight:500}.net-row-main .badge{margin-left:4px}.net-row-signal{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:12.5px}.net-row-signal b{font-weight:500}.net-row-signal .mono{font-size:11.5px;color:var(--mu)}.net-row-action{display:flex;justify-content:flex-end}.net-row.skeleton{grid-template-columns:36px 1fr}.net-row.skeleton span i,.net-row.skeleton>i{display:block;border-radius:8px;background:linear-gradient(90deg,var(--sf2) 0,var(--sf3) 50%,var(--sf2) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.net-row.skeleton>i{width:36px;height:36px;border-radius:10px}.net-row.skeleton span{display:flex;flex-direction:column;gap:6px}.net-row.skeleton span i:first-child{width:40%;height:12px}.net-row.skeleton span i:last-child{width:24%;height:10px}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.net-row.skeleton i{animation:none}}.net-empty{flex-direction:column;text-align:center;gap:6px;padding:28px 20px;border-bottom:1px solid var(--ln)}.net-empty,.net-empty-icon{display:flex;align-items:center}.net-empty-icon{width:48px;height:48px;border-radius:14px;background:var(--acs);color:var(--act);justify-content:center;margin-bottom:4px}.net-empty .small{max-width:420px}.net-empty .btn{margin-top:8px}.net-foot{padding:12px 16px}.net-sub{font-size:12px;color:var(--mu)}.net-foot .link-btn:disabled{color:var(--mu);cursor:default;background:none}.net-result{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:12px;font-size:13.5px;line-height:1.45;border:1px solid transparent}.net-result.ok{background:var(--oks);color:var(--okt)}.net-result.bad{background:var(--bads);color:var(--badt)}.net-result.warn{background:var(--ons);color:var(--ont)}.net-result .muted{color:inherit;opacity:.75}.net-result .icon-btn{color:inherit}.net-result-icon{width:30px;height:30px;flex:none;border-radius:9px;align-items:center;justify-content:center}.net-result-icon,.net-switch{background:var(--sf);display:flex}.net-switch{flex-direction:column;gap:10px;padding:16px 18px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ac) 35%,var(--ln2));box-shadow:var(--sh1)}.net-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--mu)}.net-steps li{gap:7px}.net-steps li,.net-steps li>span{display:inline-flex;align-items:center}.net-steps li>span{width:16px;height:16px;border-radius:999px;border:1.5px solid var(--ln2);justify-content:center}.net-steps li.done{color:var(--tx)}.net-steps li.done>span{background:var(--ok);border-color:var(--ok);color:#fff}.net-steps li.active{color:var(--tx);font-weight:500}.net-steps li.active>span{border-color:var(--ac);border-top-color:transparent;animation:spin .8s linear infinite}.net-reset{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;border-color:color-mix(in srgb,var(--bad) 22%,var(--ln2))}.net-reset>.grow{flex:1 1 320px}.net-reset-icon{width:36px;height:36px;flex:none;border-radius:10px;background:var(--bads);color:var(--badt);display:flex;align-items:center;justify-content:center}.net-chip{padding:1px 6px;border-radius:5px;border:1px solid var(--ln);color:var(--tx);font-size:12px;white-space:nowrap}.net-chip,.net-pick{background:var(--sf2)}.net-pick{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--ln)}.net-pick .net-row-icon{background:var(--sf)}.pw-field{position:relative;flex-basis:100%;display:flex!important}.pw-field input{width:100%;padding-right:44px}.pw-field .icon-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.net-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.net-promise{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--mu);line-height:1.45}.net-promise li{display:flex;gap:9px;align-items:flex-start}.net-promise svg{flex:none;margin-top:2px;color:var(--mu)}.net-promise b{color:var(--tx);font-weight:500}@media (max-width:860px){.net-path{grid-template-columns:repeat(2,minmax(0,1fr))}.net-hop:nth-child(3){border-left:0}.net-hop:nth-child(3),.net-hop:nth-child(4){border-top:1px solid var(--ln)}.net-hop:nth-child(3):before{display:none}}@media (max-width:560px){.net-hero{padding:16px;gap:14px}.net-hero-icon{width:44px;height:44px;border-radius:12px}.net-hero-text{flex:1 1}.net-hero-text h2{font-size:19px}.net-advice{margin:0 16px 14px}.net-hero-signal{flex-basis:100%;min-width:0}.net-row{grid-template-columns:36px minmax(0,1fr) auto;padding:10px 14px}.net-row-signal{display:none}}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:14px;gap:14px}.room-card{--rc:var(--ac);--rcs:var(--acs);position:relative;display:flex;flex-direction:column;gap:6px;min-height:196px;padding:16px;background:var(--sf);border:1px solid var(--ln2);border-radius:18px;box-shadow:var(--sh1);overflow:hidden;transition:box-shadow .2s,transform .2s}.room-card:before{content:"";position:absolute;inset:0 0 auto 0;height:72px;background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 10%,transparent),transparent);pointer-events:none}.room-card:hover{box-shadow:var(--sh2);transform:translateY(-1px)}.room-violet{--rc:#8b5cf6;--rcs:color-mix(in srgb,#8b5cf6 14%,var(--sf))}.room-amber{--rc:#f59e0b;--rcs:color-mix(in srgb,#f59e0b 16%,var(--sf))}.room-indigo{--rc:var(--ac);--rcs:var(--acs)}.room-teal{--rc:#14b8a6;--rcs:color-mix(in srgb,#14b8a6 14%,var(--sf))}.room-slate{--rc:#64748b;--rcs:color-mix(in srgb,#64748b 16%,var(--sf))}.room-green{--rc:#22a06b;--rcs:color-mix(in srgb,#22a06b 14%,var(--sf))}.room-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.room-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--rcs);color:var(--rc)}.room-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.room-card:focus-within .room-actions,.room-card:hover .room-actions{opacity:1}@media (hover:none){.room-actions{opacity:1}}.room-name{font-size:18px;letter-spacing:-.02em}.room-line{font-size:13.5px;color:var(--mu)}.room-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.room-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--sf2);color:var(--tx)}.room-chip.alert{background:var(--bads);color:var(--badt)}.room-foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.room-devices{display:flex;gap:4px;flex-wrap:wrap}.room-dev{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--sf2);color:var(--mu);font-size:11px;font-weight:600}.room-dev.on{background:var(--on);color:#1a1204}.room-dev.off{opacity:.45}.room-people{display:flex;align-items:center}.room-avatar{width:26px;height:26px;border-radius:999px;margin-left:-6px;border:2px solid var(--sf);background:var(--rc);color:#fff;font-size:10.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.room-avatar:first-child{margin-left:0}.room-avatar.more{background:var(--sf3);color:var(--tx)}.room-rename{position:relative;display:flex;gap:6px}.room-rename input{height:36px;font-size:15px}.room-add{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:196px;border:1.5px dashed var(--ln2);border-radius:18px;color:var(--tx);cursor:pointer;text-align:center}.room-add:focus-visible,.room-add:hover{border-color:var(--ac);background:var(--acs)}.room-add .room-icon,.room-new-form .room-icon{background:var(--acs);color:var(--act)}.room-new-form{gap:12px;border-style:dashed;border-color:var(--ac)}.room-add{position:relative}.room-add:before{display:none}.toasts-left{right:auto;left:calc(248px + 16px)}@media (max-width:760px){.toasts-left{left:16px}}.form-step{font-size:13px;font-weight:600;color:var(--mu)}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--sf2);border:1px solid var(--ln);border-radius:10px}.seg button{border:0;background:none;padding:5px 12px;border-radius:7px;font:inherit;font-size:13px;font-weight:500;color:var(--mu);cursor:pointer}.seg button.on{background:var(--segon);color:var(--tx);box-shadow:var(--sh1)}.seg-wide{align-self:flex-start;flex-wrap:wrap}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:8px;gap:8px}.action-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--ln2);border-radius:10px}.action-row.picked{border-color:var(--ac);background:var(--acs)}.action-row .seg button.on{background:var(--ac);color:#fff}.day-chips{display:flex;flex-wrap:wrap;gap:4px}.day-chips button{height:36px;min-width:44px;border-radius:999px;border:1px solid var(--ln2);background:var(--sf);font:inherit;font-size:13px;cursor:pointer;color:var(--tx)}.day-chips button.on{background:var(--ac);border-color:var(--ac);color:#fff}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.scene-card{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--sf);border:1px solid var(--ln2);border-radius:16px;box-shadow:var(--sh1)}.scene-icon{width:36px;height:36px;border-radius:10px;background:var(--acs);color:var(--act);display:flex;align-items:center;justify-content:center}.scene-run{align-self:flex-start;margin-top:auto}.sched-list{display:flex;flex-direction:column;background:var(--sf);border:1px solid var(--ln2);border-radius:16px;box-shadow:var(--sh1);overflow:hidden}.sched-list .empty{border:0;border-radius:0}.sched-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ln)}.sched-item:last-child{border-bottom:0}.sched-item.done{opacity:.75}.sched-icon{width:38px;height:38px;flex:none;border-radius:11px;background:var(--ons);color:var(--ont);display:flex;align-items:center;justify-content:center}.sched-icon.daily{background:var(--acs);color:var(--act)}.sched-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.switch-input{position:relative;display:inline-flex;cursor:pointer}.switch-input input{position:absolute;opacity:0;width:1px;height:1px}.switch-input span{width:40px;height:24px;border-radius:999px;background:var(--sw);padding:3px;display:flex;transition:background .2s}.switch-input span:after{content:"";width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:margin .2s}.switch-input input:checked+span{background:var(--ac)}.switch-input input:checked+span:after{margin-left:16px}.switch-input input:focus-visible+span{outline:2px solid var(--ac);outline-offset:2px}.past{margin-top:12px}.past summary{cursor:pointer;font-size:13.5px;font-weight:500;color:var(--mu);margin-bottom:8px}.brand-row{display:flex;align-items:center;justify-content:space-between;padding-right:4px}.brand-row .brand{padding-bottom:16px}.brand-row .bell-wrap{margin-bottom:12px}.bell,.bell-wrap{position:relative}.bell-count{position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--sf)}.bell-panel{position:absolute;z-index:45;top:calc(100% + 6px);left:0;width:min(360px,calc(100vw - 24px));background:var(--sf);border:1px solid var(--ln2);border-radius:14px;box-shadow:var(--sh2),0 20px 50px -20px rgba(0,0,0,.35);overflow:hidden}.bell-head{padding:12px 14px;border-bottom:1px solid var(--ln)}.bell-list{max-height:380px;overflow-y:auto}.bell-item{all:unset;box-sizing:border-box;width:100%;display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--ln);cursor:pointer;font-size:13.5px}.bell-item:focus-visible,.bell-item:hover{background:var(--sf2)}.bell-item.unread{background:color-mix(in srgb,var(--acs) 60%,var(--sf))}.bell-icon{width:26px;height:26px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--sf2);color:var(--mu)}.sev-ALERT .bell-icon{background:var(--bads);color:var(--badt)}.sev-WARN .bell-icon{background:var(--ons);color:var(--ont)}.bell-foot{display:block;padding:10px 14px;font-size:13px;font-weight:500;text-align:center}.toast.sev-ALERT{border-color:var(--bad);box-shadow:0 0 0 3px var(--bads),var(--sh2)}.notif-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:16px;gap:16px;align-items:start}@media (max-width:960px){.notif-layout{grid-template-columns:minmax(0,1fr)}}.notif-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid var(--ln)}.notif-row:last-child{border-bottom:0}.notif-row.unread{background:color-mix(in srgb,var(--acs) 55%,var(--sf))}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;cursor:pointer}.sep{border:0;border-top:1px solid var(--ln);margin:4px 0;width:100%}.hchart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.hchart{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--sf);border:1px solid var(--ln2);border-radius:16px;box-shadow:var(--sh1)}.hchart-now{font-weight:600;font-size:15px}.hchart-svg{width:100%;height:90px;overflow:visible;cursor:crosshair}.hchart-band{fill:color-mix(in srgb,var(--ok) 10%,transparent)}.hchart-line{fill:none;stroke:var(--ac);stroke-width:2;stroke-linejoin:round}.hchart-dot{fill:var(--sf);stroke:var(--ac);stroke-width:2}input[type=file]{height:auto;padding:8px}.install-btn{border:1px dashed var(--ac);color:var(--act);background:var(--acs);margin-top:8px;font:inherit;font-size:14px;font-weight:500;cursor:pointer}.wizard{max-width:760px;display:flex;flex-direction:column;gap:12px}.stepper{list-style:none;padding:0;margin:8px 0;display:flex;gap:6px;overflow-x:auto}.stepper li{flex:1 1;min-width:90px}.stepper button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:500;color:var(--mu);cursor:default}.stepper li.done button{cursor:pointer;color:var(--okt)}.stepper li.current button{background:var(--acs);color:var(--act)}.step-n{width:22px;height:22px;flex:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--sf3);font-size:12px;font-weight:700}.stepper li.current .step-n{background:var(--ac);color:#fff}.stepper li.done .step-n{background:var(--ok);color:#fff}.wizard-body h2{font-size:19px}.wizard-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.setup-table th{width:40%;background:none;font-size:14px;color:var(--mu)}.copy-field{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}.copy-field .link-btn{margin:0}.wizard-wait{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 12px;text-align:center}.wizard-wait .spinner{color:var(--ac)}.found-new{border-color:var(--ok);background:var(--oks)}@media (max-width:560px){.step-l{display:none}.stepper li.current .step-l{display:inline}}.m-head .bell-panel,.topbar .bell-panel{left:auto;right:0}.bell-wrap .bell-badge{box-shadow:0 0 0 2px var(--bg)}.side .install-btn{margin-top:8px}.ctx-wrap>div{display:block!important}.palette .dialog-head{display:none}.ask-wrap{margin-bottom:28px}.ask-wrap .ask{margin-bottom:0;padding:6px}.ask-open{flex:1 1;min-width:0;display:flex;align-items:center;gap:10px;height:44px;padding:0 10px;border:0;background:transparent;text-align:left;color:var(--mu);font-size:14px;cursor:text;border-radius:10px}.ask-open:hover{background:var(--sf2)}.ask-open .sparkle{color:var(--ac);display:inline-flex}.ai-fab{position:fixed;right:24px;bottom:24px;z-index:40;height:52px;padding:0 20px 0 16px;border:0;border-radius:999px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:14.5px;color:#fff;background:linear-gradient(135deg,var(--ac),#7a5cff);box-shadow:0 10px 30px -8px color-mix(in srgb,var(--ac) 70%,transparent),var(--btn-sh);transition:transform .15s,box-shadow .15s}.ai-fab:hover{transform:translateY(-1px);box-shadow:0 14px 34px -8px color-mix(in srgb,var(--ac) 80%,transparent),var(--btn-sh)}.ai-fab.busy{animation:ai-pulse 1.6s ease-in-out infinite}@keyframes ai-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--ac) 22%,transparent),var(--btn-sh)}}.ai-backdrop{display:none}.ai-drawer{position:fixed;top:12px;right:12px;bottom:12px;z-index:55;width:min(420px,calc(100vw - 24px));display:flex;flex-direction:column;background:var(--sf);border:1px solid var(--ln2);border-radius:18px;box-shadow:var(--sh3);overflow:hidden;animation:ai-in .2s ease-out}@keyframes ai-in{0%{opacity:0;transform:translateX(16px)}}.ai-head{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;border-bottom:1px solid var(--ln)}.ai-head b{font-size:15px}.ai-status{font-size:12px;color:var(--mu)}.ai-status.recording{color:var(--badt)}.ai-status.thinking{color:var(--act)}.ai-orb{width:34px;height:34px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--ac),#7a5cff);box-shadow:var(--btn-sh)}.ai-orb.sm{width:26px;height:26px;border-radius:8px}.ai-orb.lg{width:56px;height:56px;border-radius:18px}.ai-orb.live{animation:ai-pulse 1.4s ease-in-out infinite}.ai-log{flex:1 1;min-height:0;overflow-y:auto;padding:16px;gap:12px;background:var(--bg)}.ai-hello,.ai-log{display:flex;flex-direction:column}.ai-hello{margin:auto 0;align-items:center;text-align:center;gap:10px;padding:12px 4px}.ai-hello h2{font-size:19px;letter-spacing:-.02em;margin-top:6px}.ai-hello p{color:var(--mu);font-size:13.5px;max-width:300px}.ai-suggest{flex-direction:column;gap:8px;margin-top:10px}.ai-chip,.ai-suggest{display:flex;width:100%}.ai-chip{align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--ln2);border-radius:12px;background:var(--sf);color:var(--tx);text-align:left;font-size:13.5px;cursor:pointer;box-shadow:var(--sh1)}.ai-chip svg{color:var(--ac);flex:none}.ai-chip:hover{border-color:var(--ac);background:var(--acs)}.ai-msg{display:flex;gap:8px;align-items:flex-end;max-width:100%}.ai-msg.me{justify-content:flex-end}.ai-bubble{max-width:82%;padding:9px 13px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.ai-msg.me .ai-bubble{background:var(--ac);color:#fff;border-bottom-right-radius:5px}.ai-msg.bot .ai-bubble{background:var(--sf);color:var(--tx);border:1px solid var(--ln2);border-bottom-left-radius:5px;box-shadow:var(--sh1)}.ai-bubble.typing{display:flex;gap:4px;padding:13px 14px}.ai-bubble.typing i{width:6px;height:6px;border-radius:999px;background:var(--mu);animation:blink 1.2s ease-in-out infinite}.ai-bubble.typing i:nth-child(2){animation-delay:.15s}.ai-bubble.typing i:nth-child(3){animation-delay:.3s}.ai-replay{border:0;background:none;color:var(--mu);margin-left:6px;padding:2px;vertical-align:-3px;cursor:pointer;border-radius:6px}.ai-replay:hover{color:var(--ac)}.ai-note{font-size:12.5px;color:var(--mu);text-align:center}.ai-foot{padding:12px;border-top:1px solid var(--ln);background:var(--sf)}.ai-compose{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 14px;border:1px solid var(--ln2);border-radius:14px;background:var(--sf);box-shadow:var(--sh1)}.ai-compose:focus-within{border-color:var(--ac);box-shadow:0 0 0 4px var(--ring)}.ai-compose textarea{flex:1 1;min-height:44px;max-height:120px;border:0;box-shadow:none;padding:12px 0;background:transparent;resize:none;font-size:14px;line-height:1.4}.ai-compose textarea:focus{box-shadow:none}.ai-mic{width:44px;height:44px;flex:none;border:0;border-radius:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:var(--ac);box-shadow:var(--btn-sh)}.ai-mic:hover{background:var(--ac6)}.ai-mic.recording{background:var(--bad);animation:pulse 1.4s ease-in-out infinite}.ai-listening{gap:10px;padding:6px;border-radius:14px;background:var(--bads);border:1px solid color-mix(in srgb,var(--bad) 25%,transparent)}.ai-listening,.ai-wave{display:flex;align-items:center}.ai-wave{height:30px;gap:3px}.ai-wave i{width:3px;border-radius:3px;background:var(--bad);transition:height .08s linear}.ai-hint{margin-top:8px;font-size:11.5px;color:var(--mu);text-align:center}@media (prefers-reduced-motion:reduce){.ai-fab.busy,.ai-orb.live{animation:none}}@media (max-width:760px){.ai-fab{right:16px;bottom:calc(76px + env(safe-area-inset-bottom));height:52px;width:52px;padding:0;justify-content:center}.ai-fab-label{display:none}.ai-backdrop{display:block;position:fixed;inset:0;z-index:54;background:rgba(10,11,13,.4);animation:fade .15s ease-out}.ai-drawer{top:auto;left:0;right:0;bottom:0;width:100%;height:min(86vh,720px);border-radius:20px 20px 0 0;border-bottom:0;animation:ai-up .22s ease-out;padding-bottom:env(safe-area-inset-bottom)}@keyframes ai-up{0%{transform:translateY(40px);opacity:0}}}.toasts{bottom:92px}@media (max-width:760px){.toasts{bottom:140px}}.board-status{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:12px;font-size:13.5px}.board-status .live-dot{margin-top:6px}.board-status.ok{background:var(--oks);color:var(--okt)}.board-status.bad{background:var(--bads);color:var(--badt)}.board-status.bad .live-dot{background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 25%,transparent)}.board-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-height:32px}.board-nav .back-link{display:inline-flex;align-items:center;gap:6px;margin:0}.board-switch{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--ln2);border-radius:10px;background:var(--sf);box-shadow:var(--sh1)}.board-switch .icon-btn{width:28px;height:28px}.board-switch-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;font:inherit;font-size:12.5px;font-weight:500;color:var(--tx);cursor:pointer;white-space:nowrap}.board-switch-btn:hover{background:var(--sf2)}.board-switch .menu a.menu-item{color:var(--tx);text-decoration:none}.board-title{gap:12px}.board-meta,.board-title{display:flex;align-items:center}.board-meta{flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--mu)}.board-meta b{color:var(--tx);font-weight:500}.board-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:900px){.board-grid{grid-template-columns:minmax(0,1fr)}}.li-btn{width:100%;border:0;border-bottom:1px solid var(--ln);background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.li-btn:hover{background:var(--sf2)}.li-btn>svg:last-child{color:var(--mu);flex:none}.li-value{font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.more-facts{margin-top:14px;border-top:1px solid var(--ln);padding-top:10px}.more-facts summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--mu);margin-bottom:10px}.more-facts summary:hover{color:var(--tx)}.table-wrap.flush{border:0;border-radius:0;box-shadow:none}.icon-btn.danger:hover{background:var(--bads);color:var(--badt)}.btn-icon{width:36px;padding:0;justify-content:center}.form-dialog .subtle-box{padding:0;background:none;border:0}@media (max-width:640px){.board-meta .mono:nth-of-type(2){display:none}.board-page .ph-actions{width:100%}}.fw-hero{flex-wrap:wrap;gap:16px 20px;padding:20px}.fw-hero,.fw-hero-icon{display:flex;align-items:center}.fw-hero-icon{width:52px;height:52px;flex:none;border-radius:14px;justify-content:center;background:var(--sf2);color:var(--mu)}.fw-hero-icon.ok{background:var(--oks);color:var(--okt)}.fw-hero-icon.warn{background:var(--ons);color:var(--ont)}.fw-hero-text{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}.fw-hero-text h2{font-size:24px;letter-spacing:-.02em}.fw-hero-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.fw-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--ln);background:var(--sf2)}.fw-facts>div{padding:12px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}.fw-facts>div+div{border-left:1px solid var(--ln)}.fw-facts dt{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-family:Geist Mono,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--mu)}.fw-facts dd{margin:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fw-rows{display:flex;flex-direction:column}.fw-row{display:grid;grid-template-columns:36px minmax(0,1fr) 130px auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ln)}.fw-row.current{background:color-mix(in srgb,var(--oks) 55%,transparent)}.fw-row-icon{width:36px;height:36px;border-radius:10px;background:var(--sf2);color:var(--mu);display:flex;align-items:center;justify-content:center}.fw-row.current .fw-row-icon{background:var(--sf);color:var(--okt)}.fw-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.fw-row-main b{font-size:14px}.fw-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:12.5px}.fw-row-action{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:96px}.fw-foot{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;font-size:12.5px;color:var(--mu);line-height:1.45}.fw-foot svg{flex:none;margin-top:2px}.fw-progress{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ac) 35%,var(--ln2));background:var(--sf);box-shadow:var(--sh1)}.fw-progress.done{border-color:transparent;background:var(--oks);color:var(--okt)}.fw-progress.failed{border-color:transparent;background:var(--bads);color:var(--badt)}.fw-progress .icon-btn,.fw-progress.done .net-steps,.fw-progress.failed .net-steps{color:inherit}.net-steps li.bad{color:var(--badt);font-weight:500}.net-steps li.bad>span{background:var(--bad);border-color:var(--bad);color:#fff}.fw-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 18px;border:1.5px dashed var(--ln2);border-radius:14px;background:var(--sf2);text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.fw-drop.over,.fw-drop:focus-visible,.fw-drop:hover{border-color:var(--ac);background:var(--acs);outline:none}.fw-drop.has{border-style:solid;border-color:color-mix(in srgb,var(--ok) 45%,var(--ln2));background:color-mix(in srgb,var(--oks) 60%,transparent)}.fw-drop-icon{width:44px;height:44px;border-radius:12px;background:var(--sf);border:1px solid var(--ln2);color:var(--act);display:flex;align-items:center;justify-content:center}.fw-drop.has .fw-drop-icon{color:var(--okt)}@media (max-width:860px){.fw-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fw-facts>div:nth-child(3){border-left:0}.fw-facts>div:nth-child(n+3){border-top:1px solid var(--ln)}}@media (max-width:560px){.fw-hero{padding:16px;gap:14px}.fw-hero-icon{width:44px;height:44px;border-radius:12px}.fw-hero-text{flex:1 1}.fw-hero-action{flex-basis:100%;align-items:stretch}.fw-row{grid-template-columns:36px minmax(0,1fr) auto;padding:12px 14px}.fw-row-meta{display:none}.fw-row-action{min-width:0}}.fw-chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border:0;border-radius:999px;background:var(--ons);color:var(--ont);font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap;cursor:pointer}.fw-chip:hover{box-shadow:inset 0 0 0 1px var(--on)}.fw-chip.static{cursor:default;box-shadow:none}.pill.warn{background:var(--ons);color:var(--ont)}.fw-cell{gap:6px;white-space:nowrap}.fw-cell,.fw-cell-new{display:inline-flex;align-items:center}.fw-cell-new{gap:2px;padding:0 6px;border-radius:999px;background:var(--ons);color:var(--ont);font-size:11px;font-weight:600}.visit-steps{display:flex;flex-direction:column;gap:4px}.visit-steps button{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:13.5px;font-weight:500;color:var(--mu);cursor:pointer;text-align:left}.visit-steps button.on,.visit-steps button:hover:not(:disabled){background:var(--sf2);color:var(--tx)}.visit-steps button.on{border-color:var(--ln2)}.visit-steps button>span{width:8px;height:8px;border-radius:999px;flex:none;opacity:.45}.visit-steps button.on>span{opacity:1;box-shadow:0 0 0 3px var(--sf3)}