@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";
:root{--bg:#fbfcfd;--surface:#fff;--surface-2:#f3f5f8;--fg:#0e1217;--muted:#6a6f76;--muted-2:#a0a5ab;--border:#e2e5e8;--border-2:#f0f2f4;--accent:#1779e1;--accent-2:#0060c3;--accent-soft:#e9f3ff;--ok:#2aa654;--ok-soft:#e0fae4;--warn:#d38e00;--warn-soft:#ffefd7;--danger:#de3b3d;--danger-soft:#ffedeb;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, system-ui, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-1:0 1px 0 0 #0000000a;--shadow-pop:0 8px 24px -8px #0000001f, 0 2px 6px -2px #00000014;--pad-x:clamp(20px, 4vw, 48px);--max:1200px}@supports (color:lab(0% 0 0)){:root{--bg:lab(98.8433% -.330776 -.661802);--surface:lab(100% 0 0);--surface-2:lab(96.517% -.443906 -1.43213);--fg:lab(5.2525% -.827231 -3.55052);--muted:lab(46.6278% -1.26901 -4.26236);--muted-2:lab(67.5111% -1.08168 -3.56467);--border:lab(90.7162% -.552952 -1.78909);--border-2:lab(95.357% -.443876 -1.4321);--accent:lab(49.9088% 4.02367 -61.7788);--accent-2:lab(40.0694% 11.4045 -68.3357);--accent-soft:lab(95.2584% -2.85462 -14.478);--ok:lab(60.239% -48.4852 32.1713);--ok-soft:lab(95.8936% -11.84 7.56052);--warn:lab(65.0191% 20.6923 71.3966);--warn-soft:lab(95.4129% 4.93097 18.9675);--danger:lab(51.5803% 63.2457 38.9399);--danger-soft:lab(94.9893% 12.2795 6.63545);--shadow-1:0 1px 0 0 lab(0% 0 0/.04);--shadow-pop:0 8px 24px -8px lab(0% 0 0/.12), 0 2px 6px -2px lab(0% 0 0/.08)}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.55}h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600}p{text-wrap:pretty;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,kbd,pre,.mono{font-family:var(--font-mono);font-feature-settings:"ss02"}.num,.tabular{font-variant-numeric:tabular-nums}.container{width:100%;max-width:var(--max);padding-inline:var(--pad-x);margin:0 auto}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:12px;display:flex}.between{justify-content:space-between}.gap-sm{gap:8px}.gap-lg{gap:24px}.muted{color:var(--muted)}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}hr{border:0;border-top:1px solid var(--border);margin:0}.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{border-color:var(--muted-2);text-decoration:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);border-color:#0000}.btn-sm{padding:6px 10px;font-size:13px}.btn-icon{padding:8px}.input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);outline:none;width:100%;padding:8px 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-page{background:radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 34%), var(--bg);place-items:center;min-height:100vh;padding:72px 20px;display:grid}.login-brand{position:fixed;top:24px;left:24px}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(100%,460px);box-shadow:var(--shadow-pop);gap:18px;padding:28px;display:grid}.login-panel h1{font-family:var(--font-display);letter-spacing:0;margin:8px 0;font-size:28px;line-height:1.12}.login-panel .field{color:var(--muted);gap:7px;font-size:13px;display:grid}.auth-mode-switch{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.auth-mode-switch button{border-radius:calc(var(--radius) - 2px);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700}.auth-mode-switch button[aria-selected=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 0 color-mix(in oklab, var(--ink) 8%, transparent)}.auth-form-row{justify-content:flex-end;margin-top:-8px;display:flex}.text-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.text-link:hover,.login-notice a:hover{text-decoration:underline}.login-hint{color:var(--muted);margin:-10px 0 0;font-size:12px;line-height:1.4}.login-error{border-radius:var(--radius);border:1px solid color-mix(in oklab, var(--danger) 34%, transparent);background:color-mix(in oklab, var(--danger) 10%, transparent);color:var(--danger);margin:0;padding:10px 12px;font-size:13px;line-height:1.4}.login-notice{border-radius:var(--radius);border:1px solid color-mix(in oklab, var(--ok) 34%, transparent);background:color-mix(in oklab, var(--ok) 10%, transparent);color:color-mix(in oklab, var(--ok) 70%, var(--fg));margin:0;padding:10px 12px;font-size:13px;line-height:1.4}.login-notice a{color:inherit;font-weight:800}.login-submit{justify-content:center;width:100%}.auth-secondary{color:var(--muted);text-align:center;font-size:13px;line-height:1.4}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-tight{padding:14px 16px}.pill{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;line-height:1.5;display:inline-flex}.pill .dot{background:currentColor;border-radius:999px;width:6px;height:6px}.pill-ok{color:var(--ok);background:var(--ok-soft);border-color:#0000}.pill-warn{color:var(--warn);background:var(--warn-soft);border-color:#0000}.pill-danger{color:var(--danger);background:var(--danger-soft);border-color:#0000}.pill-accent{color:var(--accent);background:var(--accent-soft);border-color:#0000}.topnav{z-index:30;background:color-mix(in oklab, var(--bg) 80%, transparent);-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.topnav-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.brand{font-family:var(--font-display);letter-spacing:0;color:var(--fg);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.brand:hover{text-decoration:none}.brand-logo{flex-shrink:0;justify-content:flex-start;align-items:center;gap:0;height:34px;display:inline-flex}.brand-logo-image{object-fit:contain;width:auto;max-width:100%;height:100%;display:block}.brand-logo-horizontal{width:178px}.brand-logo-emblem{width:48px}.brand-mark{background:radial-gradient(circle at 30% 30%,#7abaff,#005bb7 70%);background:radial-gradient(circle at 30% 30%,lab(73.4057% -1.32397 -62.2901),lab(37.2395% 17.5974 -75.1184) 70%);border-radius:6px;width:22px;height:22px;box-shadow:inset 0 0 0 1px #00000014;box-shadow:inset 0 0 0 1px lab(0% 0 0/.08)}.brand-mark.lg{border-radius:8px;width:28px;height:28px}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a{color:var(--muted);border-radius:var(--radius-sm);padding:6px 10px;font-size:14px}.nav-links a:hover{color:var(--fg);background:var(--surface-2);text-decoration:none}.nav-links a[aria-current=page]{color:var(--fg)}@media (max-width:720px){.nav-links{display:none}}.foot{border-top:1px solid var(--border);color:var(--muted);margin-top:64px;padding-block:36px 28px;font-size:13px}.foot a{color:var(--muted)}.foot a:hover{color:var(--fg)}.foot-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:28px;display:grid}.foot-grid h5{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--fg);margin-bottom:12px;font-size:12px;font-weight:600}.foot-grid ul{flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.foot-bottom{border-top:1px solid var(--border-2);justify-content:space-between;align-items:center;margin-top:28px;padding-top:18px;font-size:12px;display:flex}@media (max-width:720px){.foot-grid{grid-template-columns:1fr 1fr}.foot-bottom{flex-direction:column;align-items:flex-start;gap:12px}}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px}.table th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);font-size:12px;font-weight:500}.table tbody tr:hover td{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.app{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:18px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{padding:4px 8px}.sidebar .dashboard-brand{width:186px;height:40px;padding:2px 8px}.side-section{flex-direction:column;gap:2px;display:flex}.side-section h6{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:8px 8px 6px;font-size:11px;font-weight:600}.side-link{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex}.side-link svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:16px;height:16px}.side-link:hover{color:var(--fg);background:var(--surface-2);text-decoration:none}.side-link[aria-current=page]{color:var(--fg);background:var(--accent-soft)}.side-link[aria-current=page] svg{color:var(--accent)}.side-foot{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;margin-top:auto;padding:10px;font-size:13px;display:flex}.avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#9c96f8,#1779e1);background:linear-gradient(135deg,lab(65.8612% 19.5279 -48.7205),lab(49.9088% 4.02367 -61.7788));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:inline-flex}.workspace{background:var(--bg);min-width:0}.work-head{z-index:10;background:color-mix(in oklab, var(--bg) 85%, transparent);-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.work-head-inner{justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex}.crumbs{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--fg)}.crumbs .sep{opacity:.4}.crumbs .cur{color:var(--fg);font-weight:500}.work-body{max-width:1280px;padding:28px}.work-title{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.work-title h1{font-size:clamp(22px,2.4vw,28px);line-height:1.15}.work-title .subtitle{color:var(--muted);margin-top:4px;font-size:14px}@media (max-width:880px){.app{grid-template-columns:1fr}.sidebar{display:none}.work-head-inner,.work-body{padding-inline:20px}}.tiles{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.tile .label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.tile .value{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px;line-height:1.1}.tile .delta{font-size:12px}.delta-up{color:var(--ok)}.delta-down{color:var(--danger)}@media (max-width:880px){.tiles{grid-template-columns:repeat(2,1fr)}}.sec-title{justify-content:space-between;align-items:baseline;margin:0 0 12px;display:flex}.sec-title h3{font-size:16px}.sec-title .actions{gap:6px;display:flex}.list{flex-direction:column;display:flex}.list .row-item{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.list .row-item:last-child{border-bottom:0}.list .row-item:hover{background:var(--surface-2)}.row-item .meta{color:var(--muted);font-size:12px}.logs{color:#e2e5e8;color:lab(90.7162% -.552952 -1.78909);font-family:var(--font-mono);border-radius:var(--radius);background:#050c13;background:lab(3.01922% -.727452 -4.46609);max-height:480px;padding:14px 16px;font-size:12.5px;line-height:1.55;overflow:auto}.logs .ln{grid-template-columns:90px 56px 1fr;gap:14px;padding:1px 0;display:grid}.logs .ln .ts{color:#6d7c8c;color:lab(51.2358% -2.90898 -10.535)}.logs .ln .lvl{color:#8f9aa4;color:lab(62.8574% -2.07284 -7.08299)}.logs .ln.info .lvl{color:#61b7de;color:lab(70.1021% -18.4275 -28.1415)}.logs .ln.warn .lvl{color:#eba941;color:lab(74.3749% 18.2478 61.1498)}.logs .ln.err .lvl{color:#ff716b;color:lab(65.744% 56.5434 32.8389)}.logs .ln.ok .lvl{color:#62c37a;color:lab(71.6219% -42.0726 27.5213)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-family:inherit;font-size:14px}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}.term{color:#e9ebee;color:lab(93.0362% -.553161 -1.78919);border-radius:var(--radius-lg);font-family:var(--font-mono);background:#050c13;background:lab(3.01922% -.727452 -4.46609);padding:16px 18px 18px;font-size:13px;line-height:1.65;overflow:hidden}.term-head{color:#7d8792;color:lab(55.8966% -2.056 -7.07493);border-bottom:1px solid #212a33;border-bottom:1px solid lab(16.4443% -1.81831 -6.9765);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px;font-size:12px;display:flex}.term-dot{background:#333c45;background:lab(24.5688% -1.90632 -7.00992);border-radius:999px;width:10px;height:10px}.term-dot.r{background:#e55551;background:lab(56.4482% 56.6925 33.5542)}.term-dot.y{background:#efa831;background:lab(74.342% 19.9794 67.2846)}.term-dot.g{background:#40a35c;background:lab(60.0058% -42.2361 27.8083)}.term .p{color:#38abb1;color:lab(63.8503% -31.3482 -12.8947)}.term .c{color:#727c86;color:lab(51.2559% -2.04286 -7.06874)}.term .ok{color:#68ca80;color:lab(73.9447% -42.0464 27.476)}.term .a{color:#80baff;color:lab(73.7836% -3.60543 -48.8371)}.term .w{color:#f2af48;color:lab(76.7033% 18.106 60.6421)}.term .h{color:#e9ebee;color:lab(93.0362% -.553161 -1.78919)}.regions{grid-template-columns:1.4fr 1fr;align-items:center;gap:28px;display:grid}@media (max-width:880px){.regions{grid-template-columns:1fr}}.region-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 14px;display:flex}.region-card .left{align-items:center;gap:10px;display:flex}.region-card .flag{border-radius:2px;flex-shrink:0;width:22px;height:16px;display:inline-block;box-shadow:inset 0 0 0 1px #0000000f;box-shadow:inset 0 0 0 1px lab(0% 0 0/.06)}.flag-de{background:linear-gradient(#000 33%,#d00 33% 66%,#ffce00 66%)}.flag-fi{background:#fff;position:relative}.flag-fi:before{content:"";background:linear-gradient(90deg,#0000 36%,#003580 36% 51%,#0000 51%),linear-gradient(#0000 36%,#003580 36% 64%,#0000 64%);position:absolute;inset:0}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (max-width:880px){.grid-2,.grid-3{grid-template-columns:1fr}}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.menu-wrap{display:inline-block;position:relative}.menu-wrap [data-menu] .caret{opacity:.55;margin-left:4px;font-size:9px}.menu{background:var(--surface);border:1px solid var(--border);z-index:60;opacity:0;pointer-events:none;border-radius:10px;min-width:200px;padding:4px;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 6px);left:0;transform:translateY(-4px)scale(.98);box-shadow:0 12px 32px -12px #0000002e,0 2px 6px -2px #00000014;box-shadow:0 12px 32px -12px lab(0% 0 0/.18),0 2px 6px -2px lab(0% 0 0/.08)}.menu[data-align=right]{left:auto;right:0}.menu-wrap.open .menu{opacity:1;pointer-events:auto;transform:none}.menu-section{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10.5px;font-family:var(--font-mono);padding:8px 10px 4px;font-weight:500}.menu-item{cursor:pointer;color:var(--fg);-webkit-user-select:none;user-select:none;text-align:left;appearance:none;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:7px 10px;font-family:inherit;font-size:13px;line-height:1.4;display:flex}.menu-item:hover{background:var(--surface-2)}.menu-item:focus{outline:none}.menu-item:focus-visible{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--accent-soft)}.menu-item .mi-left{align-items:center;gap:8px;min-width:0;display:inline-flex}.menu-item .mi-dot{background:var(--muted-2);border-radius:999px;flex-shrink:0;width:7px;height:7px}.menu-item[data-value=running] .mi-dot,.menu-item[data-value=healthy] .mi-dot,.menu-item[data-value=production] .mi-dot{background:var(--ok)}.menu-item[data-value=failed] .mi-dot,.menu-item[data-value=danger] .mi-dot{background:var(--danger)}.menu-item[data-value=building] .mi-dot,.menu-item[data-value=staging] .mi-dot,.menu-item[data-value=warn] .mi-dot{background:var(--warn)}.menu-item[data-value=stopped] .mi-dot,.menu-item[data-value=archived] .mi-dot{background:var(--muted-2)}.menu-item .mi-count{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.menu-item .mi-check{opacity:0;width:14px;height:14px;color:var(--accent);flex-shrink:0}.menu-item.is-active .mi-check{opacity:1}.menu-item.is-active{color:var(--accent)}.menu-divider{background:var(--border);height:1px;margin:4px 2px}.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius-md);background:var(--surface-2);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:24px 20px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.dropzone svg{width:28px;height:28px;color:var(--muted);stroke:currentColor;stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round}.dropzone .dz-title{color:var(--fg);font-size:14px;font-weight:500}.dropzone .dz-hint{color:var(--muted);font-size:12px}.dropzone .dz-actions{gap:8px;margin-top:4px;display:flex}.import-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:12px;display:flex}.import-tabs button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px 10px;font-family:inherit;font-size:13px}.import-tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}.diff-summary{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-md);flex-wrap:wrap;gap:14px;padding:10px 14px;font-size:12.5px;display:flex}.diff-summary .ds-stat{align-items:center;gap:6px;display:inline-flex}.diff-summary .ds-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.diff-summary .ds-dot.add{background:var(--ok)}.diff-summary .ds-dot.upd{background:var(--warn)}.diff-summary .ds-dot.same{background:var(--muted-2)}.diff-summary .ds-dot.err{background:var(--danger)}.diff-summary .ds-count{font-family:var(--font-mono);color:var(--fg);font-weight:500}.diff-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);max-height:280px;overflow:hidden auto}.diff-row{border-bottom:1px solid var(--border);font-family:var(--font-mono);grid-template-columns:18px 1fr 80px 1fr;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:grid}.diff-row:last-child{border-bottom:0}.diff-row .tag{color:#fff;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex}.diff-row.add .tag{background:var(--ok)}.diff-row.upd .tag{background:var(--warn);color:#0e171e;color:lab(7.23336% -2.52666 -6.34827)}.diff-row.same .tag{background:var(--muted-2)}.diff-row.err .tag{background:var(--danger)}.diff-row .k{color:var(--fg);word-break:break-all;font-weight:500}.diff-row .arrow{color:var(--muted-2);text-align:center;font-size:14px}.diff-row .v{color:var(--muted);word-break:break-all}.diff-row .v .new{color:var(--fg)}.diff-row .v .old{color:var(--muted-2);margin-right:6px;text-decoration:line-through}.diff-row.err .v{color:var(--danger)}.secret-val{font-family:var(--font-mono);color:var(--muted);display:inline-block}.secret-val.is-revealed{color:var(--fg);background:var(--accent-soft);border-radius:3px;padding:1px 6px}.toast-stack{z-index:80;pointer-events:none;flex-direction:column-reverse;gap:8px;width:min(380px,100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:var(--radius);width:100%;min-width:0;box-shadow:0 16px 32px -16px color-mix(in oklab, var(--fg) 38%, transparent);grid-template-columns:18px 1fr auto;align-items:flex-start;gap:12px;padding:12px 14px;font-size:13px;line-height:1.45;animation:.22s cubic-bezier(.2,.7,.2,1) t-in;display:grid}.toast[data-closing]{animation:.18s forwards t-out}@keyframes t-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes t-out{to{opacity:0;transform:translateY(8px)}}.toast.toast-err{border-left-color:var(--danger)}.toast.toast-info{border-left-color:var(--accent)}.toast .t-ic{color:var(--ok);padding-top:1px;display:inline-flex}.toast.toast-err .t-ic{color:var(--danger)}.toast.toast-info .t-ic{color:var(--accent)}.toast .t-ic svg{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.toast .t-body{overflow-wrap:anywhere;min-width:0}.toast .t-body b{color:var(--fg);margin-bottom:1px;font-size:13px;font-weight:600;display:block}.toast .t-body span{color:var(--muted);font-size:12.5px}.toast .t-body code{font-family:var(--font-mono);font-size:11.5px}.toast .t-close{color:var(--muted-2);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.toast .t-close:hover{color:var(--fg)}.toast .toast-body{overflow-wrap:anywhere;min-width:0}.toast .toast-title{color:var(--fg);margin-bottom:1px;font-size:13px;font-weight:600;display:block}.toast .toast-text{color:var(--muted);font-size:12.5px;line-height:1.45}.toast .toast-text code{font-family:var(--font-mono);font-size:11.5px}.toast .toast-close{color:var(--muted-2);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.toast .toast-close:hover{color:var(--fg)}.toast.out{opacity:0;transition:opacity .18s,transform .18s;transform:translateY(8px)}.modal-backdrop{background:color-mix(in oklab, var(--fg) 30%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:.14s bd-in;display:none;position:fixed;inset:0}.modal-backdrop[open],.modal-backdrop.open,.modal-backdrop:not([hidden]){display:flex}@keyframes bd-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:580px;box-shadow:0 30px 60px -20px color-mix(in oklab, var(--fg) 30%, transparent);animation:.16s m-in;overflow:hidden}@keyframes m-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.modal-head .title{align-items:center;gap:10px;display:flex}.modal-head .title h3{margin:0;font-size:15px;font-weight:600}.modal-head .title .ic{color:var(--muted);display:inline-flex}.modal-head .title .ic svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.modal-head .esc{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:11px}.modal-body{flex-direction:column;gap:14px;padding:16px 18px 14px;display:flex}.modal-body .lede{color:var(--muted);font-size:13.5px;line-height:1.55}.modal-body .field{flex-direction:column;display:flex}.modal-body label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px}.modal-body .hint{color:var(--muted-2);margin-top:4px;font-size:11.5px}.modal-body .row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.seg{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.seg button{appearance:none;cursor:pointer;font:inherit;color:var(--muted);border:0;border-right:1px solid var(--border);background:0 0;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:500}.seg .seg-btn{appearance:none;cursor:pointer;font:inherit;color:var(--muted);border:0;border-right:1px solid var(--border);background:0 0;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.seg .seg-btn:last-child{border-right:0}.seg .seg-btn.is-active{background:var(--accent-soft);color:var(--accent);font-weight:500}.modal-body .grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:580px){.modal-body .grid2{grid-template-columns:1fr}}.btn-close{appearance:none;cursor:pointer;width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;font-size:18px;line-height:1;display:grid}.btn-close:hover{background:var(--surface-2);color:var(--fg)}.modal-actions{border-top:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex}.modal-actions .meta{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.modal-actions .meta svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px;color:var(--accent)}.modal-actions .actions{gap:8px;display:flex}
:root{--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--hero-glow:radial-gradient(60% 80% at 70% 0%, #1779e124, transparent 70%);--mesh-1:#1779e11a;--mesh-2:#0099ca14;--ring:#1779e159;--code-bg:#050c13;--code-fg:#e9ebee;--grid-line:#e2e5e8b3}@supports (color:lab(0% 0 0)){:root{--hero-glow:radial-gradient(60% 80% at 70% 0%, lab(49.9088% 4.02367 -61.7788/.14), transparent 70%);--mesh-1:lab(49.9088% 4.02367 -61.7788/.1);--mesh-2:lab(58.4832% -21.639 -36.0847/.08);--ring:lab(49.9088% 4.02367 -61.7788/.35);--code-bg:lab(3.01922% -.727452 -4.46609);--code-fg:lab(93.0362% -.553161 -1.78919);--grid-line:lab(90.7162% -.552952 -1.78909/.7)}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0d13;--surface:#12161d;--surface-2:#1a2028;--fg:#ebeff4;--muted:#989faa;--muted-2:#626975;--border:#282e38;--border-2:#1f242d;--accent:#67a5ff;--accent-2:#93c0ff;--accent-soft:#1f3559;--ok:#54c57a;--ok-soft:#183b23;--warn:#edb345;--warn-soft:#45310b;--danger:#fa6863;--danger-soft:#572220;--shadow-1:0 1px 0 0 #0000004d;--shadow-pop:0 16px 40px -12px #0009, 0 4px 10px -4px #00000080;--hero-glow:radial-gradient(60% 80% at 70% 0%, #67a5ff29, transparent 70%);--mesh-1:#67a5ff1f;--mesh-2:#0099ca1a;--ring:#67a5ff73;--code-bg:#04070e;--code-fg:#e4e8ed;--grid-line:#282e3899}@supports (color:lab(0% 0 0)){[data-theme=dark]{--bg:lab(3.66197% -.229739 -3.52614);--surface:lab(7.16062% -.446476 -5.76895);--surface-2:lab(11.7622% -.572428 -6.56077);--fg:lab(94.184% -.651181 -2.93596);--muted:lab(65.1376% -.85035 -6.67907);--muted-2:lab(44.2463% -.866443 -7.38345);--border:lab(18.7165% -.689328 -7.3094);--border-2:lab(14.084% -.605673 -6.57293);--accent:lab(66.569% .29999 -52.717);--accent-2:lab(76.0045% -1.37451 -49.4762);--accent-soft:lab(21.7939% 1.03998 -24.7508);--ok:lab(71.7631% -46.2748 27.6397);--ok-soft:lab(21.8924% -18.4654 11.0053);--warn:lab(76.8535% 14.2022 61.9688);--warn-soft:lab(22.2973% 6.18184 26.7927);--danger:lab(63.4204% 56.5783 32.9929);--danger-soft:lab(21.4924% 25.1137 14.525);--shadow-1:0 1px 0 0 lab(0% 0 0/.3);--shadow-pop:0 16px 40px -12px lab(0% 0 0/.6), 0 4px 10px -4px lab(0% 0 0/.5);--hero-glow:radial-gradient(60% 80% at 70% 0%, lab(66.569% .29999 -52.717/.16), transparent 70%);--mesh-1:lab(66.569% .29999 -52.717/.12);--mesh-2:lab(58.4832% -21.639 -36.0847/.1);--ring:lab(66.569% .29999 -52.717/.45);--code-bg:lab(1.94578% -.0757203 -3.1934);--code-fg:lab(91.864% -.650793 -2.93571);--grid-line:lab(18.7165% -.689328 -7.3094/.6)}}[data-theme=dark] .term,[data-theme=dark] .logs{background:var(--code-bg);border:1px solid var(--border)}html{--theme-tx:background-color .35s ease, border-color .35s ease, color .35s ease}body,.card,.tile,.sidebar,.topnav,.work-head,.pill,.btn,.table th,.input,.menu{transition:var(--theme-tx)}@media (prefers-reduced-motion:reduce){html{--theme-tx:none}}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--muted-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--muted-2) 60%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted-2);background-clip:content-box}.brand-mark{background:linear-gradient(140deg,#71acff,#1256d8 70%);background:linear-gradient(140deg,lab(68.8002% .773191 -56.1663),lab(39.4097% 21.6462 -73.5858) 70%);position:relative;box-shadow:inset 0 0 0 1px #ffffff2e,0 1px 3px #1957d266;box-shadow:inset 0 0 0 1px lab(100% 0 0/.18),0 1px 3px lab(39.6376% 19.096 -70.0996/.4)}.brand-mark:after{content:"";border-radius:inherit;background:radial-gradient(circle at 32% 28%,#ffffff8c,#0000 55%);background:radial-gradient(circle at 32% 28%,lab(100% 0 0/.55),#0000 55%);position:absolute;inset:0}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;place-items:center;transition:color .12s,border-color .12s,background .12s;display:inline-grid}.theme-toggle:hover{color:var(--fg);border-color:var(--muted-2)}.theme-toggle svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.theme-toggle .sun{display:none}[data-theme=dark] .theme-toggle .sun{display:block}[data-theme=dark] .theme-toggle .moon{display:none}.dotfield{background-image:radial-gradient(var(--grid-line) 1px, transparent 1px);background-size:22px 22px}.pill{white-space:nowrap}kbd,.kbd{font-family:var(--font-mono);border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px;line-height:1.5;display:inline-block}.grad-accent{color:var(--accent);-webkit-text-fill-color:currentColor;background:0 0}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--ok) 55%, transparent)}70%{box-shadow:0 0 0 5px color-mix(in oklab, var(--ok) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in oklab, var(--ok) 0%, transparent)}}.dot-live{position:relative}@media (prefers-reduced-motion:no-preference){.dot-live{animation:2.4s ease-out infinite live-pulse}}
