*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink);background:var(--surface)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dim)}code,pre,kbd{font-family:var(--font-mono)}button,input,textarea,select{font:inherit;color:inherit}img,svg{display:block;max-width:100%}ul,ol{list-style:none}:root{--surface: #16140F;--surface-raised: #1E1C15;--surface-sunken: #100F0C;--surface-inverted: #EDE6D5;--ink: #EDE6D5;--ink-muted: #9B9283;--ink-subtle: #6B6459;--rule: #3A3730;--rule-strong: #4F5147;--accent: #E6793B;--accent-dim: #C86030;--accent-inverse: #16140F;--extend-green: #62B874;--extend-green-surface: #1A2E1F;--extend-blue: #7AA7D9;--extend-blue-surface: #192433;--state-queued: #D2AC57;--state-queued-surface: #2A2418;--state-running: #62B874;--state-running-surface: #1A2E1F;--state-retrying: #E39B4D;--state-retrying-surface: #2A2118;--state-cancelled: #A99DDB;--state-cancelled-surface: #1F1C2A;--state-failed: #D75050;--state-failed-surface: #2A1818;--state-completed: #62B874;--state-completed-surface: #1A2E1F;--state-warning: #D4B040;--state-info: #7AA7D9;--state-danger: #D75050;--font-display: "Departure Mono", monospace;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--text-2xs: 10px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 48px;--text-4xl: 64px;--leading-display: 1;--leading-heading: 1.2;--leading-body: 1.5;--leading-ui: 1.3;--leading-mono: 1.4;--leading-code: 1.6;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--gutter: 16px;--content-max: 880px;--sidebar-width: 280px;--header-height: 56px;--radius-0: 0px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--border-width: 1px;--border-focus: 2px;--shadow-layer2: 2px 2px 0 var(--rule);--duration-fast: .12s;--duration-normal: .16s;--duration-slow: .2s;--easing: ease-out}[data-theme=light]{--surface: #F5F0E8;--surface-raised: #FDFAF4;--surface-sunken: #EAE4D5;--surface-inverted: #1C1916;--ink: #1C1916;--ink-muted: #5E574E;--ink-subtle: #9C9489;--rule: #C8C2B2;--rule-strong: #8A8F85;--accent: #CB4B16;--accent-dim: #A83C12;--accent-inverse: #FDFAF4;--extend-green: #2D5A3E;--extend-green-surface: #EBF2ED;--extend-blue: #3D6E8F;--extend-blue-surface: #E8EFF5;--state-queued: #8C6A2A;--state-queued-surface: #F5EDD6;--state-running: #2F6B3A;--state-running-surface: #E6F2E8;--state-retrying: #8C5A1F;--state-retrying-surface: #F5E8D6;--state-cancelled: #5A4F8C;--state-cancelled-surface: #EEEAF5;--state-failed: #8A1F1F;--state-failed-surface: #F5E2E2;--state-completed: #2F6B3A;--state-completed-surface: #E6F2E8;--state-warning: #7A6015;--state-info: #3D6E8F;--state-danger: #8A1F1F}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--rule-strong);border-radius:var(--radius-sm)}:focus-visible{outline:var(--border-focus) solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.dashboard-layout{display:flex;height:100vh;overflow:hidden}.dashboard-main{position:relative;flex:1;overflow-y:auto;padding:var(--space-16) var(--space-6) var(--space-6);background:var(--surface-sunken)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--rule)}.dashboard-logo{display:block;width:120px;height:auto;filter:invert(1);mix-blend-mode:screen}[data-theme=light] .dashboard-logo{filter:none;mix-blend-mode:multiply}.dashboard-hamburger{position:absolute;top:var(--space-3);left:var(--space-3);z-index:20;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);cursor:pointer;transition:color .12s ease}.dashboard-hamburger:hover{color:var(--ink)}@media (max-width: 768px){.dashboard-main{padding:var(--space-16) var(--space-4) var(--space-4)}}.auth-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4)}.ds-panel{background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);padding:var(--space-6)}.ds-well{background:var(--surface-sunken);border:var(--border-width) solid var(--rule);border-radius:var(--radius-0);padding:var(--space-4)}.ds-button{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:var(--border-width) solid var(--rule);cursor:pointer;transition:background var(--duration-fast) var(--easing);display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px}.ds-button--primary{background:var(--accent);color:var(--accent-inverse);border-color:var(--accent)}.ds-button--primary:hover:not(:disabled){background:var(--accent-dim)}.ds-button--secondary{background:transparent;color:var(--ink);border-color:var(--rule)}.ds-button--secondary:hover:not(:disabled){background:var(--surface-sunken)}.ds-button--destructive{background:transparent;color:var(--state-danger);border-color:var(--state-danger)}.ds-button--destructive:hover:not(:disabled){background:var(--state-failed-surface)}.ds-button:disabled{opacity:.5;cursor:not-allowed}.ds-input{background:var(--surface-sunken);color:var(--ink);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);width:100%;min-height:44px}.ds-input:focus{border-color:var(--accent);outline:none}.ds-input::placeholder{color:var(--ink-subtle)}.ds-textarea{background:var(--surface-sunken);color:var(--ink);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);width:100%;min-height:80px;resize:vertical}.ds-textarea:focus{border-color:var(--accent);outline:none}.ds-textarea::placeholder{color:var(--ink-subtle)}.ds-status-chip{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-display);font-size:var(--text-xs);line-height:var(--leading-display);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:var(--border-width) solid;text-transform:uppercase}.ds-status-chip--queued{color:var(--state-queued);border-color:var(--state-queued);background:var(--state-queued-surface)}.ds-status-chip--running{color:var(--state-running);border-color:var(--state-running);background:var(--state-running-surface)}.ds-status-chip--completed{color:var(--state-completed);border-color:var(--state-completed);background:var(--state-completed-surface)}.ds-status-chip--failed{color:var(--state-failed);border-color:var(--state-failed);background:var(--state-failed-surface)}.ds-status-chip--cancelled{color:var(--state-cancelled);border-color:var(--state-cancelled);background:var(--state-cancelled-surface)}.ds-system-notice{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--state-info);background:var(--extend-blue-surface);border-left:3px solid var(--state-info);padding:var(--space-2) var(--space-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.ds-section-label{font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--space-2)}.ds-sidebar-overlay{display:none}.ds-sidebar{width:var(--sidebar-width);background:var(--surface-raised);border-right:var(--border-width) solid var(--rule);display:flex;flex-direction:column;height:100vh;overflow-y:auto;flex-shrink:0;transform:translate(0);transition:transform .18s cubic-bezier(.4,0,.2,1),margin .18s cubic-bezier(.4,0,.2,1);will-change:transform}.ds-sidebar--collapsed{transform:translate(-100%);margin-right:calc(-1 * var(--sidebar-width))}.ds-sidebar__logo{padding:var(--space-4);font-family:var(--font-display);font-size:var(--text-sm);color:var(--ink);border-bottom:var(--border-width) solid var(--rule)}.ds-sidebar__nav{flex:1;padding:var(--space-2) 0}.ds-sidebar__footer{padding:var(--space-2) 0;border-top:var(--border-width) solid var(--rule)}.ds-sidebar-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--ink-muted);cursor:pointer;transition:background var(--duration-fast) var(--easing);border:none;background:none;width:100%;text-align:left}.ds-sidebar-item:hover{background:var(--surface-sunken);color:var(--ink)}.ds-sidebar-item--active{color:var(--ink);background:var(--surface-sunken);border-left:2px solid var(--accent)}.ds-spinner{border:2px solid var(--rule);border-top-color:var(--accent);border-radius:50%;animation:ds-spin .6s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.ds-sidebar{position:fixed;z-index:100;top:0;left:0}.ds-sidebar--collapsed{margin-right:0}.ds-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#00000080;opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.4,0,.2,1)}.ds-sidebar-overlay--visible{opacity:1;pointer-events:auto}}.ds-select-table{width:100%}.ds-select-table__empty{color:var(--ink-muted);font-size:var(--text-sm)}.ds-select-table__bulk-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--surface-sunken);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md)}.ds-select-table__bulk-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);margin-right:auto}.ds-select-table__bulk-btn{min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.ds-select-table__table{width:100%;border-collapse:separate;border-spacing:0}.ds-select-table__th,.ds-select-table__td{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-sm)}.ds-select-table__th{font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);border-bottom:var(--border-width) solid var(--rule);background:var(--surface)}.ds-select-table__th--check,.ds-select-table__td--check{width:40px;text-align:center;padding-left:var(--space-2);padding-right:0}.ds-select-table__row{transition:background var(--duration-fast) var(--easing)}.ds-select-table__row:hover{background:var(--surface-raised)}.ds-select-table__row--selected,.ds-select-table__row--selected:hover{background:var(--surface-sunken)}.ds-select-table__row--clickable{cursor:pointer}.ds-select-table__td{border-bottom:var(--border-width) solid var(--rule);color:var(--ink)}.ds-select-table__checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);background:var(--surface-sunken);cursor:pointer;position:relative;flex-shrink:0}.ds-select-table__checkbox:checked{background:var(--accent);border-color:var(--accent)}.ds-select-table__checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--accent-inverse);border-width:0 2px 2px 0;transform:rotate(45deg)}.ds-select-table__checkbox:indeterminate{background:var(--accent);border-color:var(--accent)}.ds-select-table__checkbox:indeterminate:after{content:"";position:absolute;left:3px;top:6px;width:8px;height:2px;background:var(--accent-inverse)}.ds-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) 0}.ds-pagination__info{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted)}.cm{margin-bottom:var(--space-4);position:relative}.cm--user{display:flex;flex-direction:column;align-items:flex-end}.cm--user .cm-body{max-width:80%}.cm-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.cm-role{font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;color:var(--ink-muted)}.cm-role--user{color:var(--accent)}.cm-ts{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-subtle)}.cm-msg-copy{margin-left:auto;opacity:0;transition:opacity var(--duration-fast) var(--easing)}.cm:hover .cm-msg-copy{opacity:1}.cm-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink-muted);cursor:pointer;transition:color var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing)}.cm-copy-btn:hover{color:var(--ink);border-color:var(--rule-strong)}.cm-copy-btn--copied{color:var(--state-completed);border-color:var(--state-completed)}.cm-body{font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink)}.cm--error .cm-role{color:var(--state-danger)}.cm-body--error{color:var(--state-danger);background:color-mix(in srgb,var(--state-danger) 8%,transparent);border:var(--border-width) solid color-mix(in srgb,var(--state-danger) 25%,transparent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.cm-cursor{color:var(--accent);animation:cm-blink 1s step-end infinite}@keyframes cm-blink{50%{opacity:0}}.cm-body p{margin:0 0 var(--space-3)}.cm-body p:last-child{margin-bottom:0}.cm-body h1,.cm-body h2,.cm-body h3,.cm-body h4,.cm-body h5,.cm-body h6{font-family:var(--font-display);color:var(--ink);margin:var(--space-4) 0 var(--space-2);line-height:var(--leading-heading)}.cm-body h1:first-child,.cm-body h2:first-child,.cm-body h3:first-child,.cm-body h4:first-child{margin-top:0}.cm-body h1{font-size:var(--text-lg)}.cm-body h2{font-size:var(--text-md)}.cm-body h3{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.cm-body h4{font-size:var(--text-sm);font-weight:var(--weight-medium)}.cm-body strong{font-weight:var(--weight-semibold)}.cm-body em{font-style:italic}.cm-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.cm-body a:hover{color:var(--accent-dim)}.cm-body ul,.cm-body ol{margin:0 0 var(--space-3);padding-left:var(--space-6)}.cm-body li{margin-bottom:var(--space-1)}.cm-body li:last-child{margin-bottom:0}.cm-body ul{list-style-type:disc}.cm-body ol{list-style-type:decimal}.cm-body li>ul,.cm-body li>ol{margin-bottom:0;margin-top:var(--space-1)}.cm-body blockquote{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-4);border-left:3px solid var(--accent);color:var(--ink-muted);background:var(--surface-sunken);border-radius:0 var(--radius-md) var(--radius-md) 0}.cm-body blockquote p:last-child{margin-bottom:0}.cm-body table{width:100%;border-collapse:collapse;margin:0 0 var(--space-3);font-size:var(--text-xs)}.cm-body th,.cm-body td{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--rule);text-align:left}.cm-body th{background:var(--surface-sunken);font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.cm-body hr{border:none;border-top:var(--border-width) solid var(--rule);margin:var(--space-4) 0}.cm-body img{max-width:100%;border-radius:var(--radius-md)}.cm-inline-code{font-family:var(--font-mono);font-size:.9em;padding:1px 5px;background:var(--surface-sunken);border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);color:var(--accent)}.cm-pre-wrap{margin:0 0 var(--space-3)}.cm-pre-wrap:last-child{margin-bottom:0}.cm-code-block{border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);overflow:hidden}.cm-code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);background:var(--surface);border-bottom:var(--border-width) solid var(--rule)}.cm-code-lang{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-muted);text-transform:lowercase}.cm-code-header .cm-copy-btn{border:none;background:transparent;width:24px;height:24px}.cm-code-header .cm-copy-btn:hover{color:var(--ink)}.cm-code-block div[class*=prism]{scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.cm-code-block div[class*=prism]::-webkit-scrollbar{height:6px}.cm-code-block div[class*=prism]::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.logs-panel{width:300px;flex-shrink:0;border-left:var(--border-width) solid var(--rule);background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.logs-panel-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--rule);font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);flex-shrink:0}.logs-metrics{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--rule);flex-wrap:wrap;flex-shrink:0}.logs-metric{display:flex;flex-direction:column;gap:2px;background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);flex:1;min-width:72px}.logs-metric-label{font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.logs-metric-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);font-weight:var(--weight-medium)}.logs-timeline{flex:1;overflow-y:auto;padding:var(--space-4)}.logs-timeline-item{display:flex;gap:var(--space-3)}.logs-timeline-marker-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px}.logs-timeline-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid transparent}.logs-timeline-dot--success{background:var(--state-completed-surface);color:var(--state-completed);border-color:var(--state-completed)}.logs-timeline-dot--error{background:var(--state-failed-surface);color:var(--state-failed);border-color:var(--state-failed)}.logs-timeline-dot--cancelled{background:var(--state-cancelled-surface);color:var(--state-cancelled);border-color:var(--state-cancelled)}.logs-timeline-dot--warning{background:var(--state-queued-surface);color:var(--state-queued);border-color:var(--state-queued)}.logs-timeline-dot--active{background:#e6793b1f;color:var(--accent);border-color:var(--accent)}.logs-timeline-line{flex:1;width:1px;background:var(--rule);margin:3px 0;min-height:16px}.logs-timeline-content{padding-bottom:var(--space-4);flex:1;min-width:0}.logs-timeline-ts{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-subtle);margin-bottom:3px}.logs-timeline-label{font-family:var(--font-display);font-size:var(--text-sm);color:var(--ink);font-weight:var(--weight-medium)}.logs-timeline-label--success{color:var(--state-completed)}.logs-timeline-label--error{color:var(--state-failed)}.logs-timeline-label--cancelled{color:var(--state-cancelled)}.logs-timeline-label--warning{color:var(--state-queued)}.logs-timeline-detail{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-muted);margin-top:2px}.logs-panel-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.logs-panel-empty{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-muted);padding:var(--space-6) var(--space-4);text-align:center}.logs-panel-overlay,.logs-panel-close{display:none}@media (max-width: 768px){.logs-panel{position:fixed;top:0;right:0;bottom:0;width:100%;z-index:101;border-left:none}.logs-panel-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080}.logs-panel-close{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);cursor:pointer}.logs-panel-close:hover{color:var(--ink)}}.mp-pill{display:inline-flex;align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-2);border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-subtle);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing);position:relative;white-space:nowrap}.mp-pill:hover{color:var(--ink-muted);background:var(--surface-sunken)}.mp-pill--active{color:var(--accent);background:var(--surface-sunken)}.mp-pill__chevron{flex-shrink:0;transition:transform var(--duration-fast) var(--easing)}.mp-pill__chevron--open{transform:rotate(180deg)}.mp-dropdown{position:absolute;bottom:calc(100% + var(--space-2));left:0;min-width:240px;background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:100;padding:var(--space-1) 0}.mp-dropdown__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);text-align:left;cursor:pointer}.mp-dropdown__item:hover{background:var(--surface-sunken)}.mp-dropdown__item--active{color:var(--accent);font-weight:var(--weight-bold)}.mp-dropdown__provider{font-size:10px;color:var(--ink-subtle);margin-left:auto}.cm-menu{display:flex;align-items:center;gap:var(--space-2);position:relative}.cm-menu--active{color:var(--accent)!important;background:var(--surface-sunken)!important}.cm-menu__summary{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.cm-dropdown{position:absolute;bottom:calc(100% + var(--space-2));left:0;min-width:260px;max-height:400px;overflow-y:auto;background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:100;padding:var(--space-1) 0}.cm-dropdown__section-label{padding:var(--space-1) var(--space-3);font-size:10px;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-subtle)}.cm-dropdown__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);text-align:left;cursor:pointer}.cm-dropdown__item:hover{background:var(--surface-sunken)}.cm-dropdown__item--active{color:var(--accent);font-weight:var(--weight-bold)}.cm-dropdown__item--ephemeral{color:var(--ink-muted);font-style:italic}.cm-dropdown__item--ephemeral.cm-dropdown__item--active{color:var(--accent)}.cm-dropdown__provider{font-size:10px;color:var(--ink-subtle);margin-left:auto}.cm-dropdown__divider{height:1px;background:var(--rule);margin:var(--space-1) 0}.cm-dropdown__actions{display:flex;gap:var(--space-1);padding:var(--space-1) var(--space-3) var(--space-2)}.cm-dropdown__action-btn{padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);background:transparent;color:var(--ink-subtle);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:border-color .15s,color .15s}.cm-dropdown__action-btn:hover{border-color:var(--accent);color:var(--accent)}.cm-dropdown__create{display:flex;gap:var(--space-1);padding:var(--space-1) var(--space-3) var(--space-2);align-items:center}.cm-dropdown__create-input{flex:1;min-width:0;border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);background:var(--surface-base);color:var(--ink)}.cm-dropdown__create-input:focus{outline:none;border-color:var(--accent)}.cm-dropdown__create-btn{padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-inverse);font-size:var(--text-xs);cursor:pointer;white-space:nowrap}.cm-dropdown__cancel-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-subtle);font-size:14px;line-height:1;cursor:pointer}.cm-dropdown__cancel-btn:hover{color:var(--ink);background:var(--surface-sunken)}.cm-dropdown__tpl-picker{border-top:var(--border-width) dashed var(--rule);border-bottom:var(--border-width) dashed var(--rule);margin:var(--space-1) 0;padding:var(--space-1) 0;background:var(--surface-sunken)}.cm-dropdown__back{color:var(--ink-subtle);font-size:var(--text-xs)}.cm-dropdown__tpl-badge{display:inline-block;padding:1px 4px;font-size:9px;font-weight:var(--weight-bold);letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-inverse);vertical-align:middle;flex-shrink:0}@media (max-width: 768px){.cm-menu__summary{max-width:160px}}.chat-container{display:flex;flex-direction:column;height:calc(100vh - var(--space-16) - var(--space-6))}.chat-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-6) var(--space-3) 52px;background:var(--surface-sunken);z-index:10}.chat-header .ds-button{white-space:nowrap}.chat-body{flex:1;display:flex;overflow:hidden;min-height:0}.chat-transcript{flex:1;min-width:0;overflow-y:auto;padding:var(--space-6) 15%}.chat-btn--active{background:var(--surface-sunken)!important;border-color:var(--accent)!important;color:var(--accent)!important}.chat-composer{display:flex;flex-direction:column;margin-top:var(--space-3);background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:12px}.chat-composer-input.ds-textarea{border:none;border-radius:12px 12px 0 0;background:transparent;min-height:80px;max-height:200px;resize:none;overflow-y:auto;padding:var(--space-3) var(--space-4)}.chat-composer-input.ds-textarea:focus{border-color:transparent;outline:none}.chat-composer:focus-within{border-color:var(--accent)}.chat-composer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3)}.chat-composer-actions{display:flex;gap:var(--space-1)}.chat-composer-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-subtle);cursor:pointer;transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing)}.chat-composer-icon:hover{color:var(--ink-muted);background:var(--surface-sunken)}.chat-composer-send{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-lg);background:var(--accent);color:var(--accent-inverse);cursor:pointer;transition:opacity var(--duration-fast) var(--easing)}.chat-composer-send:hover{opacity:.85}.chat-composer-send--disabled{background:var(--surface-sunken);color:var(--ink-subtle);cursor:default}.chat-composer-send--disabled:hover{opacity:1}.chat-composer-send--stop{background:var(--state-danger);color:#fff}.chat-composer-send--stop:hover{opacity:.85}.chat-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}@media (max-width: 768px){.chat-container{height:calc(100vh - var(--space-16) - var(--space-4))}.chat-transcript{padding:var(--space-4) var(--space-4)}.chat-header{padding:var(--space-2) var(--space-3) var(--space-2) 52px}.chat-header .ds-button svg{display:none}.chat-label-full{display:none}}.history-list{display:flex;flex-direction:column}.history-item{display:flex;flex-direction:column;padding:var(--space-3);border-bottom:var(--border-width) solid var(--rule);cursor:pointer;transition:background var(--duration-fast) var(--easing)}.history-item:hover{background:var(--surface-raised)}.history-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.history-timestamp{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-subtle)}.history-preview{font-size:var(--text-sm);color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-container{max-width:var(--content-max);margin-inline:auto}.settings-heading{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--ink);margin-bottom:var(--space-4)}.settings-tabs{display:flex;gap:var(--space-1);border-bottom:var(--border-width) solid var(--rule);margin-bottom:var(--space-6)}.settings-tab{padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--duration-fast) var(--easing)}.settings-tab:hover{color:var(--ink)}.settings-tab--active{color:var(--ink);border-bottom-color:var(--accent)}.settings-section{max-width:480px}.settings-field{margin-bottom:var(--space-4)}.settings-field label{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-muted);margin-bottom:var(--space-1)}.settings-field-row{display:flex;gap:var(--space-2);align-items:flex-end}.settings-success{color:var(--state-completed);font-size:var(--text-xs);margin-top:var(--space-1)}.settings-error{color:var(--state-failed);font-size:var(--text-xs);margin-top:var(--space-1)}.workspaces-container{max-width:var(--content-max);margin-inline:auto}.workspaces-search{margin-bottom:var(--space-4);max-width:400px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.template-card{display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-4);background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);gap:var(--space-3)}.template-card-body{display:flex;flex-direction:column;gap:var(--space-1)}.template-card-name{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink)}.template-card-desc{font-size:var(--text-xs);color:var(--ink-subtle);line-height:var(--leading-relaxed)}.template-card-actions{display:flex;gap:var(--space-2)}.workspaces-list{display:flex;flex-direction:column;gap:var(--space-2)}.workspace-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md)}.workspace-name{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink)}.workspace-meta{font-size:var(--text-xs);color:var(--ink-subtle)}.workspace-meta-right{text-align:right;font-size:var(--text-xs);color:var(--ink-subtle)}.workspace-card-actions{display:flex;align-items:center;gap:var(--space-3)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center}.modal-content{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);width:100%;max-width:420px;margin:var(--space-4)}.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.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))}.docs-article{max-width:var(--content-max);margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-16);color:var(--ink);font-family:var(--font-body);line-height:var(--leading-body)}.docs-article h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.docs-article .docs-subtitle{font-size:var(--text-md);color:var(--ink-muted);margin-bottom:var(--space-8)}.docs-article h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-top:var(--space-8);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--rule)}.docs-article h3{font-size:var(--text-md);font-weight:var(--weight-semibold);margin-top:var(--space-6);margin-bottom:var(--space-2)}.docs-article p{margin-bottom:var(--space-4);color:var(--ink-muted)}.docs-article ul,.docs-article ol{margin-bottom:var(--space-4);padding-left:var(--space-6);color:var(--ink-muted)}.docs-article li{margin-bottom:var(--space-1)}.docs-code-block{background:var(--surface-sunken);border:var(--border-width) solid var(--rule);border-radius:var(--radius-lg);padding:var(--space-4);overflow-x:auto;margin-bottom:var(--space-4)}.docs-code-block code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-code);color:var(--ink);background:none;padding:0;white-space:pre}.docs-inline-code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-sunken);padding:.15em .4em;border-radius:var(--radius-sm)}.docs-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4);font-size:var(--text-sm)}.docs-table th{text-align:left;font-weight:var(--weight-semibold);color:var(--ink);padding:var(--space-2) var(--space-3);border-bottom:calc(var(--border-width) * 2) solid var(--rule)}.docs-table td{padding:var(--space-2) var(--space-3);color:var(--ink-muted);border-bottom:var(--border-width) solid var(--rule);vertical-align:top}.docs-table tr:last-child td{border-bottom:none}@media (max-width: 768px){.docs-article{padding:var(--space-4) var(--space-3) var(--space-12)}.docs-table{font-size:var(--text-xs)}.docs-table th,.docs-table td{padding:var(--space-1) var(--space-2)}}.docs-code-tabs{margin-bottom:var(--space-4)}.docs-lang-tabs{display:flex;gap:var(--space-1);background:var(--surface-sunken);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--rule);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.docs-lang-tab{padding:var(--space-1) var(--space-3);background:none;border:none;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--easing);border-bottom:2px solid transparent}.docs-lang-tab:hover{color:var(--ink)}.docs-lang-tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.docs-mode-tabs{display:flex;gap:var(--space-1);background:var(--surface-sunken);padding:0 var(--space-3) var(--space-2);border-left:var(--border-width) solid var(--rule);border-right:var(--border-width) solid var(--rule)}.docs-mode-tab{padding:var(--space-1) var(--space-2);background:none;border:none;color:var(--ink-subtle);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--easing);border-bottom:1px solid transparent}.docs-mode-tab:hover{color:var(--ink-muted)}.docs-mode-tab.is-active{color:var(--ink-muted);border-bottom-color:var(--accent)}.docs-code-tabs .docs-code-block-wrapper{margin-bottom:0}.docs-code-tabs .docs-code-block-wrapper pre[class*=language-]{border-top-left-radius:0;border-top-right-radius:0}.docs-copyable-block{position:relative}.docs-copy-btn{position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:var(--radius-md);border:var(--border-width) solid var(--rule);background:var(--surface-raised);color:var(--ink-muted);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing);z-index:1}.docs-copyable-block:hover .docs-copy-btn{opacity:1}.docs-copy-btn:hover{background:var(--surface);color:var(--ink)}.docs-curl-pre{background:#100f0c;margin:0;padding:16px;border-radius:8px;border:1px solid #3a3730;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.6;color:#ede6d5;overflow-x:auto}.docs-key-highlight{color:var(--accent);background:color-mix(in oklch,var(--accent) 12%,transparent);padding:1px 4px;border-radius:3px}.docs-try-it{border:var(--border-width) solid var(--rule);border-radius:var(--radius-lg);background:var(--surface-raised);padding:var(--space-4);margin-bottom:var(--space-4)}.docs-try-it-form{display:flex;flex-direction:column;gap:var(--space-3)}.docs-try-it-prompt{width:100%;padding:var(--space-3);background:var(--surface);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-body);resize:vertical;min-height:72px;box-sizing:border-box}.docs-try-it-prompt:focus{outline:none;border-color:var(--accent)}.docs-try-it-prompt:disabled{opacity:.5}.docs-try-it-controls{display:flex;gap:var(--space-2);align-items:center}.docs-try-it-model{flex:1;padding:var(--space-2);background:var(--surface);border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);box-sizing:border-box}.docs-try-it-model:focus{outline:none;border-color:var(--accent)}.docs-try-it-model:disabled{opacity:.5}.docs-try-it-run{padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--accent-inverse);border:none;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;transition:opacity var(--duration-fast) var(--easing)}.docs-try-it-run:hover{opacity:.9}.docs-try-it-run:disabled{opacity:.4;cursor:not-allowed}.docs-try-it-abort{padding:var(--space-2) var(--space-4);background:var(--state-danger);color:var(--surface);border:none;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap}.docs-flow-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-subtle);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-4);margin-bottom:var(--space-2)}.docs-flow-steps{display:flex;align-items:center;gap:0;margin-bottom:var(--space-4)}.docs-flow-step-group{display:flex;align-items:center}.docs-flow-step{display:flex;align-items:center;gap:var(--space-1)}.docs-flow-dot{width:10px;height:10px;border-radius:50%;background:var(--ink-subtle);flex-shrink:0;transition:background var(--duration-normal) var(--easing)}.docs-flow-step-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-subtle);transition:color var(--duration-normal) var(--easing)}.docs-flow-line{width:24px;height:2px;background:var(--rule);margin:0 var(--space-1);flex-shrink:0}.docs-flow-step.is-past .docs-flow-dot{background:var(--extend-green)}.docs-flow-step.is-past .docs-flow-step-label{color:var(--extend-green)}.docs-flow-step.is-current .docs-flow-dot{background:var(--accent);animation:docs-pulse 1s infinite}.docs-flow-step.is-current .docs-flow-step-label{color:var(--accent)}.docs-flow-step.is-future .docs-flow-dot{background:var(--ink-subtle)}.docs-flow-step.is-future .docs-flow-step-label{color:var(--ink-subtle)}.docs-flow-step.is-error .docs-flow-dot{background:var(--state-danger)}.docs-flow-step.is-error .docs-flow-step-label{color:var(--state-danger)}.docs-try-it-output{background:var(--surface-sunken);border:var(--border-width) solid var(--rule);border-radius:var(--radius-lg);padding:var(--space-4);min-height:80px;max-height:400px;overflow-y:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-code);white-space:pre-wrap;word-break:break-word;color:var(--ink);margin-bottom:var(--space-3)}.docs-try-it-error{color:var(--state-danger);font-style:italic}.docs-try-it-empty{color:var(--ink-subtle);font-style:italic}.docs-try-it-response-id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-subtle);margin-bottom:var(--space-3)}.docs-try-it-log-toggle{padding:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--space-1)}.docs-try-it-log-toggle:hover{color:var(--ink-muted)}.docs-try-it-events{max-height:200px;overflow-y:auto;border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);margin-top:var(--space-2)}.docs-try-it-event-entry{padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-subtle);border-bottom:var(--border-width) solid color-mix(in srgb,var(--rule) 50%,transparent);display:flex;gap:var(--space-2)}.docs-try-it-event-entry:last-child{border-bottom:none}.docs-api-key-setup{margin-bottom:var(--space-4)}.docs-api-key-loading{color:var(--ink-muted);font-size:var(--text-sm)}.docs-api-key-empty p{color:var(--ink-muted);font-size:var(--text-sm);margin-bottom:var(--space-3)}.docs-api-key-card{background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.docs-api-key-row{display:flex;align-items:center;gap:var(--space-3)}.docs-api-key-value{flex:1;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);word-break:break-all}.docs-api-key-actions{display:flex;gap:var(--space-2);flex-shrink:0}.docs-api-key-btn{padding:6px 14px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;border:var(--border-width) solid transparent;transition:background var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing)}.docs-api-key-btn:disabled{opacity:.5;cursor:not-allowed}.docs-api-key-btn-primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.docs-api-key-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.docs-api-key-btn-secondary{background:transparent;color:var(--ink);border-color:var(--rule)}.docs-api-key-btn-secondary:hover:not(:disabled){border-color:var(--ink-muted)}.docs-api-key-btn-danger{background:transparent;color:var(--state-failed);border-color:var(--rule)}.docs-api-key-btn-danger:hover:not(:disabled){border-color:var(--state-failed)}.docs-api-key-notice{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in oklch,var(--accent),transparent 88%);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--accent)}.docs-api-key-meta{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--ink-subtle)}@media (max-width: 768px){.docs-try-it-controls{flex-direction:column}.docs-try-it-model{width:100%}.docs-flow-steps{flex-wrap:wrap;gap:var(--space-1)}.docs-flow-line{width:12px}}.docs-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.docs-tabs{display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--rule);flex-shrink:0}.docs-tab{padding:var(--space-2) var(--space-4);background:none;border:none;color:var(--ink-muted);font-family:var(--font-mono);font-size:.85rem;cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.docs-tab:hover{color:var(--ink);background:var(--surface-sunken)}.docs-tab.is-active{color:var(--ink);background:var(--surface-sunken);border-bottom:2px solid var(--accent)}.docs-content{flex:1;overflow-y:auto;padding:var(--space-4)}.docs-api-ref{max-width:900px;margin:0 auto}.docs-api-ref h2{font-family:var(--font-mono);font-size:1.1rem;margin:var(--space-6) 0 var(--space-2);color:var(--ink-subtle);text-transform:uppercase;letter-spacing:.05em}.docs-endpoint{border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden;background:var(--surface-raised)}.docs-endpoint-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;background:none;border:none;text-align:left;color:inherit;font:inherit}.docs-endpoint-header:hover{background:var(--surface-sunken)}.docs-method-badge{font-family:var(--font-mono);font-size:.72rem;font-weight:var(--weight-bold);padding:.15em .5em;border-radius:var(--radius-sm);text-transform:uppercase;flex-shrink:0}.docs-method-badge.is-get{background:color-mix(in srgb,var(--extend-green) 20%,transparent);color:var(--extend-green)}.docs-method-badge.is-post{background:color-mix(in srgb,var(--state-retrying) 20%,transparent);color:var(--state-retrying)}.docs-method-badge.is-patch{background:color-mix(in srgb,var(--extend-blue) 20%,transparent);color:var(--extend-blue)}.docs-method-badge.is-delete{background:color-mix(in srgb,var(--state-danger) 20%,transparent);color:var(--state-danger)}.docs-endpoint-path{font-family:var(--font-mono);font-size:.85rem;color:var(--ink)}.docs-endpoint-desc{font-size:.8rem;color:var(--ink-subtle);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docs-endpoint-chevron{font-size:.7rem;color:var(--ink-subtle);transition:transform .15s;margin-left:var(--space-1);flex-shrink:0}.docs-endpoint.is-open .docs-endpoint-chevron{transform:rotate(90deg)}.docs-endpoint-body{padding:var(--space-3);border-top:var(--border-width) solid var(--rule)}.docs-field-group{margin-bottom:var(--space-2)}.docs-field-label{display:block;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-muted);margin-bottom:var(--space-1)}.docs-field-label .docs-required{color:var(--state-danger);margin-left:.25em}.docs-field-input,.docs-field-textarea{width:100%;padding:var(--space-2);background:var(--surface);border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono);font-size:.82rem;box-sizing:border-box}.docs-field-input:focus,.docs-field-textarea:focus{outline:none;border-color:var(--accent)}.docs-field-textarea{min-height:80px;resize:vertical}.docs-send-btn{margin-top:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:.82rem;font-weight:var(--weight-semibold);border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--surface)}.docs-send-btn.is-get{background:var(--extend-green)}.docs-send-btn.is-post{background:var(--state-retrying)}.docs-send-btn.is-patch{background:var(--extend-blue)}.docs-send-btn.is-delete{background:var(--state-danger)}.docs-send-btn:disabled{opacity:.5;cursor:not-allowed}.docs-response-area{margin-top:var(--space-3)}.docs-response-meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.docs-status-badge{font-family:var(--font-mono);font-size:.78rem;font-weight:var(--weight-bold);padding:.15em .5em;border-radius:var(--radius-sm)}.docs-status-badge.is-2xx{background:color-mix(in srgb,var(--extend-green) 20%,transparent);color:var(--extend-green)}.docs-status-badge.is-4xx{background:color-mix(in srgb,var(--state-retrying) 20%,transparent);color:var(--state-retrying)}.docs-status-badge.is-5xx{background:color-mix(in srgb,var(--state-danger) 20%,transparent);color:var(--state-danger)}.docs-elapsed{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-subtle)}.docs-response-body{background:var(--surface);border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-2);overflow-x:auto}.docs-response-body pre{margin:0}.docs-response-body code{font-family:var(--font-mono);font-size:.78rem;line-height:var(--leading-body);color:var(--ink)}.docs-sse-visualizer{border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--space-3)}.docs-sse-status-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-bottom:var(--border-width) solid var(--rule)}.docs-connection-state{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.78rem;color:var(--ink-muted)}.docs-connection-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-subtle);flex-shrink:0}.docs-connection-dot.is-connecting{background:var(--state-retrying);animation:docs-pulse 1s infinite}.docs-connection-dot.is-connected{background:var(--extend-green)}.docs-connection-dot.is-closed{background:var(--ink-subtle)}.docs-connection-dot.is-error{background:var(--state-danger)}@keyframes docs-pulse{0%,to{opacity:1}50%{opacity:.4}}.docs-abort-btn{padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:.75rem;background:var(--state-danger);color:var(--surface);border:none;border-radius:var(--radius-sm);cursor:pointer}.docs-sse-live-text{padding:var(--space-3);font-family:var(--font-mono);font-size:.82rem;line-height:var(--leading-body);color:var(--ink);background:var(--surface);min-height:60px;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.docs-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);animation:docs-blink .8s step-end infinite;vertical-align:text-bottom;margin-left:1px}@keyframes docs-blink{0%,to{opacity:1}50%{opacity:0}}.docs-sse-event-log-toggle{padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:.75rem;color:var(--ink-subtle);cursor:pointer;border-top:var(--border-width) solid var(--rule);-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--space-1)}.docs-sse-event-log-toggle:hover{color:var(--ink-muted)}.docs-sse-event-log-chevron{font-size:.6rem;transition:transform .15s}.docs-sse-event-log-chevron.is-open{transform:rotate(90deg)}.docs-sse-event-log{max-height:200px;overflow-y:auto;border-top:var(--border-width) solid var(--rule)}.docs-sse-event-entry{padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:.72rem;color:var(--ink-subtle);border-bottom:var(--border-width) solid color-mix(in srgb,var(--rule) 50%,transparent);display:flex;gap:var(--space-2)}.docs-event-type{color:var(--accent);font-weight:var(--weight-semibold);flex-shrink:0}.docs-event-data{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-field-desc{display:block;font-size:.75rem;color:var(--ink-muted);margin-top:2px;line-height:1.3}.docs-response-schema{margin-top:var(--space-3);border-top:1px solid var(--surface-2);padding-top:var(--space-3)}.docs-response-schema summary{cursor:pointer;font-size:.8rem;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.docs-schema-table{width:100%;border-collapse:collapse;margin-top:var(--space-2);font-size:.8rem}.docs-schema-table th{text-align:left;padding:4px 8px;border-bottom:1px solid var(--surface-2);color:var(--ink-muted);font-weight:500}.docs-schema-table td{padding:4px 8px;border-bottom:1px solid var(--surface-1);color:var(--ink)}.docs-schema-table code{font-size:.75rem;color:var(--accent)}.logs-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.logs-page__title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);padding:var(--space-4) var(--space-4) 0;margin:0}.logs-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--rule);position:sticky;top:0;background:var(--surface);z-index:10;flex-wrap:wrap}.logs-toolbar__search{flex:1;min-width:160px;max-width:320px}.logs-filter{position:relative}.logs-filter__btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;min-height:36px;transition:border-color var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing)}.logs-filter__btn:hover{border-color:var(--ink-subtle);color:var(--ink)}.logs-filter__btn--active{border-color:var(--accent);color:var(--accent)}.logs-filter__dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;min-width:200px;background:var(--surface-raised);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:20;padding:var(--space-2)}.logs-filter__option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--easing)}.logs-filter__option:hover{background:var(--surface-sunken)}.logs-filter__option input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);background:var(--surface-sunken);cursor:pointer;position:relative;flex-shrink:0}.logs-filter__option input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.logs-filter__option input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:8px;border:solid var(--accent-inverse);border-width:0 2px 2px 0;transform:rotate(45deg)}.logs-filter__section-label{font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-subtle);padding:var(--space-1) var(--space-2);margin-top:var(--space-1)}.logs-filter__section-label:first-child{margin-top:0}.logs-filter__time-inputs{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.logs-filter__time-input{background:var(--surface-sunken);color:var(--ink);border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs)}.logs-filter__time-input:focus{border-color:var(--accent);outline:none}.logs-live{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:var(--border-width) solid var(--rule);border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;min-height:36px;transition:border-color var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing);margin-left:auto}.logs-live:hover{border-color:var(--ink-subtle);color:var(--ink)}.logs-live--active{border-color:var(--state-completed);color:var(--state-completed)}.logs-live--paused{border-color:var(--ink-subtle);color:var(--ink-subtle)}.logs-live__dot{width:8px;height:8px;border-radius:50%;background:var(--ink-subtle);flex-shrink:0}.logs-live--active .logs-live__dot{background:var(--state-completed);animation:logs-live-pulse 1.5s ease-in-out infinite}@keyframes logs-live-pulse{0%,to{opacity:1}50%{opacity:.3}}.logs-body{display:flex;flex:1;overflow:hidden}.logs-list{flex:1;display:flex;flex-direction:column;overflow:hidden;transition:flex var(--duration-normal) var(--easing)}.logs-body--has-detail .logs-list{flex:0 0 60%}.logs-list__scroll{flex:1;overflow-y:auto}.logs-list__empty{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-muted);padding:var(--space-8) var(--space-4);text-align:center}.logs-list__loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.logs-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:var(--border-width) solid var(--rule);cursor:pointer;transition:background var(--duration-fast) var(--easing)}.logs-row:hover{background:var(--surface-raised)}.logs-row--selected,.logs-row--selected:hover{background:var(--surface-sunken)}.logs-row__ts{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);flex-shrink:0;width:72px}.logs-row__severity{width:8px;height:8px;border-radius:50%;flex-shrink:0}.logs-row__severity--info{background:var(--state-completed)}.logs-row__severity--warn{background:var(--state-warning)}.logs-row__severity--error{background:var(--state-failed)}.logs-row__severity--default{background:var(--ink-subtle)}.logs-row__name{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.logs-row__service{font-family:var(--font-body);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-subtle);background:var(--surface-sunken);padding:2px var(--space-2);border-radius:var(--radius-sm);flex-shrink:0}.logs-row__duration{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;width:120px}.logs-row__duration-bar{flex:1;height:4px;background:var(--surface-sunken);border-radius:2px;overflow:hidden}.logs-row__duration-fill{height:100%;background:var(--accent);opacity:.6;border-radius:2px;transition:width var(--duration-fast) var(--easing)}.logs-row__duration-label{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-muted);flex-shrink:0;min-width:40px;text-align:right}.logs-trace{border-bottom:var(--border-width) solid var(--rule)}.logs-trace>.logs-row{border-bottom:none}.logs-trace__children{position:relative;margin-left:16px}.logs-trace__child{position:relative;padding-left:24px}.logs-trace__child:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:var(--ink-subtle);opacity:.25}.logs-trace__child:after{content:"";position:absolute;left:8px;top:50%;width:14px;height:1px;background:var(--ink-subtle);opacity:.25}.logs-trace__child:last-child:before{bottom:50%}.logs-trace__child .logs-row{border-bottom:none}.logs-trace__child:not(:last-child) .logs-row{border-bottom:var(--border-width) solid color-mix(in srgb,var(--rule) 40%,transparent)}.logs-detail{flex:0 0 40%;background:var(--surface-raised);border-left:var(--border-width) solid var(--rule);display:flex;flex-direction:column;overflow:hidden;animation:logs-detail-slide var(--duration-normal) var(--easing)}@keyframes logs-detail-slide{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.logs-detail__header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--rule)}.logs-detail__name{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);font-weight:var(--weight-medium);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-detail__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);cursor:pointer;flex-shrink:0}.logs-detail__close:hover{color:var(--ink);background:var(--surface-sunken)}.logs-detail__badge{font-family:var(--font-mono);font-size:var(--text-2xs);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink-muted);flex-shrink:0}.logs-detail__tabs{display:flex;border-bottom:var(--border-width) solid var(--rule)}.logs-detail__tab{padding:var(--space-2) var(--space-4);border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing)}.logs-detail__tab:hover{color:var(--ink)}.logs-detail__tab--active{color:var(--ink);border-bottom-color:var(--accent)}.logs-detail__content{flex:1;overflow-y:auto;padding:var(--space-4)}.logs-meta-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);margin-bottom:var(--space-4)}.logs-meta-grid__label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap}.logs-meta-grid__value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink);word-break:break-all;display:flex;align-items:center;gap:var(--space-1)}.logs-meta-grid__copy{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-subtle);cursor:pointer;flex-shrink:0}.logs-meta-grid__copy:hover{color:var(--accent);background:var(--surface-sunken)}.logs-attrs{width:100%;border-collapse:separate;border-spacing:0}.logs-attrs th{font-family:var(--font-display);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);padding:var(--space-1) var(--space-2);text-align:left;border-bottom:var(--border-width) solid var(--rule)}.logs-attrs td{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border-bottom:var(--border-width) solid var(--rule)}.logs-attrs__key{font-family:var(--font-body);color:var(--ink-muted);white-space:nowrap}.logs-attrs__val{font-family:var(--font-mono);color:var(--ink);word-break:break-all}.logs-raw{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink);background:var(--surface-sunken);border:var(--border-width) solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-3);overflow-x:auto;white-space:pre-wrap;word-break:break-all;line-height:var(--leading-code)}.logs-footer{padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--rule)}@media (max-width: 768px){.logs-body--has-detail .logs-list{display:none}.logs-detail{flex:1}.logs-row__duration{width:80px}.logs-toolbar{gap:var(--space-1);padding:var(--space-2) var(--space-3)}.logs-toolbar__search{max-width:none;min-width:0}}
