:root{--bg: #101013;--surface: #17171c;--raised: #1f1f26;--line: rgba(255, 255, 255, .085);--line-2: rgba(255, 255, 255, .14);--text: #ececf1;--muted: #8b8b99;--dim: #5f5f6d;--accent: #c9a578;--ok: #5f9e73;--warn: #c9903f;--stop: #c05f52;--ease: cubic-bezier(.33, 1, .68, 1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13.5px/1.55 DM Sans,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}input[type=range]{width:100%;accent-color:var(--accent)}.app{display:grid;grid-template-columns:272px 1fr 296px;height:100vh}.rail{background:var(--surface);border-right:1px solid var(--line);padding:20px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.rail--r{border-right:0;border-left:1px solid var(--line)}.rail__foot{margin-top:auto}.brand{display:flex;align-items:center;gap:11px}.brand__mark{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,#2b2b34,#17171c);border:1px solid var(--line-2);font-size:12.5px;font-weight:700;letter-spacing:.5px;box-shadow:inset 0 1px #ffffff1a}.brand__lockup{display:flex;flex-direction:column}.brand__name{font-size:15px;font-weight:500}.brand__sub{font-size:11px;color:var(--dim)}.label{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:7px}.hot{color:var(--accent)}.rt{margin-left:auto;letter-spacing:.06em;color:var(--dim)}.sim{font-size:9px;letter-spacing:.1em;padding:2px 6px;border-radius:999px;background:#c9a57824;color:var(--accent);border:1px solid rgba(201,165,120,.25)}.card{display:block;width:100%;text-align:left;margin-bottom:7px;background:var(--raised);border:1px solid var(--line);border-radius:9px;padding:10px 12px;transition:.18s var(--ease)}.card:hover{border-color:var(--line-2)}.card--on{border-color:var(--accent);background:#221f1b}.card__t{font-size:13.5px}.card__s{font-size:11px;color:var(--muted);margin-top:2px}.card__n{font-size:10.5px;color:var(--accent);opacity:.82;margin-top:4px}.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:20px 12px;cursor:pointer;text-align:center;border:1px dashed var(--line-2);border-radius:11px;background:var(--raised);transition:.18s var(--ease)}.drop:hover{border-color:var(--accent);background:#201e1b}.drop--has{padding:12px}.drop__ico{font-size:20px;color:var(--muted)}.drop__t{font-size:12px}.drop__s{font-size:10.5px;color:var(--dim)}.drop__img{width:100%;border-radius:7px;margin-bottom:7px}.chip{margin-top:7px;padding:4px 10px;font-size:11px;border-radius:999px;background:transparent;border:1px solid var(--line-2);color:var(--muted)}.chip--x:hover{color:var(--stop);border-color:var(--stop)}.fine{font-size:10.5px;color:var(--dim);line-height:1.5;margin:9px 0 0}.fine b{color:var(--muted);font-weight:500}.parts{list-style:none;margin:0;padding:0;max-height:210px;overflow-y:auto}.parts li{display:flex;gap:8px;padding:4px 7px;border-radius:5px;font:10.5px/1.5 ui-monospace,Menlo,monospace}.parts li span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parts li em{color:var(--dim);font-style:normal}.parts li:nth-child(odd){background:#ffffff06}.parts li.on{background:#2b2519;color:var(--accent)}.ctl{margin-bottom:15px}.ctl__h{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted);margin-bottom:6px}.ctl__h b{color:var(--text);font-weight:500;font-size:12.5px}.sw{display:flex;gap:7px}.sw__b{width:30px;height:30px;border-radius:8px;border:1px solid var(--line-2);transition:.18s var(--ease)}.sw__b--on{outline:2px solid var(--accent);outline-offset:2px}.rows{list-style:none;margin:0 0 9px;padding:0}.rows li{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;padding:3.5px 0;color:var(--muted)}.rows li em{font-style:normal;color:var(--text);font-variant-numeric:tabular-nums}.total{display:flex;justify-content:space-between;align-items:baseline;padding-top:9px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.total b{font-size:16px;color:var(--accent);font-variant-numeric:tabular-nums}.cons{list-style:none;margin:0;padding:0}.cons li{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;padding:6px 0;color:var(--muted)}.cons li i{width:6px;height:6px;border-radius:50%;margin-top:6px;flex:none}.cons li.ok i{background:var(--ok)}.cons li.warn i{background:var(--warn)}.cons li.stop i{background:var(--stop)}.cons li.warn span,.cons li.stop span{color:var(--text)}.pend{list-style:none;margin:0;padding:0}.pend li{font-size:11px;color:var(--muted);padding:5px 0 5px 13px;position:relative;line-height:1.5}.pend li:before{content:"⚠";position:absolute;left:0;top:4px;font-size:9px;color:var(--warn)}.empty{color:var(--dim);font-size:12px}.ghost{width:100%;padding:10px;border-radius:8px;background:transparent;border:1px solid var(--line-2);transition:.18s var(--ease)}.ghost:hover{border-color:var(--accent);color:var(--accent)}.ghost.primary{border-color:var(--accent);color:var(--accent);background:#c9a57812}.ghost.sm{width:auto;padding:6px 12px;font-size:12px}.msg--warn{background:#c9903f21;color:#e3b877}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#060609a8;-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2)}.sheet{width:min(860px,92vw);max-height:86vh;display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);box-shadow:0 40px 120px #0000009e,inset 0 1px #ffffff1a;overflow:hidden}.sheet__bar{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);font-size:13px}.sheet__acts{display:flex;gap:8px}.sheet__body{margin:0;padding:18px 20px;overflow:auto;white-space:pre-wrap;font:11.5px/1.62 ui-monospace,Menlo,Cascadia Mono,monospace;color:#cfd3da}.stage{position:relative;overflow:hidden}.host{position:absolute;top:0;right:0;bottom:0;left:0}.review-stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000}.gate{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg)}.gate__card{width:min(340px,90vw);display:flex;flex-direction:column;gap:14px;padding:30px 26px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);box-shadow:0 40px 120px #0009,inset 0 1px #ffffff14}.gate__hint{margin:0;font-size:11.5px;color:var(--dim);text-align:center;line-height:1.6}.gate__input{padding:10px 13px;border-radius:9px;border:1px solid var(--line-2);background:var(--raised);color:var(--text);font-size:14px;outline:none}.gate__input:focus{border-color:var(--accent)}.gate__err{margin:0;font-size:11.5px;color:var(--stop);text-align:center}.pill{position:absolute;top:18px;left:50%;transform:translate(-50%);padding:7px 14px;border-radius:999px;font-size:11px;letter-spacing:.07em;background:#1212188c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);pointer-events:none;font-family:ui-monospace,Menlo,monospace;color:var(--accent)}.pill--dim{color:var(--dim);font-family:inherit;letter-spacing:.04em}.composer-wrap{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:center}.composer{width:min(660px,92%);border-radius:15px;overflow:hidden;background:#16161cb8;backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid var(--line-2);box-shadow:0 28px 80px #0000008c,inset 0 1px #ffffff17}.composer__log{max-height:168px;overflow-y:auto;padding:12px 14px 4px;display:flex;flex-direction:column;gap:8px}.msg{font-size:12px;line-height:1.55;padding:8px 11px;border-radius:9px;max-width:86%}.msg--you{align-self:flex-end;background:#2a2419;color:#e8cfa4}.msg--agent{align-self:flex-start;background:#ffffff0d;color:var(--text)}.composer__bar{display:flex;gap:9px;padding:11px 12px}.composer__field{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:13px}.composer__field::placeholder{color:var(--dim)}.go{padding:7px 16px;border-radius:9px;border:1px solid var(--line-2);background:#ffffff0b;transition:.18s var(--ease)}.go:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.go:disabled{opacity:.35;cursor:default}
