@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:light dark;--bg-base: #eef3fb;--bg-surface: #f8fbff;--bg-raised: #ffffff;--bg-overlay: rgba(255, 255, 255, .88);--border-subtle: #cfd9ea;--border-default: #b8c8df;--text-primary: #000000;--text-secondary: #000000;--text-muted: #000000;--accent-blue: #60a5fa;--accent-cyan: #67e8f9;--accent-purple: #a78bfa;--accent-blue-dim: #3b82f6;--accent-glow: rgba(37, 99, 235, .16);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .12s ease;--transition-normal: .2s ease}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-base: #020617;--bg-surface: #0b1220;--bg-raised: #111c2e;--bg-overlay: rgba(15, 23, 42, .88);--border-subtle: #263449;--border-default: #334863;--text-primary: #ffffff;--text-secondary: #ffffff;--text-muted: #ffffff;--accent-glow: rgba(96, 165, 250, .28)}}:root[data-theme=dark]{color-scheme:dark;--bg-base: #020617;--bg-surface: #0b1220;--bg-raised: #111c2e;--bg-overlay: rgba(15, 23, 42, .88);--border-subtle: #263449;--border-default: #334863;--text-primary: #ffffff;--text-secondary: #ffffff;--text-muted: #ffffff;--accent-glow: rgba(96, 165, 250, .28)}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box;margin:0}html,body,#root{height:100%;overflow:hidden;background:var(--bg-base);font-family:var(--font-sans);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app-root{height:100vh;display:flex;flex-direction:column;min-height:0}.app-centered{display:flex;align-items:center;justify-content:center}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 20px;height:52px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.top-bar-left{display:flex;align-items:baseline;gap:12px;min-width:0}.diagram-title{font-size:18px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contribution-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.toolbar-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.mode-switcher{display:flex;background:var(--bg-base);border-radius:var(--radius-sm);padding:2px;gap:2px}.mode-switcher button{background:transparent;color:var(--text-secondary);border:none;padding:5px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.mode-switcher button.active{background:var(--accent-glow);color:var(--accent-blue)}.mode-switcher button:hover:not(.active){color:var(--text-primary)}button,input,select,textarea{font-family:var(--font-sans);font-size:13px;background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:7px 12px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--accent-blue-dim);box-shadow:0 0 0 2px var(--accent-glow)}button{cursor:pointer;font-weight:500;transition:background var(--transition-fast),transform var(--transition-fast)}button:hover:not(:disabled){background:var(--border-subtle)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted);font-size:12px}.btn-ghost:hover{color:var(--text-secondary);background:var(--bg-raised)!important}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:1fr;position:relative}.diagram-pane{min-height:0;display:flex;flex-direction:column;padding:0}.diagram-shell{min-height:0;flex:1;width:100%;display:grid;grid-template-rows:1fr;position:relative;contain:layout style}.diagram-actions{position:absolute;top:10px;left:10px;z-index:10;display:flex;gap:6px}.diagram-actions button{background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.diagram-actions button:hover{color:var(--text-primary);background:var(--bg-raised)}.diagram-actions button.zoom-fit{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.diagram-actions button.zoom-fit svg{display:block}.diagram-viewport{position:relative;overflow:hidden;min-height:0;background:var(--bg-base);border-right:1px solid var(--border-subtle)}.control-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-raised);padding:10px;display:grid;gap:8px}.control-card h3{font-size:13px;font-weight:600;color:var(--text-primary)}.card-help-text{font-size:12px;color:var(--text-muted);line-height:1.3}.slider-row{display:flex;align-items:center;gap:8px}.slider-row input[type=range]{flex:1;padding:0}.slider-row label{font-size:12px;color:var(--text-secondary)}.slider-row input[type=number]{width:74px;padding:5px 8px}.diagram-viewport svg{display:block}.diagram-svg-embed svg{display:block;overflow:visible}.diagram-svg-text-select text{user-select:none;-webkit-user-select:none;cursor:pointer}.diagram-viewport svg text,.diagram-viewport svg tspan{user-select:none;-webkit-user-select:none}.diagram-svg-text-select text[data-path-text]{cursor:pointer}.diagram-svg-text-select path[data-path-text]{cursor:pointer}.box-zoom{fill:#60a5fa14;stroke:var(--accent-blue);stroke-width:1.5;stroke-dasharray:6 4}.hover-chip{position:absolute;left:12px;bottom:12px;max-width:75%;padding:6px 14px;border-radius:999px;background:var(--bg-overlay);border:1px solid var(--border-subtle);font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color var(--transition-fast)}.hover-chip.active{color:var(--text-primary)}.control-pane{border-left:1px solid var(--border-subtle);padding:16px;overflow:auto;background:var(--bg-surface)}.contribution-form{display:grid;gap:10px}.contribution-form h3{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.textarea-wrap{position:relative}.textarea-wrap textarea{width:100%;resize:vertical;min-height:100px;line-height:1.5}.char-count{position:absolute;bottom:6px;right:8px;font-size:10px;color:var(--text-muted);pointer-events:none;font-variant-numeric:tabular-nums}.char-count.warn{color:#fbbf24}.char-count.over{color:#f87171}.debug-panel{margin-top:16px;border-top:1px solid var(--border-subtle);padding-top:12px;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.debug-panel ul{padding-left:16px}.debug-panel li{margin:2px 0}.auth-panel{display:flex;align-items:center;gap:24px;padding:32px}.auth-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;min-width:260px}.auth-card form{display:grid;gap:10px}.auth-card h2{font-size:16px;font-weight:700;margin-bottom:4px}.auth-card button[type=submit]{background:var(--accent-blue-dim);color:#fff;border:none;font-weight:600;margin-top:4px}.auth-card button[type=submit]:hover{background:var(--accent-blue)}.auth-divider{display:flex;align-items:center;color:var(--text-muted);font-size:12px}.auth-card small{color:var(--text-muted);font-size:11px}.auth-terms{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin:4px 0}.auth-terms input[type=checkbox]{margin:0;flex-shrink:0}.loading-state{display:grid;place-items:center;height:100%;color:var(--text-muted)}.diagram-empty{display:grid;place-items:center;min-height:240px;color:var(--text-muted);font-size:14px}.error{color:#f87171;font-size:13px;padding:8px 14px}.diagram-page-error-overlay{position:fixed;left:50%;bottom:80px;transform:translate(-50%);z-index:30;pointer-events:none;max-width:min(90vw,720px)}.diagram-page-error-overlay .error{margin:0;text-align:center;background:var(--bg-raised, rgba(0, 0, 0, .6));border:1px solid rgba(248,113,113,.4);border-radius:8px;box-shadow:0 2px 10px #0000002e}@keyframes branch-flow{0%{opacity:0;stroke-width:0}40%{opacity:.6}to{opacity:1;stroke-width:2px}}.branch-ribbon{animation:branch-flow .68s cubic-bezier(.34,1.56,.64,1) both;transition:fill var(--transition-normal),fill-opacity var(--transition-normal),filter var(--transition-normal)}.branch-ribbon.hovered{filter:drop-shadow(0 0 8px rgba(96,165,250,.45))}.branch-label{fill:#d9e1ea;font-family:var(--font-sans);font-weight:700;-webkit-user-select:none;user-select:none;opacity:.98;paint-order:stroke fill;stroke:#000000b8;stroke-width:3px;letter-spacing:.02em;pointer-events:none}@media(prefers-color-scheme:dark){.branch-label{fill:#cfd6df;stroke:#000000d6}}.flow-header-line{paint-order:stroke;stroke:#000000d9;stroke-linejoin:round}.flow-header-line.diagram-ref{fill:#0e7490}.flow-header-line.inflow{fill:#4d7c0f}.flow-header-line.outflow{fill:#b45309}@media(prefers-color-scheme:dark){.flow-header-line{stroke:#020617d9}.flow-header-line.diagram-ref{fill:#7dd3fc}.flow-header-line.inflow{fill:#bef264}.flow-header-line.outflow{fill:#fcd34d}}.trunk-ribbon{transition:filter .2s}.admin-seed-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);display:grid;gap:8px}.admin-seed-panel h3{font-size:12px;text-transform:uppercase;color:var(--text-secondary)}.admin-seed-panel p{font-size:11px;color:var(--text-muted)}.admin-seed-panel textarea{width:100%;min-height:110px;resize:vertical}.admin-seed-actions{display:grid;gap:6px}.admin-seed-actions label{display:grid;gap:4px;font-size:11px;color:var(--text-muted)}.admin-seed-actions input[type=number],.admin-seed-actions input[type=text]{width:100%}.admin-toggle{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--text-secondary);line-height:1.35}.admin-toggle input{margin-top:1px}.admin-hint{font-size:11px;color:var(--text-muted)}.admin-contrib-list{margin-top:8px;border-top:1px solid var(--border-subtle);padding-top:8px;display:grid;gap:6px}.admin-contrib-list p{font-size:11px;color:var(--text-muted)}.admin-contrib-list ul{list-style:none;display:grid;gap:6px;padding:0}.admin-contrib-list li{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 8px;display:grid;gap:4px}.admin-contrib-list code{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.python-tree-svg{width:100%;height:100%;overflow:auto;background:var(--bg-base);border-right:1px solid var(--border-subtle)}.python-tree-svg svg{width:100%;height:100%;display:block}.selected-branch-card{margin-bottom:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-raised);padding:8px;display:grid;gap:4px}.selected-branch-card strong{font-size:11px;text-transform:uppercase;color:var(--text-muted)}.selected-branch-card p{font-size:12px;color:var(--text-primary);line-height:1.35}.transform-selector{margin-top:12px;display:grid;gap:6px;justify-items:center}.transform-selector h3{font-size:12px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;font-weight:600;text-align:center;margin:0}.filter-controls{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);display:grid;gap:6px}.filter-controls h3{font-size:12px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;font-weight:600}.filter-header{display:flex;align-items:baseline;justify-content:space-between}.filter-empty{font-size:11px;color:var(--text-muted)}.filter-chips{display:flex;flex-wrap:wrap;gap:4px}.filter-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500;background:var(--bg-base);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.filter-chip:hover{border-color:var(--border-default);color:var(--text-primary)}.filter-chip.non-actionable-chip{border-style:dashed;border-color:var(--border-subtle);color:var(--text-muted);opacity:.75;cursor:not-allowed}.filter-chip.non-actionable-chip:hover{border-color:var(--border-subtle);color:var(--text-muted)}.filter-chip.include{background:#60a5fa26;border-color:var(--accent-blue-dim);color:var(--accent-blue)}.filter-chip.exclude{background:#f871711f;border-color:#f87171;color:#f87171}.filter-chip-icon{font-weight:700;font-size:13px;line-height:1}.filter-stages-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);display:grid;gap:8px}.filter-stages-header{display:flex;align-items:baseline;justify-content:space-between}.filter-stages-panel h3{font-size:12px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;font-weight:600}.filter-stage-actions{display:flex;gap:2px}.filter-stage-title-wrap{display:grid;gap:2px}.filter-stage-stats{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.filter-stage-label-editor{display:grid;gap:4px;font-size:10px;color:var(--text-muted)}.filter-stage-label-editor input{width:100%;min-width:0;font-size:11px;padding:5px 8px}.filter-stage-add{display:flex;gap:6px}.filter-stage-add input{flex:1;min-width:0;font-size:11px;padding:5px 8px}.filter-stage-add button{white-space:nowrap;font-size:11px;padding:5px 10px}.segment-panel{margin-top:12px;display:grid;gap:8px}.segment-panel h3{font-size:12px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;font-weight:600;text-align:center;margin:0}.segment-hint{font-size:11px;color:var(--text-muted)}.segment-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px;display:grid;gap:6px}.segment-card-header{display:flex;align-items:baseline;justify-content:space-between}.segment-card-header strong{font-size:12px;color:var(--text-primary)}.segment-classification-rows{display:grid;gap:4px}.segment-classification-row{display:flex;align-items:center;gap:4px;font-size:11px}.segment-classification-label{flex:1;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segment-toggle{padding:2px 6px;font-size:10px;border-radius:3px;background:var(--bg-base);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.segment-toggle.active{background:var(--accent-glow);border-color:var(--accent-blue-dim);color:var(--accent-blue)}.segment-toggle.exclude{background:#ff64641f;border-color:#ff64644d;color:#ff7070}.segment-toggle:disabled{opacity:.3;cursor:not-allowed}.filter-tag-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.filter-tag-column{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}.filter-tag-column__heading{margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-subtle);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:center}.filter-tag-column__scroll{height:180px;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:4px}.filter-tag-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:0;color:var(--text-primary);cursor:pointer;font-size:12px;text-align:left;white-space:nowrap}.filter-tag-button:hover{border-color:var(--border-default);background:var(--bg-hover, var(--bg-base))}.filter-tag-button__icon{font-weight:700;font-size:12px;line-height:1}.filter-tag-button.include .filter-tag-button__icon{color:#2ecc71}.filter-tag-button.exclude .filter-tag-button__icon{color:#ff5252}.filter-tag-button__label{text-transform:uppercase;letter-spacing:.04em}.segment-panel__default-row{display:flex;justify-content:center;margin-top:10px}.set-as-default-button{font-family:inherit;font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:3px;border:1px solid var(--border-strong, #888);background:transparent;color:inherit;cursor:pointer}.set-as-default-button:hover:not(:disabled){background:var(--surface-hover, rgba(127, 127, 127, .12))}.set-as-default-button:disabled{opacity:.4;cursor:default}.tags-page{max-width:720px;margin:0 auto;padding:32px 24px;display:flex;flex-direction:column;gap:12px}.tags-page__title{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:1.4rem;text-align:center}.tags-page__intro{margin:8px 0 0;color:var(--text-muted, #888)}.tags-page__warning{margin:0;padding:10px 14px;border-left:3px solid #b91c1c;background:#b91c1c14;font-size:.9rem}.tags-page__compose{display:flex;gap:8px;margin-top:12px}.tags-page__input{flex:1;padding:8px 12px;font-size:1rem;border:1px solid var(--border-strong, #888);border-radius:4px;background:transparent;color:inherit}.tags-page__add{padding:8px 16px;font-weight:600;border:1px solid var(--border-strong, #888);border-radius:4px;background:transparent;color:inherit;cursor:pointer}.tags-page__add:disabled{opacity:.4;cursor:default}.tags-page__error{color:#b91c1c;font-size:.9rem}.tags-page__subtitle{margin:24px 0 4px;font-size:1rem;text-transform:uppercase;letter-spacing:.1em}.tags-page__empty{color:var(--text-muted, #888);font-style:italic}.tags-page__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tags-page__item{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;border:1px solid var(--border-strong, #888);border-radius:999px}.tags-page__chip{font-weight:700;letter-spacing:.06em;font-size:.78rem}.tags-page__remove{width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:inherit;cursor:pointer;font-size:.9rem;line-height:1}.tags-page__remove:hover:not(:disabled){background:#7f7f7f26}.filter-table{display:grid;gap:2px}.filter-table-header{display:grid;grid-template-columns:1fr 70px 70px;gap:4px;padding:0 0 4px;border-bottom:1px solid var(--border-subtle);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.filter-table-row{display:grid;grid-template-columns:1fr 70px 70px;gap:4px;align-items:center;padding:2px 0}.filter-table-tag{font-size:11px;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-table-col{text-align:center}.segment-add-row{display:flex;gap:6px}.segment-add-row input{flex:1;min-width:0;font-size:11px;padding:5px 8px}.segment-add-row button{white-space:nowrap;font-size:11px;padding:5px 10px}.multi-diagram-scaling{display:flex;flex-direction:column;align-items:center;gap:4px}.multi-diagram-scaling__title{text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600}.multi-diagram-scaling__row{display:flex;align-items:center;justify-content:center;gap:6px}.multi-diagram-scaling__label{font-size:11px;color:var(--text-muted)}.split-panel{background:transparent;border:none;padding:0;margin-top:0;font-size:12px;display:flex;flex-direction:column;gap:6px}.split-direction-box,.split-tag-box{background:var(--bg-base);border:1px solid var(--border-subtle);padding:6px 8px}.split-tag-headings{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px}.split-tag-headings .split-tag-column__heading{border-bottom:none;padding-bottom:0;text-align:center}.split-panel__header{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600;text-align:center;margin:0 0 2px}.split-panel__target{color:#d6a85c}.split-direction-pad{display:grid;grid-template-columns:28px 28px 28px;grid-template-rows:28px 28px 28px;width:84px;margin:2px auto 4px;gap:2px}.split-direction-pad__btn{border:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;border-radius:0}.split-direction-pad__btn:hover{border-color:var(--border-default);color:var(--text-primary)}.split-direction-pad__btn.on{background:#d6a85c;border-color:#d6a85c;color:#fff}.split-direction-pad__up{grid-column:2;grid-row:1}.split-direction-pad__left{grid-column:1;grid-row:2}.split-direction-pad__center{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.split-direction-pad__right{grid-column:3;grid-row:2}.split-direction-pad__down{grid-column:2;grid-row:3}.split-tag-empty{margin:4px 0;font-size:11px;color:var(--text-muted)}.split-tag-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.split-tag-column{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}.split-tag-column__heading{margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-subtle);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.split-tag-column__scroll{height:140px;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:4px}.split-tag-column__empty{margin:0;font-size:11px;color:var(--text-muted)}.split-tag-button{display:inline-flex;align-items:center;padding:4px 10px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:0;color:var(--text-primary);cursor:pointer;font-size:12px;text-align:left;white-space:nowrap}.split-tag-button:hover{border-color:var(--border-default);background:var(--bg-hover, var(--bg-base))}.top-bar-back{padding:4px 8px;font-size:12px}.diagram-count{font-size:12px;color:var(--text-muted);white-space:nowrap}:root{--chat-oval-bg: var(--bg-raised);--chat-oval-border: var(--border-default);--chat-oval-fg: var(--text-primary);--chat-oval-placeholder: var(--text-muted);--chat-oval-shadow: 0 2px 10px rgba(0, 0, 0, .12);--chat-oval-submit-bg: var(--border-default);--chat-oval-submit-bg-hover: var(--accent-blue-dim);--chat-oval-submit-fg: var(--text-primary)}.control-pane.chat-mode{border-left:none;background:transparent;padding:0;position:absolute;left:0;right:0;bottom:0;pointer-events:none;display:flex;flex-direction:column-reverse;align-items:stretch;z-index:20;overflow:visible;user-select:none;-webkit-user-select:none}.control-pane.chat-mode input,.control-pane.chat-mode textarea{user-select:text;-webkit-user-select:text}.control-pane.chat-mode .chat-oval-input-wrap,.control-pane.chat-mode .chat-oval-synthetic-toggle,.control-pane.chat-mode .selected-branch-card,.control-pane.chat-mode .peek-tab,.control-pane.chat-mode .control-float-pane{pointer-events:auto}.chat-bar-row{position:relative;display:flex;align-items:stretch;gap:0;padding:10px 16px 12px}.chat-bar-inner{flex:1;display:flex;flex-direction:column;gap:6px;position:relative;z-index:2}.selected-branch-card{background:var(--bg-overlay, rgba(255, 255, 255, .9));border:1px solid var(--border-subtle);border-radius:12px;padding:8px 14px;font-size:12px;align-self:flex-start;max-width:60%}.selected-branch-card p{margin:4px 0 0}.contribution-form.chat-oval{display:block;background:transparent;margin:0}.contribution-form.chat-oval h3{display:none}.contribution-form.chat-oval .error{margin:0 12px 4px}.chat-oval-synthetic-toggle{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px 14px;font-size:12px;color:var(--text-secondary, var(--text-primary));cursor:pointer;-webkit-user-select:none;user-select:none}.chat-oval-synthetic-toggle input{margin:0}.chat-oval-input-wrap{position:relative;display:flex;align-items:center;width:100%;background:var(--chat-oval-bg);border:1px solid var(--chat-oval-border);border-radius:9999px;padding:3px 8px 3px 18px;gap:8px;box-shadow:var(--chat-oval-shadow)}.chat-oval-tos-cover{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);border-radius:9999px;border:1px solid var(--chat-oval-border);background:var(--chat-oval-bg);color:var(--chat-oval-fg);font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--chat-oval-shadow);z-index:2;padding:0 18px}.chat-oval-tos-cover:hover,.chat-oval-tos-cover:focus-visible{background:var(--chat-oval-submit-bg-hover);border-color:var(--chat-oval-submit-bg-hover);outline:none}.chat-oval-tos-aside{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;font-size:.6em;line-height:1;font-weight:600;pointer-events:none}.chat-oval-tos-aside--left{left:18px}.chat-oval-tos-aside--right{right:18px}.chat-oval-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;color:var(--chat-oval-fg);padding:6px 4px}.chat-oval-input:focus{border:none;outline:none;box-shadow:none}.chat-oval-input::placeholder{color:var(--chat-oval-placeholder)}.chat-oval-input-wrap .char-count{position:static;font-size:10px;color:var(--chat-oval-placeholder);pointer-events:none}.contribution-form.chat-oval button.chat-oval-submit{flex-shrink:0;width:30px;height:30px;min-width:30px;min-height:30px;border-radius:50%;border:1px solid var(--chat-oval-border);background:transparent;color:var(--chat-oval-border);font-size:15px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:none}.contribution-form.chat-oval button.chat-oval-submit:disabled{opacity:.45;cursor:not-allowed;background:transparent}.contribution-form.chat-oval button.chat-oval-submit:hover:not(:disabled){background:transparent;color:var(--chat-oval-submit-bg-hover);border-color:var(--chat-oval-submit-bg-hover)}.peek-tab{background:var(--chat-oval-bg);color:var(--chat-oval-fg);border:1px solid var(--chat-oval-border);border-radius:8px 8px 0 0;font-size:12px;font-weight:600;padding:8px 16px;cursor:pointer;white-space:nowrap}.peek-tab:hover{background:var(--chat-oval-submit-bg-hover);color:var(--chat-oval-submit-fg)}.peek-tab-up-wrap{position:absolute;right:0;bottom:53px;width:360px;display:flex;justify-content:center;pointer-events:none;z-index:5}.peek-tab-up{pointer-events:auto;box-shadow:-1px -2px 6px #00000014;border-bottom-left-radius:0;border-bottom-right-radius:0}.peek-tab-down{align-self:center;flex-shrink:0;z-index:3;margin-bottom:1px}.control-floats{display:none;flex-direction:column;align-items:stretch;max-height:calc(100vh - 305px);overflow:hidden;width:360px;align-self:flex-end;pointer-events:auto}.control-pane.floats-open .control-floats{display:flex;animation:slide-up-floats .22s ease-out}.control-floats-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0 16px 4px;margin-top:-1px}@keyframes slide-up-floats{0%{transform:translateY(20px)}to{transform:translateY(0)}}.perf-pane{position:absolute;left:0;bottom:0;z-index:20;pointer-events:none}.perf-peek-tab-wrap{position:absolute;left:0;bottom:53px;width:360px;display:flex;justify-content:center;pointer-events:none;z-index:5}.perf-peek-tab-up{pointer-events:auto;box-shadow:1px -2px 6px #00000014;border-bottom-left-radius:0;border-bottom-right-radius:0}.perf-floats{position:absolute;left:16px;bottom:53px;width:360px;max-height:calc(100vh - 305px);display:none;flex-direction:column;align-items:stretch;overflow:hidden;pointer-events:auto}.perf-pane.floats-open .perf-floats{display:flex;animation:slide-up-floats .22s ease-out}.perf-floats .peek-tab-down{align-self:center;flex-shrink:0;z-index:3;margin-bottom:1px}.perf-floats-list{flex:1 1 auto;min-height:0}.control-float-pane{background:var(--bg-surface, #fff);border:1px solid var(--border-subtle, #ddd);border-radius:10px;padding:10px 12px;width:auto;box-shadow:0 4px 14px #0000001a}.control-float-pane.admin-only{border-color:#d6a85c}.side-nav{width:200px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border-subtle);padding:12px 26px 12px 12px;box-sizing:border-box;background:var(--bg-surface);color:var(--text-primary);position:relative;transition:width var(--transition-normal)}.side-nav--collapsed{width:64px;padding:12px 14px 12px 6px}.side-nav__rail{position:absolute;top:0;right:0;bottom:0;width:18px;padding:0;background:transparent;border:none;border-left:1px solid var(--border-subtle);cursor:pointer;font:inherit;color:var(--text-primary);transition:background var(--transition-fast)}.side-nav--collapsed .side-nav__rail{width:10px}.side-nav__rail:hover,.side-nav__rail:focus-visible{background:var(--bg-raised);outline:none}.side-nav__rail-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:56px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);background:var(--bg-raised);color:var(--text-primary);border-radius:var(--radius-sm);box-shadow:0 1px 4px #00000026;font-size:16px;line-height:1;pointer-events:none;opacity:0;transition:opacity var(--transition-fast)}.side-nav__rail:hover .side-nav__rail-handle,.side-nav__rail:focus-visible .side-nav__rail-handle{opacity:1}.side-nav__items{display:flex;flex-direction:column;gap:6px;flex:1}.side-nav__btn{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 12px;border:1px solid transparent;background:transparent;color:var(--text-primary);text-decoration:none;border-radius:var(--radius-sm);cursor:pointer;font:inherit;transition:background var(--transition-fast),border-color var(--transition-fast)}.side-nav__btn:hover{background:var(--bg-raised);border-color:var(--border-subtle)}.side-nav__btn--active{background:var(--bg-raised);border-color:var(--border-default);font-weight:600}.side-nav__icon{display:inline-flex;width:18px;justify-content:center;font-size:16px;line-height:1;flex-shrink:0}.side-nav__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav--collapsed .side-nav__btn{justify-content:center;padding:8px 0}.side-nav--collapsed .side-nav__label{display:none}.side-nav__logout{margin-top:8px;border-color:var(--border-subtle)}.merge-error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 16px;padding:8px 12px;border-radius:6px;background:#5a1a1a;color:#ffe0e0;border:1px solid #8a3a3a;font-size:13px}.merge-error-dismiss{background:transparent;border:none;color:inherit;font-size:16px;line-height:1;cursor:pointer;padding:0 4px}.topic-list-row{transition:background-color .12s ease}.topic-list-row.quant:hover{background:var(--bg-raised, #ffffff);border-color:var(--border-default, #94a3b8)}.topic-list-row.simple:hover{background:#64748b24}@media(prefers-color-scheme:dark){.topic-list-row.quant:hover{background:#94a3b81f}.topic-list-row.simple:hover{background:#94a3b824}}
