:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ground:var(--lightningcss-light,#f4f5f7)var(--lightningcss-dark,#0f1216);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#181b21);--surface-2:var(--lightningcss-light,#fafbfc)var(--lightningcss-dark,#1b1f26);--line:var(--lightningcss-light,#e2e5ea)var(--lightningcss-dark,#2c323b);--line-soft:var(--lightningcss-light,#edeff2)var(--lightningcss-dark,#22272e);--line-strong:var(--lightningcss-light,#c3c8d0)var(--lightningcss-dark,#4d5460);--line-stronger:var(--lightningcss-light,#a9b0bb)var(--lightningcss-dark,#616874);--control:var(--lightningcss-light,#d5d9e0)var(--lightningcss-dark,#3c434d);--field:var(--lightningcss-light,#f7f8fa)var(--lightningcss-dark,#12161b);--hover:var(--lightningcss-light,#ebeef3)var(--lightningcss-dark,#292e37);--hover-soft:var(--lightningcss-light,#f0f2f5)var(--lightningcss-dark,#242931);--row-hover:var(--lightningcss-light,#f7f9fc)var(--lightningcss-dark,#1d2229);--ink:var(--lightningcss-light,#151a22)var(--lightningcss-dark,#e8ebf0);--ink-2:var(--lightningcss-light,#3b4452)var(--lightningcss-dark,#cbd0d7);--ink-3:var(--lightningcss-light,#4a5361)var(--lightningcss-dark,#b3b9c3);--muted:var(--lightningcss-light,#5a6371)var(--lightningcss-dark,#9ba2ae);--on-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#181b21);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0c1421);--accent:var(--lightningcss-light,#2357c6)var(--lightningcss-dark,#78a4f5);--accent-hover:var(--lightningcss-light,#1a43a0)var(--lightningcss-dark,#9bbefd);--accent-soft:var(--lightningcss-light,#e6edfb)var(--lightningcss-dark,#222f46);--accent-wash:var(--lightningcss-light,#eef3fd)var(--lightningcss-dark,#1d2739);--accent-tint:var(--lightningcss-light,#f5f8fe)var(--lightningcss-dark,#1b222f);--accent-line:var(--lightningcss-light,#8fa9dd)var(--lightningcss-dark,#5370a5);--accent-ink:var(--lightningcss-light,#1d4bae)var(--lightningcss-dark,#adcafd);--pass-bg:var(--lightningcss-light,#e3f3ea)var(--lightningcss-dark,#152e1f);--pass-ink:var(--lightningcss-light,#14663f)var(--lightningcss-dark,#8bd6a7);--pass-line:var(--lightningcss-light,#1f8a55)var(--lightningcss-dark,#4bb379);--pass-soft-line:var(--lightningcss-light,#9ec9ae)var(--lightningcss-dark,#28533a);--pass-strong:var(--lightningcss-light,#0f4d30)var(--lightningcss-dark,#b0e5c2);--pass-tint:var(--lightningcss-light,#f1f9f4)var(--lightningcss-dark,#16241b);--fail-bg:var(--lightningcss-light,#fde9e7)var(--lightningcss-dark,#3a1f1d);--fail-ink:var(--lightningcss-light,#a61b12)var(--lightningcss-dark,#fda9a1);--fail-line:var(--lightningcss-light,#c0261a)var(--lightningcss-dark,#e36860);--fail-soft-line:var(--lightningcss-light,#f3b9b3)var(--lightningcss-dark,#683b36);--fail-strong:var(--lightningcss-light,#7a140c)var(--lightningcss-dark,#ffc4bd);--fail-tint:var(--lightningcss-light,#fdf6f5)var(--lightningcss-dark,#2d1b19);--warn-bg:var(--lightningcss-light,#fdf0dc)var(--lightningcss-dark,#34240f);--warn-ink:var(--lightningcss-light,#8a4b00)var(--lightningcss-dark,#ebb878);--warn-line:var(--lightningcss-light,#c77700)var(--lightningcss-dark,#cb8d36);--revise-line:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#e57945);--idle-bg:var(--lightningcss-light,#eceef2)var(--lightningcss-dark,#262c34);--idle-ink:var(--lightningcss-light,#454e5c)var(--lightningcss-dark,#b7bcc6);--track:var(--lightningcss-light,#e9ecf0)var(--lightningcss-dark,#090b0f);--shadow:var(--lightningcss-light,#151a2224)var(--lightningcss-dark,#00000080);--scrim:var(--lightningcss-light,#151a2273)var(--lightningcss-dark,#0009);--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font:400 15px/1.45 var(--sans);margin:0}a{color:var(--accent)}a:hover{color:var(--accent-hover)}h1,h2,h3,h4{margin:0;font-weight:600}.mono{font-family:var(--mono)}.hint{color:var(--muted);font-size:13px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{height:40px;font:500 15px/1 var(--sans);border:1px solid var(--control);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hover-soft);color:var(--ink)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-ghost{color:var(--accent);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--accent-wash);color:var(--accent-hover)}.btn-danger{color:var(--fail-ink)}.btn-sm{height:34px;padding:0 12px;font-size:14px}.icon-btn{border:1px solid var(--control);background:var(--surface);width:36px;height:36px;color:var(--ink-2);cursor:pointer;border-radius:8px;place-items:center;display:inline-grid}.icon-btn.bare{background:0 0;border-color:#0000}.icon-btn:hover:not(:disabled){background:var(--hover-soft)}.icon-btn:disabled,.icon-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.select-row{gap:8px;display:flex}.select-row>select{flex:1;min-width:0}.select-row>.icon-btn{flex:none;width:40px;height:40px}.chip{height:24px;font:500 13px/1 var(--sans);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.tone-pass{background:var(--pass-bg);color:var(--pass-ink)}.tone-fail{background:var(--fail-bg);color:var(--fail-ink)}.tone-warn{background:var(--warn-bg);color:var(--warn-ink)}.tone-idle{background:var(--idle-bg);color:var(--idle-ink)}.tone-info{background:var(--accent-soft);color:var(--accent-ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;display:flex}.card-head h2{font-size:17px}.card-body{padding:20px}.head-actions,.foot-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-foot{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 12px 12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.page{flex-direction:column;gap:20px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.01em;font-size:30px;line-height:1.2}.page-head p{color:var(--ink-3);margin:6px 0 0}.row{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.grow{flex:999 520px;min-width:0}.side{flex:300px;min-width:0}.row.split{position:relative}.row.split>:where(:not(.split-resizer)){--split-min:240px;min-width:min(var(--split-min), 100%)}.row.split>.grow{--split-min:520px}.row.split.even>:where(:not(.split-resizer)){flex:1 1 0}.split-resizer{cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0}.split-resizer:hover,.split-resizer:active{background:linear-gradient(var(--accent), var(--accent)) center / 2px 100% no-repeat}.ui-tooltip{z-index:1000;border:1px solid var(--line);background:var(--surface);max-width:min(360px,100vw - 16px);color:var(--ink);box-shadow:0 4px 16px var(--shadow);font:400 13px/1.4 var(--sans);overflow-wrap:anywhere;pointer-events:none;border-radius:6px;margin:0;padding:6px 10px;position:fixed;inset:auto}.breadcrumb{color:var(--ink-3);align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumb a{color:var(--ink-3)}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-bar>.btn{margin-left:auto}.list-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.list-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 16px;display:flex}.table-wrap{overflow-x:auto}.tbl{font-variant-numeric:tabular-nums;border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;padding:10px 16px;font-size:13px;font-weight:500;position:relative}.tbl td{border-bottom:1px solid var(--line-soft);white-space:nowrap;vertical-align:middle;padding:12px 16px}.col-resizer{cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;right:0}.col-resizer:hover,.col-resizer:active{background:linear-gradient(var(--accent), var(--accent)) center / 2px 100% no-repeat}.tbl.resized{table-layout:fixed}.tbl.resized th,.tbl.resized td{text-overflow:ellipsis;overflow:hidden}.tbl tbody tr:hover td{background:var(--row-hover)}.tbl .sub{color:var(--muted);margin-top:2px;font-size:13px}.tbl .bin-line{gap:4px;max-width:300px;display:flex}.tbl.resized .bin-line{max-width:none}.bin-line .file{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bin-line .file+span{white-space:nowrap;flex:none}.rowlink{color:var(--ink);font-weight:600;text-decoration:none}.rowlink:hover{color:var(--accent)}.tabs{box-shadow:inset 0 -1px var(--line);gap:28px;display:flex;overflow:auto hidden}.tab{height:44px;color:var(--ink-3);font:500 15px var(--sans);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 4px;text-decoration:none;display:inline-flex}.tab:hover{color:var(--ink)}.tab[aria-current=page],.tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink);font-weight:600}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field>.label,.label{color:var(--ink);font-size:14px;font-weight:500}.req{color:var(--fail-ink)}.inp{border:1px solid var(--control);height:40px;font:400 15px var(--sans);color:var(--ink);background:var(--surface);border-radius:8px;width:100%;padding:0 12px}.inp.mono{font-family:var(--mono)}textarea.inp{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.inp[aria-invalid=true]{border-color:var(--fail-line);background:var(--fail-tint)}.inp:disabled,.inp[readonly]{background:var(--ground);color:var(--ink-2)}.error-text{color:var(--fail-ink);font-size:13px}.warn-text{color:var(--warn-ink)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=720px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}.kv{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px 16px;margin:0;display:grid}.kv dt{color:var(--muted);font-size:13px}.kv dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:500}.rows{margin:0}.rows>div{border-bottom:1px solid var(--line-soft);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:11px 0;display:grid}.rows>div:last-child{border-bottom:0}.rows dt{color:var(--muted);font-size:14px}.rows dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}.notice{border-radius:10px;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.notice.info{background:var(--accent-wash);color:var(--lightningcss-light,#1e2c4a)var(--lightningcss-dark,#c9d8f4);border:1px solid var(--lightningcss-light,#d3def6)var(--lightningcss-dark,#314262)}.notice.error{background:var(--fail-bg);border:1px solid var(--fail-soft-line);color:var(--fail-strong)}.notice.success{background:var(--pass-bg);border:1px solid var(--pass-soft-line);color:var(--pass-strong)}.notice.warn{background:var(--warn-bg);color:var(--lightningcss-light,#6b3a00)var(--lightningcss-dark,#fcc682)}.empty{text-align:center;color:var(--ink-3);flex-direction:column;align-items:center;gap:10px;padding:40px 24px;display:flex}.card-head.collapsed{border-bottom:0}.collapse-toggle{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;margin-left:-4px;padding:2px 4px;display:inline-flex}.collapse-toggle:hover{background:var(--ground)}.chevron{color:var(--ink-3);transition:transform .15s;display:grid}.chevron.closed{transform:rotate(-90deg)}
