:root{--bg:#fffdf9;--bg-subtle:#faf7f2;--bg-muted:#f5f0e8;--bg-hover:#f6f1e8;--bg-sel:#f1ebe1;--line:#ebe4d8;--line-strong:#dcd2c1;--line-hover:#c9bda9;--ink:#0f1419;--ink-2:#4a4f55;--ink-3:#63676b;--accent:#e76f51;--accent-hover:#df6344;--accent-press:#cf5638;--accent-ink:#0f1419;--accent-text:#b04a33;--accent-soft:#fbe9e2;--ring:#e76f5138;--ochre:#c98a2b;--ochre-soft:#f7ecd6;--ochre-ink:#855a12;--olive:#7d8a3a;--olive-soft:#ebeedb;--olive-ink:#4f5a26;--danger:#b04a33;--danger-soft:#fbe9e2;--primary:#0f1419;--primary-hover:#262c33;--primary-ink:#faf7f2;--code-bg:#faf7f2;--shadow-sm:0 1px 2px #0f14190f;--shadow:0 1px 2px #0f14190d, 0 6px 20px #0f141914;--shadow-lg:0 2px 6px #0f14190f, 0 24px 60px #0f14192e;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--rail:88px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{min-width:1024px;font:13.5px/1.5 var(--font);color:var(--ink);background:var(--bg-subtle);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}a{color:var(--accent-text);text-underline-offset:2px}a:hover{color:var(--ink)}code,.mono{font-family:var(--mono);font-variant-ligatures:none;font-size:12.5px}h1,h2,h3{text-wrap:balance;margin:0}h1{letter-spacing:-.02em;font-size:24px;font-weight:650;line-height:1.2}h2{letter-spacing:-.01em;font-size:18px;font-weight:620}h3{letter-spacing:-.005em;font-size:14px;font-weight:620}p{text-wrap:pretty;margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:20;background:var(--bg);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:6px 10px;position:absolute;top:-40px;left:8px}.skip-link:focus{top:8px}.shell{grid-template-columns:var(--rail) minmax(0, 1fr);background:linear-gradient(to right, var(--ink) var(--rail), transparent var(--rail));min-height:100%;display:grid}.rail{background:var(--ink);color:var(--bg-subtle);flex-direction:column;align-items:stretch;gap:4px;height:100vh;padding:14px 8px;display:flex;position:sticky;top:0}.rail .logo{letter-spacing:-.03em;height:40px;color:var(--bg-subtle);justify-content:center;align-items:baseline;gap:1px;margin-bottom:14px;font-size:22px;font-weight:750;text-decoration:none;display:flex}.rail .logo i{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.rail a.nav{border-radius:var(--r-md);color:#d9d3c9;text-align:center;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:12px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.rail a.nav:hover{color:var(--bg);background:#1d252d}.rail a.nav.active{background:var(--bg);color:var(--ink)}.rail a.nav.active svg{color:var(--accent-text)}.main{flex-direction:column;min-width:0;display:flex}.topbar{align-items:center;gap:var(--s4);height:60px;padding:0 var(--s5);border-bottom:1px solid var(--line);background:var(--bg-subtle);z-index:5;display:flex;position:sticky;top:0}.topbar .brand{letter-spacing:-.01em;font-size:16px;font-weight:700}.topbar .spacer{flex:1}.topbar .who{align-items:center;gap:var(--s2);color:var(--ink-2);min-width:0;font-size:12.5px;display:flex}.avatar{background:var(--bg-muted);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:650;display:grid}.content{width:100%;max-width:1280px;padding:var(--s6) var(--s6) 64px}.page-head{align-items:flex-end;gap:var(--s4);margin-bottom:var(--s5);display:flex}.page-head .grow{flex:1;min-width:0}.page-head p{color:var(--ink-2);margin-top:6px;font-size:14px}.crumb{color:var(--ink-3);margin-bottom:6px;font-size:12.5px}.crumb a{color:var(--ink-2);text-decoration:none}.crumb a:hover{color:var(--ink);text-decoration:underline}.panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);min-width:0}.panel-head{align-items:center;gap:var(--s3);padding:14px var(--s4);border-bottom:1px solid var(--line);background:var(--bg-subtle);border-radius:var(--r-md) var(--r-md) 0 0;min-height:56px;display:flex}.panel-head h2{font-size:16px}.panel-head .grow{flex:1;min-width:0}.panel-body{padding:var(--s4)}.panel-foot{padding:var(--s3) var(--s4);border-top:1px solid var(--line);gap:var(--s2);align-items:center;display:flex}.stack{gap:var(--s4);flex-direction:column;display:flex}.row{gap:var(--s3);align-items:center;display:flex}.row.wrap{flex-wrap:wrap}.grid-2{gap:var(--s4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.grid-main{gap:var(--s4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.summary{gap:var(--s5);margin-bottom:var(--s4);color:var(--ink-2);flex-wrap:wrap;display:flex}.summary strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:4px;font-size:15px}.summary .warn strong{color:var(--ochre-ink)}.table-wrap{position:relative;overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:13.5px}.t th{text-align:left;color:var(--ink-2);background:var(--bg-muted);padding:9px var(--s4);border-bottom:1px solid var(--line);white-space:nowrap;font-size:12.5px;font-weight:600}.t td{padding:12px var(--s4);border-bottom:1px solid var(--line);vertical-align:middle}.t tr:last-child td{border-bottom:0}.t tbody tr:hover td{background:var(--bg-hover)}.t .r{text-align:right;font-variant-numeric:tabular-nums}.t a.rowlink{color:var(--ink);font-weight:620;text-decoration:none}.t a.rowlink:hover{text-decoration:underline}.t .sub{color:var(--ink-3);overflow-wrap:anywhere;font-size:12px;display:block}.t td.nowrap{white-space:nowrap}.cell-trunc{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.btn{border-radius:var(--r-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,transform 80ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);color:var(--primary-ink)}.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #b04a3340,inset 0 1px #ffffff2e}.btn-accent:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-ink)}.btn-accent:active:not(:disabled){background:var(--accent-press)}.btn-secondary{background:var(--bg);border-color:var(--line-strong);color:var(--ink);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){border-color:var(--line-hover);background:var(--bg-hover);color:var(--ink)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--ink)}.btn-danger{color:#fff;background:#b04a33}.btn-danger:hover:not(:disabled){color:#fff;background:#9c3f2a}.btn-sm{gap:5px;height:28px;padding:0 9px;font-size:12.5px}.btn-icon{width:32px;padding:0}.btn-sm.btn-icon{width:28px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label,.label{color:var(--ink);font-size:12.5px;font-weight:600}.field .help{color:var(--ink-2);font-size:12px}.field .err{color:var(--danger);font-size:12px;font-weight:600}.input,.select{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);height:34px;color:var(--ink);width:100%;min-width:0;padding:0 10px;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--ink-3)}.input:hover:not(:disabled){border-color:var(--line-hover)}.input:disabled{background:var(--bg-subtle);color:var(--ink-3)}.input:focus-visible,.select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input.mono{font-family:var(--mono);font-size:12.5px}.form-grid{gap:var(--s4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.form-grid .span-2{grid-column:1/-1}.seg{background:var(--bg-muted);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:2px;display:inline-flex}.seg button{border-radius:var(--r-xs);height:28px;color:var(--ink-2);background:0 0;border:0;padding:0 14px;font-size:13px;font-weight:600}.seg button:hover:not(:disabled){color:var(--ink)}.seg button[aria-checked=true]{background:var(--bg);color:var(--ink);box-shadow:0 1px 2px #0f14191a, 0 0 0 1px var(--line-strong)}.switch{flex:none;width:40px;height:24px;display:inline-flex;position:relative}.switch input{appearance:none;background:var(--line-strong);cursor:pointer;border-radius:999px;width:40px;height:24px;margin:0;transition:background-color .15s}.switch input:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0f141940}.switch input:checked{background:var(--olive)}.switch input:checked:after{transform:translate(16px)}.switch input:disabled{cursor:not-allowed;opacity:.5}.switch input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge{background:var(--bg-muted);height:22px;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:620;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.ok{background:var(--olive-soft);color:var(--olive-ink)}.badge.warn{background:var(--ochre-soft);color:var(--ochre-ink)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.badge.coral{background:var(--accent-soft);color:var(--accent-text)}.conn{align-items:flex-start;gap:8px;min-width:0;display:flex}.conn .dot{background:var(--line-hover);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.conn .dot.ok{background:var(--olive)}.conn .dot.warn{background:var(--ochre)}.conn .dot.bad{background:var(--danger)}.feat{gap:var(--s4);padding:11px var(--s4);border-bottom:1px solid var(--line);grid-template-columns:190px minmax(0,1fr) auto;align-items:center;display:grid}.feat:last-child{border-bottom:0}.feat .name{font-weight:620}.feat .desc{color:var(--ink-2);font-size:13px}.feat.off .name,.feat.off .desc{color:var(--ink-3)}.feat .side{align-items:center;gap:var(--s3);justify-content:flex-end;display:flex}.group-title{align-items:center;gap:var(--s3);display:flex}section[data-kind]>.group-title{padding:var(--s3) var(--s4) var(--s2);color:var(--ink-2);background:var(--bg-subtle);border-bottom:1px solid var(--line);margin:0;font-size:12.5px}section[data-kind]>.group-note{padding:var(--s2) var(--s4);color:var(--ink-2);border-bottom:1px solid var(--line);margin:0;font-size:13px}.stepper{align-items:center;gap:var(--s3);margin:0 0 var(--s5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.stepper li{align-items:center;gap:var(--s2);color:var(--ink-2);font-size:13.5px;display:flex}.stepper li .n{border:1px solid var(--line-strong);background:var(--bg);width:28px;height:28px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:12.5px;font-weight:650;display:grid}.stepper li.done .n{background:var(--olive);border-color:var(--olive);color:#fff}.stepper li.current{color:var(--ink);font-weight:650}.stepper li.current .n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stepper li .bar{background:var(--line-strong);width:36px;height:1px;margin-left:var(--s2)}.stepper a{color:inherit;text-decoration:none}.stepper a:hover{text-decoration:underline}.steps{margin:0;padding:0;list-style:none}.steps li{gap:var(--s3);padding:10px var(--s4);border-bottom:1px solid var(--line);grid-template-columns:24px minmax(0,1fr) auto;align-items:start;display:grid}.steps li:last-child{border-bottom:0}.steps .icon{color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.steps .icon.pass{background:var(--olive)}.steps .icon.fail{background:var(--danger)}.steps .icon.warn{background:var(--ochre)}.steps .icon.skip,.steps .icon.not_tested{background:var(--bg-muted);color:var(--ink-3);border:1px solid var(--line-strong)}.steps .lbl{font-weight:600}.steps .detail{color:var(--ink-2);font-size:13px}.steps .fix{border-radius:var(--r-sm);background:var(--accent-soft);color:var(--ink);margin-top:6px;padding:8px 10px;font-size:13px}.steps .fix.warn{background:var(--ochre-soft)}.steps .ms{color:var(--ink-3);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}.notice{gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-subtle);color:var(--ink);display:flex}.notice.warn{background:var(--ochre-soft);border-color:#ecd9b4}.notice.bad{background:var(--danger-soft);border-color:#f2cdbf}.notice.ok{background:var(--olive-soft);border-color:#d9dfbd}.notice svg{flex:none;margin-top:2px}.copy{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--mono);color:var(--ink);align-items:center;gap:4px;min-width:0;padding:4px 4px 4px 10px;font-size:12.5px;display:flex}.copy span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.guide{gap:var(--s3);flex-direction:column;margin:0;padding-left:20px;display:flex}.guide li::marker{color:var(--ink-3);font-weight:600}.guide .gt{gap:var(--s2);flex-wrap:wrap;align-items:center;font-weight:620;display:flex}.guide ul{color:var(--ink-2);margin:4px 0 0;padding-left:18px}.dl{gap:8px var(--s4);grid-template-columns:140px minmax(0,1fr);margin:0;display:grid}.dl dt{color:var(--ink-2)}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.empty{padding:40px var(--s4);text-align:center;color:var(--ink-2);gap:var(--s2);flex-direction:column;align-items:center;display:flex}.empty h3{color:var(--ink)}.skel{border-radius:var(--r-xs);background:linear-gradient(90deg, var(--bg-muted), var(--bg-sel), var(--bg-muted));background-size:200% 100%;height:12px;animation:1.4s ease-in-out infinite skel;display:block}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.list{margin:0;padding:0;list-style:none}.list li{gap:var(--s3);padding:10px var(--s4);border-bottom:1px solid var(--line);align-items:center;min-width:0;display:flex}.list li:last-child{border-bottom:0}.list .grow{flex:1;min-width:0}.list .title{text-overflow:ellipsis;white-space:nowrap;font-weight:620;overflow:hidden}.list .sub{color:var(--ink-3);font-size:12px}.toast{background:var(--ink);color:var(--bg-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:30;padding:10px 16px;font-weight:600;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}dialog.dlg{border:1px solid var(--line);border-radius:var(--r-lg);width:440px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);color:var(--ink);background:var(--bg);overscroll-behavior:contain;padding:0}dialog.dlg::backdrop{background:#0f141959}dialog.dlg .dlg-body{padding:var(--s5);gap:var(--s3);flex-direction:column;display:flex}dialog.dlg .dlg-foot{padding:var(--s3) var(--s5);border-top:1px solid var(--line);justify-content:flex-end;gap:var(--s2);background:var(--bg-subtle);border-radius:0 0 var(--r-lg) var(--r-lg);display:flex}.signin{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%;display:grid}.signin .left{background:var(--ink);color:var(--bg-subtle);flex-direction:column;justify-content:space-between;padding:48px;display:flex}.signin .left h1{max-width:18ch;font-size:34px;line-height:1.15}.signin .left p{color:#cfc8bd;max-width:46ch;margin-top:var(--s3);font-size:15px}.signin .right{place-items:center;padding:48px;display:grid}.signin .card{gap:var(--s4);flex-direction:column;width:380px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1360px){.grid-main{grid-template-columns:minmax(0,1fr)}}.filters{gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);align-items:center;display:flex}.filters .input{max-width:280px}.tabs{gap:var(--s1);border-bottom:1px solid var(--line);margin:0 0 var(--s5);display:flex}.tabs a{padding:9px var(--s3);color:var(--ink-2);border-radius:var(--r-sm) var(--r-sm) 0 0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:560;text-decoration:none}.tabs a:hover{color:var(--ink);background:var(--bg-hover)}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.tabs a:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.head-badges{gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.signin .logo-lg{border-radius:var(--r-md);background:var(--accent);width:44px;height:44px;color:var(--accent-ink);place-items:center;font-size:20px;font-weight:750;display:grid}.signin .left p.faint-inv{color:#9c968d;font-size:13px}.center-page{max-width:640px;margin:48px auto}
