:root{color-scheme:dark;--bg: #101218;--panel: #181c25;--panel-2: #212735;--line: #32394b;--text: #e8edf7;--muted: #93a0b5;--accent: #8fd0c0;--chief: #e7b15a;--exec: #8fd0c0;--info: #8eb7ff;--online: #3dbe86;--busy: #e0a84a;--offline: #d46565;--wait: #9aa8c2;--danger: #e07a7a;font:14px/1.4 Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;background:radial-gradient(880px 380px at 0% 0%,rgba(143,208,192,.18),transparent 62%),radial-gradient(720px 340px at 100% 0%,rgba(231,177,90,.14),transparent 58%),radial-gradient(640px 420px at 80% 100%,rgba(142,183,255,.08),transparent 60%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}button:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{opacity:.45;cursor:default}button.primary{background:linear-gradient(180deg,#2ea88f,#1c6b5a);border-color:var(--accent);color:#f6fffc}button.danger{color:var(--danger)}input,select,textarea{background:#12151d;border:1px solid var(--line);border-radius:8px;padding:7px 10px;width:100%}textarea{resize:none;min-height:64px}label span,.label{color:var(--muted);font-size:12px}.hint-anchor{display:inline-flex;max-width:100%}.hint-pop{position:fixed;z-index:30;width:max-content;max-width:300px;padding:8px 10px;border-radius:10px;background:linear-gradient(180deg,#1b3a34,#142028);color:#f4fffb;border:1px solid var(--accent);box-shadow:0 10px 28px #00000073;font-size:12px;line-height:1.35;pointer-events:none}.hint-pop.above{transform:translateY(-100%)}.copy-text{background:transparent;border:0;border-radius:0;padding:0;width:auto;max-width:100%;text-align:left;cursor:copy}.copy-text:hover,.copy-text.done{color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:6px;width:auto;border-radius:999px;padding:1px 8px;font-size:12px;line-height:1.5;border:1px solid transparent;background:#242a38;color:var(--text)}.chip.online{color:#b7f0d4;background:#143528;border-color:#2f8f78}.chip.busy,.chip.running{color:#ffe1a8;background:#3a2c12;border-color:var(--chief)}.chip.offline,.chip.failed,.chip.stopped{color:#ffc7c7;background:#3a1c22;border-color:#c45d5d}.chip.waiting,.chip.queued{color:#d5e2ff;background:#243049;border-color:#6d8fd6}.chip.done{color:#b7f0d4;background:#143528;border-color:#2f8f78}.chip.chief{color:#ffe7b8;background:#3a2c12;border-color:var(--chief)}.chip.exec{color:#d8fff4;background:#14352e;border-color:var(--exec)}.tip-line{transition:color .15s ease}.fact:hover .tip-line,.pair:hover .tip-line,.composer:hover .tip-line,.queue:hover .tip-line,.log-wrap:hover .tip-line{color:var(--accent)}.app{height:100dvh;display:flex;flex-direction:column;position:relative}.header{height:48px;flex:none;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#16362f,#1a2230 46%,#2c2618);box-shadow:inset 0 -2px 0 var(--accent)}.brand{font-weight:650;letter-spacing:.02em;margin-right:12px}.nav{display:flex;gap:6px}.nav button[aria-selected=true]{border-color:var(--accent);color:#f4fffb;background:#1c6b5a}.spacer{flex:1}.muted{color:var(--muted)}.banner{position:absolute;z-index:5;top:56px;left:50%;transform:translate(-50%);background:#3a2428;border:1px solid var(--danger);border-radius:8px;padding:8px 12px;max-width:640px}.workspace,.ai-page{flex:1;min-height:0}.workspace{display:flex}.pc-list{width:300px;flex:none;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:#141820}.enroll{display:flex;flex-direction:column;gap:6px;padding:10px;border-bottom:1px solid var(--line)}.enroll-command{font-size:12px;line-height:1.35;text-align:left;white-space:normal}.pc-delete{flex:none;padding:4px 8px;font-size:12px}.add-row{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.add-row input{min-width:0}.pc-scroll{overflow:auto;flex:1}.pc-item{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:8px 10px;display:flex;flex-direction:row;align-items:center;gap:8px}.pc-open{flex:1;min-width:0;background:transparent;border:0;border-radius:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.pc-open:hover{border-color:transparent}.pc-item.selected{background:#1d3330;box-shadow:inset 3px 0 var(--accent)}.pc-item strong{display:block}.row-line{display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:var(--wait);flex:none}.dot.online{background:var(--online)}.dot.busy{background:var(--busy)}.dot.offline{background:var(--offline)}.dot.waiting{background:var(--wait)}.mono{font-family:Consolas,Cascadia Mono,monospace;word-break:break-all}.detail{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;padding:10px 16px;overflow:hidden}.detail-head,.log-head,.composer-actions{display:flex;align-items:center;gap:8px}.detail-head h1{font-size:18px;margin:0 auto 0 0;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-field{display:flex;align-items:center;gap:6px;flex:none}.role-slot{display:flex;flex:none}.role-field select,.detail-head select{width:200px}.title-copy{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:650}h1 .hint-anchor{min-width:0;max-width:100%}.facts{flex:none;max-height:132px;overflow:auto;display:flex;flex-direction:column;gap:6px;min-height:0}.facts-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.tunnel-row{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.scope{display:flex;flex-direction:column;gap:6px}.scope-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.scope-grid input{width:180px}.fact,.adapter,.pair,.log-wrap,.ai-card{background:var(--panel);border:1px solid var(--line);border-radius:10px}.fact{display:flex;flex-direction:column;gap:0;padding:4px 8px}.fact .value,.fact .hint,.fact>.hint-anchor{grid-column:1 / -1}.fact>.hint-anchor{display:block;min-width:0}.fact .copy-text{display:block;width:100%;white-space:normal}.copy{padding:4px 8px;min-width:36px}.copy.done{border-color:var(--online);color:var(--online)}.adapter{padding:6px 8px;display:flex;flex-direction:column;gap:4px}.adapter-pick{display:flex;align-items:center;gap:8px}.adapter-pick select{flex:1;min-width:0}.adapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pair{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.pair .hint-anchor{display:block}.pair-command{display:block;width:100%;white-space:pre-wrap;word-break:break-all;background:#12151d;border-radius:8px;padding:8px}.queue{flex:none;max-height:96px;overflow:auto;display:flex;flex-direction:column;gap:4px}.queue-row{display:flex;gap:8px;align-items:center}.queue-row>button:first-child{flex:1;min-width:0;display:flex;gap:8px;align-items:baseline;text-align:left;background:transparent}.queue-row.selected>button:first-child{border-color:var(--accent)}.queue-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer{flex:none;display:flex;flex-direction:column;gap:8px;min-height:0}.composer-write{flex:1 1 auto}.composer textarea{flex:1 1 auto;min-height:220px}.composer .mode{display:flex;gap:8px;align-items:center;width:fit-content}.composer .mode input{width:auto}.composer select{width:280px}.plan-head{display:flex;align-items:center;gap:8px;padding:8px 10px 0}.plan-head .label{flex:1}.plan{flex:none;max-height:72px;overflow:auto;margin:0;padding:8px 10px;white-space:pre-wrap;color:var(--muted);border-bottom:1px solid var(--line);cursor:copy}.log-wrap{flex:1 1 140px;min-height:88px;display:flex;flex-direction:column;overflow:hidden}.log-hit{display:flex;flex:1;min-height:0;min-width:0}.log-hit .log{width:100%;cursor:copy}.plan.done,.log.done{color:var(--accent)}.composer-write+.log-wrap{flex:0 1 160px;max-height:180px}.log-head{padding:8px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.log{flex:1;overflow:auto;margin:0;padding:10px;white-space:pre-wrap;word-break:break-word}.empty{margin:auto;color:var(--muted);text-align:center;max-width:420px}.ai-page{display:flex;flex-direction:column;padding:12px 16px;gap:12px}.ai-form{flex:none;display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.ai-form label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;width:100%}.ai-form>.hint-anchor.field{display:flex;flex:1;min-width:160px}.ai-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:8px;min-height:0}.ai-card{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.ai-card header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ai-name{margin-right:auto;font-weight:650}.checks{display:flex;flex-wrap:wrap;gap:8px 14px}.checks label{display:flex;gap:6px;align-items:center}.role-checks{display:flex;gap:14px;align-items:center}.role-checks strong{min-width:140px}@media(min-width:2200px){:root{font-size:15px}.pc-list{width:360px}.facts{max-height:156px}.facts-grid,.adapter-grid{grid-template-columns:1fr 1fr 1fr 1fr}.composer textarea{min-height:300px}.detail-head h1{font-size:20px}}.login-screen{flex:1;display:flex;align-items:center;justify-content:center}.login-card{width:360px;display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:12px;box-shadow:0 18px 48px #0006}.login-card h1{margin:0;font-size:20px;color:var(--accent)}.login-card label{display:flex;flex-direction:column;gap:4px}.login-card .hint-anchor.field{display:block;width:100%}.login-card>.hint-anchor{display:flex}.login-card>.hint-anchor button{flex:1}.login-card p{margin:0}.login-error{color:var(--danger)}
