:root{--bg-0: #0a0a0b;--bg-1: #121316;--bg-2: #1a1c20;--bg-3: #232529;--ink: #edede6;--ink-muted: #949ba3;--ink-faint: #5c6167;--line: #3a3d42;--accent: #ff5c00;--ok: #2bd94d;--warn: #ffb000;--err: #ff4747;--off: #9aa0a6;--pure-black: #000000;--bw-1: 1px;--bw-2: 2px;--bw-3: 3px;--shadow-btn: 3px 3px 0 0 var(--pure-black);--shadow-panel: 6px 6px 0 0 var(--pure-black);--shadow-pop: 8px 8px 0 0 var(--accent);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", "Liberation Mono", monospace}*{box-sizing:border-box;border-radius:0!important;transition:none!important}body{margin:0;font-family:var(--font-mono);font-size:13px;background:var(--bg-0);color:var(--ink)}:focus-visible{outline:var(--bw-3) solid var(--accent);outline-offset:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.blink{animation:blink 1s steps(1) infinite}.label,.chrome{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.small{font-size:12px}.brand{font-size:20px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin:0;white-space:nowrap}.brand .glyph{color:var(--accent)}.brand .short{display:none}button,.btn{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;background:var(--bg-2);color:var(--ink);border:var(--bw-2) solid var(--ink);box-shadow:var(--shadow-btn);cursor:pointer;text-decoration:none;display:inline-block;line-height:1.2}button:hover:not(:disabled),.btn:hover{background:var(--ink);color:var(--bg-0)}button:active:not(:disabled),.btn:active{transform:translate(3px,3px);box-shadow:none}button:disabled{border-color:var(--line);color:var(--ink-faint);background:var(--bg-1);box-shadow:none;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--pure-black)}.btn-primary:hover:not(:disabled){background:var(--bg-0);border-color:var(--accent);color:var(--accent)}.btn-primary:focus-visible{outline-color:var(--ink)}.btn-danger{background:transparent;border-color:var(--err);color:var(--err)}.btn-danger:hover:not(:disabled){background:var(--err);border-color:var(--err);color:var(--pure-black)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){background:transparent;color:var(--ink);text-decoration:underline 2px}.btn-ghost:active:not(:disabled){transform:none}.btn-ghost.inverted{color:var(--bg-2)}.btn-ghost.inverted:hover:not(:disabled){color:var(--bg-0)}input{font-family:var(--font-mono);font-size:13px;background:var(--bg-0);border:var(--bw-2) solid var(--line);color:var(--ink);padding:9px 12px;width:100%}input::placeholder{color:var(--ink-faint)}input:focus{border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field>label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;white-space:nowrap;border:var(--bw-2) solid transparent}.badge-ok-filled{background:var(--ok);color:var(--pure-black)}.badge-err-filled{background:var(--err);color:var(--pure-black)}.badge-warn-filled{background:var(--warn);color:var(--pure-black)}.badge-ok{border-color:var(--ok);color:var(--ok)}.badge-warn{border-color:var(--warn);color:var(--warn)}.badge-err{border-color:var(--err);color:var(--err)}.badge-off{border-color:var(--off);color:var(--off)}.panel{background:var(--bg-1);border:var(--bw-2) solid var(--ink);box-shadow:var(--shadow-panel);padding:var(--sp-4)}.panel-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 var(--sp-3)}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin:var(--sp-5) 0 var(--sp-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section-head .right{color:var(--ink-faint)}.meter{margin-bottom:var(--sp-3)}.meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-1)}.meter-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.meter-value{font-size:12px;color:var(--ink);white-space:nowrap}.meter-track{position:relative;height:14px;border:var(--bw-2) solid var(--ink);background:linear-gradient(to right,var(--fill, var(--accent)) var(--pct, 0%),var(--bg-2) var(--pct, 0%))}.meter-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to right,transparent 0 8px,var(--bg-0) 8px 10px)}.topbar{height:48px;border-bottom:var(--bw-2) solid var(--ink);background:var(--bg-0);display:flex;justify-content:center}.topbar-inner{width:100%;max-width:1080px;display:flex;align-items:stretch;gap:var(--sp-4);padding:0 var(--sp-4)}.topbar .brand{align-self:center;font-size:16px}.topbar nav{display:flex;align-items:stretch}.topbar nav a{display:flex;align-items:center;padding:0 var(--sp-4);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none}.topbar nav a:hover{color:var(--ink);box-shadow:inset 0 -3px 0 0 var(--accent)}.topbar nav a.active{background:var(--ink);color:var(--bg-0)}.topbar .spacer{flex:1}.topbar .btn-ghost{align-self:center}.page{max-width:1080px;margin:0 auto;padding:var(--sp-5) var(--sp-4) 80px}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.login-card{background:var(--bg-1);border:var(--bw-3) solid var(--ink);box-shadow:var(--shadow-pop);padding:var(--sp-6);width:380px;display:flex;flex-direction:column;gap:var(--sp-4)}.login-card .brand{font-size:28px}.login-card .subtitle{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border-bottom:var(--bw-1) solid var(--line);padding-bottom:var(--sp-3)}.create-form{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:flex-end}.create-form .field-name{flex:1 1 160px}.create-form .field-path{flex:2 1 240px}.create-form .field-repo{flex:2 1 220px}.create-form .field-branch{flex:1 1 120px}.form-error{flex-basis:100%}.instance-list{display:flex;flex-direction:column;gap:var(--sp-4)}.instance-main{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.instance-name{font-weight:700;font-size:15px}.instance-info{flex:1;min-width:0}.instance-meta{margin-top:var(--sp-2);font-size:12px;color:var(--ink-muted);word-break:break-all}.instance-actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.empty-state{border:var(--bw-2) dashed var(--line);padding:var(--sp-6);text-align:center}.empty-state .title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.empty-state .hint{font-size:12px;color:var(--ink-faint);margin-top:var(--sp-2)}.harness-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--sp-5)}.harness-card{padding:0}.harness-section{padding:var(--sp-3) var(--sp-4);border-top:var(--bw-1) solid var(--line)}.harness-header{border-top:none;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-4)}.harness-name{font-weight:700;font-size:15px;text-transform:uppercase}.harness-badges{display:flex;gap:var(--sp-2);flex-wrap:wrap}.harness-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.harness-value{word-break:break-all}.stat-cells{display:flex;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-2)}.stat-cell .stat-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.stat-cell .stat-value{font-size:14px;font-weight:700;margin-top:2px}.model-table{width:100%;border-collapse:collapse;margin-top:var(--sp-3);font-size:12px}.model-table th{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);text-align:left;border-bottom:var(--bw-1) solid var(--line);padding:2px 0}.model-table td{border-bottom:var(--bw-1) solid var(--line);padding:3px 0}.model-table th.num,.model-table td.num{text-align:right}.device-code{font-size:44px;font-weight:700;letter-spacing:.25em;text-align:center;padding:var(--sp-5);border:var(--bw-3) solid var(--accent);color:var(--ink);background:var(--bg-0);-webkit-user-select:all;user-select:all}.device-link{color:var(--accent);font-weight:700;text-decoration:underline 2px}.account-head{display:flex;align-items:center;gap:var(--sp-3)}.avatar{border:var(--bw-2) solid var(--ink);display:block}.core-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--sp-2) var(--sp-3);margin-top:var(--sp-3)}.core-grid .meter{margin-bottom:0}.kv-row{padding:3px 0;border-bottom:var(--bw-1) solid var(--line)}.kv-row:last-child{border-bottom:none}.kv-row .kv-label{margin:0}.logs-panel{margin-top:var(--sp-3)}.logs-header{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--bg-0);padding:2px var(--sp-2) 2px var(--sp-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.logs-header .actions{display:flex;gap:var(--sp-1)}.logs-header button{background:transparent;border:none;box-shadow:none;color:var(--bg-2);padding:4px 8px}.logs-header button:hover:not(:disabled){background:transparent;color:var(--bg-0);text-decoration:underline 2px}.logs-header button:active:not(:disabled){transform:none}.logs-panel pre{background:#050506;border:var(--bw-1) solid var(--line);border-top:none;padding:var(--sp-3);font-size:12px;line-height:1.5;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin:0}.banner-err,.banner-warn{background:var(--bg-0);border:var(--bw-2) solid var(--err);border-left-width:8px;padding:var(--sp-3);margin-top:var(--sp-3)}.banner-warn{border-color:var(--warn)}.banner-err .banner-tag,.banner-warn .banner-tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-right:var(--sp-2)}.banner-err .banner-tag{color:var(--err)}.banner-warn .banner-tag{color:var(--warn)}.banner-err .banner-msg,.banner-warn .banner-msg{color:var(--ink);white-space:pre-wrap;word-break:break-word}@media(max-width:880px){.harness-grid{grid-template-columns:1fr}}@media(max-width:480px){.topbar-inner{gap:var(--sp-2);padding:0 var(--sp-2)}.topbar .brand .full{display:none}.topbar .brand .short{display:inline}.login-card{width:100%}}
