*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{display:flex;flex-direction:column}.flowscript-editor-wrapper{height:100%;display:flex;flex-direction:column;overflow:hidden}.flowscript-editor{flex:1;height:100%;overflow:auto}.flowscript-editor .cm-editor{height:100%}.flowscript-editor .cm-scroller{overflow:auto;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace}.flowscript-editor .cm-focused{outline:2px solid #3b82f6;outline-offset:-2px}.flowscript-editor .cm-selectionBackground{background-color:#dbeafe}.flowscript-editor.cm-focused .cm-selectionBackground{background-color:#bfdbfe}.flowscript-editor .cm-scroller::-webkit-scrollbar{width:12px;height:12px}.flowscript-editor .cm-scroller::-webkit-scrollbar-track{background:#f9fafb}.flowscript-editor .cm-scroller::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:6px;border:2px solid #f9fafb}.flowscript-editor .cm-scroller::-webkit-scrollbar-thumb:hover{background:#9ca3af}.graph-preview{position:relative;width:100%;height:100%;min-height:400px;background-color:var(--bg-primary);border-radius:8px;overflow:hidden}.graph-svg{width:100%;height:100%;background-color:var(--bg-primary)}.graph-node{transition:opacity .2s ease,stroke-width .2s ease}.graph-node:hover{opacity:.8;stroke-width:3!important}.graph-edge{transition:stroke-width .2s ease,opacity .2s ease}.graph-edge:hover{stroke-width:3!important;opacity:.8}.graph-label{-webkit-user-select:none;user-select:none;font-family:var(--font-mono)}.graph-stats{position:absolute;top:12px;right:12px;display:flex;gap:12px;font-size:12px;color:var(--text-secondary);background-color:var(--bg-secondary);padding:6px 12px;border-radius:6px;font-family:var(--font-mono);pointer-events:none}.graph-error,.graph-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;padding:24px;text-align:center;color:var(--text-secondary);background-color:var(--bg-primary);border:2px dashed var(--border-color);border-radius:8px}.graph-error h3,.graph-empty h3{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:600}.graph-error p,.graph-empty p{margin:0;font-size:14px;max-width:400px}.graph-error,.graph-error h3{color:var(--color-error)}.graph-controls{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:8px;background-color:var(--bg-secondary);padding:8px 12px;border-radius:6px;z-index:10;box-shadow:0 2px 8px #0000001a}.graph-controls label{font-size:13px;font-weight:500;color:var(--text-primary);margin:0}.layout-select{font-size:13px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);transition:border-color .2s ease}.layout-select:hover{border-color:var(--text-secondary)}.layout-select:focus{outline:none;border-color:var(--text-primary)}.graph-node-group{transition:opacity .2s ease}.graph-node-group:hover{opacity:.9}.query-panel{display:flex;flex-direction:column;gap:12px;font-size:13px}.query-error{color:var(--color-blocked);padding:16px}.query-tabs{display:flex;gap:4px;flex-wrap:wrap}.query-tab{padding:6px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;transition:all .15s}.query-tab:hover{background:var(--color-surface);color:var(--color-text)}.query-tab.active{background:var(--color-causal);color:#fff;border-color:var(--color-causal)}.query-node-picker{display:flex;align-items:center;gap:8px}.query-node-picker label{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.node-select{flex:1;padding:5px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-background);color:var(--color-text);font-size:12px;font-family:JetBrains Mono,Fira Code,monospace}.query-results{min-height:80px;max-height:400px;overflow-y:auto}.result-section{display:flex;flex-direction:column;gap:8px}.result-meta{font-size:11px;color:var(--color-text-secondary);padding:4px 8px;background:var(--color-surface);border-radius:4px}.result-empty{color:var(--color-text-secondary);font-style:italic;padding:12px 0}.result-error{color:var(--color-blocked);padding:8px;background:var(--color-blocked-bg);border-radius:4px}.tension-group{padding:8px;background:var(--color-surface);border-radius:6px;border-left:3px solid var(--color-tension)}.tension-axis{font-weight:600;color:var(--color-tension);margin-bottom:4px;font-size:12px}.tension-pair{display:flex;align-items:center;gap:8px;padding:4px 0}.tension-source,.tension-target{flex:1;font-size:12px}.tension-vs{font-size:10px;font-weight:700;color:var(--color-tension);text-transform:uppercase}.blocker-card{padding:8px;background:var(--color-surface);border-radius:6px;border-left:3px solid var(--color-blocked)}.blocker-header{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:4px}.blocker-icon{font-size:14px}.blocker-details{font-size:11px;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:2px;padding-left:22px}.alt-question{font-weight:600;color:var(--color-question);padding:4px 0}.alt-list{display:flex;flex-direction:column;gap:6px}.alt-card{padding:8px;background:var(--color-surface);border-radius:6px;border-left:3px solid var(--color-border)}.alt-card.chosen{border-left-color:var(--color-decided)}.alt-card.rejected{border-left-color:var(--color-text-secondary);opacity:.8}.alt-header{display:flex;align-items:center;gap:6px}.alt-status{font-weight:700;font-size:14px}.alt-card.chosen .alt-status{color:var(--color-decided)}.alt-card.rejected .alt-status{color:var(--color-text-secondary)}.alt-rationale{font-size:11px;color:var(--color-decided);padding:4px 0 0 22px}.alt-consequences{padding:4px 0 0 22px;display:flex;flex-direction:column;gap:2px}.alt-consequence{font-size:11px;color:var(--color-text-secondary)}.decision-summary{padding:6px 8px;background:var(--color-decided-bg);border-radius:4px;font-size:12px}.why-target{padding:4px 0}.causal-chain{display:flex;flex-direction:column;gap:2px;padding:4px 0}.chain-node{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--color-surface);border-radius:4px}.chain-node.chain-target{border-left:3px solid var(--color-causal);font-weight:600}.chain-depth{font-size:10px;color:var(--color-text-secondary);min-width:20px}.chain-content{flex:1;font-size:12px}.chain-rel{font-size:10px;color:var(--color-causal);font-family:JetBrains Mono,Fira Code,monospace}.chain-arrow{text-align:center;color:var(--color-causal);font-size:16px}.whatif-source{padding:4px 0}.impact-group{display:flex;flex-direction:column;gap:2px}.impact-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.impact-node{display:flex;align-items:center;gap:6px;padding:3px 8px;background:var(--color-surface);border-radius:4px}.impact-node.indirect{opacity:.85}.impact-arrow{color:var(--color-causal);font-size:12px;white-space:pre}.impact-content{flex:1;font-size:12px}.impact-tension-badge{font-size:9px;padding:1px 5px;background:var(--color-tension);color:#fff;border-radius:3px;font-weight:600}.compile-panel{display:flex;flex-direction:column;gap:8px;padding:12px}.compile-header{display:flex;justify-content:space-between;align-items:center}.compile-title{font-size:13px;font-weight:600;color:var(--text-primary)}.compile-model{font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary, #2a2d35);padding:2px 8px;border-radius:4px}.compile-input{width:100%;min-height:120px;padding:10px;border:1px solid var(--border-color, #3a3d45);border-radius:6px;background:var(--bg-secondary, #1e2027);color:var(--text-primary, #e0e0e0);font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;box-sizing:border-box}.compile-input:focus{outline:none;border-color:var(--accent-color, #4a9eff)}.compile-input::placeholder{color:var(--text-secondary, #888);font-size:12px}.compile-input:disabled{opacity:.6}.compile-actions{display:flex;justify-content:space-between;align-items:center}.char-count{font-size:11px;color:var(--text-secondary, #888)}.char-count.over-limit{color:#f44;font-weight:600}.compile-button{padding:8px 16px;border:none;border-radius:6px;background:#4a9eff;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.compile-button:hover:not(:disabled){background:#3a8eef}.compile-button:disabled{opacity:.5;cursor:not-allowed}.compile-error{font-size:12px;color:#ff6b6b;padding:6px 10px;background:#ff6b6b1a;border-radius:4px}.compile-success{font-size:12px;color:#4ade80;padding:6px 10px;background:#4ade801a;border-radius:4px}.compile-usage{font-size:11px;color:var(--text-secondary, #888)}.light .compile-input{background:#f5f5f5;border-color:#ddd;color:#333}.light .compile-model{background:#eee;color:#666}*{box-sizing:border-box;margin:0;padding:0}:root{--color-causal: #3b82f6;--color-temporal: #8b5cf6;--color-reverse-causal: #0ea5e9;--color-bidirectional: #06b6d4;--color-tension: #f59e0b;--color-axis-label: #d97706;--color-equivalent: #10b981;--color-not-equivalent: #ef4444;--color-decided: #22c55e;--color-decided-bg: rgba(34, 197, 94, .1);--color-exploring: #fbbf24;--color-exploring-bg: rgba(251, 191, 36, .1);--color-blocked: #dc2626;--color-blocked-bg: rgba(220, 38, 38, .1);--color-parking: #94a3b8;--color-parking-bg: rgba(148, 163, 184, .1);--color-thought: #a855f7;--color-question: #f97316;--color-completed: #059669;--color-alternative: #64748b;--color-action: #0284c7;--color-urgent: #dc2626;--color-positive: #16a34a;--color-confident: #7c3aed;--color-uncertain: #6b7280;--color-brace: #6b7280;--color-bracket: #6b7280;--color-scope: #06b6d4;--color-scope-bg: rgba(6, 182, 212, .1);--color-comment: #6b7280;--color-background: #ffffff;--color-surface: #f9fafb;--color-border: #e5e7eb;--color-text: #111827;--text-muted: #6b7280;--editor-bg: #ffffff;--editor-gutter-bg: #f9fafb;--editor-gutter-border: #e5e7eb;--editor-active-line: #f9fafb;--editor-active-line-gutter: #f3f4f6;--editor-selection: #dbeafe;--editor-selection-focused: #bfdbfe;--editor-cursor: #3b82f6;--color-primary: #3b82f6;--color-primary-dark: #2563eb;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Monaco", "Consolas", monospace;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out}[data-theme=dark]{--color-causal: #60a5fa;--color-temporal: #a78bfa;--color-reverse-causal: #38bdf8;--color-bidirectional: #22d3ee;--color-tension: #fbbf24;--color-axis-label: #fbbf24;--color-equivalent: #4ade80;--color-not-equivalent: #f87171;--color-decided: #4ade80;--color-decided-bg: rgba(74, 222, 128, .15);--color-exploring: #fbbf24;--color-exploring-bg: rgba(251, 191, 36, .15);--color-blocked: #f87171;--color-blocked-bg: rgba(248, 113, 113, .15);--color-parking: #94a3b8;--color-parking-bg: rgba(148, 163, 184, .15);--color-thought: #c084fc;--color-question: #fb923c;--color-completed: #34d399;--color-alternative: #94a3b8;--color-action: #38bdf8;--color-urgent: #f87171;--color-positive: #4ade80;--color-confident: #a78bfa;--color-uncertain: #94a3b8;--color-brace: #94a3b8;--color-bracket: #94a3b8;--color-scope: #22d3ee;--color-scope-bg: rgba(34, 211, 238, .15);--color-comment: #64748b;--color-background: #0f172a;--color-surface: #1e293b;--color-border: #334155;--color-text: #f1f5f9;--text-muted: #94a3b8;--editor-bg: #1e293b;--editor-gutter-bg: #0f172a;--editor-gutter-border: #334155;--editor-active-line: #334155;--editor-active-line-gutter: #1e293b;--editor-selection: #1e40af;--editor-selection-focused: #1e3a8a;--editor-cursor: #ffffff;--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3)}*{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background-color:var(--color-surface)}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background-color:var(--color-background);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-sm);z-index:10}.header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:var(--space-lg)}.logo{display:flex;align-items:center;gap:var(--space-sm);font-size:24px;font-weight:700;color:var(--color-text);margin:0}.logo-icon{font-size:28px;line-height:1}.tagline{font-size:14px;color:var(--text-muted);margin:0}.header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-md)}.cursor-position{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);background-color:var(--color-surface);padding:var(--space-xs) var(--space-sm);border-radius:4px;border:1px solid var(--color-border)}.toggle-button{display:flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:16px;transition:all var(--transition-fast);min-width:36px;height:32px}.toggle-button:hover{background-color:var(--color-border);color:var(--color-text)}.toggle-button:active{transform:scale(.95)}.toggle-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-button-text{margin-left:var(--space-xs);font-size:12px;font-family:var(--font-sans)}.app-main{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;background-color:var(--color-surface)}.panel{display:flex;flex-direction:column;background-color:var(--color-background);border-right:1px solid var(--color-border);overflow:hidden}.panel:last-child{border-right:none}.panel-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-surface);display:flex;align-items:center;gap:var(--space-md)}.panel-header h2{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.panel-subtitle{font-size:12px;color:var(--text-muted)}.editor-tabs{display:flex;gap:2px}.editor-tab{padding:4px 12px;border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;border-radius:4px;transition:background .15s,color .15s}.editor-tab:hover{background:var(--color-border);color:var(--color-text)}.editor-tab.active{background:var(--color-accent, #4a9eff);color:#fff}.panel-content{flex:1;overflow:auto;position:relative}.editor-panel .panel-content{padding:0}.preview-panel .panel-content{padding:var(--space-lg)}.preview-tabs{display:flex;flex-direction:column;gap:var(--space-lg)}.app-footer{background-color:var(--color-background);border-top:1px solid var(--color-border);padding:var(--space-sm) var(--space-lg);text-align:center;font-size:12px;color:var(--text-muted)}.app-footer p{margin:var(--space-xs) 0}.footer-links{display:flex;justify-content:center;gap:var(--space-sm);flex-wrap:wrap}.footer-links a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-primary-dark);text-decoration:underline}@media(max-width:1024px){.app-main{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.panel{border-right:none;border-bottom:1px solid var(--color-border)}.panel:last-child{border-bottom:none}}@media(max-width:768px){.header-content{flex-wrap:wrap}.tagline{flex-basis:100%;order:3;margin-top:var(--space-xs)}.app-main{grid-template-rows:60vh 40vh}}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media print{.app-header,.app-footer,.preview-panel{display:none}.app-main{grid-template-columns:1fr}.editor-panel{border:none}}
