@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 8px var(--glow-color)}50%{box-shadow:0 0 20px var(--glow-color)}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}:root{--ink:#1d1d1d;--cream:#f9f6f2;--purple:#816aec;--lime:#e6fe2a;--graphite:#6d6e71;--slate:#888a8d;--mist:#d2d2d2;--snow:#fcfbfb}[data-theme=dark]{--bg-deep:#141414;--bg:#1d1d1d;--bg-raised:#242424;--bg-surface:#2a2a2a;--bg-hover:#323232;--border-subtle:#f9f6f20f;--border:#f9f6f21f;--border-accent:#9b86f259;--text-primary:#f9f6f2;--text-secondary:#d2d2d2;--text-dim:#888a8d;--text-micro:#6d6e71;--cyan:#9b86f2;--cyan-dim:#9b86f22e;--amber:#e0a53d;--amber-dim:#e0a53d24;--green:#5fb57f;--green-dim:#5fb57f24;--red:#e06a57;--red-dim:#e06a571f;--violet:#9b86f2;--violet-dim:#9b86f21f;--glow-color:transparent;--grid-color:transparent;--glow-top:transparent;--font:var(--font-body);--mono:var(--font-mono);--radius-sm:6px;--radius:8px;--radius-lg:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,[data-theme=light]{--bg-deep:#efebe4;--bg:#f9f6f2;--bg-raised:#fcfbfb;--bg-surface:#fcfbfb;--bg-hover:#eeeaf9;--border-subtle:#1d1d1d0f;--border:#d2d2d2;--border-accent:#816aec4d;--text-primary:#1d1d1d;--text-secondary:#6d6e71;--text-dim:#888a8d;--text-micro:#b0b0b0;--cyan:#816aec;--cyan-dim:#816aec1f;--amber:#c28a2c;--amber-dim:#c28a2c1f;--green:#4c9a6b;--green-dim:#4c9a6b1f;--red:#c5523f;--red-dim:#c5523f1a;--violet:#816aec;--violet-dim:#816aec1a;--glow-color:transparent;--grid-color:transparent;--glow-top:transparent;--font:var(--font-body);--mono:var(--font-mono);--radius-sm:6px;--radius:8px;--radius-lg:16px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-grid:#f9f6f2;--surface:#fcfbfb;--surface-2:#f2eee8;--surface-tint:#eeeaf9;--border-strong:#bcbdbf;--text:#1d1d1d;--text-2:#6d6e71;--text-3:#888a8d;--accent:#816aec;--accent-ink:#5e49c9;--accent-soft:#eae6fb;--accent-grad:#816aec;--ok:#4c9a6b;--warn:#c28a2c;--err:#c5523f;--skill:#816aec;--skill-soft:#eae6fb;--font-display:"Nunito", -apple-system, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;--font-body:"Nunito", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--sans:var(--font-body);--r:8px;--r-lg:16px;--r-xl:28px;--shadow-sm:0 0 0 1px var(--border);--shadow:0 0 0 1px var(--border);--shadow-md:0 0 0 1px var(--border)}[data-theme=dark]{--bg:#1d1d1d;--bg-grid:#1d1d1d;--surface:#242424;--surface-2:#1f1f1f;--surface-tint:#2c2740;--border:#343434;--border-strong:#4a4a4a;--text:#f9f6f2;--text-2:#d2d2d2;--text-3:#888a8d;--accent:#9b86f2;--accent-ink:#b6a6f7;--accent-soft:#2c2740;--accent-grad:#9b86f2;--skill-soft:#2c2740}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55;overflow-x:hidden}.mono{font-family:var(--mono)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.t-eyebrow{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);font-size:12px;font-weight:500}.em-purple{color:var(--accent)}.em-lime{background:var(--lime);color:var(--ink);border-radius:4px;padding:0 .15em}h1{letter-spacing:-.01em;font-weight:400}h2{letter-spacing:-.01em;font-weight:500}h3{font-weight:500}.app{z-index:1;grid-template-columns:260px 1fr;min-height:100vh;display:grid;position:relative}.main{min-width:0;max-width:1280px;padding:28px 36px 60px}@keyframes pulse-ring{0%,to{box-shadow:0 0 0 3px color-mix(in oklab, var(--ok) 25%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--ok) 0%, transparent)}}.side{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.side-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:18px 18px 14px;display:flex}.brand-home{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand-home:hover .brand-name{text-decoration:underline}.brand-home:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.brand-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 25%, transparent);border-radius:50%}.brand-name{font-family:var(--mono);letter-spacing:.08em;color:var(--accent-ink);font-size:13px;font-weight:700}.brand-version{opacity:.85;align-items:center;margin-left:auto;display:inline-flex}.brand-version:hover{opacity:1}.brand-wordmark{width:auto;height:16px;display:block}.ws-shell{position:relative}.ws{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);cursor:pointer;margin:12px;overflow:hidden}.ws-row{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.ws-row:hover{background:var(--surface-tint)}.ws-row+.ws-row{border-top:1px solid var(--border)}.ws-label{font-family:var(--mono);letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;font-size:10px}.ws-value{font-family:var(--mono);color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.ws .ico,.ws-pop .ico{width:12px;height:12px;color:var(--text-3)}.ws-pop{background:var(--surface);border:1px solid var(--border);box-shadow:0 0 0 1px var(--border);z-index:30;border-radius:10px;max-height:70vh;margin-top:6px;position:absolute;top:100%;left:12px;right:12px;overflow:hidden auto}.ws-pop-section{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding:10px 12px 4px;font-size:10px}.ws-pop-item{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.ws-pop-item:hover{background:var(--surface-tint)}.ws-pop-item .ico{color:var(--accent);width:14px;height:14px}.ws-pop-empty{font-family:var(--mono);color:var(--text-3);padding:8px 12px;font-size:11px}.ws-divider{border-top:1px solid var(--border)}.export-menu{position:relative}.export-menu .btn .ico:last-child{opacity:.7;margin-left:2px}.export-menu-pop{min-width:220px;left:auto;right:0}.tiny-mono{font-family:var(--mono);color:var(--text-3);letter-spacing:.06em;font-size:11px}.new-btn{border-radius:var(--r);background:var(--accent);height:38px;color:var(--cream);border:1px solid var(--accent);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;margin:4px 12px 12px;font-size:11px;font-weight:700;transition:background .12s,border-color .12s;display:flex}.new-btn:hover{background:color-mix(in oklab, var(--accent) 92%, #000);border-color:color-mix(in oklab, var(--accent) 92%, #000)}.new-btn:active{background:color-mix(in oklab, var(--accent) 85%, #000)}.new-btn .ico{width:14px;height:14px}.nav{flex-direction:column;flex:1;gap:2px;padding:6px 8px;display:flex;overflow-y:auto}.nav-section{font-family:var(--mono);color:var(--text-3);letter-spacing:.12em;text-transform:uppercase;padding:14px 12px 6px;font-size:10px}.nav-item{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;display:flex;position:relative}.nav-item .ico{width:16px;height:16px;color:var(--text-3);flex:0 0 16px}.nav-item .count{font-family:var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px}.nav-item:hover{background:var(--surface-tint);color:var(--text)}.nav-item:hover .ico{color:var(--text-2)}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink)}.nav-item.active .ico{color:var(--accent)}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.nav-item.active .count{background:var(--surface);border-color:color-mix(in oklab, var(--accent) 30%, var(--border));color:var(--accent-ink)}.side-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.side-foot-actions{align-items:center;gap:6px;display:flex}.agent-status{font-family:var(--mono);color:var(--text-2);align-items:center;gap:8px;font-size:11px;display:flex}.live-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklab, var(--ok) 25%, transparent);border-radius:50%;animation:2.2s ease-in-out infinite pulse-ring}.live-dot.offline{background:var(--err);box-shadow:0 0 0 3px color-mix(in oklab, var(--err) 25%, transparent);animation:none}.icon-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-2);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-tint);color:var(--text)}.icon-btn .ico{width:15px;height:15px}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.active{background:var(--ok);box-shadow:0 0 0 3px color-mix(in oklab, var(--ok) 25%, transparent)}.status-dot.idle{background:var(--text-3)}.status-dot.err{background:var(--err)}.status-dot.run{background:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 25%, transparent);animation:1.6s ease-in-out infinite pulse-ring}.app{transition:grid-template-columns .18s}.app.side-collapsed{grid-template-columns:64px 1fr}.app.side-collapsed .side-brand{justify-content:center;padding:18px 0 14px}.app.side-collapsed .brand-name,.app.side-collapsed .brand-version,.app.side-collapsed .ws-shell{display:none}.app.side-collapsed .new-btn{gap:0;padding:0}.app.side-collapsed .new-btn-label,.app.side-collapsed .nav-section{display:none}.app.side-collapsed .nav-item{justify-content:center;gap:0;padding:9px 0}.app.side-collapsed .nav-item>span,.app.side-collapsed .nav-item .count{display:none}.app.side-collapsed .side-foot{flex-direction:column;gap:10px}.app.side-collapsed .agent-status>span:not(.live-dot){display:none}.app.side-collapsed .side-foot-actions{flex-direction:column}@media (width<=1100px){.app{grid-template-columns:220px 1fr}.main{padding:24px 24px 60px}}@media (width<=820px){.app{grid-template-columns:1fr}.side{height:auto;position:static}}.route-placeholder{border:1px dashed var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text-2);font-family:var(--mono);text-align:center;margin:24px 0;padding:28px 24px;font-size:13px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-head>div:first-child{flex:320px;min-width:0}.page-head .page-title{word-break:break-word}.crumbs{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px}.crumbs b{color:var(--accent-ink);font-weight:600}.page-title{font-family:var(--sans);letter-spacing:-.01em;color:var(--text);margin:0;font-size:22px;font-weight:600}.page-sub{color:var(--text-2);margin-top:4px;font-size:13px}.btn{border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-tint)}.btn.primary{background:var(--accent);color:var(--cream);border-color:var(--accent);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.btn.primary:hover{background:color-mix(in oklab, var(--accent) 92%, #000);border-color:color-mix(in oklab, var(--accent) 92%, #000)}.btn.ghost{border-color:var(--border)}.btn .ico{width:14px;height:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.card-title{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);font-size:11px}.model-breakdown{margin-top:12px}.model-breakdown>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;list-style:none;display:flex}.model-breakdown>summary::-webkit-details-marker{display:none}.model-breakdown>summary:before{content:"›";color:var(--text-3);margin-right:6px;font-size:14px;transition:transform .12s;display:inline-block}.model-breakdown[open]>summary:before{transform:rotate(90deg)}.model-breakdown[open]>summary{border-bottom:1px solid var(--border)}.model-breakdown .env-table{margin:0}.filterbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search{flex:1;min-width:240px;position:relative}.search input{border:1px solid var(--border);background:var(--surface);width:100%;height:36px;color:var(--text);border-radius:7px;outline:none;padding:0 12px 0 34px;font-size:13px;transition:border .12s,box-shadow .12s}.search input:focus{border-color:color-mix(in oklab, var(--accent) 50%, var(--border));box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent)}.search .ico{width:14px;height:14px;color:var(--text-3);position:absolute;top:11px;left:11px}.kbd{font-family:var(--mono);color:var(--text-3);border:1px solid var(--border);background:var(--surface-2);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:10px;position:absolute;top:9px;right:10px}.dash-filter-select{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%234a5c75' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:7px;padding:0 28px 0 10px;font-size:11px}.dash-filter-select:hover{color:var(--text);border-color:var(--border-strong)}.dash-filter-check{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);cursor:pointer;align-items:center;gap:6px;padding:0 6px;font-size:11px;display:inline-flex}.dash-filter-check input{cursor:pointer}.dash-filter-check:hover{color:var(--text)}.seg{border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:2px;display:inline-flex}.seg button{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 12px;font-size:11px}.seg button:hover{color:var(--text)}.seg button.on{background:var(--accent-soft);color:var(--accent-ink)}.table{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tr{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:28px 1fr 130px 110px 90px 64px;align-items:center;gap:14px;padding:14px 18px;transition:background 80ms;display:grid;position:relative}.tr:last-child{border-bottom:0}.tr.head{background:var(--surface-2);cursor:default;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding-top:10px;padding-bottom:10px;font-size:10px}.tr:not(.head):hover{background:var(--surface-tint)}.tr .title{color:var(--text);word-break:break-word;font-size:14px;font-weight:500}.tr .meta{font-family:var(--mono);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:11px;display:flex}.tr .meta b{color:var(--text-2);font-weight:500}.tr-actions{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.tr-icon-btn{width:26px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.tr:hover .tr-icon-btn{border-color:var(--border);color:var(--text-2);background:var(--surface)}.tr-icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.tr-icon-btn.danger:hover{color:var(--err);border-color:color-mix(in oklab, var(--err) 35%, var(--border-strong))}.pill{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-2);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.pill.active{color:var(--ok);border-color:color-mix(in oklab, var(--ok) 30%, var(--border));background:color-mix(in oklab, var(--ok) 8%, var(--surface))}.pill.run{color:var(--accent-ink);border-color:color-mix(in oklab, var(--accent) 30%, var(--border));background:var(--accent-soft)}.pill.queued{color:var(--text-2);border-color:var(--border);background:color-mix(in oklab, var(--text-2) 6%, var(--surface))}.pill.done{color:var(--text-2)}.pill.err{color:var(--err);border-color:color-mix(in oklab, var(--err) 30%, var(--border));background:color-mix(in oklab, var(--err) 8%, var(--surface))}.pill.warn{color:#b45309;border-color:color-mix(in oklab, var(--warn) 30%, var(--border));background:color-mix(in oklab, var(--warn) 12%, var(--surface))}[data-theme=dark] .pill.warn{color:#fbbf24}.tag{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:4px;padding:2px 7px;font-size:10.5px;display:inline-block}.empty{text-align:center;color:var(--text-3);font-family:var(--mono);padding:48px 20px;font-size:12px}.stats{background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);grid-template-columns:repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.stat{background:var(--surface);padding:14px}.stat .v{font-family:var(--mono);color:var(--text);letter-spacing:-.01em;font-size:18px;font-weight:700}.stat.accent .v{color:var(--accent-ink)}.stat .l{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-top:4px;font-size:10px}.stat .delta{font-family:var(--mono);color:var(--ok);margin-top:6px;font-size:10px}.stat .delta.bad{color:var(--err)}.scrim{z-index:60;background:oklab(20.7682% -.00294792 -.0397151/.35);justify-content:center;align-items:flex-start;padding:14vh 20px 20px;animation:.14s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.composer{background:var(--surface);border:1px solid var(--border);width:min(720px,100%);box-shadow:0 0 0 1px var(--border);border-radius:14px;animation:.18s rise;overflow:visible}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.composer-head{border-bottom:1px solid var(--border);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);justify-content:space-between;align-items:center;padding:14px 18px;font-size:11px;display:flex}.composer-head .close{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.composer-head .close:hover{color:var(--text)}.composer-body{padding:18px}.composer-body textarea{border:1px solid var(--border);resize:vertical;background:var(--surface-2);width:100%;min-height:92px;color:var(--text);font-size:14px;font-family:var(--sans);border-radius:8px;outline:none;padding:12px 14px;transition:border .12s,box-shadow .12s}.composer-body textarea:focus{border-color:color-mix(in oklab, var(--accent) 50%, var(--border));background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent)}.suggest-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.suggest{font-family:var(--mono);border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-2);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11px}.suggest:hover{color:var(--accent-ink);border-color:color-mix(in oklab, var(--accent) 40%, var(--border-strong));background:var(--accent-soft);border-style:solid}.composer-foot{background:var(--surface-2);border-top:1px solid var(--border);font-family:var(--mono);color:var(--text-3);border-bottom-right-radius:14px;border-bottom-left-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;font-size:11px;display:flex}.flex{display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.between{justify-content:space-between}.center{align-items:center}.thread-list-actions{justify-content:flex-end;gap:8px;margin-bottom:10px;display:flex}.thread-list-footer{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.btn.danger{color:var(--err);border-color:color-mix(in oklab, var(--err) 30%, var(--border-strong))}.btn.danger:hover{background:color-mix(in oklab, var(--err) 8%, var(--surface))}.env-summary-card{flex-direction:column;gap:6px;margin-bottom:18px;padding:14px 18px;display:flex}.env-summary-row{grid-template-columns:140px 1fr;align-items:baseline;gap:14px;display:grid}.env-summary-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-size:10px}.env-summary-value{color:var(--text-2);word-break:break-word;font-size:13px}.env-summary-value.mono{font-family:var(--mono);font-size:12px}.stats+.stats-accent{margin-top:14px}.dashboard-row{grid-template-columns:1.4fr 1fr;align-items:start;gap:18px;margin-top:18px;display:grid}@media (width<=1100px){.dashboard-row{grid-template-columns:1fr}}.recent-list .tr{grid-template-columns:28px minmax(0,1fr) 90px 90px}.session-row{grid-template-columns:28px minmax(0,1fr)!important}.manage-grid{grid-template-columns:280px 1fr;align-items:start;gap:20px;display:grid}.cust-list{flex-direction:column;gap:6px;padding:8px;display:flex}.cust{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;font-family:inherit;display:flex}.cust:hover{background:var(--surface-tint)}.cust.active{background:var(--accent-soft);border-color:color-mix(in oklab, var(--accent) 30%, var(--border))}.cust .name{justify-content:space-between;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.cust .id{font-family:var(--mono);color:var(--text-3);font-size:11px}.cust.archived .name{color:var(--text-3)}.cust .badge{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:0 7px;font-size:10px}.cust.active .badge{background:var(--surface);border-color:color-mix(in oklab, var(--accent) 30%, var(--border));color:var(--accent-ink)}.cm-customer-name{color:var(--text);font-size:18px;font-weight:600}.cm-customer-name .mono-id{color:var(--text-3);font-family:var(--mono);margin-left:6px;font-size:13px;font-weight:400}.cm-section-row{justify-content:space-between;align-items:center;padding:14px 16px 0;display:flex}.env-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.env-table th{text-align:left;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);padding:10px 14px;font-size:10px;font-weight:500}.env-table td{border-bottom:1px solid var(--border);vertical-align:middle;font-family:var(--mono);color:var(--text-2);padding:10px 14px;font-size:12px}.env-table td.name{color:var(--text);font-weight:500;font-family:var(--sans);font-size:13px}.env-table tr:last-child td{border-bottom:0}.env-table tr.archived td{color:var(--text-3)}.env-table .actions{white-space:nowrap;text-align:right}.env-table .actions .btn{height:28px;padding:0 10px;font-size:12px}.env-table .row-actions{justify-content:flex-end;gap:6px;display:inline-flex}.env-table .row-actions .icon-btn{width:28px;height:28px}.env-table .row-actions .icon-btn .ico{width:14px;height:14px}.env-table .empty-row td{text-align:center;font-family:var(--mono);color:var(--text-3);padding:32px 14px}.manage-import-banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r);color:var(--text-2);flex-direction:column;gap:6px;margin:0 0 14px;padding:12px 14px;font-size:13px;display:flex}.manage-import-banner ul{margin:0;padding-left:18px;font-size:12px}.manage-import-banner button{align-self:flex-start;margin-top:4px}.manage-error{background:color-mix(in oklab, var(--err) 10%, var(--surface));border:1px solid color-mix(in oklab, var(--err) 35%, var(--border));border-radius:var(--r);color:var(--err);font-size:13px;font-family:var(--mono);margin:0 0 14px;padding:10px 14px}.manage-ok{background:color-mix(in oklab, var(--ok,#5ad19a) 10%, var(--surface));border:1px solid color-mix(in oklab, var(--ok,#5ad19a) 35%, var(--border));border-radius:var(--r);color:var(--ok,#5ad19a);font-size:13px;font-family:var(--mono);margin:0 0 14px;padding:10px 14px}@media (width<=1100px){.manage-grid{grid-template-columns:240px 1fr}}@media (width<=820px){.manage-grid{grid-template-columns:1fr}}.backend-offline-banner{background:var(--red-dim);color:var(--red);border:1px solid var(--red);border-radius:var(--radius-sm);font-size:12px;font-family:var(--mono);letter-spacing:.03em;text-align:center;margin-bottom:16px;padding:10px 16px;font-weight:500;animation:2s ease-in-out infinite pulse-banner}@keyframes pulse-banner{0%,to{opacity:1}50%{opacity:.7}}header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:20px;display:flex}header h1{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}header h1:before{content:"";background:var(--cyan);width:8px;height:8px;box-shadow:none;border-radius:50%;display:inline-block}header select{background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--mono);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238b9cb6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:8px 30px 8px 14px;font-size:12px;transition:border-color .2s}header select:hover,header select:focus{border-color:var(--border-accent);outline:none}.new-thread{gap:8px;margin-bottom:24px;display:flex}.new-thread input{background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:var(--font);flex:1;padding:11px 16px;transition:border-color .2s,box-shadow .2s}.new-thread input::placeholder{color:var(--text-dim)}.new-thread input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);outline:none}.new-thread button,.chat-input button{background:var(--cyan);color:var(--bg-deep);border-radius:var(--radius);font-size:12px;font-weight:600;font-family:var(--mono);letter-spacing:.02em;cursor:pointer;text-transform:uppercase;border:none;padding:11px 22px;transition:all .15s}.new-thread button:hover:not(:disabled),.chat-input button:hover:not(:disabled){background:var(--accent);box-shadow:none}.new-thread button:disabled,.chat-input button:disabled{opacity:.3;cursor:default}.active-sessions{background:var(--amber-dim);border-radius:var(--radius);border:1px solid #f59e0b26;margin-bottom:20px;padding:14px 16px;animation:.3s ease-out fadeIn;position:relative;overflow:hidden}.active-sessions:before{content:"";background:var(--amber);opacity:.4;height:1px;position:absolute;top:0;left:0;right:0}.active-sessions-header{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amber);align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:500;display:flex}.active-sessions-dot{background:var(--amber);width:7px;height:7px;box-shadow:none;border-radius:50%;animation:2s ease-in-out infinite pulse}.active-session-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:7px 10px;font-size:12px;transition:background .15s;display:flex}.active-session-item:hover{background:#f59e0b14}.active-session-title{white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);flex:1;overflow:hidden}.list-toolbar{align-items:center;gap:8px;margin-bottom:16px;display:flex}.filter-group select{background:var(--bg-raised);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:var(--mono);letter-spacing:.02em;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%234a5c75' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding:7px 30px 7px 10px;transition:border-color .2s}.filter-group select:hover{border-color:var(--border-accent)}.toolbar-btn{background:var(--bg-raised);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;font-family:var(--mono);letter-spacing:.02em;cursor:pointer;padding:7px 14px;transition:all .2s}.toolbar-btn:hover{border-color:var(--border-accent);color:var(--text-primary)}.toolbar-btn.active{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}.status-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:3px 8px;font-size:10px;font-weight:600}.status-badge.active{background:var(--green-dim);color:var(--green)}.status-badge.created{background:var(--cyan-dim);color:var(--cyan)}.status-badge.queued{color:var(--text-2);background:#94a3b829}.status-badge.investigating{background:var(--amber-dim);color:var(--amber);animation:2s ease-in-out infinite pulse}.status-badge.resolved{color:var(--text-dim);background:#4b556326}.source-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:2px 7px;font-size:9px;font-weight:500}.source-badge.scheduled{background:var(--violet-dim);color:var(--violet)}.source-badge.azure-alert{background:var(--amber-dim);color:var(--amber)}.customer-tag{font-family:var(--mono);background:var(--cyan-dim);color:var(--cyan);letter-spacing:.02em;border-radius:3px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:500}.customer-info{margin-bottom:14px;animation:.3s ease-out fadeIn}.customer-info-bar{align-items:center;gap:8px;display:flex}.customer-info-toggle{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;flex:1;justify-content:space-between;align-items:center;padding:10px 16px;transition:all .2s;display:flex}.customer-info-toggle:hover{border-color:var(--border-accent);background:var(--bg-hover)}.portal-link{font-family:var(--mono);letter-spacing:.02em;color:var(--cyan);background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600;text-decoration:none;transition:all .2s}.portal-link:hover{border-color:var(--border-accent);background:var(--bg-hover)}.customer-info-name{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--cyan);font-size:11px;font-weight:600}.customer-info-chevron{color:var(--text-dim);font-size:12px}.customer-info-details{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:0 0 var(--radius) var(--radius);border-top:none;padding:14px 16px;animation:.2s ease-out fadeIn}.customer-info-row{border-bottom:1px solid var(--border-subtle);gap:12px;padding:5px 0;font-size:12px;display:flex}.customer-info-row:last-child{border-bottom:none}.customer-info-label{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0;min-width:110px;padding-top:2px;font-size:10px;font-weight:500}.customer-info-value{color:var(--text-secondary);word-break:break-all}.customer-info-value.mono{font-family:var(--mono);font-size:11px}.customer-info-prompt{flex-direction:column;gap:6px}.customer-info-prompt pre{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);color:var(--text-secondary);background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin:0;padding:10px 14px;font-size:11px;line-height:1.6}.thread-item{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;margin-bottom:6px;padding:14px 18px;transition:all .2s;animation:.3s ease-out fadeIn;position:relative}.thread-item:before{content:"";background:0 0;border-radius:1px;width:2px;transition:background .2s;position:absolute;top:8px;bottom:8px;left:0}.thread-item:hover{border-color:var(--border-accent);background:var(--bg-hover)}.thread-item:hover:before{background:var(--cyan);box-shadow:none}.thread-item.thread-investigating:before{background:var(--amber);box-shadow:none}.thread-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:500;display:flex}.thread-meta{color:var(--text-dim);font-size:11px;font-family:var(--mono);align-items:center;gap:10px;display:flex}.thread-detail{z-index:1;flex-direction:column;flex:1;min-height:0;padding:0 0 24px;animation:.3s ease-out fadeIn;display:flex;position:relative}.thread-body{flex:1;align-items:stretch;gap:20px;min-height:0;display:flex}.thread-context{scrollbar-width:thin;scrollbar-color:var(--bg-surface) transparent;flex-direction:column;flex:0 0 clamp(320px,28%,440px);gap:8px;min-width:0;padding-right:4px;display:flex;overflow-y:auto}.thread-context::-webkit-scrollbar{width:6px}.thread-context::-webkit-scrollbar-track{background:0 0}.thread-context::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:3px}.thread-context .todos-panel{position:static}.thread-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}@media (width<=1100px){.thread-body{flex-direction:column;gap:10px}.thread-context{flex:none;width:100%;max-height:none;padding-right:0;overflow-y:visible}}.thread-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:12px;padding-bottom:16px;display:flex}.thread-header button{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--mono);padding:7px 14px;font-size:12px;transition:all .2s}.thread-header button:hover{border-color:var(--border-accent);color:var(--text-primary)}.thread-header h2{color:var(--text-primary);flex:1;font-size:14px;font-weight:500}.investigating-banner{background:var(--amber-dim);border-radius:var(--radius);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--amber);border:1px solid #f59e0b26;align-items:center;gap:10px;margin:14px 0;padding:10px 16px;font-size:11px;font-weight:500;animation:.3s ease-out fadeIn;display:flex;position:relative;overflow:hidden}.investigating-banner:after{content:"";background:var(--amber-dim);width:50%;height:100%;animation:2.5s ease-in-out infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-50%}to{left:150%}}.investigating-banner .spinner{border:2px solid #f59e0b33;border-top-color:var(--amber);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin}.investigating-banner .stop-btn{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--red,#ef4444);border-radius:var(--radius);cursor:pointer;z-index:1;background:#ef444414;border:1px solid #ef444440;margin-left:auto;padding:4px 12px;font-size:10px;font-weight:600;transition:all .2s;position:relative}.investigating-banner .stop-btn:hover{background:#ef444426;border-color:#ef444466}.activity-panel{margin-bottom:14px;animation:.3s ease-out fadeIn}.activity-panel-toggle{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:8px 16px;transition:all .2s;display:flex}.activity-panel-toggle:hover{border-color:var(--border-accent);background:var(--bg-hover)}.activity-panel-label{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--cyan);font-size:11px;font-weight:600}.activity-panel-chevron{color:var(--text-dim);font-size:12px}.activity-panel-content{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:0 0 var(--radius) var(--radius);border-top:none;padding:12px 16px}.activity-stats{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.activity-stat{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);flex-direction:column;flex:1;align-items:center;gap:2px;min-width:80px;padding:10px 12px;display:flex}.activity-stat-value{font-family:var(--mono);color:var(--cyan);font-size:18px;font-weight:700}.activity-stat-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:9px;font-weight:600}.activity-breakdown{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.activity-group{align-items:center;gap:6px;display:flex}.activity-group-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);white-space:nowrap;font-size:10px;font-weight:600}.activity-tags{flex-wrap:wrap;gap:4px;display:flex}.activity-tag{font-family:var(--mono);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:3px;padding:2px 8px;font-size:10px}.activity-tag strong{color:var(--text-primary);margin-left:3px}.activity-tag.resolved{border-color:#10b98133}.activity-tag.active{border-color:var(--border-accent)}.activity-tag.investigating{border-color:#f59e0b33}.activity-tag.dim{color:var(--text-dim)}.activity-last{font-family:var(--mono);color:var(--text-secondary);font-size:11px}.activity-recent{border-top:1px solid var(--border-subtle);padding-top:10px}.activity-recent-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.activity-recent-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:6px 12px;transition:all .15s;display:flex}.activity-recent-item:hover{border-color:var(--border-accent);background:var(--bg-hover)}.activity-recent-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:50%;font-size:12px;overflow:hidden}.activity-recent-meta{font-family:var(--mono);color:var(--text-dim);align-items:center;gap:4px;font-size:10px;display:flex}.status-dot{background:var(--text-dim);border-radius:50%;width:6px;height:6px;display:inline-block}.status-dot.resolved{background:#10b981}.status-dot.active{background:var(--accent)}.status-dot.investigating{background:#f59e0b}.status-dot.queued{background:#94a3b8}.status-dot.created{background:var(--text-dim)}.pinned-summary{background:var(--cyan-dim);border:1px solid var(--border-accent);border-radius:var(--radius);margin:0 0 8px;animation:.3s ease-out fadeIn;overflow:hidden}.pinned-summary-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.pinned-summary-header:hover{background:var(--accent-soft)}.pinned-summary-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px}.pinned-summary-toggle:hover{color:var(--cyan)}.pinned-summary-content{border-top:1px solid var(--border);max-height:300px;color:var(--text-primary);padding:0 14px 12px;font-size:13px;line-height:1.6;overflow-y:auto}.pinned-summary-overlay{z-index:1000;background:#1d1d1d99;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.pinned-summary-fullscreen{background:var(--bg-raised);border:1px solid var(--border-accent);border-radius:var(--radius);width:90vw;height:85vh;box-shadow:0 0 0 1px var(--border);isolation:isolate;flex-direction:column;display:flex}.pinned-summary-fullscreen .pinned-summary-header{border-bottom:1px solid var(--border);flex-shrink:0}.pinned-summary-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px}.pinned-summary-close:hover{color:var(--text-primary);background:#f9f6f214}.pinned-summary-content-full{background:var(--bg-raised);border-radius:0 0 var(--radius) var(--radius);flex:1;max-height:none;padding:16px 24px;font-size:14px;overflow-y:auto}.pinned-summary-content code{background:var(--bg-surface);border-radius:3px;padding:1px 5px;font-size:12px}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--bg-surface) transparent;flex:1;min-width:0;min-height:0;padding:20px 0;overflow:hidden auto}.chat-message,.chat-message .message-body{min-width:0}.chat-message .message-body>*{max-width:100%}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:3px}.chat-message{margin-bottom:20px;animation:.25s ease-out fadeIn}.message-role{font-family:var(--mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:600;display:flex}.chat-message.user .message-role{color:var(--cyan)}.chat-message.user .message-role:before{content:"";background:var(--cyan);border-radius:50%;width:4px;height:4px;display:inline-block}.chat-message.assistant .message-role{color:var(--green)}.chat-message.assistant .message-role:before{content:"";background:var(--green);border-radius:50%;width:4px;height:4px;display:inline-block}.message-content pre{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;font-family:var(--mono);color:var(--text-secondary);padding:14px 18px;font-size:12px;line-height:1.7}.text-part{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);word-break:break-word;font-family:var(--mono);color:var(--text-secondary);margin-bottom:8px;padding:14px 18px;font-size:12px;line-height:1.75}.chat-message.user .text-part{border-left:2px solid var(--cyan);background:var(--bg-raised);white-space:pre-wrap}.text-part h1,.text-part h2,.text-part h3,.text-part h4{font-family:var(--font);color:var(--text-primary);margin:14px 0 6px;line-height:1.3}.text-part h1{font-size:16px}.text-part h2{font-size:14px}.text-part h3{font-size:13px}.text-part h4{color:var(--text-secondary);font-size:12px}.text-part h1:first-child,.text-part h2:first-child,.text-part h3:first-child{margin-top:0}.text-part p{margin:6px 0}.text-part p:first-child{margin-top:0}.text-part p:last-child{margin-bottom:0}.text-part strong{color:var(--text-primary);font-weight:600}.text-part em{font-style:italic}.text-part ul,.text-part ol{margin:6px 0;padding-left:20px}.text-part li{margin:3px 0}.text-part li::marker{color:var(--text-dim)}.text-part code{font-family:var(--mono);background:var(--bg-deep);border:1px solid var(--border-subtle);color:var(--cyan);border-radius:3px;padding:1px 5px;font-size:.9em}.text-part pre{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin:8px 0;padding:10px 14px;overflow-x:auto}.text-part pre code{color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:11px;line-height:1.6}.text-part hr{border:none;border-top:1px solid var(--border-subtle);margin:12px 0}.text-part a{color:var(--cyan);text-decoration:none}.text-part a:hover{text-decoration:underline}.text-part blockquote{border-left:2px solid var(--border-accent);color:var(--text-secondary);margin:8px 0;padding-left:12px}.text-part table,.pinned-summary-content table{border-collapse:collapse;width:100%;margin:10px 0;font-size:11px;display:block;overflow-x:auto}.text-part thead,.pinned-summary-content thead{border-bottom:2px solid var(--border-accent)}.text-part th,.text-part td,.pinned-summary-content th,.pinned-summary-content td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 12px}.text-part th,.pinned-summary-content th{background:var(--bg-surface);color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.text-part tr:hover td,.pinned-summary-content tr:hover td{background:var(--bg-hover)}.text-part td code,.pinned-summary-content td code{padding:0 4px;font-size:10px}.chart-block{box-sizing:border-box;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;margin:8px 0;padding:16px 12px}.chat-msg.assistant .chat-msg-bubble:has(.chart-block){width:100%}.chart-title{font-family:var(--font);color:var(--text-primary);text-align:center;margin-bottom:12px;font-size:13px;font-weight:600}.chart-error{border-radius:var(--radius-sm);color:var(--red,#ef6b6b);background:#ef6b6b14;border:1px solid #ef6b6b33;padding:10px 14px;font-size:11px}.chart-skeleton{background:linear-gradient(90deg, var(--bg-deep) 0%, color-mix(in oklab, var(--bg-deep) 80%, var(--border-subtle)) 50%, var(--bg-deep) 100%);background-size:200% 100%;height:300px;animation:1.2s ease-in-out infinite chart-skeleton-shimmer}@keyframes chart-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.chart-block .recharts-text{fill:var(--text-secondary)}.chart-block .recharts-cartesian-grid-horizontal line,.chart-block .recharts-cartesian-grid-vertical line{stroke:var(--border-subtle)}.mermaid-block{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:center;margin:8px 0;padding:16px;overflow-x:auto}.mermaid-block svg{max-width:100%;height:auto}.mermaid-error{border-radius:var(--radius-sm);color:var(--text-secondary);background:#ef6b6b14;border:1px solid #ef6b6b33;margin:8px 0;padding:10px 14px;font-size:11px}.mermaid-error summary{color:var(--red,#ef6b6b);cursor:pointer}.tool-use{background:var(--green-dim);border:1px solid #34d3991f;border-left:2px solid var(--green);border-radius:var(--radius-sm);margin-bottom:4px;padding:10px 14px;font-size:11px;transition:border-color .2s}.tool-label{font-family:var(--mono);color:var(--green);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.tool-command{font-family:var(--mono);color:var(--text-secondary);background:var(--bg-deep);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);margin-top:6px;padding:8px 12px;font-size:11px;display:block}pre.tool-command-block{white-space:pre-wrap;word-break:break-word;margin:6px 0 0;line-height:1.5}.todos-panel{z-index:5;background:var(--bg-raised);border:1px solid var(--border-subtle);border-left:2px solid var(--green);border-radius:var(--radius-sm);margin:0 0 10px;padding:10px 14px;font-size:12px;position:sticky;top:0}.todos-panel-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.todos-panel-label{font-family:var(--mono);color:var(--green);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.todos-panel-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.todo-item{color:var(--text-primary);align-items:baseline;gap:8px;line-height:1.4;display:flex}.todo-item.todo-completed .todo-content{color:var(--text-secondary);-webkit-text-decoration:line-through #94a3b866;text-decoration:line-through #94a3b866}.todo-item.todo-in_progress{font-weight:500}.todo-icon{font-family:var(--mono);text-align:center;flex-shrink:0;width:14px;font-size:11px;display:inline-block}.todo-icon.todo-pending{color:var(--text-secondary);opacity:.6}@keyframes todo-pulse{0%,to{opacity:1}50%{opacity:.5}}.skills-bar{border-radius:var(--radius-sm);background:#6366f10d;border:1px solid #6366f12e;border-left:2px solid #6366f1;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;font-size:11px;display:flex}.skills-bar-label{font-family:var(--mono);color:#6366f1;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.skill-chip{font-family:var(--mono);color:#6366f1;white-space:nowrap;background:#6366f11a;border:1px solid #6366f140;border-radius:999px;padding:2px 8px;font-size:10px}.skill-load{border-radius:var(--radius-sm);background:#6366f10a;border:1px solid #6366f12e;border-left:2px solid #6366f1;align-items:center;gap:10px;margin-bottom:4px;padding:8px 12px;font-size:11px;display:flex}.skill-load-label{font-family:var(--mono);color:#6366f1;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.skill-load-name{font-family:var(--mono);color:var(--text-primary);background:0 0;border:none;padding:0;font-size:11px}.tool-result{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:8px;font-size:11px;overflow:hidden}.tool-result summary{cursor:pointer;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);-webkit-user-select:none;user-select:none;padding:8px 14px;font-size:10px;font-weight:500;transition:color .2s,background .2s}.tool-result summary:hover{background:var(--bg-hover);color:var(--text-secondary)}.tool-result pre{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);max-height:320px;color:var(--text-secondary);background:var(--bg-deep);border-top:1px solid var(--border-subtle);padding:12px 14px;font-size:11px;line-height:1.6;overflow-y:auto}.tool-error{border-color:var(--red-dim);border-left:2px solid var(--red)}.tool-error summary{color:var(--red)}.chat-input{border-top:1px solid var(--border-subtle);flex-shrink:0;gap:8px;padding-top:16px;display:flex}.chat-input input{background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:var(--font);flex:1;padding:11px 16px;transition:border-color .2s,box-shadow .2s}.chat-input input::placeholder{color:var(--text-dim)}.chat-input input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);outline:none}.delete-all-btn{border:1px solid var(--red-dim);color:var(--red);border-radius:var(--radius-sm);cursor:pointer;font-size:10px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;padding:6px 14px;font-weight:500;transition:all .2s}.delete-all-btn:hover{background:var(--red-dim)}.delete-btn{color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #f8717126;justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;font-size:13px;line-height:1;transition:all .2s;display:flex}.delete-btn:hover{color:var(--red);border-color:var(--red);background:var(--red-dim)}.thread-list-actions{gap:8px;margin-bottom:12px;display:flex}.archive-all-btn{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:10px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;padding:6px 14px;font-weight:500;transition:all .2s}.archive-all-btn:hover{background:var(--bg-raised);border-color:var(--border-accent)}.archive-btn{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;line-height:1;transition:all .2s;display:flex}.archive-btn:hover{color:var(--text-secondary);border-color:var(--border-accent);background:var(--bg-raised)}.thread-archived{opacity:.6}.thread-archived:hover{opacity:.85}.archived-badge{font-size:9px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);margin-right:6px;padding:1px 6px}.empty-state{color:var(--text-dim);text-align:center;font-family:var(--mono);letter-spacing:.02em;padding:48px 24px;font-size:12px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}::selection{background:var(--accent);color:var(--text-primary)}[data-theme=light] body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}[data-theme=light] .thread-title,[data-theme=light] .status-badge,[data-theme=light] .source-badge,[data-theme=light] .customer-tag{font-weight:600}[data-theme=light] header h1{font-weight:700}[data-theme=light] .thread-item,[data-theme=light] .active-sessions,[data-theme=light] .thread-item:hover{box-shadow:0 0 0 1px var(--border)}[data-theme=light] .tool-command,[data-theme=light] .tool-result pre{background:var(--bg)}.theme-toggle{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--border-accent);color:var(--text-primary)}.sign-out-btn{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;height:34px;padding:0 12px;font-size:12px;font-weight:500;transition:all .2s}.sign-out-btn:hover{border-color:var(--border-accent);color:var(--text-primary)}@media (width<=768px){.app{padding:16px 12px}.app.app-thread-open{padding:16px 12px 0}header{flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:12px}header h1{font-size:13px}.new-thread{flex-direction:column;gap:8px}.new-thread button{align-self:stretch}.list-toolbar{flex-wrap:wrap}.filter-group{flex-wrap:wrap;gap:8px;width:100%;display:flex}.filter-group select{flex:1;min-width:0}.activity-stats{gap:6px}.activity-stat{min-width:60px;padding:8px 6px}.activity-stat-value{font-size:14px}.activity-stat-label{font-size:8px}.activity-breakdown{flex-direction:column;gap:8px}.thread-item{padding:12px 14px}.thread-header{gap:8px}.thread-header h2{font-size:13px}.chat-input input{font-size:16px}.empty-state-prompts{max-width:100%}.pinned-summary-fullscreen{width:95vw;height:90vh}}@media (width<=480px){.app{padding:12px 8px}.app.app-thread-open{padding:12px 8px 0}header h1{gap:6px;font-size:12px}header h1:before{width:6px;height:6px}.theme-toggle{width:30px;height:30px;font-size:14px}.thread-title{font-size:12px}.thread-meta{flex-wrap:wrap;gap:6px;font-size:10px}.chat-input{flex-direction:column}.chat-input button{align-self:stretch}.customer-info-row{flex-direction:column;gap:4px}.customer-info-label{min-width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-screen{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{text-align:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:3rem}.login-card h1{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.login-card p{color:var(--text-dim);margin-bottom:1.5rem}.login-card button{padding:.75rem 1.5rem;font-size:.95rem}.consolidate-btn{color:var(--violet);border-radius:var(--radius-sm);font-size:11px;font-family:var(--mono);cursor:pointer;background:0 0;border:1px solid #a78bfa4d;margin-left:auto;padding:5px 12px;transition:all .2s}.consolidate-btn:hover:not(:disabled){background:var(--violet-dim)}.consolidate-btn:disabled{opacity:.5;cursor:default}.consolidate-btn.done{color:var(--success,#22c55e);border-color:#22c55e4d}.mem-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 16px 12px;display:flex}.mem-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mem-card h4{min-width:0;margin:0;font-size:13px;font-weight:600}.mem-key{font-family:var(--mono);color:var(--accent-ink);background:var(--accent-soft);border:1px solid color-mix(in oklab, var(--accent) 20%, var(--border));word-break:break-all;border-radius:4px;padding:2px 8px;font-size:11.5px}.mem-card-full{flex:auto;min-height:0}.mem-body{font-family:var(--mono);color:var(--text-2);white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;max-height:320px;margin:0;padding:12px 14px;font-size:12px;line-height:1.55;overflow-y:auto}.mem-body-tall{min-height:420px;max-height:calc(100vh - 280px);font-size:12.5px;line-height:1.6}.mem-body-md{font-family:var(--font);color:var(--text);white-space:normal;word-break:normal;font-size:13.5px}.mem-body-md>:first-child{margin-top:0}.mem-body-md>:last-child{margin-bottom:0}.mem-body-md h1,.mem-body-md h2,.mem-body-md h3{color:var(--accent-ink);margin:16px 0 8px;line-height:1.3}.mem-body-md h1{font-size:18px}.mem-body-md h2{font-size:15px}.mem-body-md h3{font-size:13.5px}.mem-body-md p{margin:0 0 8px}.mem-body-md ul,.mem-body-md ol{margin:6px 0;padding-left:20px}.mem-body-md li{margin-bottom:3px}.mem-body-md code{font-family:var(--mono);background:var(--surface);border:1px solid var(--border);word-break:break-word;border-radius:4px;padding:0 4px;font-size:12px}.mem-body-md pre{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin:8px 0;padding:10px 12px;overflow-x:auto}.mem-body-md pre code{background:0 0;border:0;padding:0}.mem-editor-tall{min-height:calc(100vh - 320px);font-size:12.5px}.mem-editor{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);font-size:12px;font-family:var(--mono);resize:vertical;box-sizing:border-box;border-radius:6px;padding:10px 12px;line-height:1.55}.mem-editor:focus{border-color:var(--accent);outline:none}.mem-card .foot{font-family:var(--mono);color:var(--text-3);border-top:1px dashed var(--border);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding-top:8px;font-size:10.5px;display:flex}.skills-layout{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:16px;display:grid}.skills-list{flex-direction:column;gap:6px;max-height:calc(100vh - 220px);padding-right:4px;display:flex;overflow-y:auto}.skills-item{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:8px;padding:10px 12px;transition:border-color .12s,background .12s}.skills-item:hover{border-color:var(--border-strong)}.skills-item.active{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 6%, var(--surface))}.skills-item-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.skills-item-name{font-family:var(--mono);color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.skills-item-desc{color:var(--text-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.skills-detail{min-width:0}.skill-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--text-3);background:var(--surface);border-radius:4px;padding:1px 6px;font-size:10px;line-height:1.5;display:inline-block}.skill-badge-bundled{color:color-mix(in oklab, var(--text-2) 80%, transparent);border-color:var(--border-strong)}.skill-badge-custom{color:var(--accent-ink,var(--accent));border-color:color-mix(in oklab, var(--accent) 35%, var(--border-strong));background:color-mix(in oklab, var(--accent) 6%, var(--surface))}.skill-badge-override{color:var(--warn,#b58000);border-color:color-mix(in oklab, var(--warn,#b58000) 35%, var(--border-strong));background:color-mix(in oklab, var(--warn,#b58000) 8%, var(--surface))}.skills-slug-row{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.skills-slug-row input{font-family:var(--mono)}.skills-slug-hint{color:var(--text-3);font-size:11px}.skills-slug-hint.error{color:var(--err)}.skills-slug-hint.warn{color:var(--warn,#b58000)}.sched{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) 130px 130px 110px 90px;align-items:center;gap:14px;padding:14px 18px;display:grid}.sched:last-child{border-bottom:0}.sched.head{background:var(--surface-2);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding:10px 18px;font-size:10px}.sched.disabled .title{color:var(--text-3)}.sched.disabled .meta{opacity:.7}.sched.highlight{outline:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.sched .title{color:var(--text);font-size:14px;font-weight:500}.sched .meta{font-family:var(--mono);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:11px;display:flex;overflow:hidden}.sched .meta>span:not(.tag){white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.schedule-form-card{margin-bottom:18px}.schedule-form-body,.app-form-body{flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.schedule-form-body input,.schedule-form-body textarea,.schedule-form-body select,.app-form-body input[type=text],.app-form-body input[type=password],.app-form-body input[type=url],.app-form-body input:not([type]),.app-form-body textarea,.app-form-body select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);font-size:13px;font-family:var(--sans);resize:vertical;border-radius:6px;padding:9px 12px}.schedule-form-body textarea,.app-form-body textarea{font-family:var(--mono);font-size:12px;line-height:1.5}.schedule-form-body input:focus,.schedule-form-body textarea:focus,.schedule-form-body select:focus,.app-form-body input:focus,.app-form-body textarea:focus,.app-form-body select:focus{border-color:var(--accent);outline:none}.schedule-form-row,.app-form-row{align-items:center;gap:10px;display:flex}.schedule-form-label,.app-form-label{font-family:var(--mono);color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.schedule-form-actions,.app-form-actions{gap:8px;padding-top:4px;display:flex}.app-form-check-row{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.app-form-check{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.app-form-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.app-form-field{flex-direction:column;gap:6px;display:flex}.alert{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) 160px 110px 90px 90px;align-items:center;gap:14px;padding:14px 18px;display:grid}.alert:last-child{border-bottom:0}.alert.head{background:var(--surface-2);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding:10px 18px;font-size:10px}.alert .title{color:var(--text);word-break:break-word;font-size:14px;font-weight:500}.alert .meta{font-family:var(--mono);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:11px;display:flex}.alert .severity{background:var(--text-3);border-radius:50%;justify-self:center;width:10px;height:10px}.alert .severity.crit{background:var(--err);box-shadow:0 0 0 3px color-mix(in oklab, var(--err) 25%, transparent)}.alert .severity.warn{background:var(--warn)}.alert .severity.info{background:var(--accent)}.alert .severity.low{background:var(--text-3)}.alert-inv-link{background:var(--accent-soft);border:1px solid color-mix(in oklab, var(--accent) 25%, var(--border));font-family:var(--mono);color:var(--accent-ink);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;transition:background .12s;display:inline-flex}.alert-inv-link:hover{background:color-mix(in oklab, var(--accent) 14%, var(--surface))}.alerts-show-more{border:none;border-top:1px dashed var(--border);width:100%;color:var(--text-3);font-size:11px;font-family:var(--mono);cursor:pointer;text-align:center;letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:12px;transition:background .12s,color .12s;display:block}.alerts-show-more:hover{background:var(--surface-tint);color:var(--accent-ink)}.alerts-show-closed{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-left:4px;font-size:12px;display:inline-flex}.alerts-show-closed input[type=checkbox]{cursor:pointer;margin:0}.alerts-show-closed:hover{color:var(--text-1)}.alert[role=button]:hover{background:var(--surface-tint)}.alert-detail{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-tint);color:var(--text-2);padding:16px 20px;font-size:13px}.alert-detail-error{color:var(--crit,#d33)}.alert-detail-description{color:var(--text-2);margin-bottom:14px;line-height:1.5}.alert-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;display:grid}@media (width<=900px){.alert-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.alert-detail-item{min-width:0}.alert-detail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px;font-size:11px}.alert-detail-value{color:var(--text-1);word-break:break-word}.alert-detail-target{border-top:1px dashed var(--border);margin-top:14px;padding-top:14px}.customer-manage-btn{border:1px solid var(--border-accent);color:var(--text-primary);font-family:var(--font);cursor:pointer;letter-spacing:.04em;background:0 0;border-radius:4px;padding:6px 12px;font-size:.82rem}.customer-manage-btn:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}.customer-manager-overlay,.customer-editor-overlay{z-index:50;background:#020408a6;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.customer-editor-overlay{z-index:60;padding-top:60px}.customer-manager{background:var(--bg-raised);border:1px solid var(--border-accent);width:100%;max-width:1200px;box-shadow:0 0 0 1px var(--border);border-radius:8px;padding:20px 24px 24px}.cm-body{gap:20px;min-height:420px;max-height:calc(100vh - 220px);display:flex}.cm-sidebar{border-right:1px solid var(--border-subtle);flex-direction:column;flex:0 0 260px;gap:4px;padding-right:16px;display:flex;overflow-y:auto}.cm-sidebar-item{text-align:left;color:var(--text-primary);cursor:pointer;font-family:var(--font);background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.cm-sidebar-item:hover{background:var(--bg-surface);border-color:var(--border-subtle)}.cm-sidebar-item.selected{background:var(--cyan-dim);border-color:var(--cyan);color:var(--text-primary)}.cm-sidebar-item.archived{color:var(--text-dim)}.cm-sidebar-item-name{align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:flex}.cm-sidebar-item-meta{color:var(--text-dim);font-size:.72rem;font-family:var(--font-mono,monospace);align-items:center;gap:8px;display:flex}.cm-envcount{background:var(--bg-surface);min-width:18px;height:18px;color:var(--text-secondary);font-size:.7rem;font-family:var(--font);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.cm-sidebar-item.selected .cm-envcount{background:var(--bg-raised);color:var(--cyan)}.cm-main{flex:auto;min-width:0;padding-right:4px;overflow-y:auto}.cm-main-empty{height:100%;color:var(--text-dim);justify-content:center;align-items:center;font-size:.9rem;display:flex}.cm-customer-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.cm-customer-title{flex-direction:column;gap:4px;display:flex}.cm-customer-title .name{color:var(--text-primary);align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.cm-customer-title .notes{color:var(--text-secondary);font-size:.85rem}.cm-section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;min-height:24px;margin:18px 0 6px;font-size:.72rem;display:flex}.cm-add-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.75rem;font-family:var(--font);text-transform:none;letter-spacing:normal;cursor:pointer;background:0 0;border-radius:3px;padding:3px 10px;line-height:1.4}.cm-add-btn:hover{border-color:var(--cyan);color:var(--cyan)}.has-tooltip{position:relative}.has-tooltip[data-tooltip]:hover:after{content:attr(data-tooltip);z-index:100;background:var(--bg-raised);border:1px solid var(--border-accent);color:var(--text-primary);white-space:normal;width:max-content;max-width:420px;font-size:.82rem;font-weight:400;font-family:var(--font);text-transform:none;letter-spacing:normal;box-shadow:0 0 0 1px var(--border);pointer-events:none;border-radius:4px;padding:8px 12px;line-height:1.4;position:absolute;top:calc(100% + 6px);left:0}.customer-manager-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.customer-manager-header h2{color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:1.05rem}.customer-manager-actions{align-items:center;gap:8px;display:flex}.customer-manager-actions button,.yaml-upload-btn{border:1px solid var(--border-accent);color:var(--text-primary);font-family:var(--font);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-size:.8rem}.customer-manager-actions button:hover,.yaml-upload-btn:hover{border-color:var(--cyan);color:var(--cyan)}.customer-manager-close{padding:4px 10px!important;font-size:1.1rem!important}.customer-manager-subheader{color:var(--text-secondary);margin-bottom:14px;font-size:.82rem}.customer-manager-subheader strong{color:var(--text-primary)}.backend-note{color:var(--text-dim)}.customer-manager-error{border:1px solid var(--red);background:var(--red-dim);color:var(--red);border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.customer-manager-import-result{background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:4px;margin-bottom:12px;padding:10px 12px;font-size:.85rem}.customer-manager-import-result ul{color:var(--red);margin:8px 0;padding-left:20px}.customer-manager-table{border-collapse:collapse;width:100%;font-size:.88rem}.customer-manager-table th,.customer-manager-table td{text-align:left;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:10px 8px}.customer-manager-table td.actions-cell{text-align:right;white-space:nowrap;width:1%}.customer-manager-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:500}.customer-manager-table tr.archived td{color:var(--text-dim)}.customer-manager-table td.mono{font-family:var(--font-mono,monospace);color:var(--text-secondary);font-size:.8rem}.customer-row-actions{justify-content:flex-end;gap:6px;display:flex}.customer-row-actions button{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:3px;padding:4px 8px;font-size:.78rem}.customer-row-actions button:hover{border-color:var(--cyan);color:var(--cyan)}.customer-row-actions .customer-delete-btn:hover{border-color:var(--red);color:var(--red)}.customer-editor{background:var(--bg-raised);border:1px solid var(--border-accent);width:100%;max-width:720px;box-shadow:0 0 0 1px var(--border);border-radius:8px;padding:22px}.customer-editor h3{color:var(--text-primary);letter-spacing:.04em;margin:0 0 16px;font-size:.95rem}.customer-editor-grid{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.customer-editor-grid label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:.78rem;display:flex}.customer-editor-grid label.full-width,.customer-editor-grid .full-width{grid-column:1/-1}.field-note{color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:3px;padding:6px 10px;font-size:.8rem}.field-note .mono{color:var(--text-primary);font-family:var(--font-mono,monospace)}.customer-editor-grid label.checkbox-label{text-transform:none;flex-direction:row;align-items:center;font-size:.85rem}.customer-editor-grid input,.customer-editor-grid textarea,.customer-editor-grid select{background:var(--bg);border:1px solid var(--border);color:var(--text-primary);border-radius:3px;padding:6px 8px;font-family:inherit;font-size:.88rem}.customer-editor-grid select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5l3 3 3-3'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.customer-editor-grid select:focus{border-color:var(--cyan);outline:none}.customer-editor-grid input:disabled,.customer-editor-grid select:disabled{color:var(--text-dim);background:var(--bg-deep);cursor:not-allowed}.customer-editor-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.customer-editor-actions button{border:1px solid var(--border-accent);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:4px;padding:6px 16px}.customer-editor-actions button.primary{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.required-mark{color:var(--red);margin-left:2px}:is(.customer-editor-grid input:user-invalid,.customer-editor-grid textarea:user-invalid){border-color:var(--red)}.env-form-groups{flex-direction:column;gap:18px;display:flex}.env-form-group{border:none;border-top:1px solid var(--border);margin:0;padding:14px 0 0}.env-form-group:first-child{border-top:none;padding-top:0}.env-form-group>legend{letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin:0 0 10px;padding:0;font-size:.7rem;font-weight:600}.inv-grid{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:20px;display:grid}.inv-grid>.convo{min-width:0}@media (width<=1100px){.inv-grid{grid-template-columns:320px 1fr}}@media (width<=820px){.inv-grid{grid-template-columns:1fr}}.inv-rail{flex-direction:column;gap:14px;display:flex}.card.summary{background:var(--accent-soft);border:1px solid color-mix(in oklab, var(--accent) 25%, var(--border))}.card.summary .card-title{color:var(--accent-ink)}.summary-banner{margin-bottom:20px}.summary-banner .pinned-summary-content{max-height:48vh;padding:16px 20px;font-size:14px;line-height:1.6;overflow-y:auto}.summary-body{color:var(--text);padding:14px 16px;font-size:13px;line-height:1.55}.summary-body h4{color:var(--accent-ink);margin:0 0 6px;font-size:14px}.summary-body ul{margin:8px 0 0;padding-left:16px}.summary-body li{margin-bottom:4px}.summary-body b{color:var(--text)}.card.skills-card{border-left:3px solid var(--skill)}.card.skills-card .card-title{color:var(--skill)}.skill-tag{font-family:var(--mono);background:var(--skill-soft);color:var(--skill);border:1px solid color-mix(in oklab, var(--skill) 25%, var(--border));border-radius:999px;padding:4px 10px;font-size:11px}.skills-card-body{flex-wrap:wrap;gap:6px;padding:14px;display:flex}.card.plan ul{margin:0;padding:4px 16px 12px;list-style:none}.card.plan li{color:var(--text);border-bottom:1px dashed var(--border);align-items:flex-start;gap:10px;padding:7px 0;font-size:13px;display:flex}.card.plan li:last-child{border-bottom:0}.card.plan .check{color:var(--ok);flex:0 0 14px;margin-top:3px}.card.plan .check.pending{color:var(--text-3)}.card.plan .check.in-progress{color:var(--accent)}.convo{flex-direction:column;gap:14px;display:flex}.msg-block{flex-direction:column;gap:6px;display:flex}.msg-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;font-size:10px;display:flex}.msg-label .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.msg-label.user .dot{background:var(--accent-ink)}.msg-bubble{background:var(--surface);border:1px solid var(--border);font-family:var(--mono);color:var(--text);border-radius:10px;padding:12px 14px;font-size:13px}.msg-bubble.agent{background:var(--surface);font-family:var(--sans);line-height:1.55}.tool-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.tool-card+.tool-card,.msg-bubble+.tool-card,.tool-card+.msg-bubble{margin-top:8px}.tool-head{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:10px;display:flex}.tool-head .badge{color:var(--ok);font-size:10px}.tool-head .badge.err{color:var(--err)}.tool-body{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-word;max-width:100%;padding:10px 12px;font-size:12px;overflow-x:auto}.skill-load{background:var(--skill-soft);border:1px solid color-mix(in oklab, var(--skill) 25%, var(--border));color:var(--skill);font-family:var(--mono);border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:11px;display:inline-flex}.skill-load-label{letter-spacing:.06em;text-transform:uppercase;opacity:.85;font-size:9px;font-weight:600}.skill-load-name{font-weight:500}.inv-running{border-radius:var(--r);border:1px solid color-mix(in oklab, var(--accent) 30%, var(--border));background:var(--accent-soft);color:var(--accent-ink);font-family:var(--mono);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:12px;display:flex}.inv-running .spinner{border:2px solid color-mix(in oklab, var(--accent) 30%, var(--border));border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin}.inv-running .spacer{flex:1}.pinned-summary{box-shadow:none;background:0 0;border:0;flex-direction:column;margin:0;padding:0;display:flex}.pinned-summary-header{border-bottom:1px solid color-mix(in oklab, var(--accent) 15%, var(--border));cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.pinned-summary-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);font-size:11px;font-weight:600}.pinned-summary-actions{align-items:center;gap:6px;display:inline-flex}.pinned-summary-toggle{height:24px;font-size:11px;font-family:var(--mono);border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;letter-spacing:.04em;border-radius:6px;padding:0 8px}.pinned-summary-toggle:hover{background:var(--surface-tint);color:var(--text)}.pinned-summary-content{color:var(--text);max-height:none;padding:14px 16px;font-size:13px;line-height:1.55;overflow-y:visible}.pinned-summary-content p{margin:0 0 8px}.pinned-summary-content p:last-child{margin:0}.pinned-summary-content h1,.pinned-summary-content h2,.pinned-summary-content h3{color:var(--accent-ink);margin:12px 0 6px;font-size:14px}.pinned-summary-content ul,.pinned-summary-content ol{margin:8px 0;padding-left:16px}.pinned-summary-content li{margin-bottom:4px}.pinned-summary-content code{font-family:var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:12px}.pinned-summary-content pre{background:var(--surface);border:1px solid var(--border);font-family:var(--mono);border-radius:6px;margin:8px 0;padding:10px 12px;font-size:12px;overflow-x:auto}.pinned-summary-overlay{z-index:70;background:oklab(20.7682% -.00294792 -.0397151/.35);justify-content:center;align-items:flex-start;padding:8vh 20px 20px;animation:.14s fade-in;display:flex;position:fixed;inset:0}.pinned-summary-fullscreen{background:var(--surface);border:1px solid var(--border);width:min(960px,100%);max-height:84vh;box-shadow:0 0 0 1px var(--border);border-radius:14px;flex-direction:column;animation:.18s rise;display:flex;overflow:hidden}.pinned-summary-content-full{padding:18px 22px;font-size:14px;line-height:1.6;overflow-y:auto}.pinned-summary-close{border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--text-2);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.skills-bar{border:1px solid var(--border);border-left:3px solid var(--skill);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:0;padding:0;display:flex}.skills-bar-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--skill);border-bottom:1px solid var(--border);background:0 0;padding:14px 16px;font-size:11px;font-weight:600;display:block}.skill-chip{font-family:var(--mono);background:var(--skill-soft);color:var(--skill);border:1px solid color-mix(in oklab, var(--skill) 25%, var(--border));border-radius:999px;margin:0;padding:4px 10px;font-size:11px}.skills-bar-chips{flex-wrap:wrap;gap:6px;padding:14px 16px;display:flex}.todos-panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;padding:0;display:flex;position:static}.todos-panel-header{border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.todos-panel-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);font-size:11px;font-weight:600}.todos-panel-progress{font-family:var(--mono);color:var(--text-3);font-size:11px}.todos-panel-list{margin:0;padding:4px 16px 12px;list-style:none}.todo-item{color:var(--text);border-bottom:1px dashed var(--border);background:0 0;align-items:flex-start;gap:10px;padding:7px 0;font-size:13px;display:flex}.todo-item:last-child{border-bottom:0}.todo-icon{font-family:var(--mono);background:0 0;border:0;flex:0 0 14px;margin-top:3px}.todo-icon.todo-done{color:var(--ok)}.todo-icon.todo-active{color:var(--accent);animation:1.6s ease-in-out infinite pulse-dim}.todo-icon.todo-pending{color:var(--text-3)}@keyframes pulse-dim{0%,to{opacity:1}50%{opacity:.5}}.todo-content{flex:1}.todo-completed .todo-content{color:var(--text-2);text-decoration:line-through}.todo-item.todo-in_progress{background:0 0}.chat-message{background:0 0;border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.chat-message .message-role{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;font-size:10px;display:flex}.chat-message .message-role:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block}.chat-message.user .message-role:before{background:var(--accent-ink)}.chat-message.user .message-content>.text-part{background:var(--surface);border:1px solid var(--border);font-family:var(--mono);color:var(--text);border-radius:10px;padding:12px 14px;font-size:13px}.chat-message.assistant .message-content{flex-direction:column;gap:8px;display:flex}.chat-message.assistant .text-part{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.55}.chat-message.assistant .text-part>p{margin:0 0 8px}.chat-message.assistant .text-part>p:last-child{margin:0}.chat-message.assistant .text-part>h1,.chat-message.assistant .text-part>h2,.chat-message.assistant .text-part>h3{margin:12px 0 6px;font-size:14px}.chat-message.assistant .text-part code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:12px}.chat-message.assistant .text-part pre{background:var(--surface-2);border:1px solid var(--border);font-family:var(--mono);border-radius:6px;padding:10px 12px;font-size:12px;overflow-x:auto}.chat-message .tool-use{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:0;overflow:hidden}.chat-message .tool-use .tool-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);background:var(--surface-2);border-bottom:1px solid var(--border);padding:8px 12px;font-size:10px;display:block}.chat-message .tool-use .tool-command{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-word;background:0 0;border:0;margin:0;padding:10px 12px;font-size:12px;display:block;overflow-x:auto}.chat-message .tool-use .tool-command-block{background:var(--surface-2);margin:0;padding:10px 12px}.chat-message .tool-result{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:0;overflow:hidden}.chat-message .tool-result>summary{cursor:pointer;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);background:var(--surface-2);border-bottom:1px solid #0000;padding:8px 12px;font-size:10px;list-style:none}.chat-message .tool-result>summary::-webkit-details-marker{display:none}.chat-message .tool-result[open]>summary{border-bottom-color:var(--border)}.chat-message .tool-result.tool-error>summary{color:var(--err)}.chat-message .tool-result>pre{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-word;background:0 0;border:0;margin:0;padding:10px 12px;font-size:12px;overflow-x:auto}.chat-input{background:0 0;border:0;flex-direction:row;align-items:stretch;gap:10px;margin-top:18px;padding:0;display:flex}.chat-input input{border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--mono);border-radius:10px;outline:none;flex:1;min-height:44px;padding:12px 14px;font-size:13px;transition:border .12s,box-shadow .12s}.chat-input input:focus{border-color:color-mix(in oklab, var(--accent) 60%, var(--border));box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent)}.chat-input button{border-radius:var(--r);background:var(--accent);height:auto;color:var(--cream);border:1px solid var(--accent);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:0 22px;font-size:11px;font-weight:700}.chat-input button:disabled{opacity:.55;cursor:not-allowed}.chat-input button:hover:not(:disabled){box-shadow:none}.empty-state-rich{border:1px dashed var(--border);border-radius:var(--r-lg);text-align:center;background:var(--surface);color:var(--text-2);flex-direction:column;align-items:center;padding:32px 20px;display:flex}.empty-state-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-ink);font-family:var(--mono);border:0;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-weight:700;display:inline-flex}.empty-state-title{font-family:var(--sans);color:var(--text);letter-spacing:-.005em;text-transform:none;margin:0 0 4px;font-size:15px;font-weight:600}.empty-state-subtitle{color:var(--text-2);margin:0 0 14px;font-size:13px}.empty-state-subtitle strong{color:var(--accent-ink);font-family:var(--mono);font-size:12px}.empty-state-prompts{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;max-width:460px;display:flex}.empty-state-prompt{font-family:var(--mono);border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-2);cursor:pointer;text-align:center;border-radius:999px;padding:5px 10px;font-size:11px;transition:none}.empty-state-prompt:hover{color:var(--accent-ink);border-color:color-mix(in oklab, var(--accent) 40%, var(--border-strong));background:var(--accent-soft);border-style:solid}.empty-state-prompt:disabled{opacity:.55;cursor:not-allowed}.chat-fab{border:1px solid var(--border-strong);background:var(--accent);width:52px;height:52px;color:var(--cream);box-shadow:0 0 0 1px var(--border);z-index:60;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,box-shadow .12s;display:inline-flex;position:fixed;bottom:24px;right:24px}.chat-fab:hover{box-shadow:0 0 0 1px var(--border);transform:translateY(-1px)}.chat-fab:active{transform:translateY(0)}.chat-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--border);z-index:60;flex-direction:column;animation:.12s fadeIn;display:flex;position:fixed;overflow:hidden}.chat-panel.floating{max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);bottom:24px;right:24px}.chat-panel.docked{border-top:0;border-bottom:0;border-right:0;border-radius:0;height:100vh;top:0;bottom:0;right:0}.chat-resize-float{cursor:nwse-resize;z-index:2;width:14px;height:14px;position:absolute;top:0;left:0}.chat-resize-float:before{content:"";border-top:2px solid var(--text-3);border-left:2px solid var(--text-3);opacity:.6;border-top-left-radius:2px;width:6px;height:6px;position:absolute;top:4px;left:4px}.chat-resize-dock{cursor:ew-resize;z-index:2;width:6px;height:100%;position:absolute;top:0;left:-3px}.chat-resize-dock:hover{background:color-mix(in oklab, var(--accent) 22%, transparent)}.chat-head{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.chat-head-title{color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.chat-avatar{background:var(--text);width:28px;height:28px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.chat-avatar svg{width:16px;height:16px}.chat-head-actions{align-items:center;gap:2px;display:inline-flex}.chat-iconbtn{width:28px;height:28px;color:var(--text-2);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.chat-iconbtn:hover{background:var(--surface-tint);color:var(--text)}.chat-iconbtn:disabled{opacity:.4;cursor:not-allowed}.chat-body{background:var(--surface);flex:1;min-height:0;padding:14px 14px 8px;overflow-y:auto}.chat-welcome{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 12px 12px;display:flex}.chat-welcome-avatar{background:var(--text);width:64px;height:64px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.chat-welcome-avatar svg{width:32px;height:32px}.chat-welcome-title{color:var(--text);font-size:17px;font-weight:600}.chat-welcome-sub{color:var(--text-3);max-width:320px;font-size:13px;line-height:1.5}.chat-suggestions{flex-direction:column;gap:8px;width:100%;margin-top:14px;display:flex}.chat-suggestion{border:1px solid var(--border);background:var(--surface);color:var(--text-2);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:background .12s,border-color .12s;display:inline-flex}.chat-suggestion:hover{background:var(--surface-tint);border-color:var(--border-strong);color:var(--text)}.chat-suggestion svg{opacity:.8;flex-shrink:0}.chat-messages{flex-direction:column;gap:8px;display:flex}.chat-msg{display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg.assistant{justify-content:flex-start}.chat-msg-bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:14px;max-width:78%;padding:9px 12px;font-size:13.5px;line-height:1.45}.chat-msg.user .chat-msg-bubble{background:var(--accent);color:var(--cream);border-bottom-right-radius:4px}.chat-msg.assistant .chat-msg-bubble{background:var(--surface-2);color:var(--text);border:1px solid var(--border);white-space:normal;border-bottom-left-radius:4px}.chat-msg.assistant .chat-msg-bubble>:first-child{margin-top:0}.chat-msg.assistant .chat-msg-bubble>:last-child{margin-bottom:0}.chat-msg.assistant .chat-msg-bubble p{margin:0 0 6px}.chat-msg.assistant .chat-msg-bubble ul,.chat-msg.assistant .chat-msg-bubble ol{margin:0 0 6px;padding-left:20px}.chat-msg.assistant .chat-msg-bubble li{margin:2px 0}.chat-msg.assistant .chat-msg-bubble h1,.chat-msg.assistant .chat-msg-bubble h2,.chat-msg.assistant .chat-msg-bubble h3,.chat-msg.assistant .chat-msg-bubble h4{margin:8px 0 4px;font-size:14px;font-weight:600}.chat-msg.assistant .chat-msg-bubble code{font-family:var(--mono);background:var(--surface-tint);border-radius:4px;padding:1px 5px;font-size:12.5px}.chat-msg.assistant .chat-msg-bubble pre{background:var(--surface-tint);border:1px solid var(--border);border-radius:8px;margin:6px 0;padding:8px 10px;font-size:12.5px;overflow-x:auto}.chat-msg.assistant .chat-msg-bubble pre code{background:0 0;border-radius:0;padding:0}.chat-msg.assistant .chat-msg-bubble a{color:var(--accent);text-decoration:underline}.chat-msg.assistant .chat-msg-bubble blockquote{border-left:3px solid var(--border-strong);color:var(--text-2);margin:6px 0;padding-left:10px}.chat-msg.assistant .chat-msg-bubble table{border-collapse:collapse;margin:6px 0;font-size:12.5px}.chat-msg.assistant .chat-msg-bubble th,.chat-msg.assistant .chat-msg-bubble td{border:1px solid var(--border);padding:4px 8px}.chat-tool-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;max-width:100%;margin:4px 0;padding:3px 8px;font-size:11.5px;display:inline-flex}.chat-tool-chip svg{opacity:.7;flex-shrink:0}.chat-tool-chip-name{font-family:var(--mono);color:var(--text);font-size:11px}.chat-tool-chip-summary{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.chat-msg-error{color:var(--err);margin-top:6px;font-size:12.5px}.chat-report-card{margin:8px 0}.chat-report-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;max-width:100%;padding:8px 12px;transition:border-color .15s,background .15s;display:inline-flex}.chat-report-btn:hover:not(:disabled){border-color:var(--accent,#2f6feb);background:var(--surface-2,var(--surface))}.chat-report-btn:disabled{opacity:.6;cursor:default}.chat-report-btn svg{opacity:.85;flex-shrink:0}.chat-report-label{flex-direction:column;min-width:0;display:flex}.chat-report-title{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.chat-report-file{font-family:var(--mono);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.chat-tool-cluster{margin:4px 0}.chat-tool-cluster>summary{border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;list-style:none;display:inline-flex}.chat-tool-cluster>summary::-webkit-details-marker{display:none}.chat-tool-cluster>summary:after{content:"▾";color:var(--text-3);margin-left:2px;font-size:10px;transition:transform .12s}.chat-tool-cluster[open]>summary:after{transform:rotate(180deg)}.chat-tool-cluster>summary:hover{background:var(--surface-tint);color:var(--text)}.chat-tool-cluster-body{flex-direction:column;gap:4px;margin-top:6px;padding-left:4px;display:flex}.chat-typing{align-items:center;gap:4px;padding:12px 14px;display:inline-flex}.chat-typing span{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:1.2s infinite chat-typing-bounce}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-foot{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.chat-composer{resize:none;width:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:0;min-height:22px;max-height:140px;padding:0 2px;font-size:14px;line-height:1.45;display:block}.chat-composer::placeholder{color:var(--text-3)}.chat-foot-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-model-picker{flex:1;min-width:0}.chat-model-picker .ws{border-radius:8px;min-height:0;padding:4px 10px}.chat-model-picker .ws-label{letter-spacing:.12em;font-size:9px}.chat-model-picker .ws-value{font-size:12.5px}.chat-model-picker .ws-pop{max-height:280px;margin-top:0;margin-bottom:6px;inset:auto 0 100%}.chat-send{background:var(--accent);width:32px;height:32px;color:var(--cream);border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-send:hover{box-shadow:none}.chat-send:disabled{background:var(--surface-tint);color:var(--text-3);cursor:not-allowed;box-shadow:none}@media (width<=600px){.chat-panel.floating{bottom:8px;right:8px;width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important}}.diagram-page{flex-direction:column;gap:14px;height:calc(100vh - 100px);display:flex}.diagram-sub{align-items:center;gap:10px;margin-top:4px;display:flex}.diagram-sub-text{color:var(--text-3);font-size:12.5px}.diagram-badge{color:var(--text-2);background:var(--surface-tint);border:1px solid var(--border);border-radius:999px;align-items:center;gap:7px;padding:3px 10px;font-size:11.5px;display:inline-flex}.diagram-badge.generating{color:var(--accent-ink);border-color:var(--accent)}.spinner-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse-ring}.spinner-dot.large{width:14px;height:14px}.link-btn{color:var(--accent-ink);font-size:inherit;cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0;text-decoration:underline}.diagram-error{color:var(--err);background:color-mix(in oklab, var(--err) 7%, var(--surface));border:1px solid color-mix(in oklab, var(--err) 30%, var(--border));border-radius:var(--r);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12.5px;display:flex}.diagram-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-top:8px;padding:72px 32px;display:flex}.diagram-hero .ico{width:36px;height:36px;color:var(--accent)}.diagram-hero h3{font-size:17px}.diagram-hero p{max-width:460px;color:var(--text-2);font-size:13px}.diagram-canvas{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);min-height:420px;box-shadow:var(--shadow-sm);flex:1;position:relative;overflow:hidden}.az-node{background:var(--surface);border:1px solid var(--border);width:210px;height:60px;box-shadow:var(--shadow-sm);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .12s,box-shadow .12s;display:flex}.az-node:hover{border-color:var(--border-strong)}.az-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent)}.az-node img{flex:none;width:26px;height:26px}.az-node-text{min-width:0}.az-node-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.az-node-type{color:var(--text-3);font-size:10.5px}.az-handle{opacity:0;pointer-events:none;width:6px;height:6px}.rg-group{border:1.5px dashed var(--border-strong);background:color-mix(in oklab, var(--accent) 4%, transparent);border-radius:14px;width:100%;height:100%}.rg-group-title{align-items:center;gap:8px;padding:10px 14px;display:flex}.rg-group-name{font-family:var(--mono);color:var(--text-2);font-size:11.5px;font-weight:600}.rg-group-count{color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:10px}.diagram-canvas .react-flow__background{background:var(--surface-2)}.diagram-canvas .react-flow__background pattern circle{fill:var(--border-strong)}.diagram-canvas .react-flow__controls{box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:8px;overflow:hidden}.diagram-canvas .react-flow__controls-button{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text-2)}.diagram-canvas .react-flow__controls-button:hover{background:var(--surface-tint)}.diagram-canvas .react-flow__controls-button svg{fill:currentColor}.diagram-canvas .react-flow__minimap{background:var(--surface);border:1px solid var(--border);border-radius:8px}.diagram-canvas .react-flow__minimap-mask{fill:color-mix(in oklab, var(--bg) 65%, transparent)}.diagram-canvas .react-flow__minimap-node{fill:var(--border-strong)}.diagram-canvas .react-flow__edge-text{fill:var(--text-2);font-size:10px}.diagram-canvas .react-flow__edge-textbg{fill:var(--surface-2)}.diagram-canvas .react-flow__edge.selected .react-flow__edge-path{stroke-width:2.4px}.edge-pop{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:460px;box-shadow:var(--shadow-md);padding:12px 14px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.edge-pop-head{align-items:center;gap:10px;font-size:13px;display:flex}.edge-pop-head .icon-btn{margin-left:auto}.edge-pop-reason{color:var(--text-2);overflow-wrap:anywhere;margin-top:8px;font-size:12.5px}.kind-chip{color:var(--cream);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.kind-dot{border-radius:50%;flex:none;width:8px;height:8px}.diagram-side{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:330px;box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow-y:auto}.diagram-side-head{align-items:flex-start;gap:10px;display:flex}.diagram-side-head img{width:30px;height:30px;margin-top:2px}.diagram-side-head .icon-btn{margin-left:auto}.diagram-side-name{word-break:break-word;font-size:14px;font-weight:650}.diagram-side-type{color:var(--text-3);margin-top:2px;font-size:11.5px}.diagram-side-notes{color:var(--text-2);overflow-wrap:anywhere;font-size:12.5px}.diagram-side-actions{gap:8px;display:flex}.diagram-side-actions .btn{text-decoration:none}.diagram-side-section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-top:4px;font-size:10.5px;font-weight:650}.diagram-conn-list{flex-direction:column;gap:8px;list-style:none;display:flex}.diagram-conn{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);padding:8px 10px}.diagram-conn-row{align-items:baseline;gap:7px;min-width:0;font-size:12px;display:flex}.diagram-conn-dir{color:var(--text-3);flex:none}.diagram-conn-name{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:50%;font-weight:600;overflow:hidden}.diagram-conn-link{font:inherit;color:var(--accent-ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.diagram-conn-link:hover{text-decoration:underline}.diagram-conn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.diagram-conn-label{color:var(--text-3);text-align:right;overflow-wrap:anywhere;flex:0 auto;min-width:0;margin-left:auto;font-size:11px}.diagram-conn-reason{color:var(--text-2);overflow-wrap:anywhere;margin-top:4px;font-size:11.5px}.diagram-side-id{color:var(--text-3);border-top:1px solid var(--border);align-items:flex-start;gap:8px;margin-top:auto;padding-top:10px;font-size:10px;display:flex}.diagram-side-id-text{word-break:break-all;flex:auto;min-width:0;line-height:1.5}.diagram-side-id .icon-btn{flex:none;width:26px;height:26px}.diagram-side-id .icon-btn .ico{width:13px;height:13px}.main.main-wide{max-width:none;padding:24px 28px 32px}.diagram-canvas.fullscreen{z-index:200;border:none;border-radius:0;position:fixed;inset:0}.diagram-fs-btn{z-index:11;background:var(--surface);border:1px solid var(--border);width:32px;height:32px;color:var(--text-2);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;left:12px}.diagram-fs-btn:hover{background:var(--surface-tint);color:var(--text)}.diagram-canvas .react-flow__edge{cursor:pointer}.diagram-canvas .react-flow__edge-text{font-size:10.5px;font-weight:600}.rg-group.selected{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 7%, transparent)}.diagram-canvas .rg-resize-line{border-color:var(--accent);border-width:1px}.diagram-canvas .rg-resize-handle{background:var(--surface);border:1.5px solid var(--accent);border-radius:3px;width:9px;height:9px}.diagram-toolbar{z-index:11;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px}.diagram-toolbar .diagram-fs-btn{position:static}.diagram-seg{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;display:flex;overflow:hidden}.diagram-seg button{color:var(--text-3);background:0 0;border:none;padding:7px 11px;font-size:11px;font-weight:600}.diagram-seg button+button{border-left:1px solid var(--border)}.diagram-seg button:hover{color:var(--text);background:var(--surface-tint)}.diagram-seg button.active{color:var(--accent-ink);background:var(--accent-soft)}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
