:root{--bg:#0a0a0a;--panel:#0a0a0a;--field-bg:#000;--border:#262626;--text:#c9c9c9;--bright:#f2f2f2;--muted:#6e6e6e;--accent:#3dff7c;--ok:#3dff7c;--warn:#ffb347;--err:#f55;--bad:#f55;--mono:ui-monospace,SFMono-Regular,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}.badge,.btn,.panel,button,input,pre,select,textarea{border-radius:0!important}body{margin:0;background:var(--bg);color:var(--text);font:13.5px/1.6 var(--mono)}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,hsla(0,0%,100%,.015),hsla(0,0%,100%,.015) 1px,transparent 0,transparent 3px);z-index:9999}::selection{background:var(--accent);color:#000}h1,h2,h3{font-family:var(--mono);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bright)}h1{font-size:18px}h1:before{content:"▓▒░ ";letter-spacing:0}h1:after,h1:before{color:var(--accent)}h1:after{content:"█";margin-left:6px;animation:blink 1.1s steps(1) infinite}h2:before{content:"── ";color:var(--muted)}@keyframes blink{50%{opacity:0}}a{color:var(--accent)}a,a:hover{text-decoration:none}a:hover{background:var(--accent);color:#000}.container{max-width:1100px;margin:0 auto;padding:24px}.nav{display:flex;align-items:center;gap:20px;padding:10px 24px;border-bottom:1px solid var(--border);background:var(--bg);font-family:var(--mono)}.nav strong{color:var(--accent);font-size:14px;letter-spacing:.08em}.nav strong:before{content:"▚▚ "}.nav a{color:var(--text)}.nav a:before{content:"[";color:var(--muted)}.nav a:after{content:"]";color:var(--muted)}.nav a:hover{background:var(--accent);color:#000}.nav a:hover:after,.nav a:hover:before{color:#000}.spacer{flex:1 1}.panel{background:var(--panel);border:1px solid var(--border);padding:16px;margin-bottom:16px;position:relative}.panel:before{content:"┌";position:absolute;top:-1px;left:-1px;color:var(--accent);background:var(--bg);line-height:1}.row{display:flex;gap:12px;align-items:center}.muted{color:var(--muted)}.mono,.muted{font-size:12.5px}.mono{word-break:break-all}.badge,.mono{font-family:var(--mono)}.badge{display:inline-block;padding:0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;border:0}.badge:before{content:"["}.badge:after{content:"]"}.badge.queued{color:var(--muted)}.badge.running{color:var(--accent);animation:blink 1.4s steps(1) infinite}.badge.succeeded{color:var(--ok)}.badge.cancelled,.badge.failed{color:var(--err)}.badge.stalled{color:var(--warn,#ffc857);animation:blink 1.4s steps(1) infinite}.btn,button{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.05em;background:transparent;color:var(--accent);border:1px solid var(--accent);padding:6px 12px;cursor:pointer}.btn:before,button:before{content:"[ "}.btn:after,button:after{content:" ]"}.btn:hover:not(:disabled),button:hover:not(:disabled){background:var(--accent);color:#000}.btn.secondary,button.ghost{color:var(--text);border-color:var(--border)}.btn.secondary:hover:not(:disabled),button.ghost:hover:not(:disabled){background:var(--text);color:#000}.btn:disabled,button:disabled{opacity:.4;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:6px 10px;border-bottom:1px dashed var(--border)}th{color:var(--muted);font-weight:400;font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border)}tbody tr:hover{background:#101010}pre{border:1px solid var(--border);padding:12px;overflow:auto;font-size:12.5px;max-height:460px}input,pre,select,textarea{background:var(--field-bg);font-family:var(--mono)}input,select,textarea{font-size:13px;color:var(--text);caret-color:var(--accent)}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent);outline-offset:-1px}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;margin:0 2px;border:1px solid var(--border);background:var(--field-bg);cursor:pointer;display:inline-grid;place-content:center;vertical-align:middle}input[type=radio]{border-radius:50%!important}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--accent)}input[type=checkbox]:checked:before{content:"×";color:var(--accent);font:700 13px/1 var(--mono)}input[type=radio]:checked:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:1px solid var(--accent);outline-offset:1px}*{scrollbar-width:thin;scrollbar-color:var(--border) var(--field-bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--field-bg)}::-webkit-scrollbar-thumb{background:var(--border);border:1px solid var(--field-bg)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-corner{background:var(--field-bg)}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.grid,.kv{display:grid}.kv{grid-template-columns:190px 1fr;grid-gap:6px 14px;gap:6px 14px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}.kv>label{color:var(--muted)}.kv>label:after{content:" :"}:root{--form-accent:#ff9d3d;--form-accent-dim:#7a4a1c;--form-bg:#0d0b09;--form-border:#3a2c1e;--form-text:#f0e6dc}.vf-input,.vf-select,.vf-textarea{width:100%;padding:8px 10px;background:var(--form-bg);color:var(--form-text);border:1px solid var(--form-border);border-radius:2px;font:inherit;font-size:13px;outline:none;transition:border-color 90ms linear,box-shadow 90ms linear}.vf-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.vf-input:focus,.vf-select:focus,.vf-textarea:focus{border-color:var(--form-accent);box-shadow:0 0 0 1px var(--form-accent)}.vf-input::placeholder,.vf-textarea::placeholder{color:#6b5b4c}.vf-input:disabled,.vf-select:disabled,.vf-textarea:disabled{background:#131313;color:#6f6f6f;border-color:#2a2a2a;cursor:not-allowed}.vf-input.vf-err,.vf-select.vf-err,.vf-textarea.vf-err{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}.vf-errmsg{color:var(--bad);font-size:12px;margin-top:4px;display:block}.vf-label{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#9a8b7c;margin-bottom:4px}.vf-card{border:1px solid var(--form-border);background:#0b0a09;padding:14px;display:grid;grid-gap:10px;gap:10px}.vf-card-title{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.vf-btn,.vf-card-title{color:var(--form-accent)}.vf-btn{background:transparent;border:1px solid var(--form-border);padding:4px 9px;font:inherit;font-size:12px;cursor:pointer;border-radius:2px}.vf-btn:hover:not(:disabled){background:var(--form-accent);color:#140d05}.vf-btn:disabled{color:#6f6f6f;border-color:#2a2a2a;cursor:not-allowed}.vf-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;color:var(--form-text)}.vf-muted{color:#8a7a6c;font-size:12px}.vf-badge{display:inline-block;font-size:10px;letter-spacing:.1em;padding:2px 6px;border:1px solid var(--form-accent-dim);color:var(--form-accent);text-transform:uppercase}.v4-root{display:grid;grid-gap:0;gap:0}.v4-prop{border:1px solid var(--line,#242824);background:var(--panel2,rgba(12,16,12,.88));padding:12px 14px 14px;margin-bottom:12px}.v4-ptag{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--dim,#565c56);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}.v4-idx{color:var(--green,#19e06b)}.v4-type{margin-left:auto}.v4-req{color:var(--green-dim,#0d7a3c)}.v4-name{font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:14px;color:var(--text,#d8dcd8);margin:2px 0 8px}.v4-f{display:block;font-size:11.5px;color:var(--dim,#565c56);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.v4-input{width:100%;padding:8px 10px;background:rgba(0,0,0,.5);border:1px solid var(--line2,#333833);color:var(--text,#d8dcd8);font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:13px}.v4-input:focus-visible{outline:none;border-color:var(--green,#19e06b);box-shadow:0 0 0 2px #19e06b44}.v4-badval{border-color:var(--red,#ff5c5c)!important}.v4-badmsg{font-size:11.5px;color:var(--red,#ff5c5c);margin-top:4px}.v4-desc{font-size:12px;color:var(--muted,#8a908a);margin-top:6px}.v4-default{font-size:11.5px;color:var(--dim,#565c56);margin-top:4px}.v4-json{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12px;line-height:1.5;resize:vertical;min-height:60px;white-space:pre;overflow-wrap:normal;overflow-x:auto}.v4-stored{margin:4px 0 8px}.v4-clear{margin-top:8px;background:none;cursor:pointer;border:1px solid var(--line2,#333833);color:var(--muted,#8a908a);font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:11.5px;padding:6px 10px;text-transform:uppercase;letter-spacing:.05em}.v4-clear:hover{color:var(--red,#ff5c5c);border-color:var(--red,#ff5c5c)}.v4-children{margin-top:14px;border-left:1px solid var(--green-dim,#0d7a3c);padding-left:14px}.v4-lvl{font-size:11px;color:var(--green-dim,#0d7a3c);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.v4-sw{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted,#8a908a);padding:12px 0 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.v4-sw input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.v4-cbx{width:20px;height:20px;flex:none;background:rgba(0,0,0,.75);border:1px solid var(--line2,#333833);position:relative;transition:border-color .12s,box-shadow .12s}.v4-sw:hover .v4-cbx{border-color:var(--muted,#8a908a)}.v4-sw input:focus-visible+.v4-cbx{border-color:var(--green,#19e06b);box-shadow:0 0 0 2px #19e06b44}.v4-sw input:checked+.v4-cbx{border-color:var(--green,#19e06b);background:var(--green-ink,#04160b);box-shadow:0 0 14px #19e06b44,inset 0 0 8px #19e06b22}.v4-cbx:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border-width:medium;border-left:0 solid var(--green,#19e06b);border-bottom:2px solid var(--green,#19e06b);border-right:2px solid var(--green,#19e06b);border-top:0 solid var(--green,#19e06b);transform:rotate(45deg) scale(0);transition:transform .12s}.v4-sw input:checked+.v4-cbx:after{transform:rotate(45deg) scale(1)}.v4-lab b{color:var(--text,#d8dcd8)}