.markdown-surface{width:100%;max-width:var(--layout-reading-width);margin:0 auto;font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text)}.markdown-surface--compact{max-width:none;margin:0;font-size:var(--font-size-sm)}.markdown-surface--family-serif{font-family:var(--font-family-serif)}.markdown-surface--family-mono{font-family:var(--font-family-mono)}.markdown-surface--size-small{font-size:var(--font-size-sm)}.markdown-surface--size-small h1{font-size:var(--font-size-2xl)}.markdown-surface--size-small h2{font-size:var(--font-size-xl)}.markdown-surface--size-small h3{font-size:var(--font-size-lg)}.markdown-surface--size-small h4{font-size:var(--font-size-base)}.markdown-surface--size-large{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.markdown-surface--size-xlarge{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed)}.markdown-surface--size-xlarge h3{font-size:var(--font-size-xl)}.markdown-surface--measure-full{max-width:none}.markdown-surface.markdown-surface--article{max-width:var(--layout-blog-reading-width);font-size:var(--font-size-lg);line-height:1.85;letter-spacing:-.003em}.markdown-surface.markdown-surface--article :is(p,ul,ol,pre,table,blockquote,figure){margin-block:0 1.5em}.markdown-surface.markdown-surface--article li+li{margin-top:.4em}.markdown-surface.markdown-surface--article h1{font-size:var(--font-size-2xl);margin:2.2em 0 .8em;line-height:1.3}.markdown-surface.markdown-surface--article h2{font-size:var(--font-size-2xl);margin:2em 0 .7em;line-height:1.3;letter-spacing:-.02em}.markdown-surface.markdown-surface--article h3{font-size:var(--font-size-xl);margin:1.8em 0 .6em;line-height:1.35}.markdown-surface.markdown-surface--article>:first-child{margin-top:0}.markdown-surface.markdown-surface--article blockquote{padding:.2em 0 .2em 1.2em;border:0;border-left:3px solid var(--color-text);border-radius:0;background:transparent;font-family:var(--font-family-serif);font-size:var(--font-size-xl);font-style:italic;color:var(--color-text)}.markdown-surface.markdown-surface--article blockquote>:last-child{margin-bottom:0}.markdown-surface.markdown-surface--article pre{font-size:var(--font-size-sm);line-height:1.6}.markdown-surface img[width]{max-width:100%;height:auto}.markdown-surface.markdown-surface--article img{border-radius:var(--radius-md)}@media (max-width:40rem){.markdown-surface.markdown-surface--article{font-size:var(--font-size-base);line-height:1.8}}.markdown-surface :is(h1,h2,h3,h4,h5,h6)[id]{scroll-margin-top:var(--spacing-lg)}.markdown-surface h1,.markdown-surface h2,.markdown-surface h3,.markdown-surface h4,.markdown-surface h5,.markdown-surface h6{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.markdown-surface h1{font-size:var(--font-size-3xl)}.markdown-surface h2{font-size:var(--font-size-2xl)}.markdown-surface h3{font-size:var(--font-size-xl)}.markdown-surface h4{font-size:var(--font-size-lg)}.markdown-surface h5,.markdown-surface h6{font-size:var(--font-size-base)}.markdown-surface blockquote,.markdown-surface ol,.markdown-surface p,.markdown-surface pre,.markdown-surface table,.markdown-surface ul{margin-bottom:var(--spacing-md)}.markdown-mermaid{min-width:0;min-height:var(--layout-empty-state-height);margin:0 0 var(--spacing-md);overflow:hidden;background:var(--color-graph-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.markdown-mermaid__error,.markdown-mermaid__loading{display:flex;min-height:var(--layout-empty-state-height);box-sizing:border-box;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-muted);text-align:center}.markdown-mermaid__stage{display:flex;flex-direction:column;min-width:0}.markdown-mermaid__scroll{min-width:0;overflow:auto}.markdown-mermaid__stage--expanded{height:100%}.markdown-mermaid__stage--expanded .markdown-mermaid__scroll{flex:1 1}.markdown-mermaid__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-2xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-graph-surface);-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.markdown-mermaid__tool{min-height:var(--control-height-xs);padding:0 var(--spacing-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-xs);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.markdown-mermaid__tool:hover{background:var(--color-panel);border-color:var(--color-border)}.markdown-mermaid__tool[aria-pressed=true]{color:var(--brand-ink);background:var(--brand-soft)}.markdown-mermaid__zoom{min-width:var(--spacing-3xl);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.markdown-mermaid__canvas{display:grid;min-width:max-content;min-height:var(--layout-empty-state-height);place-items:center;box-sizing:border-box;padding:var(--spacing-lg)}.markdown-mermaid__canvas svg{height:auto;font-family:var(--font-family-sans)}.markdown-mermaid__canvas[data-fit]{min-width:0}.markdown-mermaid-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--spacing-xl);background:var(--color-overlay)}.markdown-mermaid-overlay__panel{width:100%;height:100%;overflow:hidden;background:var(--color-graph-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.markdown-mermaid__stage--expanded .markdown-mermaid__canvas{min-height:100%}.markdown-mermaid__error{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);color:var(--color-error-strong);text-align:left}.markdown-mermaid__error pre{width:100%;max-height:var(--layout-textarea-medium-height);box-sizing:border-box;margin:var(--spacing-sm) 0 0;color:var(--color-text);text-align:left}.markdown-surface--compact .markdown-mermaid,.markdown-surface--compact .markdown-mermaid__canvas,.markdown-surface--compact .markdown-mermaid__error,.markdown-surface--compact .markdown-mermaid__loading{min-height:var(--layout-textarea-medium-height)}.markdown-surface ol,.markdown-surface ul{padding-left:var(--spacing-xl)}.markdown-surface blockquote{padding:var(--spacing-lg) var(--spacing-xl);color:var(--color-text-muted);background:var(--color-surface-alt);border:0;border-radius:var(--radius-lg)}.markdown-surface ul:has(>li input[type=checkbox]){padding-left:0;list-style:none}.markdown-surface li:has(>input[type=checkbox]){display:flex;align-items:baseline;gap:var(--spacing-sm)}.markdown-surface input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;accent-color:var(--color-text)}.markdown-callout{display:grid;grid-template-columns:2rem minmax(0,1fr);grid-gap:var(--spacing-md);gap:var(--spacing-md);box-sizing:border-box;margin:0 0 var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);color:var(--color-text);background:var(--color-surface-alt);border:0;border-radius:var(--radius-lg)}.markdown-callout__icon{position:relative;display:block;width:1.75rem;height:1.75rem;margin-top:var(--spacing-2xs);background:var(--color-danger-ink);-webkit-clip-path:polygon(25% 3%,75% 3%,97% 25%,97% 75%,75% 97%,25% 97%,3% 75%,3% 25%);clip-path:polygon(25% 3%,75% 3%,97% 25%,97% 75%,75% 97%,25% 97%,3% 75%,3% 25%)}.markdown-callout__icon:after{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-on-danger);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1;content:"!"}.markdown-callout__title{margin:0 0 var(--spacing-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.markdown-callout__body>:first-child{margin-top:0}.markdown-callout__body>:last-child{margin-bottom:0}.markdown-callout--warning .markdown-callout__icon{background:var(--color-status-review)}.markdown-callout--info .markdown-callout__icon,.markdown-callout--note .markdown-callout__icon,.markdown-callout--tip .markdown-callout__icon{background:var(--color-brand)}.markdown-callout--success .markdown-callout__icon{background:var(--color-status-done)}.markdown-surface code,.markdown-surface pre{font-family:var(--font-family-mono)}.markdown-surface :not(pre)>code{padding:var(--spacing-3xs) var(--spacing-xs);color:var(--color-code-inline-ink);background:var(--color-code-inline-surface);border:1px solid var(--color-code-inline-border);border-radius:var(--radius-sm);overflow-wrap:anywhere}.markdown-surface pre{overflow:auto;padding:var(--spacing-md);background:var(--color-code-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.markdown-surface table{width:100%;border-collapse:collapse}.markdown-surface td,.markdown-surface th{padding:var(--spacing-sm);border:1px solid var(--color-border);text-align:left;vertical-align:top}.markdown-surface th{font-weight:var(--font-weight-semibold)}.markdown-surface--table-striped td,.markdown-surface--table-striped th{border-width:0 0 1px}.markdown-surface--table-striped th{border-bottom:2px solid var(--color-border-strong)}.markdown-surface--table-grid th,.markdown-surface--table-striped tbody tr:nth-child(2n){background:var(--color-surface-alt)}.markdown-surface--table-grid td,.markdown-surface--table-grid th{border-color:var(--color-border-strong)}.markdown-surface--table-minimal td,.markdown-surface--table-minimal th{padding:var(--spacing-xs) var(--spacing-sm);border-width:0 0 1px}.markdown-surface--table-minimal th{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.markdown-surface--table-minimal tbody tr:last-child td{border-bottom:0}.markdown-surface--compact>:first-child{margin-top:0}.markdown-surface--compact>:last-child{margin-bottom:0}.markdown-surface .markdown-ref{display:inline;padding:0 var(--spacing-2xs);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-ink);text-decoration:none;white-space:nowrap;transition:background-color var(--motion-dissolve) var(--ease-dissolve)}.markdown-surface .markdown-ref:hover{text-decoration:underline;text-underline-offset:.15em}.markdown-surface .markdown-ref:before{display:inline-block;-webkit-margin-end:.2em;margin-inline-end:.2em;font-size:.85em;opacity:.8}.markdown-surface .markdown-attachment{display:inline-flex;align-items:center;gap:var(--spacing-2xs);overflow-wrap:anywhere}.markdown-surface .markdown-ref--task{font-family:var(--font-family-mono);font-size:.92em}.markdown-surface .markdown-ref--task:before{content:"▣"}.markdown-surface .markdown-ref--requirement:before{content:"◇"}.markdown-surface .markdown-ref--document{white-space:normal}.markdown-surface .markdown-ref--document:before{content:"▤"}.link-preview{display:flex;width:100%;box-sizing:border-box;overflow:hidden;margin-block:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel);color:var(--color-text);text-decoration:none;font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.link-preview:hover{background:var(--color-surface-hover)}.link-preview:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.link-preview__image{width:28%;max-width:12rem;object-fit:cover;align-self:stretch}.link-preview__body{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;padding:var(--spacing-lg)}.link-preview__site,.link-preview__url{color:var(--color-text-muted);font-size:var(--font-size-xs);overflow-wrap:anywhere}.link-preview__title{color:var(--color-text);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.link-preview__description{color:var(--color-text-muted);font-size:var(--font-size-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.markdown-surface a.link-preview{color:var(--color-text);text-decoration:none}.markdown-surface .link-preview__image{margin:0;border-radius:0}.markdown-editor__link-preview{padding-inline:var(--spacing-sm)}@media (max-width:480px){.link-preview{flex-direction:column}.link-preview__image{width:100%;max-width:none;max-height:12rem}}.markdown-editor{width:100%;overflow:visible;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--motion-duration-fast),box-shadow var(--motion-duration-fast)}.markdown-editor:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 2px var(--color-primary-soft)}.markdown-editor--invalid{border-color:var(--color-error)}.markdown-editor--disabled{opacity:.65}.markdown-editor__loading{width:100%;background:var(--color-surface-alt);border-radius:var(--radius-md)}.markdown-editor--compact .bn-editor,.markdown-editor--compact .markdown-editor__loading{min-height:var(--layout-textarea-compact-height)}.markdown-editor--medium .bn-editor,.markdown-editor--medium .markdown-editor__loading{min-height:var(--layout-textarea-medium-height)}.markdown-editor--editor .bn-editor,.markdown-editor--editor .markdown-editor__loading{min-height:var(--layout-editor-min-height)}.markdown-editor .bn-root{--bn-font-family:var(--font-family-sans);--bn-colors-editor-text:var(--color-text);--bn-colors-editor-background:var(--color-surface);--bn-colors-menu-text:var(--color-text);--bn-colors-menu-background:var(--color-surface);--bn-colors-tooltip-text:var(--color-text);--bn-colors-tooltip-background:var(--color-surface-alt);--bn-colors-hovered-text:var(--color-text);--bn-colors-hovered-background:var(--color-surface-alt);--bn-colors-selected-text:var(--color-text);--bn-colors-selected-background:var(--color-primary-soft);--bn-colors-disabled-text:var(--color-text-muted);--bn-colors-disabled-background:var(--color-surface-alt);--bn-colors-shadow:var(--color-border);--bn-colors-border:var(--color-border);--bn-colors-side-menu:var(--color-text-muted)}.markdown-editor .bn-container,.markdown-editor .bn-editor,.markdown-editor .bn-editor .ProseMirror{color:var(--color-text);background:transparent}.markdown-editor .bn-editor{width:100%;max-width:none;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--bn-font-family);box-sizing:border-box}.markdown-editor--editor .bn-editor{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) var(--spacing-3xl);max-width:calc(var(--layout-reading-width) + var(--spacing-3xl) + var(--spacing-lg));margin-inline:auto}.markdown-editor--editor .bn-default-styles{font-family:var(--bn-font-family);font-size:var(--font-size-document);line-height:var(--line-height-document);letter-spacing:var(--tracking-tight)}.markdown-editor--editor .bn-block-outer{line-height:calc(1em * var(--line-height-document) + var(--document-line-gap))}.markdown-editor--editor .bn-editor .bn-block-outer>.bn-block>.bn-block-content[data-content-type=heading]{padding-top:var(--spacing-lg);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.markdown-editor--editor .bn-editor .bn-block-outer>.bn-block>.bn-block-content[data-content-type=heading][data-level="2"]{font-size:var(--font-size-2xl)}.markdown-editor--editor .bn-editor .bn-block-outer>.bn-block>.bn-block-content[data-content-type=heading][data-level="3"]{font-size:var(--font-size-xl)}.markdown-editor .bn-block-content,.markdown-editor .bn-inline-content{font-family:var(--bn-font-family)}.markdown-editor .bn-editor [data-content-type=quote] blockquote{box-sizing:border-box;width:100%;margin:0;padding:var(--spacing-lg) var(--spacing-xl);color:var(--color-text);background:var(--color-surface-alt);border:0;border-radius:var(--radius-lg)}.markdown-editor .bn-editor [data-content-type=checkListItem] input{width:16px;height:16px;margin:0 var(--spacing-sm) 0 4px;accent-color:var(--color-text)}.markdown-editor .bn-editor .bn-block-content[data-content-type=bulletListItem]:before{font-family:var(--font-family-sans);font-size:1.15em}.markdown-editor .bn-editor .bn-block-group .bn-block-group>.bn-block-outer:not([data-prev-depth-changed]):before{display:none}.markdown-editor .bn-block-group{min-width:0}.markdown-editor__counter{display:block;padding:0 var(--spacing-sm) var(--spacing-xs);color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-xs);text-align:right}.markdown-editor__counter--invalid{color:var(--color-error)}.markdown-editor--family-serif .bn-root{--bn-font-family:var(--font-family-serif)}.markdown-editor--family-mono .bn-root{--bn-font-family:var(--font-family-mono)}.markdown-editor--size-small .bn-editor,.markdown-editor--size-small.markdown-editor--editor .bn-default-styles{font-size:var(--font-size-sm)}.markdown-editor--measure-full.markdown-editor--editor .bn-editor{max-width:none}.markdown-editor--measure-reading .bn-editor{max-width:calc(var(--layout-reading-width) + var(--spacing-lg) + var(--spacing-lg));margin-inline:auto}.markdown-editor--frame-none:not(.markdown-editor--invalid),.markdown-editor--frame-none:not(.markdown-editor--invalid):focus-within{border-color:transparent;box-shadow:none}.markdown-editor__upload-error{color:var(--color-error);padding:var(--spacing-sm);font-size:var(--font-size-sm);overflow-wrap:anywhere}.markdown-editor__drop-zone{position:relative;min-height:inherit}.markdown-editor__drop-zone--active{outline:2px dashed var(--color-focus);outline-offset:-2px;border-radius:var(--radius-md)}.markdown-editor__drop-hint{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:var(--color-primary-soft);color:var(--color-text);font-size:var(--font-size-sm);pointer-events:none;border-radius:var(--radius-md)}.markdown-editor__upload-status{color:var(--color-text-muted);padding:var(--spacing-sm);font-size:var(--font-size-sm)}.markdown-reference-suggestions{min-width:min(var(--layout-popover-menu-min-width),calc(100vw - var(--spacing-xl)));max-width:min(var(--layout-popover-menu-max-width),calc(100vw - var(--spacing-xl)));max-height:var(--layout-textarea-medium-height);overflow-y:auto;padding:var(--spacing-xs);color:var(--color-text);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:var(--font-family-sans)}.markdown-reference-suggestions__empty,.markdown-reference-suggestions__hint{padding:var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-xs)}.markdown-reference-suggestions__item{display:flex;flex-direction:column;gap:var(--spacing-2xs);width:100%;padding:var(--spacing-sm);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.markdown-reference-suggestions__item:hover,.markdown-reference-suggestions__item[aria-selected=true]{background:var(--brand-soft);color:var(--brand-ink)}.markdown-reference-suggestions__key{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.markdown-reference-suggestions__title{font-family:var(--font-family-sans);font-size:var(--font-size-xs);overflow-wrap:anywhere}.markdown-editor--page{background:transparent}.markdown-editor--page,.markdown-editor--page .bn-container,.markdown-editor--page .markdown-editor__drop-zone{display:flex;flex-direction:column;flex:1 0 auto}.markdown-editor--page .bn-editor{flex:1 0 auto;padding-top:var(--spacing-xs);padding-bottom:var(--spacing-3xl)}.markdown-editor--page.markdown-editor--frame-none:focus-within{box-shadow:none}.markdown-editor .bn-inline-content code{padding:var(--spacing-3xs) var(--spacing-xs);font-family:var(--font-family-mono);color:var(--color-code-inline-ink);background:var(--color-code-inline-surface);border:1px solid var(--color-code-inline-border);border-radius:var(--radius-sm)}.cli-output-log{min-width:0;max-height:var(--layout-cli-output-height);overflow:auto;margin:0;padding:var(--spacing-md);background:var(--color-panel-sunken);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family-mono);font-size:var(--font-size-xs);white-space:pre-wrap;overflow-wrap:anywhere}.ai-activity{display:inline-flex;align-items:center;gap:var(--spacing-xs);min-width:0;max-width:100%;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.ai-activity--xs{font-size:var(--font-size-xs);gap:var(--spacing-2xs)}.ai-activity--button{padding:0;margin:0;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--motion-dissolve) var(--ease-dissolve)}.ai-activity--button:hover{color:var(--color-text)}.ai-activity__mark{position:relative;flex:none;width:1.05em;height:1.05em}.ai-activity__ring{position:absolute;inset:0;border-radius:var(--radius-full);background:conic-gradient(from 0deg,transparent 0deg,var(--brand) 120deg,var(--brand-accent) 300deg,transparent 1turn);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - .18em),#000 calc(100% - .17em));mask:radial-gradient(farthest-side,transparent calc(100% - .18em),#000 calc(100% - .17em));animation:ai-activity-spin .9s linear infinite}.ai-activity__spark{position:absolute;inset:0;display:grid;place-items:center}.ai-activity__spark:before{content:"";width:.38em;height:.38em;background:var(--brand-accent);-webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:ai-activity-twinkle 1.6s var(--ease-dissolve) infinite}.ai-activity__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(100deg,var(--color-text-muted) 0,var(--color-text-muted) 40%,var(--brand-accent-ink) 50%,var(--color-text-muted) 60%,var(--color-text-muted) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ai-activity-shimmer 2s linear infinite}.ai-activity--wrap .ai-activity__label{white-space:normal}@keyframes ai-activity-spin{to{transform:rotate(1turn)}}@keyframes ai-activity-twinkle{0%,to{transform:scale(.7);opacity:.6}50%{transform:scale(1.15);opacity:1}}@keyframes ai-activity-shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}@media (prefers-reduced-motion:reduce){.ai-activity__label,.ai-activity__ring,.ai-activity__spark:before{animation:none}.ai-activity__label{color:var(--color-text-muted);background:none}}.chat-log{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;max-height:var(--layout-chat-log-height);overflow-y:auto;padding:var(--spacing-sm);background:var(--color-panel-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md)}.chat-log--fill{height:100%;max-height:none;min-height:0}.chat-log__empty{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.chat-log__turn{display:flex;flex-direction:column;gap:var(--spacing-2xs);padding:var(--spacing-sm);border-radius:var(--radius-md)}.chat-log__turn--user{background:var(--color-surface);border:1px solid var(--color-border)}.chat-log__role{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.chat-log__body{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.chat-log__pending{align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.chat-log__activity-events,.chat-log__pending{display:flex;margin:0;padding:var(--spacing-sm)}.chat-log__activity-events{flex-direction:column;gap:var(--spacing-sm);max-height:var(--layout-cli-output-height);overflow:auto;list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-sunken)}.chat-log__activity-events li{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--spacing-sm);color:var(--color-text);font-size:var(--font-size-sm);overflow-wrap:anywhere}.chat-log__activity-events time{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.plain-text{min-height:var(--layout-editor-min-height);padding:var(--spacing-md);font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text);white-space:pre-wrap;background:var(--color-code-surface)}.graph-canvas__scroll,.plain-text{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.graph-canvas__scroll{width:100%;background-color:var(--color-graph-surface);background-image:radial-gradient(circle,var(--color-graph-grid) var(--layout-graph-grid-dot),transparent var(--layout-graph-grid-dot));background-size:var(--layout-graph-grid-spacing) var(--layout-graph-grid-spacing)}.graph-canvas{display:block;width:100%;height:auto;min-width:var(--layout-graph-min-width);min-height:var(--layout-graph-height)}.graph-canvas__edges line{stroke:var(--color-graph-edge);stroke-width:1.5}.graph-canvas__edges text{font-family:var(--font-family-sans);font-size:var(--font-size-xs);fill:var(--color-text-muted);text-anchor:middle}.graph-canvas__dot{fill:var(--color-graph-dot);stroke:var(--color-graph-surface);stroke-width:1}.graph-canvas__hit{fill:transparent;stroke:transparent}.graph-canvas__nodes text{font-family:var(--font-family-sans);text-anchor:middle;pointer-events:none}.graph-canvas__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);fill:var(--color-text-muted)}.graph-canvas__empty{display:grid;min-height:var(--layout-empty-state-height);place-items:center;color:var(--color-text-muted);background-color:var(--color-graph-surface);background-image:radial-gradient(circle,var(--color-graph-grid) var(--layout-graph-grid-dot),transparent var(--layout-graph-grid-dot));background-size:var(--layout-graph-grid-spacing) var(--layout-graph-grid-spacing);border:1px solid var(--color-border);border-radius:var(--radius-md)}.graph-canvas{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.graph-canvas--dragging{cursor:-webkit-grabbing;cursor:grabbing}.graph-canvas--connect{cursor:crosshair}.graph-canvas__node--draggable{cursor:-webkit-grab;cursor:grab}.graph-canvas__node:focus,.graph-canvas__node:focus-visible{outline:none}.graph-canvas__node--selected .graph-canvas__hit,.graph-canvas__node:focus-visible .graph-canvas__hit{stroke:var(--color-focus);stroke-width:3}.graph-canvas__node--dragging .graph-canvas__hit{stroke:var(--brand);stroke-width:3;fill:transparent}.graph-canvas__node--drop .graph-canvas__hit{stroke:var(--brand);stroke-width:4;stroke-dasharray:6 4}.graph-canvas__port{fill:var(--color-panel);stroke:var(--brand);stroke-width:2;cursor:crosshair;opacity:0;transition:opacity var(--motion-dissolve) var(--ease-dissolve)}.graph-canvas__node--selected .graph-canvas__port,.graph-canvas__node:focus-within .graph-canvas__port,.graph-canvas__node:hover .graph-canvas__port{opacity:1}@media (hover:none){.graph-canvas__port{opacity:1}}.graph-canvas__connect-line{stroke:var(--brand);stroke-width:2;stroke-dasharray:6 4;pointer-events:none}.graph-canvas__edges .graph-canvas__edge-hit{stroke:transparent;stroke-width:14}.graph-canvas__edge--selectable{cursor:pointer}.graph-canvas__edge--selectable:hover line:not(.graph-canvas__edge-hit),.graph-canvas__edge--selected line:not(.graph-canvas__edge-hit){stroke:var(--brand);stroke-width:3}.graph-canvas__edge--selected text{fill:var(--brand-ink);font-weight:var(--font-weight-semibold)}.graph-canvas__edge:focus-visible{outline:none}.graph-canvas__edge:focus-visible line:not(.graph-canvas__edge-hit){stroke:var(--color-focus);stroke-width:3}.graph-canvas__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion:reduce){.graph-canvas__port{transition:none}}.erd-canvas{position:relative;width:100%;height:var(--layout-erd-height);min-height:var(--layout-graph-height);overflow:auto;background-color:var(--color-panel-sunken);background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:var(--spacing-lg) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);touch-action:none}.erd-canvas--empty{display:grid;place-items:center;padding:var(--spacing-xl);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;touch-action:auto}.erd-canvas__world{position:relative;min-width:100%;min-height:100%}.erd-canvas__edges{position:absolute;inset:0;overflow:visible}.erd-canvas__edge{fill:none;stroke:var(--color-border-strong);stroke-width:1.5;transition:stroke var(--motion-dissolve) var(--ease-dissolve)}.erd-canvas__edge--selected{stroke:var(--brand);stroke-width:2.5}.erd-canvas__arrow{fill:var(--color-border-strong)}.erd-canvas__edge-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.erd-canvas__draft{stroke:var(--brand);stroke-width:2;stroke-dasharray:6 4}.erd-canvas__edge-label{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:var(--spacing-xs);max-width:var(--layout-erd-label-max);padding:var(--spacing-2xs) var(--spacing-xs);overflow:hidden;color:var(--color-text);font:inherit;font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-full);transform:translate(-50%,-50%);cursor:pointer}.erd-canvas__edge-label--selected{color:var(--brand-ink);background:var(--brand-soft);border-color:var(--brand)}.erd-canvas__edge-card{color:var(--color-text-muted);font-family:var(--font-family-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erd-canvas__card{position:absolute;z-index:2;display:flex;flex-direction:column;overflow:visible;color:var(--color-text);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color var(--motion-dissolve) var(--ease-dissolve)}.erd-canvas__card--movable{cursor:-webkit-grab;cursor:grab}.erd-canvas--dragging .erd-canvas__card--movable{cursor:-webkit-grabbing;cursor:grabbing}.erd-canvas__card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.erd-canvas__card--selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.erd-canvas__card--target{border-style:dashed;border-color:var(--brand);background:var(--brand-soft)}.erd-canvas--dragging .erd-canvas__card--selected{box-shadow:var(--shadow-md)}.erd-canvas__head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:0 var(--spacing-md) 0 var(--spacing-sm);background:var(--color-panel-sunken);-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border);border-start-start-radius:var(--radius-md);border-start-end-radius:var(--radius-md)}.erd-canvas__titles{display:flex;flex-direction:column;min-width:0}.erd-canvas__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.erd-canvas__subtitle,.erd-canvas__title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.erd-canvas__subtitle{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.erd-canvas__head-side{display:flex;flex-shrink:0;align-items:center;gap:var(--spacing-2xs)}.erd-canvas__badge{padding:0 var(--spacing-xs);font-size:var(--font-size-xs);white-space:nowrap;border-radius:var(--radius-full)}.erd-canvas__badge--success{color:var(--pill-done-ink);background:var(--pill-done)}.erd-canvas__badge--info{color:var(--pill-info-ink);background:var(--pill-info)}.erd-canvas__badge--warning{color:var(--pill-progress-ink);background:var(--pill-progress)}.erd-canvas__badge--neutral{color:var(--pill-idle-ink);background:var(--pill-idle)}.erd-canvas__edit{padding:var(--spacing-2xs) var(--spacing-xs);color:var(--brand-ink);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.erd-canvas__edit:hover{background:var(--brand-soft)}.erd-canvas__fields{margin:0;padding:0;list-style:none}.erd-canvas__field{display:grid;grid-template-columns:var(--spacing-lg) minmax(0,1fr) auto;align-items:center;grid-gap:var(--spacing-xs);gap:var(--spacing-xs);padding:0 var(--spacing-sm);font-size:var(--font-size-xs);-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.erd-canvas__field:last-child{-webkit-border-after:0;border-block-end:0}.erd-canvas__field--empty{display:flex;color:var(--color-text-muted)}.erd-canvas__key{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.erd-canvas__field--primary .erd-canvas__key{color:var(--brand-ink)}.erd-canvas__field--title .erd-canvas__field-name{font-weight:var(--font-weight-semibold)}.erd-canvas__field-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.erd-canvas__required{-webkit-margin-start:var(--spacing-2xs);margin-inline-start:var(--spacing-2xs);color:var(--lamp-onair-ink)}.erd-canvas__field-type{color:var(--color-text-muted);font-family:var(--font-family-mono)}.erd-canvas__more{display:flex;align-items:center;padding:0 var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);-webkit-border-before:1px solid var(--color-border);border-block-start:1px solid var(--color-border)}.erd-canvas__port{position:absolute;inset-inline-end:calc(var(--spacing-xs) * -1);width:var(--spacing-md);height:var(--spacing-md);padding:0;background:var(--color-panel);border:2px solid var(--brand);border-radius:var(--radius-full);transform:translateY(-50%);cursor:crosshair}.erd-canvas__port:focus-visible,.erd-canvas__port:hover{background:var(--brand)}@media (prefers-reduced-motion:reduce){.erd-canvas__card,.erd-canvas__edge{transition:none}}.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,0.5);--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:rgba(240,240,240,0.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-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:rgba(150,150,180,0.1);--xy-selection-border-default:1px dotted rgba(155,155,155,0.8);--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,0.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,0.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}.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:-webkit-grab;cursor:grab}.react-flow__pane.dragging{cursor:-webkit-grabbing;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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .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:-webkit-grab;cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:-webkit-grabbing;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:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default))}.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.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-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{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{position:absolute;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top: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{display:flex;flex-direction:column}.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}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible,.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible{outline:none;border:var(--xy-node-border-selected,var(--xy-node-border-selected-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__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{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.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.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.bottom,.react-flow__resize-control.line.top{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%}.pipeline-graph{position:relative;width:100%;height:var(--layout-erd-height);min-height:var(--layout-graph-height);overflow:hidden;background-color:var(--color-panel-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.pipeline-graph .react-flow__background{color:var(--color-border-strong)}.pipeline-graph__card{position:relative;display:flex;flex-direction:column;gap:var(--spacing-2xs);width:var(--layout-pipeline-card-width);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-panel);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);transition:border-color var(--motion-dissolve) var(--ease-dissolve)}.pipeline-graph__card--input{border-left-color:var(--pill-info-ink)}.pipeline-graph__card--step{border-left-color:var(--pill-progress-ink)}.pipeline-graph__card--output{border-left-color:var(--pill-done-ink)}.pipeline-graph__card--warning{border-color:var(--color-warning)}.pipeline-graph__card--selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.react-flow__node.dragging .pipeline-graph__card{box-shadow:var(--shadow-md)}.react-flow__node:focus-visible{outline:none}.react-flow__node:focus-visible .pipeline-graph__card{outline:2px solid var(--color-focus);outline-offset:2px}.pipeline-graph__card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs)}.pipeline-graph__kind{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.pipeline-graph__title{font-weight:var(--font-weight-semibold)}.pipeline-graph__subtitle,.pipeline-graph__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-graph__subtitle{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pipeline-graph__warning{color:var(--color-warning-strong);font-size:var(--font-size-xs)}.pipeline-graph__handle.react-flow__handle{width:var(--spacing-sm);height:var(--spacing-sm);background:var(--color-panel);border:2px solid var(--color-border-strong);border-radius:var(--radius-full)}.pipeline-graph__handle.react-flow__handle.connectingto,.pipeline-graph__handle.react-flow__handle.valid,.pipeline-graph__handle.react-flow__handle:hover{border-color:var(--brand);background:var(--brand-soft)}.pipeline-graph .react-flow__edge-path{stroke:var(--color-border-strong);stroke-width:1.5}.pipeline-graph .react-flow__edge.selected .react-flow__edge-path,.pipeline-graph .react-flow__edge:focus-visible .react-flow__edge-path{stroke:var(--brand);stroke-width:2.5}.pipeline-graph .react-flow__arrowhead polyline,.pipeline-graph .react-flow__edge .react-flow__arrowhead polyline{stroke:var(--color-border-strong);fill:var(--color-border-strong)}.pipeline-graph .react-flow__connection-path,.pipeline-graph .react-flow__connectionline path{stroke:var(--brand);stroke-width:2;stroke-dasharray:6 4}.pipeline-graph .react-flow__edge-textbg{fill:var(--color-panel)}.pipeline-graph .react-flow__edge-text{fill:var(--color-text-muted);font-size:var(--font-size-xs)}.pipeline-graph__controls.react-flow__controls{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md)}.pipeline-graph__controls .react-flow__controls-button{background:var(--color-panel);border-bottom:1px solid var(--color-border);color:var(--color-text);fill:var(--color-text)}.pipeline-graph__controls .react-flow__controls-button:hover{background:var(--color-panel-sunken)}.pipeline-graph__controls .react-flow__controls-button svg{fill:currentColor}.pipeline-graph__minimap.react-flow__minimap{overflow:hidden;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pipeline-graph__minimap .react-flow__minimap-mask{fill:var(--color-panel-sunken);fill-opacity:.6}.pipeline-graph__mini--input{fill:var(--pill-info)}.pipeline-graph__mini--step{fill:var(--pill-progress)}.pipeline-graph__mini--output{fill:var(--pill-done)}.pipeline-graph__toolbar.react-flow__panel{margin:var(--spacing-sm)}.pipeline-graph__empty.react-flow__panel{margin-top:var(--spacing-xl);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-panel);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (prefers-reduced-motion:reduce){.pipeline-graph__card{transition:none}}.flow-canvas{min-width:0;font-family:var(--font-family-sans)}.flow-canvas--fill{display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;padding:var(--spacing-md)}.flow-canvas--fill .flow-canvas__viewport{flex:1 1;height:auto;min-height:0}.flow-canvas__empty{display:grid;min-height:var(--layout-empty-state-height);place-items:center;padding:var(--spacing-xl);color:var(--color-text-muted);background:var(--color-flow-surface)}.flow-canvas__empty,.flow-canvas__viewport{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--bevel-groove)}.flow-canvas__viewport{position:relative;height:var(--layout-flow-height);min-height:14rem;overflow:clip;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;background-color:var(--color-flow-surface);background-image:radial-gradient(var(--color-flow-dot) 1px,transparent 1px);background-size:24px 24px}.flow-canvas__viewport--panning{cursor:-webkit-grabbing;cursor:grabbing}.flow-canvas__stage{position:absolute;top:0;left:0;transform-origin:0 0}.flow-canvas__group{position:absolute;pointer-events:none;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.flow-canvas__group-count,.flow-canvas__group-label{position:absolute;top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted)}.flow-canvas__group-label{left:var(--spacing-md);font-weight:var(--font-weight-semibold)}.flow-canvas__group-count{right:var(--spacing-md);font-family:var(--font-family-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.flow-canvas__edges{position:absolute;top:0;left:0;pointer-events:none}.flow-canvas__edge{fill:none;stroke-linecap:round}.flow-canvas__edge--primary{stroke:var(--brand);stroke-width:2}.flow-canvas__edge--secondary{stroke:var(--color-graph-edge);stroke-width:1.5;stroke-dasharray:6 6}.flow-canvas__arrow--primary path{fill:var(--brand)}.flow-canvas__arrow--secondary path{fill:var(--color-graph-edge)}.flow-canvas__legend-arrow--primary{fill:var(--brand)}.flow-canvas__legend-arrow--secondary{fill:var(--color-graph-edge)}.flow-canvas__node{position:absolute;display:block;padding:var(--spacing-sm);overflow:hidden;text-align:start;cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--motion-dissolve) var(--ease-dissolve),box-shadow var(--motion-dissolve) var(--ease-dissolve),background-color var(--motion-dissolve) var(--ease-dissolve)}.flow-canvas__node:hover{background:var(--color-panel-raised);border-color:var(--color-border-strong)}.flow-canvas__node:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.flow-canvas__node--selected{background:var(--color-panel-raised);border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-sm)}.flow-canvas__node--dimmed{opacity:.3}.flow-canvas__node--dimmed:focus-visible,.flow-canvas__node--dimmed:hover{opacity:1}.flow-canvas__edge--dimmed{opacity:.2}.flow-canvas__legend{position:absolute;right:var(--spacing-md);top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);margin:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.flow-canvas__legend-item{display:flex;align-items:center;gap:var(--spacing-sm)}.flow-canvas__legend-item dt{display:inline-flex;margin:0}.flow-canvas__legend-item dd{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.flow-canvas__controls{position:absolute;right:var(--spacing-md);bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.flow-canvas__control{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;background:transparent;border:none;border-radius:var(--radius-sm);transition:background-color var(--motion-duration-fast)}.flow-canvas__control--text{width:auto;padding:0 var(--spacing-sm);font-size:var(--font-size-xs);white-space:nowrap}.flow-canvas__control:hover{background:var(--color-surface-alt)}.flow-canvas__control:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.flow-canvas__zoom-level{min-width:2.5rem;font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.mindmap-canvas{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1 1}.mindmap-canvas__viewport{position:relative;flex:1 1;min-height:max(var(--layout-mindmap-height),calc(100dvh - var(--layout-mindmap-toolbar-offset)));overflow:clip;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;background-color:var(--color-flow-surface);background-image:radial-gradient(var(--color-flow-dot) 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.mindmap-canvas__viewport--panning{cursor:-webkit-grabbing;cursor:grabbing}.mindmap-canvas__viewport:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.mindmap-canvas__stage{position:absolute;top:0;left:0;transform-origin:0 0}.mindmap-canvas__links{position:absolute;top:0;left:0;pointer-events:none}.mindmap-canvas__link{fill:none;stroke:var(--color-graph-edge);stroke-width:2;stroke-linecap:round}.mindmap-canvas__relationship{fill:none;stroke:var(--brand);stroke-width:1.5;stroke-dasharray:6 5;opacity:.8}.mindmap-canvas__tether{fill:none;stroke:var(--color-border-strong);stroke-width:1;stroke-dasharray:3 4}.mindmap-canvas__node{position:absolute;display:flex;flex-direction:column;gap:var(--spacing-2xs);align-items:flex-start;cursor:default}.mindmap-canvas__card{position:relative;display:flex;align-items:center;gap:var(--spacing-xs);max-width:var(--layout-mindmap-node-max);min-height:var(--control-height-sm);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--color-text);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--motion-dissolve) var(--ease-dissolve),box-shadow var(--motion-dissolve) var(--ease-dissolve),background-color var(--motion-dissolve) var(--ease-dissolve)}.mindmap-canvas__node--linked-task .mindmap-canvas__card{min-width:220px;max-width:300px;padding:var(--spacing-sm);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.mindmap-canvas__node--linked-task .mindmap-canvas__card--embedded-task{padding:0;border:0;background:transparent;box-shadow:none}.mindmap-canvas__node--selected .mindmap-canvas__card--embedded-task{box-shadow:0 0 0 2px var(--brand)}.mindmap-canvas__task-content{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;width:100%}.mindmap-canvas__task-board-name,.mindmap-canvas__task-meta,.mindmap-canvas__task-top{color:var(--color-text-muted);font-size:var(--font-size-xs)}.mindmap-canvas__task-meta,.mindmap-canvas__task-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--spacing-xs)}.mindmap-canvas__task-title{overflow-wrap:anywhere;font-weight:var(--font-weight-semibold)}.mindmap-canvas__task-results{position:absolute;z-index:10;top:calc(100% + var(--spacing-xs));left:0;width:max(300px,100%);max-height:280px;overflow-y:auto;padding:var(--spacing-2xs);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.mindmap-canvas__task-result{display:flex;flex-direction:column;gap:var(--spacing-2xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);text-align:left;color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.mindmap-canvas__task-result span,.mindmap-canvas__task-result-empty{color:var(--color-text-muted);font-size:var(--font-size-xs)}.mindmap-canvas__task-result:hover,.mindmap-canvas__task-result[aria-selected=true]{background:var(--color-surface-hover)}.mindmap-canvas__task-result-empty{display:block;padding:var(--spacing-sm)}.mindmap-canvas__node--root .mindmap-canvas__card{min-height:var(--control-height-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-color:var(--color-border-strong)}.mindmap-canvas__node:hover .mindmap-canvas__card{border-color:var(--color-border-strong)}.mindmap-canvas__node--selected .mindmap-canvas__card{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.mindmap-canvas__node--drop .mindmap-canvas__card{border-color:var(--color-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}.mindmap-canvas__node--dragging .mindmap-canvas__card{box-shadow:var(--shadow-md);opacity:.85}.mindmap-canvas__node--done .mindmap-canvas__title{color:var(--color-text-muted)}.mindmap-canvas__node--done .mindmap-canvas__card:not([style*=background]){background:transparent;border-color:color-mix(in srgb,var(--color-border) calc(var(--dimmed-decor-strength) * 100%),transparent)}.mindmap-canvas__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.mindmap-canvas__title--empty{color:var(--color-text-muted)}.mindmap-canvas__edit{width:var(--layout-mindmap-edit-width);min-height:var(--line-height-tight);padding:0;font:inherit;color:inherit;resize:none;background:transparent;border:none;outline:none;field-sizing:content}.mindmap-canvas__edit:focus-visible{outline:none}.mindmap-canvas__check{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--layout-mindmap-check-size);height:var(--layout-mindmap-check-size);padding:0;color:var(--color-text-muted);cursor:pointer;background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.mindmap-canvas__check--on{color:var(--color-panel);background:var(--color-text);border-color:var(--color-text)}.mindmap-canvas__check:disabled{cursor:default}.mindmap-canvas__badge{display:inline-flex;flex:none;gap:2px;align-items:center;padding:0;color:var(--color-text-muted);cursor:pointer;background:transparent;border:none}.mindmap-canvas__badge:hover{color:var(--color-text)}.mindmap-canvas__badge-count{font-size:var(--font-size-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mindmap-canvas__toggle{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:var(--layout-mindmap-toggle-size);height:var(--layout-mindmap-toggle-size);padding:0;font-size:var(--font-size-2xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted);visibility:hidden;cursor:pointer;background:var(--color-panel);border:1px solid var(--color-border-strong);border-radius:var(--radius-full)}.mindmap-canvas__node:hover .mindmap-canvas__toggle,.mindmap-canvas__toggle--pinned,.mindmap-canvas__toggle:focus-visible{visibility:visible}.mindmap-canvas__toggle--r{top:50%;right:calc(var(--layout-mindmap-toggle-size) / -2);transform:translateY(-50%)}.mindmap-canvas__toggle--l{top:50%;left:calc(var(--layout-mindmap-toggle-size) / -2);transform:translateY(-50%)}.mindmap-canvas__toggle--d{bottom:calc(var(--layout-mindmap-toggle-size) / -2);left:50%;transform:translateX(-50%)}.mindmap-canvas__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center;padding-left:var(--spacing-xs)}.mindmap-canvas__due{font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.mindmap-canvas__label{padding:0 var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-panel-sunken);border-radius:var(--radius-sm)}.mindmap-canvas__insert{position:absolute;background:var(--color-focus);border-radius:var(--radius-full);pointer-events:none}.mindmap-canvas__insert--y{height:2px}.mindmap-canvas__insert--x{width:2px}.mindmap-canvas__note{position:absolute;padding:var(--spacing-sm);font-family:var(--font-family-sans);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;cursor:-webkit-grab;cursor:grab;background:var(--color-mindmap-note);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.mindmap-canvas__note--selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-sm)}.mindmap-canvas__note-text--empty{color:var(--color-text-muted)}.mindmap-canvas__note .markdown-surface{font-size:inherit;line-height:inherit}.mindmap-canvas__note .markdown-surface :is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table){margin-block:0 var(--spacing-xs)}.mindmap-canvas__note .markdown-surface :last-child{margin-bottom:0}.mindmap-canvas__note .markdown-surface :is(img,pre,table){max-width:100%;overflow-x:auto}.mindmap-canvas__note-edit{width:100%;min-height:3lh;padding:0;font:inherit;color:inherit;resize:none;background:transparent;border:none;outline:none}.mindmap-canvas__note-edit:focus-visible{outline:none}.mindmap-canvas__controls{position:absolute;right:var(--spacing-md);bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.mindmap-canvas__control{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;background:transparent;border:none;border-radius:var(--radius-sm)}.mindmap-canvas__control--fit{width:auto;padding:0 var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.mindmap-canvas__control:hover{background:var(--color-panel-sunken)}.mindmap-canvas__control:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.mindmap-canvas__zoom{min-width:2.75rem;font-size:var(--font-size-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted);text-align:center}@media (prefers-reduced-motion:reduce){.mindmap-canvas__card{transition:none}}.mindmap-canvas--fill .mindmap-canvas__viewport{min-height:0}.tabs{min-width:0}.tabs__list{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding:0;border-bottom:1px solid var(--color-border)}.tabs__trigger{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:var(--spacing-xs);min-height:var(--control-height-lg);padding:0 var(--spacing-md);color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-normal);background:transparent;border:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;transition:color var(--motion-dissolve) var(--ease-dissolve),background-color var(--motion-dissolve) var(--ease-dissolve)}.tabs__trigger:hover{color:var(--color-text);background:var(--color-surface-hover)}.tabs__list[data-compact] .tabs__trigger{min-height:var(--control-height-sm)}.tabs__actions,.tabs__leading{display:flex;flex:0 0 auto;align-items:center;gap:var(--spacing-sm)}.tabs__leading{padding-inline:var(--spacing-sm)}.tabs__actions{-webkit-margin-start:auto;margin-inline-start:auto}.tabs__trigger[aria-selected=true]{color:var(--brand-ink);font-weight:var(--font-weight-semibold);background:transparent}.tabs__trigger[aria-selected=true]:after{content:"";position:absolute;inset-inline:0;inset-block-end:-1px;height:2px;background:var(--brand);border-radius:var(--radius-full)}.tabs__panel:focus-visible,.tabs__trigger:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.tabs__panel{padding-top:var(--spacing-lg)}.tabs__panel[hidden]{display:none}.tabs__list[data-variant=segmented]{display:inline-flex;gap:var(--spacing-2xs);width:-moz-fit-content;width:fit-content;max-width:100%;padding:var(--spacing-2xs);background:var(--color-panel-sunken);border-bottom-width:1px;border:1px solid var(--color-border-hairline);border-radius:var(--radius-md)}.tabs__list[data-variant=segmented] .tabs__trigger{min-height:var(--control-height-sm);padding:0 var(--spacing-md);border-radius:var(--radius-sm)}.tabs__list[data-variant=segmented] .tabs__trigger:hover{background:var(--color-surface-hover)}.tabs__list[data-variant=segmented] .tabs__trigger[aria-selected=true]{color:var(--color-text);background:var(--color-panel);box-shadow:var(--shadow-sm)}.tabs__list[data-variant=segmented] .tabs__trigger[aria-selected=true]:after{content:none}