:root{color-scheme:light dark;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--border: #e2e5ea;--border-strong: #cfd4dc;--fg: #1a1d23;--muted: #5f6773;--faint: #8b93a1;--accent: #5a63d8;--accent-fg: #ffffff;--accent-weak: color-mix(in srgb, var(--accent) 12%, transparent);--green: #1f9d43;--amber: #b07d00;--red: #cf222e;--info: #4b6bdd;--violet: #7c5cd6;--r: 4px;--r-sm: 3px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--mono: ui-monospace, "SF Mono", "Cascadia Code", "Consolas", monospace;--ui: system-ui, -apple-system, "Segoe UI", sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0c0e13;--surface: #14171f;--surface-2: #1b1f29;--border: #242a35;--border-strong: #313846;--fg: #e6e9ef;--muted: #949cab;--faint: #667085;--accent: #7981f2;--accent-weak: color-mix(in srgb, var(--accent) 16%, transparent);--green: #3fb950;--amber: #d29922;--red: #f85149;--info: #6b8afd;--violet: #a78bfa}}:root[data-theme=light]{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--border: #e2e5ea;--border-strong: #cfd4dc;--fg: #1a1d23;--muted: #5f6773;--faint: #8b93a1;--accent: #5a63d8;--accent-weak: color-mix(in srgb, var(--accent) 12%, transparent);--green: #1f9d43;--amber: #b07d00;--red: #cf222e;--info: #4b6bdd;--violet: #7c5cd6}:root[data-theme=dark]{--bg: #0c0e13;--surface: #14171f;--surface-2: #1b1f29;--border: #242a35;--border-strong: #313846;--fg: #e6e9ef;--muted: #949cab;--faint: #667085;--accent: #7981f2;--accent-weak: color-mix(in srgb, var(--accent) 16%, transparent);--green: #3fb950;--amber: #d29922;--red: #f85149;--info: #6b8afd;--violet: #a78bfa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.55 var(--ui);-webkit-font-smoothing:antialiased}.wrap{max-width:980px;margin-inline:auto;padding:var(--s6) var(--s5) var(--s7)}header.bar{display:flex;align-items:center;gap:var(--s3);padding-bottom:var(--s4);border-bottom:1px solid var(--border);margin-bottom:var(--s6)}.mark{width:24px;height:24px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font:700 13px/1 var(--mono)}.brand{font:600 15px/1 var(--mono);letter-spacing:-.01em;color:var(--fg)}.brand b{color:var(--accent);font-weight:700}a.mark:hover,a.brand:hover{text-decoration:none}.bar .spacer{flex:1}.ver-tag{font:500 12px/1 var(--mono);color:var(--muted)}.ver-tag .dot{color:var(--green);font-size:9px;vertical-align:1px}.identity{display:inline-flex;align-items:center;gap:var(--s3)}.identity .who{font:500 12px/1 var(--mono);color:var(--muted)}.linkish{background:none;border:none;padding:0;color:var(--accent);font:500 12px/1 var(--ui);cursor:pointer}.linkish:hover{text-decoration:underline}.login{min-height:70vh;display:grid;place-items:center}.login-card{max-width:360px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s3)}.login-card .mark{width:32px;height:32px;font-size:15px;margin-bottom:var(--s2)}.login-card h1{font:600 17px/1 var(--mono)}.login-card .lede{margin:0 0 var(--s2)}h1{font-size:20px;font-weight:650;letter-spacing:-.01em;margin:0 0 var(--s2)}h2{font:600 12px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:var(--s6) 0 var(--s3)}section{margin-bottom:var(--s7)}.head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin:var(--s6) 0 var(--s3)}.head-row h2{margin:0}a{color:var(--accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}.muted{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;font-size:.9em}code{font-family:var(--mono);font-size:.9em;color:var(--fg)}.tablecard{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:var(--s3)}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;font:600 11px/1 var(--ui);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}th.nums{text-align:right}tbody td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{background:var(--surface);transition:background .1s}tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.nums{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);white-space:nowrap;color:var(--muted)}.jobid{font:600 13px var(--mono)}td.mono,th.mono{font-family:var(--mono)}td.cfg{font:12px var(--mono);color:var(--muted);white-space:nowrap}.result .fix{margin-left:8px;font:600 11px var(--mono)}.star{color:var(--amber)}.rulecount{font:600 13px var(--mono);color:var(--fg)}.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font:600 11px/1 var(--mono);letter-spacing:.02em;padding:4px 8px;border-radius:var(--r-sm);color:var(--c, var(--muted));background:color-mix(in srgb,var(--c, var(--faint)) 12%,transparent);border:1px solid color-mix(in srgb,var(--c, var(--faint)) 28%,transparent)}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip.done,.chip.clean_code{--c: var(--green)}.chip.running,.chip.pattern{--c: var(--info)}.chip.running:before{animation:pulse 1.3s ease-in-out infinite}.chip.error,.chip.cancelled,.chip.bug{--c: var(--red)}.chip.pending{--c: var(--amber)}.chip.meta{--c: var(--violet)}.chip.queued,.chip.retired{--c: var(--faint);background:var(--surface-2);border-color:var(--border)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.chip.running:before{animation:none}}.chip2{display:inline-flex;border-radius:var(--r-sm);overflow:hidden;font:700 11px/1.7 var(--mono);white-space:nowrap}.chip2 .k{background:var(--surface-2);color:var(--muted);padding:3px 8px}.chip2 .v{padding:3px 8px;color:#fff}.chip2 .v.type{background:var(--info)}.chip2 .v.high{background:var(--red)}.chip2 .v.medium{background:var(--amber)}.chip2 .v.low{background:var(--faint)}.fixcard{border:1px solid var(--border);border-radius:var(--r);padding:var(--s3) var(--s4);margin:var(--s3) 0;background:var(--surface)}.fixhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fixhead .loc{font:12px var(--mono);color:var(--muted)}.fixhead .grow{flex:1}.ctext{margin:var(--s2) 0 0;white-space:pre-wrap;word-break:break-word;color:var(--fg)}.codeblk{margin-top:var(--s3);display:flex;flex-direction:column;gap:5px}.cap{font:600 11px/1 var(--ui);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.fixcard pre.anchor{margin:0;font:12px/1.55 var(--mono);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s2) var(--s3);overflow-x:auto;white-space:pre}.fixcard pre.anchor.sugg{color:var(--fg);border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.thread{margin-top:var(--s3);display:flex;flex-direction:column;gap:var(--s3)}.thread .tc{border-left:2px solid var(--border-strong);padding-left:var(--s3)}.thread .who{font:600 11px var(--mono);color:var(--muted)}.thread .msg{margin:3px 0 0;white-space:pre-wrap;word-break:break-word;color:var(--fg)}.fixbar{display:flex;gap:var(--s4);align-items:center;margin:var(--s4) 0}#toast{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);background:var(--fg);color:var(--bg);padding:.5rem 1rem;border-radius:var(--r);opacity:0;transition:opacity .2s;pointer-events:none;font-size:.85rem}#toast.show{opacity:1}.empty{color:var(--muted);font-style:italic;padding:var(--s4) 0}.error-text{color:var(--red)}.back{display:inline-block;margin-bottom:var(--s4);font:500 13px var(--mono)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s5)}.panel .lede{color:var(--muted);margin:0 0 var(--s5);max-width:64ch}.field{display:flex;flex-direction:column;gap:6px}.field>label{font:600 11px/1 var(--ui);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.pr-row{display:flex;gap:var(--s3);align-items:flex-end}.pr-row .field{flex:1}.controls{display:flex;flex-wrap:wrap;gap:var(--s5);margin-top:var(--s5)}.opts{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s5);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--border)}.check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}.check input{accent-color:var(--accent);width:15px;height:15px}.sev{min-width:220px}.sev .track{display:flex;align-items:center;gap:10px}.sev output{font:600 12px/1 var(--mono);color:var(--fg);min-width:56px;text-align:center;padding:4px 7px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}input[type=text]{font:15px var(--mono);color:var(--fg);padding:9px 11px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-2);width:100%;transition:border-color .12s,box-shadow .12s}input[type=text]::placeholder{color:var(--faint)}input[type=text]:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}input[type=range]{accent-color:var(--accent);flex:1;cursor:pointer}select{font:13px var(--ui);color:var(--fg);padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-2);min-width:116px}button{font:600 13px var(--ui);color:var(--accent-fg);background:var(--accent);border:0;border-radius:var(--r-sm);padding:8px 14px;cursor:pointer;transition:filter .12s,transform .04s}button:hover{filter:brightness(1.07)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{font-size:14px;padding:0 20px;height:38px;white-space:nowrap}button.abort{background:var(--red)}button.mini{padding:5px 10px;font-size:12px}.iconbtn{background:transparent;color:var(--muted);cursor:pointer;border:1px solid var(--border);border-radius:var(--r-sm);padding:0;width:28px;height:28px;display:grid;place-items:center}.iconbtn:hover{filter:none;color:var(--fg);text-decoration:none;border-color:var(--border-strong);background:var(--surface-2)}.iconbtn svg{width:14px;height:14px;display:block}button.toggle{padding:5px 10px;font-size:12px;min-width:5rem}button.toggle.off{background:var(--muted)}button.toggle.on,button.approve{background:var(--green)}button.reject{background:var(--muted)}button.theme-toggle{background:transparent;color:var(--muted);border:1px solid var(--border);padding:0;width:30px;height:30px;display:grid;place-items:center}button.theme-toggle:hover{filter:none;color:var(--fg);border-color:var(--border-strong);background:var(--surface-2)}button.theme-toggle svg{width:15px;height:15px;display:block}:root[data-theme=dark] button.theme-toggle .ico-moon{display:none}:root[data-theme=light] button.theme-toggle .ico-sun{display:none}.actions{display:flex;gap:6px}.pick{font-size:13px;color:var(--muted);display:inline-flex;gap:8px;align-items:center}tr.disabled td{opacity:.5}pre{background:var(--surface-2);padding:var(--s4);border-radius:var(--r);overflow-x:auto;white-space:pre-wrap;word-break:break-word;font:12px/1.5 var(--mono);border:1px solid var(--border)}details{margin-top:var(--s5)}summary{cursor:pointer;color:var(--muted)}ul.steps{list-style:none;padding:0;margin:var(--s4) 0;display:flex;flex-direction:column;gap:6px}ul.steps li{display:flex;align-items:center;gap:8px;color:var(--muted)}ul.steps li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--border-strong);flex:none}ul.steps li.done{color:var(--fg)}ul.steps li.done:before{background:var(--green)}ul.steps li.run{color:var(--fg);font-weight:600}ul.steps li.run:before{background:var(--info);animation:pulse 1.3s ease-in-out infinite}p.step{font-size:15px;margin:var(--s4) 0;display:flex;align-items:center;gap:8px}p.step:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}p.step.done:before{background:var(--green)}p.step.err:before{background:var(--red)}p.step.run:before{background:var(--info);animation:pulse 1.3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){ul.steps li.run:before,p.step.run:before{animation:none}}footer.ver{margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--border);color:var(--faint);font:11px var(--mono);text-align:right}@media(max-width:640px){.pr-row{flex-direction:column;align-items:stretch}button.primary{width:100%}}
