@font-face{font-family:Geist;src:url(/assets/Geist-Variable-DHmDcw7S.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Variable-C2M1wx0c.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-sans:"Geist", -apple-system, system-ui, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r-xs:7px;--r-sm:10px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-2xl:26px;--r-3xl:28px;--r-frame:32px;--r-pill:999px;--ease-standard:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-spring-soft:cubic-bezier(.34,1.25,.64,1);--dur-fast:.25s;--dur-base:.35s;--dur-slow:.5s;--dur-view:.55s;--glass-blur-nav:30px;--glass-blur-dialog:50px;--glass-blur-tile:20px;--glass-saturate:180%}[data-theme=light]{--bg:#f5f5f7;--bg2:#fff;--tile:#ffffffb8;--glass:#ffffff9e;--glass-line:#ffffffe6;--ink:#1d1d1f;--ink2:#6e6e73;--ink3:#86868b;--line:#00000014;--line2:#0000000d;--fill:#0000000b;--fill2:#00000014;--acc:#5b5bf7;--acc2:#8b5cf6;--acc-text:#4b4be0;--acc-bg:#5b5bf71f;--on-acc:#fff;--ok:#22b573;--ok-bg:#22b57324;--ok-text:#0b6e43;--warn:#f5a524;--warn-bg:#f5a5242e;--warn-text:#8a4f00;--err:#f04461;--err-bg:#f044611f;--err-text:#b4123a;--info:#2f9bff;--info-bg:#2f9bff24;--info-text:#1f6fd1;--night:#8b5cf6;--night-bg:#8b5cf624;--night-text:#5b28c9;--secure:#0ea5a4;--secure-bg:#0ea5a424;--secure-text:#086a6a;--shadow:0 10px 30px #14143c1a;--shadow-lg:0 30px 80px #14143c2e;--blob-opacity:.9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#000;--bg2:#141416;--tile:#1c1c1ec7;--glass:#1c1c2099;--glass-line:#ffffff24;--ink:#f5f5f7;--ink2:#a1a1a6;--ink3:#86868b;--line:#ffffff1f;--line2:#ffffff12;--fill:#ffffff0f;--fill2:#ffffff1f;--acc:#7c7cff;--acc2:#a78bfa;--acc-text:#a5b4ff;--acc-bg:#7c7cff2e;--on-acc:#fff;--ok:#34d399;--ok-bg:#34d3992e;--ok-text:#6ee7b7;--warn:#fbbf24;--warn-bg:#f5a52433;--warn-text:#fcd34d;--err:#fb7185;--err-bg:#f0446133;--err-text:#ff9fb2;--info:#60a5fa;--info-bg:#2f9bff33;--info-text:#7cc4ff;--night:#a78bfa;--night-bg:#8b5cf638;--night-text:#c4b5fd;--secure:#2dd4bf;--secure-bg:#0ea5a438;--secure-text:#5eead4;--shadow:0 10px 30px #00000080;--shadow-lg:0 30px 80px #000000b3;--blob-opacity:.35;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-transparency:reduce){:root{--glass:var(--bg2);--tile:var(--bg2);--glass-blur-nav:0px;--glass-blur-dialog:0px;--glass-blur-tile:0px}}[data-reduce-transparency=true]{--glass:var(--bg2);--tile:var(--bg2);--glass-blur-nav:0px;--glass-blur-dialog:0px;--glass-blur-tile:0px}@media (prefers-contrast:more){[data-theme=light]{--ink2:#3a3a3e;--line:#00000038}[data-theme=dark]{--ink2:#d2d2d7;--line:#ffffff52}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}[data-reduce-motion=true] *,[data-reduce-motion=true] :before,[data-reduce-motion=true] :after{transition:none!important;animation:none!important}[data-theme=light]{--dock:#5b5bf7;--dock-block:#0fb5d4}[data-theme=dark]{--dock:#8b8bff;--dock-block:#5eead4}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background-color var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard);font-size:14px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:var(--acc-text);text-decoration:none}a:hover{color:var(--acc)}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.mono{font-family:var(--font-mono)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink2)}.faint{color:var(--ink3)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes dw-drift0{0%,to{transform:translate(0)scale(1)}50%{transform:translate(90px,50px)scale(1.18)}}@keyframes dw-drift1{0%,to{transform:translate(0)scale(1.1)}50%{transform:translate(-70px,60px)scale(.92)}}@keyframes dw-drift2{0%,to{transform:translate(0)scale(.95)}50%{transform:translate(50px,-70px)scale(1.15)}}@keyframes dw-viewin{0%{opacity:0;filter:blur(6px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:none}}@keyframes dw-rise{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:none}}@keyframes dw-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes dw-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes dw-draw{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes dw-fade{0%{opacity:0}}@keyframes dw-spin{to{transform:rotate(360deg)}}@keyframes dw-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes dw-bar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes dw-ring{0%{stroke-dasharray:0 100}}@keyframes dw-shake{0%,86%,to{transform:rotate(0)}89%{transform:rotate(-12deg)}92%{transform:rotate(10deg)}95%{transform:rotate(-6deg)}}@keyframes lg-cycle{0%,86%{opacity:1}94%,to{opacity:0}}@keyframes lg-d0{0%{stroke-dashoffset:100px}30%,to{stroke-dashoffset:0}}@keyframes lg-ship{0%{opacity:0;transform:translateY(18px)}16%,56%{opacity:1;transform:translateY(0)}74%{opacity:1;transform:translateY(-32px)}80%,to{opacity:0;transform:translateY(-38px)}}@keyframes lg-ring{0%,55%{opacity:0;transform:scale(.6)}62%{opacity:.5}85%,to{opacity:0;transform:scale(1.35)}}.glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur-nav)) saturate(var(--glass-saturate));box-shadow:0 0 0 .5px var(--glass-line), inset 0 1px 0 var(--glass-line), var(--shadow)}.tile{border-radius:var(--r-xl);background:var(--tile);-webkit-backdrop-filter:blur(var(--glass-blur-tile)) saturate(160%);box-shadow:0 0 0 .5px var(--glass-line), inset 0 1px 0 var(--glass-line), var(--shadow)}.view{animation:dw-viewin var(--dur-view) var(--ease-standard);flex-direction:column;gap:16px;display:flex}.stagger>*{animation:dw-viewin .5s var(--ease-standard) both}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.blobs{pointer-events:none;z-index:0;opacity:var(--blob-opacity);position:fixed;inset:0;overflow:hidden}.blob{border-radius:50%;position:absolute}.blob:first-child{background:radial-gradient(circle,#8b9bff 0%,#0000 68%);width:760px;height:760px;animation:18s ease-in-out infinite dw-drift0;top:-20%;left:-10%}.blob:nth-child(2){background:radial-gradient(circle,#ffa8c8 0%,#0000 68%);width:700px;height:700px;animation:23s ease-in-out infinite dw-drift1;top:-25%;left:55%}.blob:nth-child(3){background:radial-gradient(circle,#7cf2d8 0%,#0000 68%);width:720px;height:720px;animation:28s ease-in-out infinite dw-drift2;top:50%;left:25%}.blob:nth-child(4){background:radial-gradient(circle,#ffd08a 0%,#0000 68%);width:560px;height:560px;animation:33s ease-in-out infinite dw-drift0;top:55%;left:80%}.wordmark{letter-spacing:-.03em;white-space:nowrap}.wordmark b{font-weight:700}.wordmark span{font-weight:500}.dock path{stroke:var(--dock)}.dock rect{fill:var(--dock-block)}.dock circle{stroke:var(--dock-block)}.dock.anim g{animation:6s linear infinite lg-cycle}.dock.anim path{stroke-dasharray:100;animation:6s cubic-bezier(.4,0,.2,1) infinite lg-d0}.dock.anim rect{animation:6s cubic-bezier(.4,0,.2,1) infinite lg-ship}.dock.anim circle{transform-origin:32px 16px;animation:6s ease-out infinite lg-ring}.btn-primary{color:var(--on-acc);transition:background-position .9s var(--ease-standard), transform .45s var(--ease-spring), box-shadow .45s;background-image:linear-gradient(110deg,#5b5bf7 0%,#7457f2 42%,#c3caff 50%,#7457f2 58%,#5b5bf7 100%);background-position:100% 0;background-size:260% 100%;border:0;align-items:center;gap:12px;font-weight:600;display:inline-flex;box-shadow:0 10px 28px #5b5bf766,inset 0 1px #fff6}.btn-primary:hover:not(:disabled){background-position:0 0;transform:translateY(-2px)scale(1.02);box-shadow:0 16px 40px #5b5bf78c}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-secondary{background:var(--fill);height:32px;transition:transform .4s var(--ease-spring), background .3s;border:0;border-radius:10px;padding:0 12px;font-size:12px;font-weight:600}.btn-secondary:hover:not(:disabled){background:var(--fill2);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:scale(.97)}.btn-secondary.accent{color:var(--acc-text);background:var(--acc-bg)}.btn-secondary:disabled{opacity:.5}.pill{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:5px;height:22px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.pill.ok{background:var(--ok-bg);color:var(--ok-text)}.pill.warning{background:var(--warn-bg);color:var(--warn-text)}.pill.critical{background:var(--err-bg);color:var(--err-text)}.pill.unknown{background:var(--fill);color:var(--ink2)}.pill.secure{background:var(--secure-bg);color:var(--secure-text)}.pill.acc{background:var(--acc-bg);color:var(--acc-text)}.dot{flex:none;width:8px;height:8px;display:inline-block;position:relative}.dot:before,.dot:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:0}.dot.pulse:before{animation:1.8s ease-out infinite dw-pulse}.seg{border-radius:var(--r-pill);background:var(--fill);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:3px;display:grid;position:relative}.seg-ind{border-radius:var(--r-pill);background:var(--bg2);box-shadow:var(--shadow);transition:transform .5s var(--ease-spring-soft);position:absolute;top:3px;bottom:3px;left:3px}.seg button{border-radius:var(--r-pill);white-space:nowrap;height:28px;color:var(--ink2);background:0 0;border:0;padding:0 10px;font-size:12px;font-weight:600;transition:color .3s;position:relative}.seg button[aria-pressed=true]{color:var(--ink)}.spinner{border:2.5px solid var(--fill2);border-top-color:var(--acc);border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite dw-spin}.auth{z-index:1;grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid;position:relative}.auth-brand{flex-direction:column;justify-content:space-between;gap:32px;padding:48px;display:flex}.auth-brand .claim{letter-spacing:-.045em;font-size:44px;font-weight:700;line-height:1.02}.auth-brand .sub{color:var(--ink2);text-wrap:pretty;max-width:460px;font-size:16px}.auth-hero{border-radius:30px;place-items:center;width:112px;height:112px;display:grid}.auth-foot{color:var(--ink3);flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.auth-side{flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-card{border-radius:var(--r-3xl);width:100%;max-width:420px;animation:dw-viewin .45s var(--ease-standard);flex-direction:column;gap:18px;padding:28px;display:flex}.auth-card h1{letter-spacing:-.03em;margin:0;font-size:26px;font-weight:700;line-height:1.2}.auth-card .lead{color:var(--ink2);margin:0;font-size:14px}.passkey-btn{border-radius:16px;height:54px;padding:0 20px;font-size:15px}.passkey-btn .grow{text-align:left;white-space:nowrap;flex:1}.passkey-btn .hint{opacity:.85;white-space:nowrap;font-size:12px}@media (width<=420px){.passkey-btn .hint{display:none}}.busy-row{background:var(--fill);border-radius:16px;align-items:center;gap:14px;height:54px;padding:0 20px;font-weight:500;animation:.3s ease-out dw-pop;display:flex}.notice{animation:dw-pop .35s var(--ease-spring);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45}.notice.err{background:var(--err-bg);color:var(--err-text)}.notice.info{background:var(--info-bg);color:var(--info-text)}.auth-meta{color:var(--ink3);justify-content:space-between;align-items:center;gap:12px;padding-top:6px;font-size:12px;display:flex}.auth-meta .langs{gap:6px;display:flex}.linkish{color:var(--acc-text);background:0 0;border:0;padding:0;font-size:12px}.linkish[aria-pressed=true]{color:var(--ink);font-weight:600}.auth-mobile-brand{align-items:center;gap:10px;margin-bottom:4px;display:none}.shell{z-index:1;grid-template-columns:236px minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid;position:relative}.side{border-radius:24px;flex-direction:column;align-self:start;gap:4px;min-height:calc(100vh - 36px);padding:16px 10px;display:flex;position:sticky;top:18px}.side-brand{align-items:center;gap:10px;padding:4px 8px 16px;font-size:17px;display:flex;overflow:hidden}.side-nav{flex-direction:column;gap:2px;display:flex;position:relative}.side-ind{background:var(--bg2);height:40px;box-shadow:var(--shadow);transition:transform .55s var(--ease-spring-soft), opacity .3s;border-radius:12px;position:absolute;top:0;left:0;right:0}.nav-btn{text-align:left;white-space:nowrap;height:40px;transition:transform .35s var(--ease-spring);background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;display:flex;position:relative;overflow:hidden}.nav-btn:hover{transform:translate(2px)}.nav-icon{color:#fff;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;display:grid;box-shadow:inset 0 1px #fff6}.nav-badge{border-radius:var(--r-pill);color:#fff;background:var(--err);place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;display:grid}.me-wrap{margin-top:auto;position:relative}.me-btn{background:var(--fill);text-align:left;border:0;border-radius:14px;align-items:center;gap:10px;width:100%;padding:8px;transition:background .3s;display:flex;overflow:hidden}.me-btn:hover{background:var(--fill2)}.avatar{color:#fff;background:linear-gradient(135deg,#5b5bf7,#8b5cf6);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.me-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.me-text b{text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.me-text span{color:var(--ink2);font-size:11px}.menu{z-index:30;width:260px;animation:dw-rise .3s var(--ease-spring);border-radius:20px;flex-direction:column;gap:12px;padding:14px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}.menu-label{color:var(--ink2);font-size:11px;font-weight:600}.menu .seg button{height:26px}.menu-logout{height:36px;color:var(--err-text);background:var(--err-bg);transition:transform .4s var(--ease-spring);border:0;border-radius:12px;font-size:13px;font-weight:600}.menu-logout:hover{transform:translateY(-1px)}.main{flex-direction:column;gap:16px;min-width:0;display:flex}.topbar{border-radius:var(--r-pill);align-items:center;gap:10px;min-height:52px;padding:8px 8px 8px 16px;display:flex}.topbar .status{white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.topbar .meta{color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.topbar-slot{display:contents}.topbar .mobile-brand{align-items:center;gap:8px;font-size:15px;display:none}.tabbar{z-index:20;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border-radius:26px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:8px;display:none;position:fixed}.tab{color:var(--ink3);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:4px 0;font-size:10px;font-weight:600;display:flex}.tab .nav-icon{transition:transform .45s var(--ease-spring), filter .3s, opacity .3s;filter:saturate(.4);opacity:.75}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] .nav-icon{filter:none;opacity:1;transform:translateY(-2px)scale(1.08);box-shadow:0 6px 14px #0000002e}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;padding:6px 4px 0;display:flex}.page-head h1{letter-spacing:-.035em;margin:0;font-size:28px;font-weight:700;line-height:1.2}.page-head p{color:var(--ink2);margin:0;font-size:13px}.card-title{margin:0;font-size:14px;font-weight:600}.dash-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.proj-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:14px;display:grid}.proj{min-height:168px;transition:transform .6s var(--ease-standard), box-shadow .6s;flex-direction:column;gap:10px;padding:16px;display:flex;position:relative;overflow:hidden}.proj:hover{box-shadow:0 0 0 .5px var(--glass-line), inset 0 1px 0 var(--glass-line), var(--shadow-lg);transform:translateY(-4px)scale(1.015)}.proj-icon{color:#fff;background:linear-gradient(135deg,#5b5bf7,#8b5cf6);border-radius:12px;place-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:grid;box-shadow:0 6px 16px #5b5bf759,inset 0 1px #ffffff80}.proj h3{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.proj p{color:var(--ink2);margin:0;font-size:13px;line-height:1.4}.empty{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;min-height:240px;padding:32px;display:flex}.empty h3{margin:0;font-size:17px;font-weight:600}.empty p{color:var(--ink2);max-width:360px;margin:0;font-size:13px}.side-col{flex-direction:column;gap:14px;display:flex}.list-card{flex-direction:column;padding:16px 16px 8px;display:flex}.act{border-radius:12px;gap:12px;margin:0 -6px;padding:9px 6px;transition:background .25s;display:flex}.act:hover{background:var(--fill)}.act-icon{border-radius:9px;flex:none;width:28px;height:28px}.act b{font-size:13px;font-weight:600;line-height:1.3;display:block}.act span{color:var(--ink2);font-size:12px}.kv{box-shadow:0 .5px 0 var(--line2);justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;display:flex}.kv span:first-child{color:var(--ink2)}.kv span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.health{flex-direction:column;gap:10px;padding:16px;display:flex}.health-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.health-state{align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.dl-btn-top{border-radius:var(--r-pill);white-space:nowrap;height:36px;color:var(--on-acc);border:0;align-items:center;gap:6px;padding:0 16px;font-size:13px;display:inline-flex}.dl-btn-top:hover{color:var(--on-acc)}.dl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dl-card{flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.dl-head{align-items:center;gap:12px;display:flex}.dl-head h3{margin:0;font-size:16px;font-weight:600}.sha{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px;display:grid}.sha code{text-overflow:ellipsis;white-space:nowrap;color:var(--ink2);overflow:hidden}.dl-btn{border-radius:14px;justify-content:center;height:44px;font-size:14px}.dl-btn:hover{color:var(--on-acc)}.form{gap:14px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{color:var(--ink2);font-size:12px;font-weight:600}.field input{background:var(--fill);height:44px;color:var(--ink);font:inherit;border:0;border-radius:12px;outline:none;padding:0 14px;font-size:14px;transition:box-shadow .25s}.field input:focus{box-shadow:0 0 0 2px var(--acc)}.field-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.link-box{background:var(--fill);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:12px;padding:12px;font-size:12px}.created{box-shadow:0 0 0 1px var(--ok), var(--shadow);animation:dw-rise .5s var(--ease-spring)}.btn-secondary.danger{color:var(--err-text);background:var(--err-bg)}.file-row{background:var(--fill);cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;padding:10px 12px;font-size:12px;display:grid}.file-row.on{box-shadow:0 0 0 2px var(--acc)}.file-row .faint{grid-column:2;font-size:11px}.file-row .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);background:#0006;place-items:center;padding:16px;animation:.3s ease-out dw-fade;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--r-3xl);width:100%;max-width:520px;max-height:calc(100vh - 32px);-webkit-backdrop-filter:blur(var(--glass-blur-dialog)) saturate(var(--glass-saturate));outline:none;flex-direction:column;gap:14px;padding:24px;animation:.5s cubic-bezier(.34,1.45,.64,1) dw-rise;display:flex;overflow:auto}.dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-head h2{letter-spacing:-.03em;margin:0;font-size:22px;font-weight:700}.icon-btn{background:var(--fill);width:32px;height:32px;transition:transform .4s var(--ease-spring), background .3s;border:0;border-radius:50%;flex:none;font-size:13px}.icon-btn:hover{background:var(--fill2);transform:scale(1.08)}.dl-big{border-radius:16px;min-height:60px;padding:10px 20px;font-size:15px}.dl-big:hover{color:var(--on-acc)}.dl-big .grow{text-align:left;flex-direction:column;flex:1;line-height:1.3;display:flex}.dl-big small{opacity:.85;font-size:12px;font-weight:500}.other-list{flex-direction:column;gap:6px;display:flex}.other{background:var(--fill);color:var(--ink);transition:background .25s, transform .4s var(--ease-spring);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.other:hover{background:var(--fill2);color:var(--ink);transform:translate(2px)}.other .faint{white-space:nowrap;font-size:12px}.gauges{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.gauge{text-align:left;transition:transform .5s var(--ease-spring), box-shadow .5s;border:0;flex-direction:column;gap:8px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.gauge:hover:not(:disabled){box-shadow:0 0 0 .5px var(--glass-line), inset 0 1px 0 var(--glass-line), var(--shadow-lg);transform:translateY(-3px)}.gauge[aria-pressed=true]{box-shadow:0 0 0 2px var(--acc), var(--shadow)}.gauge-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.gauge-label{color:var(--ink2);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.gauge-head .pill{text-overflow:ellipsis;min-width:0;overflow:hidden}.gauge-body{align-items:center;gap:12px;display:flex}.ring{flex:none;width:58px;height:58px;position:relative}.ring svg{width:58px;height:58px;transform:rotate(-90deg)}.ring .val{transition:stroke-dasharray .9s var(--ease-standard);animation:dw-ring 1.2s var(--ease-standard) both}.ring span{font-variant-numeric:tabular-nums;place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;inset:0}.gauge-val{flex-direction:column;gap:2px;min-width:0;display:flex}.gauge-val b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1}.gauge-val span{color:var(--ink3);font-size:11px}.spark{align-items:flex-end;gap:2px;height:22px;display:flex}.spark i{transform-origin:50% 100%;min-height:2px;animation:dw-bar .6s var(--ease-standard) both;border-radius:2px;flex:1}.banner{text-align:left;background:var(--err-bg);box-shadow:0 0 0 1px var(--err), var(--shadow);animation:dw-rise .5s var(--ease-spring);border:0;border-radius:20px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.banner-icon{background:var(--err);color:#fff;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:16px;font-weight:700;animation:2.4s ease-in-out infinite dw-shake;display:grid}.banner b{color:var(--err-text);font-size:14px;display:block}.banner small{color:var(--ink2);font-size:12px}.banner .go{border-radius:var(--r-pill);color:#fff;background:var(--err);white-space:nowrap;align-items:center;height:30px;margin-left:auto;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.mon-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.chart-card{flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.metric-tabs{border-radius:var(--r-pill);background:var(--fill);flex-wrap:wrap;gap:4px;padding:3px;display:flex}.metric-tabs button{border-radius:var(--r-pill);white-space:nowrap;height:24px;color:var(--ink2);background:0 0;border:0;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:600;transition:background .35s,color .3s,box-shadow .35s;display:inline-flex}.metric-tabs button[aria-pressed=true]{background:var(--bg2);color:var(--ink);box-shadow:var(--shadow)}.metric-tabs i{border-radius:50%;width:6px;height:6px}.chart{cursor:crosshair;position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .line{stroke-dasharray:100;animation:dw-draw 1.5s .1s var(--ease-standard) both}.chart .area,.chart .band{animation:1.2s .3s both dw-fade}.chart .y-label{color:var(--ink3);pointer-events:none;padding-bottom:3px;font-size:10px;position:absolute;left:0;transform:translateY(-100%)}.chart .t-label{pointer-events:none;padding-bottom:2px;font-size:10px;font-weight:600;position:absolute;right:0;transform:translateY(-100%)}.chart .t-label.warn{color:var(--warn-text)}.chart .t-label.crit{color:var(--err-text)}.tooltip{pointer-events:none;white-space:nowrap;border-radius:14px;flex-direction:column;gap:3px;padding:10px 12px;font-size:12px;animation:.25s ease-out dw-rise;display:flex;position:absolute;top:0}.x-labels{height:16px;margin-top:4px;position:relative}.x-labels span{color:var(--ink3);white-space:nowrap;font-size:10px;position:absolute;top:0}.legend{color:var(--ink2);flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend .end{font-family:var(--font-mono);color:var(--ink3);margin-left:auto}.chart-empty{min-height:220px;color:var(--ink3);place-items:center;font-size:13px;display:grid}.side-card{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.side-card .head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;display:flex}.side-card .head .card-title{white-space:nowrap}.big{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.big b{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.big span{color:var(--ink2);font-size:12px}.bar{border-radius:var(--r-pill);background:var(--fill);height:12px;display:flex;overflow:hidden}.bar i{transform-origin:0;animation:dw-grow 1s var(--ease-standard) both}.foot{box-shadow:0 -.5px 0 var(--line2);color:var(--ink3);justify-content:space-between;align-items:center;gap:8px;padding-top:6px;font-size:11px;display:flex}.foot b{font-size:12px;font-weight:600}.bars{align-items:flex-end;gap:3px;height:44px;display:flex}.bars i{background:linear-gradient(180deg, var(--acc), var(--acc2));transform-origin:50% 100%;min-height:2px;animation:dw-bar .7s var(--ease-standard) both;border-radius:2px;flex:1}.bars-axis{color:var(--ink3);justify-content:space-between;font-size:10px;display:flex}.vault-empty{color:var(--ink2);font-size:12px;line-height:1.5}.alert-card{flex-direction:column;gap:10px;padding:16px;display:flex}.alert-card.critical:not(.acked){box-shadow:0 0 0 1px var(--err), var(--shadow)}.alert-top{align-items:flex-start;gap:12px;display:flex}.alert-icon{color:#fff;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:grid}.alert-top b{font-size:14px;font-weight:600;display:block}.alert-top small{color:var(--ink2);font-size:12px}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:11px;display:grid}.facts div{background:var(--fill);border-radius:12px;flex-direction:column;gap:1px;min-width:0;padding:8px 10px;display:flex}.facts span{color:var(--ink3)}.facts b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.actions{flex-wrap:wrap;gap:8px;display:flex}.rule{box-shadow:0 .5px 0 var(--line2);align-items:center;gap:10px;padding:9px 0;display:flex}.rule-text{flex-direction:column;flex:1;min-width:0;display:flex}.rule-text b{font-size:12px;font-weight:600}.rule-text code{color:var(--ink3);font-size:10px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switch{border-radius:var(--r-pill);background:var(--fill2);border:0;flex:none;width:38px;height:24px;transition:background .35s;position:relative}.switch[aria-checked=true]{background:var(--acc)}.switch:after{content:"";width:18px;height:18px;transition:transform .4s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.switch[aria-checked=true]:after{transform:translate(14px)}.hist{box-shadow:0 .5px 0 var(--line2);grid-template-columns:86px 8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;font-size:11px;display:grid}.hist i{border-radius:50%;width:8px;height:8px}.hist span:nth-child(3){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast{z-index:50;animation:dw-rise .5s var(--ease-spring);border-radius:18px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast .ok{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.state-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:50vh;display:flex}@media (width<=1180px){.proj-grid,.dl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid,.mon-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1023px){.shell{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:14px}.side .label,.side-brand .wordmark,.me-text,.nav-badge{display:none}.side{min-height:calc(100vh - 28px);padding:16px 8px}.side-brand{justify-content:center;padding:4px 0 16px}.nav-btn{justify-content:center;padding:0}.me-btn{justify-content:center;padding:6px}.auth{grid-template-columns:minmax(0,1fr)}.auth-brand{display:none}.auth-mobile-brand{display:flex}.gauges{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.shell{padding:calc(12px + env(safe-area-inset-top)) 12px calc(110px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:12px}.side{display:none}.tabbar{display:grid}.topbar .mobile-brand{margin-right:auto;display:inline-flex}.topbar .meta{display:none}.topbar{gap:8px;padding-left:12px}.topbar .seg button{padding:0 8px}.proj-grid,.dl-grid{grid-template-columns:minmax(0,1fr)}.dl-btn-top .label{display:none}.page-head h1{font-size:24px}.page-head .seg{width:100%}.facts{grid-template-columns:minmax(0,1fr)}.auth-side{padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.auth-card{padding:22px}.menu{width:auto;left:12px;right:12px;bottom:calc(96px + env(safe-area-inset-bottom));position:fixed}.legend .end{margin-left:0}}
