@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #0b0c0e;--surface: #121316;--surface-2: #191b1f;--surface-3: #212329;--field: #0e0f12;--canvas: #0d0e11;--ink: #ecedef;--ink-2: #a3a7b0;--ink-3: #858a94;--rule: #24262c;--rule-strong: #33363e;--primary: #8b9cf9;--primary-hover: #a5b2fb;--primary-ink: #9aa9fa;--primary-soft: #1d2140;--on-primary: #0b0c0e;--ring: rgb(139 156 249 / .28);--ok: #4cc38a;--ok-bg: #12261c;--ok-solid: #4cc38a;--hold: #f1a10d;--hold-bg: #2a2008;--hold-solid: #f1a10d;--fail: #f4686c;--fail-bg: #2a1417;--fail-solid: #f2555a;--fail-text: #ffb3b5;--fail-row: #1b1315;--line-nginx: #6ea8ff;--line-caddy: #d58cf0;--line-apache: #f29b5c;--line-haproxy: #4fd3a5;--line-traefik: #5cc8e6;--shadow-over: 0 24px 60px -18px rgb(0 0 0 / .75), 0 2px 6px rgb(0 0 0 / .4);--scrim: rgb(5 6 8 / .62);--sans: "Inter Variable", ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, "Cascadia Mono", Consolas, "SFMono-Regular", monospace;--fs: .84375rem;--fs-sm: .8125rem;--fs-xs: .75rem;--fs-h2: .875rem;--fs-title: .9375rem;--r: 7px;--r-lg: 12px;--pad: 24px;--pane: 452px;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:var(--fs)/1.5 var(--sans);font-feature-settings:"cv11";color:var(--ink);background:var(--surface);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--primary);color:var(--on-primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}.sprite{position:absolute}svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}h1,h2,h3,p{margin:0}h1{font-size:var(--fs-title);font-weight:600;letter-spacing:-.01em;line-height:1.3}a{color:inherit}:where(p) a:where(:not(.link):not(.btn)){color:var(--primary-ink);text-underline-offset:3px}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--ink-2);font-weight:400}.num{text-align:right}.hint{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5}.hint .mono,.block-title .mono,.meta.mono{font-size:.95em}.ok-ink{color:var(--ok)}.hold-ink{color:var(--hold)}.fail-ink{color:var(--fail)}.strong{font-weight:600}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);height:100vh;transition:grid-template-columns .22s var(--ease)}.rail{display:flex;flex-direction:column;padding:14px 10px 12px;min-height:0;overflow:hidden auto;background:var(--bg);border-right:1px solid var(--rule)}.rail-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 0 14px 8px}.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:.9375rem;letter-spacing:-.01em;text-decoration:none}.brand-mark{width:22px;height:22px;border-radius:6px}.nav{display:flex;flex-direction:column;gap:1px}.nav a{display:flex;align-items:center;gap:10px;height:32px;padding:0 9px;border-radius:var(--r);color:var(--ink-2);text-decoration:none;font-weight:500;white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease)}.nav a svg{color:var(--ink-3);transition:color .15s var(--ease)}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a[aria-current],.nav a.active{background:var(--surface-3);color:var(--ink)}.nav a[aria-current] svg,.nav a.active svg{color:var(--primary)}.nav-count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:5px;font-size:var(--fs-xs);font-weight:600;text-align:center;line-height:20px}.nav-count.fail{background:var(--fail-bg);color:var(--fail)}.nav-count.hold{background:var(--hold-bg);color:var(--hold)}.rail-foot{margin-top:auto;padding:12px 6px 0;display:grid;gap:10px}.dry{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r);background:var(--hold-bg);color:var(--hold);font-size:var(--fs-sm);font-weight:550}.dry:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--hold-solid)}.rail-user{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-sm);font-weight:500}.rail-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-user button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--rule-strong);color:var(--ink-2);border-radius:6px;padding:3px 9px;font:inherit;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.rail-user button:hover{background:var(--surface-3);color:var(--ink)}.rail-user button svg{display:none;width:15px;height:15px}.topbar,.rail-head .rail-close,.rail-scrim{display:none}.rail-meta{font-size:var(--fs-xs);color:var(--ink-3)}.rail-meta a{color:inherit;text-decoration:none}.rail-meta a:hover,.rail-meta a:focus-visible{color:var(--ink);text-decoration:underline}.main{overflow:auto;background:var(--surface);transition:padding-right .28s var(--ease)}.main:has(.drawer:not(.wide)){padding-right:var(--pane)}.view{padding:0 var(--pad) 56px}.page-head{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;margin:0 calc(var(--pad) * -1) 18px;padding:9px var(--pad);background:var(--surface);border-bottom:1px solid var(--rule)}.sub{color:var(--ink-3);font-size:var(--fs-xs);margin-top:1px;max-width:96ch}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.gate-card{width:min(392px,100%);background:var(--surface-2);border:1px solid var(--rule);border-radius:14px;padding:28px 28px 24px;display:grid;gap:16px}.gate-card .brand{padding:0 0 4px}.gate-card h1{font-size:1.1875rem;letter-spacing:-.02em}.gate-card .sub{font-size:var(--fs-sm);color:var(--ink-2);margin-top:4px}.gate-card>.btn{justify-content:center;height:36px}@media(max-width:1100px){.main:has(.drawer:not(.wide)){padding-right:0}}@media(min-width:861px){.shell.collapsed{grid-template-columns:57px minmax(0,1fr)}.collapsed .rail-head{flex-direction:column;gap:10px;padding:0 0 12px}.collapsed .brand span,.collapsed .nav-label,.collapsed .rail-user>span,.collapsed .rail-user button span,.collapsed .dry span,.collapsed .rail-meta{display:none}.collapsed .nav a{position:relative;justify-content:center;padding:0}.collapsed .nav-count{position:absolute;top:3px;right:3px;min-width:15px;padding:0 3px;font-size:.625rem;line-height:15px}.collapsed .rail-foot{padding:12px 0 0;justify-items:center}.collapsed .dry{padding:7px}.collapsed .rail-user button{width:30px;height:30px;padding:0;justify-content:center;border-color:transparent}.collapsed .rail-user button svg{display:block}}@media(max-width:860px){:root{--pad: 16px}.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;height:auto;min-height:100vh}.topbar{display:flex;align-items:center;gap:8px;height:48px;padding:0 10px;position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--rule)}.topbar .icon-btn{width:36px;height:36px}.topbar .icon-btn svg{width:18px;height:18px}.topbar-page{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .dry{margin-left:auto;padding:3px 9px;font-size:var(--fs-xs);white-space:nowrap}.rail{position:fixed;inset:0 auto 0 0;z-index:21;width:min(280px,86vw);padding:10px 10px 14px;border-right:1px solid var(--rule);transform:translate(-100%);visibility:hidden;transition:transform .26s var(--ease),visibility 0s .26s}.menu-open .rail{transform:none;visibility:visible;transition-delay:0s;box-shadow:var(--shadow-over)}.rail-scrim{display:block;position:fixed;inset:0;z-index:20;border:0;padding:0;background:var(--scrim);animation:fade-in .2s var(--ease)}.rail-head{padding-bottom:10px}.rail-head .rail-toggle{display:none}.rail-head .rail-close{display:inline-grid;width:36px;height:36px}.nav a{height:42px;padding:0 11px;gap:12px}.rail-user button{padding:6px 12px}.main{overflow:visible}.page-head{position:static;flex-direction:column;align-items:stretch;gap:10px;padding:14px var(--pad)}}@media(prefers-reduced-motion:reduce){.main,.shell,.rail{transition:none}.rail-scrim{animation:none}}.btn{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:var(--r);border:1px solid var(--rule-strong);background:var(--surface-3);color:var(--ink);font:550 var(--fs-sm)/1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)}.btn:hover{background:#2a2d34;border-color:var(--ink-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.ghost{background:transparent}.btn.ghost:hover{background:var(--surface-3)}.btn.small{height:26px;padding:0 9px;font-size:var(--fs-xs);border-radius:6px}.btn.small svg{width:14px;height:14px}.btn.danger{background:transparent;color:var(--fail);border-color:color-mix(in oklch,var(--fail) 40%,var(--surface))}.btn.danger:hover,.btn.danger:focus-visible{background:var(--fail-solid);color:var(--on-primary);border-color:var(--fail-solid)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:var(--r);background:transparent;color:var(--ink-2);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.link{color:var(--primary-ink);font-weight:550;text-decoration:none;font-size:var(--fs-sm)}.link:hover{text-decoration:underline;text-underline-offset:3px}button.link{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:550;font-size:var(--fs-sm)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--field);color:var(--ink-3);min-width:240px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.search input{border:0;outline:0;background:transparent;font:inherit;color:var(--ink);width:100%}.search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}input::placeholder,textarea::placeholder{color:var(--ink-3)}.seg{display:inline-flex;gap:4px;flex-wrap:wrap}.seg button,.tabs button{border:0;background:transparent;font:500 var(--fs-sm)/1 var(--sans);color:var(--ink-2);height:28px;padding:0 10px;border-radius:var(--r);cursor:pointer;white-space:nowrap;transition:color .15s var(--ease),background .15s var(--ease)}.seg button:hover,.tabs button:hover{color:var(--ink);background:var(--surface-2)}.seg button[aria-selected=true]{background:var(--surface-3);color:var(--ink)}.switch{position:relative;display:inline-block;width:34px;height:20px}.switch input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:10px;background:var(--rule-strong);transition:background .2s var(--ease);pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--ink);transition:transform .22s var(--ease),background .2s var(--ease)}.switch input:checked+span{background:var(--ok-solid)}.switch input:checked+span:after{transform:translate(14px);background:var(--bg)}.switch input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}@media(max-width:860px){.search{min-width:0;flex:1}}@media(prefers-reduced-motion:reduce){.btn,.switch span,.switch span:after{transition:none}}.pill{display:inline-flex;align-items:center;gap:6px;padding:1px 8px 1px 7px;border-radius:6px;font-size:var(--fs-xs);font-weight:550;line-height:18px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.fail{background:var(--fail-bg);color:var(--fail)}.pill.hold{background:var(--hold-bg);color:var(--hold)}.pill.queued,.pill.local{background:var(--surface-3);color:var(--ink-2)}a.tag{text-decoration:none}a.tag:hover{color:var(--ink)}.tag{font-size:var(--fs-xs);font-weight:500;color:var(--ink-2);padding:2px 8px;background:var(--surface-3);border-radius:6px;white-space:nowrap}.inline-state{font-size:var(--fs-sm);font-weight:500;padding:9px 12px;background:var(--hold-bg);border-radius:var(--r)}.err-box{padding:10px 12px;border-radius:var(--r);background:var(--fail-bg);color:var(--fail-text);white-space:pre-wrap;font-size:var(--fs-sm);overflow-wrap:anywhere}.view>.err-box{margin-bottom:14px}.ok-box{padding:10px 12px;border-radius:var(--r);background:var(--ok-bg);color:var(--ok);font-weight:500;font-size:var(--fs-sm)}.empty{padding:48px 18px;text-align:center;color:var(--ink-2);display:grid;gap:4px;justify-items:center}.empty strong{display:block;color:var(--ink);font-weight:600}.loading{color:var(--ink-2);padding:24px 0}.toast{position:fixed;right:20px;bottom:20px;z-index:30;max-width:440px;padding:11px 15px 11px 13px;border-radius:10px;font-weight:500;background:var(--surface-3);border:1px solid var(--rule-strong);color:var(--ink);box-shadow:var(--shadow-over);white-space:pre-wrap;display:flex;gap:10px;align-items:baseline;animation:toast-in .25s var(--ease)}.toast:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;transform:translateY(-1px)}.toast.ok:before{background:var(--ok-solid)}.toast.fail:before{background:var(--fail-solid)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.table-wrap{border:1px solid var(--rule);border-radius:10px;overflow-x:auto}.view>.table-wrap{margin:0 calc(var(--pad) * -1);border:0;border-top:1px solid var(--rule);border-radius:0}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:var(--fs-xs);font-weight:500;color:var(--ink-3);height:34px;padding:0 12px;border-bottom:1px solid var(--rule);background:var(--surface-2);white-space:nowrap}.tbl th.num{text-align:right}.tbl td{padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}.view>.table-wrap .tbl{--edge: var(--pad)}.tbl :is(th,td):first-child{padding-left:var(--edge, 12px)}.tbl :is(th,td):last-child{padding-right:var(--edge, 12px)}.table-wrap:not(.view>*) .tbl tbody tr:last-child td{border-bottom:0}.tbl .meta,.tbl .resi{display:block;color:var(--ink-3);font-size:var(--fs-xs);margin-top:1px}.tbl .resi{white-space:nowrap}.tbl td:has(.pill) .meta{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;max-width:44ch;margin-top:3px}.tbl .dom{font-weight:600}.tbl td.dom{white-space:nowrap}.meta-cell{color:var(--ink-2)}.tbl td:has(.pill){min-width:170px}.row-link{cursor:pointer;transition:background .12s var(--ease)}.row-link:hover{background:var(--surface-2)}.row-link:focus-visible{outline-offset:-2px}.tbl tr.is-fail{background:var(--fail-row)}.tbl tr.is-fail:hover{background:color-mix(in oklch,var(--fail-bg) 60%,var(--surface))}.tbl tr.is-muted td{color:var(--ink-3)}.tbl tr.is-sel{background:var(--primary-soft)}.chev{color:var(--ink-3);width:32px}.row-link:hover .chev{color:var(--ink)}.tbl.compact td,.tbl.compact th{padding:7px 12px}.dns-help{margin-top:28px}.dns-help .hint{margin:-4px 0 12px}.dns-help .tbl{border:1px solid var(--rule);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden}.dns-help .tbl tbody tr:last-child td{border-bottom:0}.table-wrap,.dns-help{container-type:inline-size}@container (max-width: 640px){.tbl,.tbl tbody{display:block}.tbl thead{display:none}.tbl tbody tr{position:relative;display:flex;flex-direction:column;gap:6px;padding:13px var(--edge, 12px) 14px;border-bottom:1px solid var(--rule)}.tbl tbody tr:last-child{border-bottom:0}.tbl tbody tr>td:nth-child(n){display:block;min-width:0;padding:0;border:0;text-align:left;overflow-wrap:anywhere}.tbl tbody tr>td[data-label]{position:relative;padding-left:96px;min-height:1.4em}.tbl td[data-label]:before{content:attr(data-label);position:absolute;left:0;top:0;font:500 var(--fs-xs)/1.7 var(--sans);color:var(--ink-3)}.tbl tbody tr>td:is(.dom,.lead){order:-1;padding-right:52px;margin-bottom:2px;white-space:normal;font-weight:600}.tbl tbody tr>td.tgl{position:absolute;top:12px;right:var(--edge, 12px)}.tbl tbody tr>td.chev{display:none}.tbl td:has(.pill) .meta{max-width:none}}.glist{margin:0 calc(var(--pad) * -1);border-top:1px solid var(--rule);container-type:inline-size}.ghead{display:flex;align-items:center;gap:8px;height:36px;padding:0 var(--pad);background:var(--surface-2);border-bottom:1px solid var(--rule);font-size:var(--fs-sm);font-weight:600}.ghead h2{font:inherit}.ghead .n{color:var(--ink-3);font-weight:500}.ghead.fail svg{color:var(--fail)}.ghead.hold svg{color:var(--hold)}.ghead.ok svg{color:var(--ok)}.ghead.busy svg{animation:spin 1.1s linear infinite}.grows{list-style:none;margin:0;padding:0}.crow{display:grid;grid-template-columns:minmax(0,1fr) 84px 104px 92px;gap:20px;align-items:center;min-height:46px;padding:6px var(--pad);border-bottom:1px solid var(--rule);text-decoration:none;transition:background .12s var(--ease)}.crow:hover{background:var(--surface-2)}.crow:focus-visible{outline-offset:-2px}.crow.sel{background:var(--primary-soft)}.crow-name{display:flex;align-items:baseline;gap:10px;min-width:0}.crow-name b{font-weight:600;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.crow-name .meta{flex:0 1000 auto;min-width:0;color:var(--ink-3);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crow.sel .crow-name .meta,.crow.sel .crow-used{color:var(--ink-2)}.crow .track{grid-template-columns:repeat(5,1fr);width:84px}.crow-used{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crow-left{text-align:right;white-space:nowrap;color:var(--ink-2)}.crow-left.hold{color:var(--hold)}.crow-left.fail{color:var(--fail)}@keyframes spin{to{transform:rotate(360deg)}}@container (max-width: 640px){.crow{grid-template-columns:minmax(0,1fr) auto}.crow .track,.crow-used{display:none}.crow-name{flex-direction:column;align-items:stretch;gap:0}}@media(prefers-reduced-motion:reduce){.ghead.busy svg{animation:none}}.track{display:inline-grid;grid-template-columns:repeat(5,48px);align-items:center;vertical-align:middle}.track .tk{display:grid;padding-right:3px;min-height:20px;align-items:center}.track .tk i{display:block;height:4px;border-radius:2px;background:var(--rule-strong)}.track .tk.done i{background:var(--ok-solid)}.track .tk.current i{background:var(--hold-solid);animation:beat 1.4s ease-in-out infinite}.track .tk.fail i{background:var(--fail-solid)}.track .tk.skip i{background:repeating-linear-gradient(90deg,var(--rule-strong) 0 4px,transparent 4px 8px)}.track.head .tk{min-height:0}.track.head b{font-weight:inherit}.track.big{grid-template-columns:repeat(5,1fr);width:100%;margin:2px 0 22px}.track.big .tk{row-gap:8px;padding-right:5px}.track.big .tk i{height:6px;border-radius:3px}.track.big b{font-size:var(--fs-xs);font-weight:500;color:var(--ink-3)}.track.big .tk.done b{color:var(--ink-2)}.track.big .tk.fail b{color:var(--fail);font-weight:600}.track.big .tk.current b{color:var(--hold);font-weight:600}@keyframes beat{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.track .tk.current i{animation:none}}.pipeline{list-style:none;margin:0;padding:12px 14px;display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--rule)}.pipeline li{font-size:var(--fs-xs);font-weight:550;padding:2px 9px 2px 7px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.pipeline li:before{content:"";width:6px;height:6px;border-radius:50%}.pipeline .done{background:var(--ok-bg);color:var(--ok)}.pipeline .done:before{background:var(--ok-solid)}.pipeline .pending{background:var(--surface-3);color:var(--ink-2)}.pipeline .pending:before{border:1.5px solid var(--ink-3);width:4px;height:4px}.pipeline .fail{background:var(--fail-bg);color:var(--fail)}.pipeline .fail:before{background:var(--fail-solid)}.pipeline .skip{color:var(--ink-3)}.pipeline .current{background:var(--hold-bg);color:var(--hold)}.pipeline .current:before{background:var(--hold-solid)}.results{display:grid;gap:12px;padding:12px 14px;border-top:1px solid var(--rule)}.result{display:grid;gap:8px}.result-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.result .pipeline{padding:0;border:0}.crow.link{grid-template-columns:minmax(0,1fr) 200px 150px 150px}.crow-route{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crow-state{display:grid;justify-items:end;gap:2px}.crow-state .meta{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}@container (max-width: 640px){.crow.link{grid-template-columns:minmax(0,1fr) auto}.crow-route{display:none}}.ends{display:grid;grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:12px;margin-bottom:18px}.ends>span:not(.ends-wire){display:grid;gap:2px;padding:9px 12px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface-3);min-width:0}.ends b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ends .mono{font-size:var(--fs-xs);color:var(--ink-2)}.ends-wire{height:2px;border-radius:2px;background:var(--ink-3)}.ends-wire.ok{background:var(--ok-solid)}.ends-wire.hold{background:repeating-linear-gradient(90deg,var(--hold-solid) 0 6px,transparent 6px 11px)}.ends-wire.fail{background:repeating-linear-gradient(90deg,var(--fail-solid) 0 3px,transparent 3px 9px)}.kv .key{font-size:var(--fs-xs);color:var(--ink-2)}.side-note{margin:10px 0 12px}.drawer .ok-box,.drawer .err-box,.drawer .inline-state{margin-bottom:10px}.inline-state .spin{width:14px;height:14px;margin-right:8px;vertical-align:-2px;animation:spin 1.1s linear infinite}.peers{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--rule)}.peers li{display:grid;gap:1px;padding:9px 0;border-bottom:1px solid var(--rule)}.peers b{font-weight:600}.peers .mono{font-size:var(--fs-xs);color:var(--ink-2);overflow-wrap:anywhere}.peers .meta{font-size:var(--fs-xs);color:var(--ink-3);overflow-wrap:anywhere}.adopt{display:grid;gap:10px}.adopt .block-title{margin-bottom:0}.more{border-top:1px solid var(--rule);padding-top:12px}.more summary{cursor:pointer;font-size:var(--fs-sm);font-weight:550;color:var(--ink-2)}.more summary:hover{color:var(--ink)}.more[open] summary{margin-bottom:10px}.drawer .more{border-top:0;padding-top:0;margin-bottom:10px}.more .code{max-height:240px;white-space:pre-wrap;overflow-wrap:anywhere}.once{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 12px;border-radius:var(--r);background:var(--primary-soft);color:var(--ink);font-size:var(--fs-sm);line-height:1.5}.once svg{width:16px;height:16px;margin-top:2px;color:var(--primary-ink)}.field-row.wide-first{grid-template-columns:1fr 110px}.fp{display:grid;gap:6px;padding:12px;border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--field)}.fp>span{font-size:var(--fs-sm);font-weight:500;color:var(--ink-2)}.fp code{font:600 var(--fs-sm)/1.5 var(--mono);overflow-wrap:anywhere}.steps{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--ink-2);font-size:var(--fs-sm)}.conf{position:relative}.conf .btn{position:absolute;top:8px;right:8px;background:var(--surface-2)}.conf .code{max-height:300px;white-space:pre}@media(max-width:860px){.field-row.wide-first{grid-template-columns:1fr 96px}}@media(prefers-reduced-motion:reduce){.inline-state .spin{animation:none}}.block{margin-bottom:28px}.block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.block-title{font-size:var(--fs-h2);font-weight:600;color:var(--ink);margin-bottom:10px}.block-head .block-title{margin-bottom:0}.block-head .link,.block-head .tag{white-space:nowrap}.block-title .muted{margin-left:4px;color:var(--ink-3)}.editor>*{min-width:0}.all-clear{display:flex;align-items:baseline;gap:10px;padding:12px 14px;border-radius:10px;background:var(--ok-bg);color:var(--ink-2);font-size:var(--fs-sm)}.all-clear:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ok-solid);transform:translateY(-1px)}.all-clear strong{color:var(--ok);font-weight:600}.settings{margin-bottom:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.settings .block{border:1px solid var(--rule);border-radius:var(--r-lg);padding:18px;background:var(--surface-2);margin-bottom:0}.kv{display:grid;grid-template-columns:116px 1fr;gap:8px 14px;margin:0 0 14px}.kv dt{color:var(--ink-3);font-size:var(--fs-sm)}.kv dd{margin:0;overflow-wrap:anywhere}.ws-edit{margin-top:18px;border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface-2);padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.ws-edit-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.ws-edit-head h2{font-size:.9375rem;font-weight:600}.ws-edit .actions{justify-content:flex-end}@media(max-width:1180px){.settings{grid-template-columns:1fr 1fr}}@media(max-width:860px){.ws-edit{padding:14px}.settings{grid-template-columns:1fr}}.home{display:grid;grid-template-columns:minmax(0,1fr) 360px;margin:-18px calc(var(--pad) * -1) -56px;min-height:calc(100vh - 57px)}.stage{padding:18px var(--pad) 32px;min-width:0}.canvas{background:var(--canvas) radial-gradient(circle,var(--rule) 1px,transparent 1.2px) 0 0 / 22px 22px}.stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.stat{display:inline-flex;align-items:baseline;gap:8px;padding:5px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--surface-2);text-decoration:none;transition:border-color .15s var(--ease)}.stat:hover{border-color:var(--ink-3)}.stat b{font-size:.9375rem;font-weight:600}.stat span{color:var(--ink-2);font-size:var(--fs-sm)}.home-side{border-left:1px solid var(--rule);background:var(--surface-2);padding:18px 18px 32px;display:grid;gap:26px;align-content:start;min-width:0}.home-side .block{margin:0}.acts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.act{display:grid;grid-template-columns:16px minmax(0,1fr);gap:2px 10px;padding:11px 12px;border-radius:10px;text-decoration:none;transition:filter .15s var(--ease)}.act:hover{filter:brightness(1.25)}.act svg{margin-top:2px}.act.fail{background:var(--fail-bg)}.act.fail svg{color:var(--fail)}.act.hold{background:var(--hold-bg)}.act.hold svg{color:var(--hold)}.act strong{font-weight:600}.act p{grid-column:2;color:var(--ink-2);font-size:var(--fs-sm);overflow-wrap:anywhere}.mini,.recent{list-style:none;margin:0;padding:0}.mini a{display:grid;grid-template-columns:minmax(0,1fr) 72px 64px;gap:12px;align-items:center;min-height:34px;margin:0 -8px;padding:0 8px;border-radius:var(--r);text-decoration:none;transition:background .12s var(--ease)}.mini a:hover{background:var(--surface-3)}.mini b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini .track{grid-template-columns:repeat(5,1fr);width:72px}.mini .crow-left{font-size:var(--fs-sm)}.life{display:block;height:4px;border-radius:2px;background:var(--rule-strong);overflow:hidden}.life i{display:block;height:100%;min-width:3px;border-radius:2px;background:var(--ok-solid)}.life.hold i{background:var(--hold-solid)}.life.fail i{background:var(--fail-solid)}.recent li{display:grid;grid-template-columns:1fr auto;gap:1px 10px;padding:8px 0;border-top:1px solid var(--rule);font-size:var(--fs-sm)}.recent li:first-child{border-top:0;padding-top:2px}.recent .link{color:var(--ink);font-weight:600}.recent .meta{grid-column:1 / -1;color:var(--ink-3);font-size:var(--fs-xs)}@media(max-width:1180px){.home{grid-template-columns:minmax(0,1fr);min-height:0}.home-side{border-left:0;border-top:1px solid var(--rule)}}.rmap-scroll{overflow-x:auto;padding-bottom:6px}.rmap{position:relative}.rmap-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.rmap-wires path{fill:none;stroke-width:1.75;opacity:.8}.rmap-col{position:absolute;top:0;font-size:var(--fs-xs);font-weight:500;color:var(--ink-3)}.rnode{position:absolute;display:grid;align-content:center;gap:2px;padding:0 14px;border:1px solid var(--rule-strong);border-radius:12px;background:var(--surface-2);text-decoration:none;transition:border-color .15s var(--ease),background .15s var(--ease)}a.rnode:hover{border-color:var(--ink-3);background:var(--surface-3)}.rnode b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rnode .meta{color:var(--ink-3);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rnode .meta.mono{font-size:.6875rem}.rnode.dom{grid-template-columns:minmax(0,1fr) auto;column-gap:10px}.rnode.dom .meta{grid-column:1 / -1}.rnode.dom:after,.rnode.srv:before{content:"";position:absolute;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px var(--canvas)}.rnode.dom:after{right:-5px}.rnode.srv:before{left:-5px}.rnode.dom.hold{border-color:color-mix(in oklch,var(--hold) 55%,var(--rule-strong))}.rnode.dom.fail{border-color:color-mix(in oklch,var(--fail) 55%,var(--rule-strong))}.rnode.edge{border-color:var(--c);background:color-mix(in oklch,var(--c) 13%,var(--surface-2))}.rnode.edge .meta{color:var(--ink-2)}.rnode.srv{border-color:color-mix(in oklch,var(--c) 50%,var(--rule-strong))}.rstack{display:grid;gap:18px}.rgroup{display:grid;gap:8px}.rstack .rmap-col{position:static}.rstack .rnode{position:relative;padding:10px 14px}.rstack .rnode:before,.rstack .rnode:after{content:none}.rleaves{display:grid;gap:6px;margin-left:13px;padding-left:13px;border-left:2px solid color-mix(in oklch,var(--c) 65%,transparent)}.rchip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:550;white-space:nowrap;color:var(--ok)}.rchip svg{width:12px;height:12px;stroke-width:2}.rchip.hold{color:var(--hold)}.rchip.fail{color:var(--fail)}.rchip.none{color:var(--ink-3);font-weight:500}.rmap-off{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}.rmap-off a,.rmap-off span{padding:4px 10px;border:1px dashed var(--rule-strong);border-radius:8px;color:var(--ink-3);font-size:var(--fs-sm);text-decoration:none}.rmap-off a:hover{color:var(--ink);border-color:var(--ink-3)}.topo{border:1px solid var(--rule);border-radius:var(--r-lg);padding:18px 20px}@media(max-width:860px){.topo{padding:14px}}.editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.form fieldset{border:0;border-top:1px solid var(--rule);margin:0;padding:18px 0 20px;display:grid;gap:12px;min-width:0}.form fieldset:first-child{border-top:0;padding-top:0}.form legend{float:left;width:100%;padding:0;margin-bottom:4px;font-size:var(--fs-h2);font-weight:600}.field{display:grid;gap:6px}.field span{font-weight:500;font-size:var(--fs-sm);color:var(--ink-2)}.field .hint{font-weight:400}.field input,.field select,.field textarea{border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--field);color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field input,.field select{height:34px;padding:0 10px;font:inherit}.field input.mono{font-family:var(--mono);font-size:var(--fs-sm)}.field textarea{padding:8px 10px;font:var(--fs-sm)/1.55 var(--mono);resize:vertical;min-height:90px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-3)}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-row,.checks{display:flex;gap:18px;flex-wrap:wrap}.radio,.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.field .radio,.field .check{color:var(--ink)}input[type=radio],input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px;margin:0}.check.is-off{opacity:.55;cursor:not-allowed}.ws-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ws-opt,.mode-opt{border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--surface-2);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}.ws-opt:hover,.mode-opt:hover{border-color:var(--ink-3)}.ws-opt{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;padding:9px 12px}.ws-opt .meta{grid-column:2;font-size:var(--fs-xs);color:var(--ink-2)}.ws-opt-name{font-weight:600}.ws-opt:has(input:checked),.mode-opt.is-on{border-color:var(--primary);background:var(--primary-soft)}.ws-opt.is-off{opacity:.55;cursor:not-allowed}.ws-pick .hint{grid-column:1 / -1}.mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:760px}.mode-opt{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-content:start;padding:13px 15px;border-radius:var(--r-lg)}.mode-opt input{margin-top:3px}.mode-opt strong{font-weight:600}.mode-opt span{grid-column:2;color:var(--ink-2);font-size:var(--fs-sm)}@media(max-width:1180px){.editor{grid-template-columns:1fr}}@media(max-width:860px){.ws-pick,.mode,.field-row{grid-template-columns:1fr}}.preview{position:sticky;top:74px;border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--field);overflow:hidden}.tabs{display:flex;gap:2px;padding:6px 8px 0;background:var(--surface-2);border-bottom:1px solid var(--rule);overflow-x:auto}.tabs button{position:relative;height:auto;border-radius:6px 6px 0 0;font-family:var(--mono);font-size:var(--fs-xs);padding:8px 11px 10px}.tabs button[aria-selected=true]{color:var(--ink);font-weight:600}.tabs button[aria-selected=true]:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--primary)}.code{margin:0;padding:14px 16px;font:var(--fs-xs)/1.7 var(--mono);color:var(--ink);overflow-x:auto;background:var(--field);tab-size:4}.code .c-add,.code .c-del{display:inline-block;width:calc(100% + 32px);margin:0 -16px;padding:0 16px}.code .c-add{color:var(--ok);background:var(--ok-bg)}.code .c-del{color:var(--fail-text);background:var(--fail-bg)}.code .c-hunk{color:var(--primary-ink);font-weight:600}.code .c-ctx{color:var(--ink-2)}.code.boxed{border:1px solid var(--rule);border-radius:10px;max-height:460px}.preview .code{max-height:520px}.preview-note{padding:10px 16px;border-top:1px solid var(--rule);font-size:var(--fs-sm);color:var(--ink-2)}.preview-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--rule);background:var(--surface-2)}@media(max-width:1180px){.preview{position:static}}@media(max-width:860px){.editor{padding-bottom:64px}.preview-actions{position:fixed;left:0;right:0;bottom:0;z-index:6;padding:10px var(--pad)}.preview-actions .btn{flex:1;justify-content:center}}.log-bar .check{font-size:var(--fs-sm);color:var(--ink-2)}.log-bar .btn{margin-left:auto}.log-bar .btn.busy svg{animation:log-spin .8s linear infinite}.log-count{display:flex;align-items:center;gap:6px}.seg-label{font-size:var(--fs-xs);color:var(--ink-3)}.log-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 8px;font-size:var(--fs-xs);color:var(--ink-3)}.log-meta .mono{color:var(--ink-2);overflow-wrap:anywhere}.log-lines{margin:0;padding:6px 0;list-style:none;border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--field);font:var(--fs-xs)/1.65 var(--mono);color:var(--ink-2)}.log-lines li{padding:1px 14px 1px 12px;border-left:2px solid transparent;white-space:pre-wrap;overflow-wrap:anywhere}.log-lines li:hover{background:var(--surface-2);color:var(--ink)}.log-lines li.hold{border-left-color:var(--hold-solid);color:var(--hold)}.log-lines li.fail{border-left-color:var(--fail-solid);color:var(--fail-text);background:var(--fail-row)}@keyframes log-spin{to{transform:rotate(360deg)}}@media(max-width:860px){.log-bar .btn{margin-left:0}.log-lines{margin:0 calc(var(--pad) * -1);border-radius:0;border-left:0;border-right:0}.log-lines li{padding:5px var(--pad) 5px calc(var(--pad) - 2px);border-bottom:1px solid var(--rule)}.log-lines li:last-child{border-bottom:0}}@media(prefers-reduced-motion:reduce){.log-bar .btn.busy svg{animation:none}}.scrim{display:none;position:fixed;inset:0;background:var(--scrim);z-index:10;animation:fade-in .2s ease-out}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(var(--pane),100vw);z-index:11;background:var(--surface-2);border-left:1px solid var(--rule);transform:translate(100%);transition:transform .28s var(--ease);display:flex;flex-direction:column;overflow:hidden}.drawer.open{transform:none}.drawer.wide{width:min(740px,100vw);box-shadow:var(--shadow-over)}.scrim:has(+.drawer.wide){display:block}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 16px 16px 22px;border-bottom:1px solid var(--rule)}.drawer-head h2{font-size:1.1875rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere}.drawer-head .sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:var(--fs-sm);color:var(--ink-2)}.drawer-head .resi{color:var(--ink-3)}.drawer-body{padding:20px 22px 28px;overflow:auto}.drawer .kv{padding:16px 0 18px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:20px}.drawer-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-zone{margin-top:32px;padding-top:18px;border-top:1px solid var(--rule);display:grid;gap:8px;justify-items:start}.log{list-style:none;margin:0 0 22px;padding:0}.log li{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:0 0 14px}.log li:not(.latest){color:var(--ink-2)}.log li.latest strong{color:var(--ink)}.log li.fail strong{color:var(--fail)}.log li.hold strong{color:var(--hold)}.log-time{white-space:nowrap;font-size:.6875rem;color:var(--ink-3);padding-top:3px}.log strong{font-weight:550;display:block}.log p{font-size:var(--fs-sm);margin-top:1px;overflow-wrap:anywhere}dialog.modal{border:1px solid var(--rule-strong);border-radius:14px;padding:0;width:min(540px,calc(100vw - 32px));background:var(--surface-2);color:var(--ink);box-shadow:var(--shadow-over)}dialog.modal[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);animation:pop-in .22s var(--ease)}dialog.modal::backdrop{background:var(--scrim)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px 22px}.modal-head h2{font-size:1rem;font-weight:600}.modal-head,.modal-foot{flex:none}.modal-body{padding:4px 22px 20px;display:grid;gap:14px;align-content:start;min-height:0;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 22px;border-top:1px solid var(--rule);border-radius:0 0 14px 14px}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}@media(max-width:1100px){.scrim{display:block}.drawer{box-shadow:var(--shadow-over)}}@media(max-width:860px){.log li{grid-template-columns:1fr;gap:2px}}@media(prefers-reduced-motion:reduce){.drawer{transition:none}.scrim,dialog.modal[open]{animation:none}}
