:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ha-bg:#eef0f5;--ha-panel:#fff;--ha-panel-2:#f7f8fb;--ha-line:#dfe3ec;--ha-line-strong:#c6cddd;--ha-fg:#141821;--ha-muted:#616a83;--ha-brass:#9a6a12;--ha-brass-tint:#9a6a121a;--ha-on-brass:#fff;--ha-focus-ring:#9a6a1247;--ha-danger:#b3261e;--ha-signal:#157f4a;--ha-signal-tint:#157f4a1f;--ha-danger-tint:#b3261e17;--ha-shadow:0 10px 30px #1418211a;--ha-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ha-mono:ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, monospace;--hub-lede:#59627a;--hub-sheet:linear-gradient(158deg, #ffffffe0 0%, #ffffff85 40%, #ffffff29 100%);--hub-specular:linear-gradient(118deg, #14182100 44%, #1418210d 55%, #14182114 63%, #fffffff2 69%, #fffc 74%, #fff0 88%);--hub-rim:inset 0 1px 0 #fff, inset 1px 0 0 #ffffffb8, inset -1px 0 0 #14182114, inset 0 -6px 10px -6px #14182138;--hub-cast:0 1px 2px #14182124, 0 10px 20px -8px #14182133, 0 30px 48px -24px #1418214d;--hub-cast-lift:0 2px 4px #14182129, 0 18px 32px -10px #14182142, 0 46px 68px -28px #14182157;--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--gut:clamp(14px, 3vw, 28px);--nav-h:52px;accent-color:var(--ha-brass)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ha-bg:#0f121b;--ha-panel:#171c28;--ha-panel-2:#1c2230;--ha-line:#262d3f;--ha-line-strong:#39425c;--ha-fg:#e9ebf3;--ha-muted:#8d95ad;--ha-brass:#e0a950;--ha-brass-tint:#e0a95021;--ha-on-brass:#1b1405;--ha-focus-ring:#e0a95052;--ha-danger:#f0736a;--ha-signal:#6ee7a8;--ha-signal-tint:#6ee7a824;--ha-danger-tint:#f0736a21;--ha-shadow:0 12px 34px #00000073;--hub-lede:#b3bacd;--hub-sheet:linear-gradient(158deg, #8a93a833 0%, #262d3f61 40%, #0f121b70 100%);--hub-specular:linear-gradient(118deg, #fff0 44%, #ffffff0d 55%, #ffffff42 65%, #ffffff57 69%, #ffffff14 76%, #fff0 88%);--hub-rim:inset 0 1px 0 #ffffff47, inset 1px 0 0 #ffffff1f, inset -1px 0 0 #0006, inset 0 -6px 12px -6px #000000b3;--hub-cast:0 1px 2px #00000080, 0 12px 24px -8px #0000008c, 0 36px 56px -26px #000000b3;--hub-cast-lift:0 2px 4px #0000008c, 0 20px 36px -10px #0009, 0 52px 76px -30px #000000bf}}@media (prefers-contrast:more){:root{--ha-muted:#454d63;--ha-line:#b9c0d0;--ha-line-strong:#8a93a8}@media (prefers-color-scheme:dark){:root{--ha-muted:#b3bacd;--ha-line:#3d465f;--ha-line-strong:#5b6684}}}*,:before,:after{box-sizing:border-box}html,body{background:var(--ha-bg);color:var(--ha-fg);font-family:var(--ha-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.5}a{color:var(--ha-brass);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--ha-brass-tint);color:var(--ha-fg)}:focus-visible{outline:2px solid var(--ha-brass);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.topnav{z-index:50;height:var(--nav-h);padding:0 var(--gut);background:var(--ha-panel);border-bottom:1px solid var(--ha-line);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topnav .brand{white-space:nowrap;letter-spacing:0;align-items:center;gap:8px;font-weight:600;display:inline-flex}.topnav .brand-mark{color:var(--ha-brass);flex:none}.topnav .spacer{flex:auto}.topnav .navlinks{scrollbar-width:none;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.topnav .navlinks a{border-radius:var(--radius-sm);color:var(--ha-muted);flex:none;padding:6px 8px;font-size:12px;text-decoration:none}.topnav .navlinks a:hover,.topnav .navlinks a:focus-visible{background:var(--ha-panel-2);color:var(--ha-fg)}.topnav .usermenu-wrap{flex:none;position:relative}.topnav .usermenu-wrap>summary{cursor:pointer;list-style:none}.topnav .usermenu-wrap>summary::-webkit-details-marker{display:none}.topnav .usermenu-wrap[open]>summary{color:var(--ha-brass)}.topnav .usermenu{background:var(--ha-panel);border:1px solid var(--ha-line);border-radius:var(--radius-md);box-shadow:var(--ha-shadow);z-index:60;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.topnav .principal{font-family:var(--ha-mono);color:var(--ha-muted);text-overflow:ellipsis;white-space:nowrap;max-width:min(42ch,40vw);font-size:12px;overflow:hidden}.topnav button.ghost{font:inherit;font-family:var(--ha-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ha-line-strong);border-radius:var(--radius-sm);background:var(--ha-panel-2);color:var(--ha-fg);white-space:nowrap;cursor:pointer;padding:7px 12px;font-size:11px}.topnav button.ghost:hover{border-color:var(--ha-brass);color:var(--ha-brass)}.wrap{min-height:calc(100dvh - var(--nav-h));max-width:1120px;padding:clamp(28px, 5vw, 60px) var(--gut) clamp(32px, 5vw, 60px);flex-direction:column;justify-content:center;margin:0 auto;display:flex}.pagehead{margin-bottom:clamp(24px,4vw,40px)}.pagehead h1{letter-spacing:0;max-width:26ch;margin:0;font-size:clamp(23px,3vw,31px);font-weight:600;line-height:1.12}.tiles{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(18px,3vw,28px);display:grid;position:relative}.tiles:before{content:"";background:radial-gradient(38% 60% at 24% 34%, var(--hub-field-bloom), transparent 70%), radial-gradient(38% 60% at 76% 66%, var(--hub-field-bloom), transparent 70%);filter:blur(24px);pointer-events:none;z-index:0;position:absolute;inset:-14% 0}.tile{z-index:1;isolation:isolate;border-radius:var(--radius-lg);background:radial-gradient(116% 84% at 2% 110%, var(--hub-bloom) 0%, var(--hub-bloom-2) 40%, transparent 78%), var(--hub-sheet);-webkit-backdrop-filter:blur(18px)saturate(1.6);min-height:clamp(248px,34vh,340px);box-shadow:var(--hub-rim), 0 22px 44px -26px var(--hub-halo), var(--hub-cast);color:inherit;transform-origin:50% 100%;--hub-accent:var(--ha-brass);--hub-bloom:#9a6a1299;--hub-bloom-2:#9a6a1238;--hub-halo:#9a6a1299;border:none;flex-direction:column;padding:clamp(24px,3vw,34px) clamp(24px,3vw,34px) clamp(26px,3vw,34px);text-decoration:none;display:flex;position:relative;overflow:hidden}.tiles{--hub-field-bloom:#9a6a122e}@media (prefers-color-scheme:dark){.tile{--hub-bloom:#e0a95073;--hub-bloom-2:#e0a95024;--hub-halo:#e0a95080}.tiles{--hub-field-bloom:#e0a95029}}.tile:before{content:"";z-index:1;background:var(--hub-specular);pointer-events:none;position:absolute;inset:-12% -18%;transform:translate(-3%)}.tile:after{content:"";z-index:1;background:var(--hub-accent);pointer-events:none;height:5px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -1px #ffffff73}.tile>*{z-index:2;position:relative}.tile:focus-visible{outline:2px solid var(--ha-brass);outline-offset:3px}@media (prefers-reduced-motion:no-preference) and (hover:hover){.tile{transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s}.tile:before{transition:transform .5s cubic-bezier(.22,.61,.36,1)}.tile:hover{box-shadow:var(--hub-rim), 0 36px 62px -28px var(--hub-halo), var(--hub-cast-lift);text-decoration:none;transform:perspective(1000px)rotateX(3deg)translateY(-6px)}.tile:hover:before{transform:translate(7%)}}.tile-name{letter-spacing:0;font-size:clamp(22px,2.4vw,27px);font-weight:600}.tile-lede{max-width:34ch;color:var(--hub-lede);margin-top:6px;font-size:13.5px}.tile-lines{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:22px;display:flex}.tile-lines .line{font-family:var(--ha-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ha-line);background:var(--ha-panel-2);color:var(--ha-muted);border-radius:999px;padding:4px 9px;font-size:11px}@media (max-width:719px){.tiles:before{background:radial-gradient(58% 32% at 30% 22%, var(--hub-field-bloom), transparent 70%), radial-gradient(58% 32% at 70% 78%, var(--hub-field-bloom), transparent 70%)}}.pagehead .lede{max-width:60ch;color:var(--ha-muted);margin:10px 0 0;font-size:14px}.cockpit{min-height:calc(100dvh - var(--nav-h));padding:28px var(--gut) 34px;background-color:#0000;background-image:linear-gradient(90deg,#1418210a 1px,#0000 1px),linear-gradient(0deg,#1418210a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.cockpit-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;max-width:1280px;margin:0 auto 22px;display:grid}.eyebrow{color:var(--ha-brass);font-family:var(--ha-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:11px}.cockpit-hero h1,.panel h2,.work-item h3{letter-spacing:0;margin:0}.cockpit-hero h1{max-width:760px;font-size:34px;line-height:1.08}.hero-copy{max-width:760px;color:var(--ha-muted);margin:10px 0 0;font-size:15px}.hero-status{border:1px solid var(--ha-line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--ha-panel) 84%, transparent);min-width:220px;box-shadow:var(--ha-shadow);gap:4px;padding:14px;display:grid}.hero-status span:not(.status-dot){color:var(--ha-muted);font-size:12px}.status-dot{background:var(--ha-signal);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #157f4a24}.ops-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;max-width:1280px;margin:0 auto;display:grid}.panel{border:1px solid var(--ha-line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--ha-panel) 92%, transparent);min-width:0;padding:18px;box-shadow:0 12px 28px #14182114}.panel-head{margin-bottom:14px}.panel h2{font-size:19px;line-height:1.2}.dependency-map{min-height:430px}.service-graph{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.node{border:1px solid var(--ha-line);border-radius:var(--radius-md);background:var(--ha-panel-2);flex-direction:column;justify-content:center;gap:4px;min-height:92px;padding:14px;display:flex}.node.core{background:linear-gradient(135deg, #9a6a122e, transparent 58%), var(--ha-panel);min-height:120px;color:var(--ha-fg);grid-column:span 3;font-size:24px;font-weight:700}.node.linked{position:relative}.node.linked:before{content:"";background:var(--ha-line-strong);width:1px;height:12px;position:absolute;top:-13px;left:50%}.node span{font-weight:700}.node small,.work-item small{color:var(--ha-muted);font-family:var(--ha-mono);font-size:11px}.node[data-state=ready]{border-color:#157f4a73}.node[data-state=degraded]{background:#a8792a14;border-color:#a8792a8c}.node[data-state=unknown]{border-style:dashed}.work-list{gap:10px;display:grid}.work-item{border:1px solid var(--ha-line);border-radius:var(--radius-md);background:var(--ha-panel-2);padding:13px}.work-item>span{border-radius:var(--radius-sm);background:var(--ha-brass-tint);color:var(--ha-brass);font-family:var(--ha-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;padding:3px 7px;font-size:10px;display:inline-flex}.work-item h3{font-size:15px}.work-item p,.telemetry-panel p{color:var(--ha-muted);margin:6px 0 10px}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.metric-strip span{border:1px solid var(--ha-line);border-radius:var(--radius-md);background:var(--ha-panel-2);min-height:72px;color:var(--ha-muted);align-content:center;gap:2px;padding:10px;font-size:12px;display:grid}.metric-strip strong{color:var(--ha-fg);font-size:22px}.check-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.check-list li{padding-left:18px;position:relative}.check-list li:before{content:"";background:var(--ha-brass);border-radius:50%;width:7px;height:7px;position:absolute;top:.65em;left:0}.login-shell{min-height:100dvh;padding:var(--gut);background:linear-gradient(135deg, #9a6a121f, transparent 42%), var(--ha-bg);place-items:center;display:grid}.login-panel{border:1px solid var(--ha-line);border-radius:var(--radius-lg);background:var(--ha-panel);width:min(100%,520px);box-shadow:var(--ha-shadow);padding:24px}.login-panel h1{letter-spacing:0;margin:0;font-size:28px;line-height:1.1}.login-panel p:not(.eyebrow){color:var(--ha-muted);margin:10px 0 18px}.login-action{border-radius:var(--radius-sm);background:var(--ha-brass);min-height:38px;color:var(--ha-on-brass);align-items:center;padding:0 13px;font-weight:700;text-decoration:none;display:inline-flex}.login-action:hover{text-decoration:none}@media (max-width:900px){.cockpit-hero,.ops-grid{grid-template-columns:1fr}.hero-status{min-width:0}}@media (max-width:700px){.topnav{height:auto;min-height:var(--nav-h);flex-wrap:wrap;align-items:start;padding-top:8px;padding-bottom:8px}.topnav .navlinks{order:3;width:100%}.cockpit-hero h1{font-size:27px}.service-graph,.metric-strip{grid-template-columns:1fr}.node.core{grid-column:auto}}@media (prefers-reduced-motion:reduce) and (hover:hover){.tile:hover{box-shadow:var(--hub-rim), 0 36px 62px -28px var(--hub-halo), var(--hub-cast-lift);text-decoration:none}}
html{-moz-text-size-adjust:100%;text-size-adjust:100%}.phone-only{display:none}@media (max-width:760px),(max-width:1100px) and (max-height:500px){.phone-only{display:block}.topnav{height:auto;min-height:0;padding:calc(env(safe-area-inset-top) + 8px) max(12px, env(safe-area-inset-right)) 8px max(20px, env(safe-area-inset-left));background:var(--ha-bg);border-bottom:0}.topnav .brand{font-size:17px;font-weight:700}.topnav .principal{border:1px solid var(--ha-line);background:var(--ha-panel);max-width:22ch;min-height:44px;color:var(--ha-fg);font-family:var(--ha-sans);letter-spacing:0;text-transform:none;border-radius:22px;align-items:center;gap:10px;padding:0 6px 0 14px;font-size:15px;font-weight:600;line-height:1;display:inline-flex}.topnav .p-initial{background:var(--ha-fg);width:32px;height:32px;color:var(--ha-bg);border-radius:16px;flex:none;place-items:center;font-weight:700;display:grid}.topnav button.ghost{min-height:44px}.wrap{min-height:0;padding:12px max(16px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));justify-content:flex-start}.pagehead{margin:16px 4px 18px}.pagehead h1{letter-spacing:-.02em;font-size:32px;font-weight:700;line-height:1.1}.tiles{grid-template-columns:minmax(0,1fr);gap:12px}.tile .p-ico{background:var(--ha-brass-tint);width:56px;height:56px;color:var(--ha-brass);border-radius:16px;flex:none;place-items:center;display:grid}.tile-name{font-size:19px}.tile-lede{min-width:0;margin:0;font-size:14px;line-height:1.35}.tile{border-radius:20px;grid-template-columns:56px minmax(0,1fr) 20px;grid-template-areas:"ico name chev""ico lede chev";align-items:center;gap:3px 16px;min-height:92px;padding:18px;display:grid}.tile .p-ico{grid-area:ico}.tile .tile-name{grid-area:name;align-self:end}.tile .tile-lede{grid-area:lede;align-self:start}.tile .p-chev{color:var(--ha-muted);grid-area:chev;place-items:center;display:grid}.tile-lines{display:none}.landing .landing-brand,.landing .landing-links a,.landing .creds-note a,.landing .cred-verify{align-items:center;min-height:44px;display:inline-flex}.landing .landing-main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.landing .landing-signin{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;border-radius:14px;justify-content:center;align-items:center;min-height:54px;font-size:17px;font-weight:700;display:flex;position:fixed;box-shadow:0 10px 24px #14182138}}
