:root{--color-bg: #020202;--color-surface: #0a0a0b;--color-surface-raised: #141416;--color-text: #f4f1e8;--color-text-secondary: #c7c0b2;--color-text-muted: #898377;--color-divider: rgba(255, 255, 255, .12);--color-divider-strong: rgba(255, 255, 255, .28);--color-accent: #f4f1e8;--color-accent-soft: rgba(255, 255, 255, .075);--color-success: #62d18c;--color-warn: #e2a65d;--color-error: #ff6b72;--color-error-soft: rgba(255, 107, 114, .16);--theory-color-accent: #d69b73;--theory-color-accent-soft: rgba(214, 155, 115, .12);--theory-color-quote-rule: rgba(214, 155, 115, .62);--theory-color-graph-node: #d8cfc1;--theory-color-graph-edge: rgba(216, 207, 193, .42);--theory-radius-sm: 4px;--theory-radius-md: 10px;--theory-radius-lg: 18px;--theory-radius-pill: 999px;--theory-spacing-1: 4px;--theory-spacing-2: 10px;--theory-spacing-3: 16px;--theory-spacing-4: 26px;--theory-spacing-5: 42px;--theory-font-body: "Source Serif 4", "Source Serif Pro", "Iowan Old Style", Charter, Georgia, serif;--theory-font-display: "Source Serif 4", Charter, Georgia, serif;--theory-font-ui: "Inter", system-ui, -apple-system, sans-serif;--theory-ease-organic: cubic-bezier(.34, 1.32, .64, 1);--theory-ease-settle: cubic-bezier(.2, .8, .2, 1);--theory-dur-quick: .2s;--theory-dur-flow: .32s;--theory-dur-grand: .48s;--connectivity-color-accent: #9dbd88;--connectivity-color-accent-soft: rgba(157, 189, 136, .12);--connectivity-color-line: rgba(157, 189, 136, .52);--connectivity-radius-sm: 3px;--connectivity-radius-md: 7px;--connectivity-radius-lg: 12px;--connectivity-radius-pill: 999px;--connectivity-spacing-1: 4px;--connectivity-spacing-2: 9px;--connectivity-spacing-3: 14px;--connectivity-spacing-4: 21px;--connectivity-spacing-5: 32px;--connectivity-font-body: "Inter", "IBM Plex Sans", system-ui, sans-serif;--connectivity-font-display: "Source Serif 4", "Inter", system-ui, sans-serif;--connectivity-font-ui: "Inter", "IBM Plex Sans", system-ui, sans-serif;--connectivity-ease-gather: cubic-bezier(.22, .9, .24, 1);--connectivity-ease-settle: cubic-bezier(.26, .74, .2, 1);--connectivity-dur-quick: .15s;--connectivity-dur-flow: .26s;--connectivity-dur-grand: .4s;--practicality-color-accent: #77c2d8;--practicality-color-accent-soft: rgba(119, 194, 216, .12);--practicality-color-rule: rgba(119, 194, 216, .58);--practicality-radius-sm: 0;--practicality-radius-md: 0;--practicality-radius-lg: 1px;--practicality-spacing-1: 4px;--practicality-spacing-2: 8px;--practicality-spacing-3: 12px;--practicality-spacing-4: 16px;--practicality-spacing-5: 24px;--practicality-font-body: "Inter", "IBM Plex Sans", system-ui, sans-serif;--practicality-font-display: "IBM Plex Sans", "Inter", system-ui, sans-serif;--practicality-font-tabular: "IBM Plex Mono", "JetBrains Mono", "SF Mono", Menlo, monospace;--practicality-ease-snap: cubic-bezier(.4, 0, .6, 1);--practicality-ease-step: steps(2, end);--practicality-dur-snap: 90ms;--practicality-dur-step: .14s;--font-prose: "Source Serif 4", "Source Serif Pro", "Iowan Old Style", Charter, Georgia, serif;--font-ui: "Inter", "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-tabular: "IBM Plex Mono", "JetBrains Mono", "SF Mono", Menlo, monospace;--layout-space-bar: 48px;--layout-rule: 1px;color-scheme:dark}[data-theme=light],[data-theme=dark]{color-scheme:dark;--color-bg: #020202;--color-surface: #0a0a0b;--color-surface-raised: #141416;--color-text: #f4f1e8;--color-text-secondary: #c7c0b2;--color-text-muted: #898377;--color-divider: rgba(255, 255, 255, .12);--color-divider-strong: rgba(255, 255, 255, .28);--color-accent: #f4f1e8;--color-accent-soft: rgba(255, 255, 255, .075);--color-success: #62d18c;--color-warn: #e2a65d;--color-error: #ff6b72;--color-error-soft: rgba(255, 107, 114, .16);--theory-color-accent: #d69b73;--theory-color-accent-soft: rgba(214, 155, 115, .12);--theory-color-quote-rule: rgba(214, 155, 115, .62);--theory-color-graph-node: #d8cfc1;--theory-color-graph-edge: rgba(216, 207, 193, .42);--connectivity-color-accent: #9dbd88;--connectivity-color-accent-soft: rgba(157, 189, 136, .12);--connectivity-color-line: rgba(157, 189, 136, .52);--practicality-color-accent: #77c2d8;--practicality-color-accent-soft: rgba(119, 194, 216, .12);--practicality-color-rule: rgba(119, 194, 216, .58)}[data-network=theory]{--mode-color-accent: var(--theory-color-accent);--mode-color-accent-soft: var(--theory-color-accent-soft);--mode-color-quote-rule: var(--theory-color-quote-rule);--mode-radius-sm: var(--theory-radius-sm);--mode-radius-md: var(--theory-radius-md);--mode-radius-lg: var(--theory-radius-lg);--mode-radius-pill: var(--theory-radius-pill);--mode-spacing-1: var(--theory-spacing-1);--mode-spacing-2: var(--theory-spacing-2);--mode-spacing-3: var(--theory-spacing-3);--mode-spacing-4: var(--theory-spacing-4);--mode-spacing-5: var(--theory-spacing-5);--mode-font-body: var(--theory-font-body);--mode-font-display: var(--theory-font-display);--mode-font-ui: var(--theory-font-ui);--mode-ease: var(--theory-ease-organic);--mode-ease-settle: var(--theory-ease-settle);--mode-dur-quick: var(--theory-dur-quick);--mode-dur-flow: var(--theory-dur-flow);--mode-dur-grand: var(--theory-dur-grand);font-family:var(--mode-font-body)}[data-network=practicality]{--mode-color-accent: var(--practicality-color-accent);--mode-color-accent-soft: var(--practicality-color-accent-soft);--mode-color-quote-rule: var(--practicality-color-rule);--mode-radius-sm: var(--practicality-radius-sm);--mode-radius-md: var(--practicality-radius-md);--mode-radius-lg: var(--practicality-radius-lg);--mode-radius-pill: var(--practicality-radius-lg);--mode-spacing-1: var(--practicality-spacing-1);--mode-spacing-2: var(--practicality-spacing-2);--mode-spacing-3: var(--practicality-spacing-3);--mode-spacing-4: var(--practicality-spacing-4);--mode-spacing-5: var(--practicality-spacing-5);--mode-font-body: var(--practicality-font-body);--mode-font-display: var(--practicality-font-display);--mode-font-ui: var(--practicality-font-body);--mode-ease: var(--practicality-ease-snap);--mode-ease-settle: var(--practicality-ease-snap);--mode-dur-quick: var(--practicality-dur-snap);--mode-dur-flow: var(--practicality-dur-step);--mode-dur-grand: var(--practicality-dur-step);font-family:var(--mode-font-body)}[data-network=connectivity]{--mode-color-accent: var(--connectivity-color-accent);--mode-color-accent-soft: var(--connectivity-color-accent-soft);--mode-color-quote-rule: var(--connectivity-color-line);--mode-radius-sm: var(--connectivity-radius-sm);--mode-radius-md: var(--connectivity-radius-md);--mode-radius-lg: var(--connectivity-radius-lg);--mode-radius-pill: var(--connectivity-radius-pill);--mode-spacing-1: var(--connectivity-spacing-1);--mode-spacing-2: var(--connectivity-spacing-2);--mode-spacing-3: var(--connectivity-spacing-3);--mode-spacing-4: var(--connectivity-spacing-4);--mode-spacing-5: var(--connectivity-spacing-5);--mode-font-body: var(--connectivity-font-body);--mode-font-display: var(--connectivity-font-display);--mode-font-ui: var(--connectivity-font-ui);--mode-ease: var(--connectivity-ease-gather);--mode-ease-settle: var(--connectivity-ease-settle);--mode-dur-quick: var(--connectivity-dur-quick);--mode-dur-flow: var(--connectivity-dur-flow);--mode-dur-grand: var(--connectivity-dur-grand);font-family:var(--mode-font-body)}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--color-divider) var(--color-bg)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--color-bg)}*::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:0;border:1px solid var(--color-bg)}*::-webkit-scrollbar-thumb:hover{background:var(--color-divider-strong)}*::-webkit-scrollbar-corner{background:var(--color-bg)}::selection{background:var(--color-accent-soft);color:var(--color-text)}.tabular{font-variant-numeric:tabular-nums;font-family:var(--font-tabular)}input:focus-visible,textarea:focus-visible,button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--color-divider-strong);outline-offset:2px}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;padding-bottom:calc(var(--layout-space-bar) + 4px)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.login-splash-wrapper.lifted{transform:none}.login-splash-wrapper{transition:none!important}.caret-blink:after{animation:none}}.explanation-bar{position:fixed;bottom:0;left:0;right:0;padding:.6rem 1rem;background:var(--color-surface);border-top:1px solid var(--color-divider);font-size:.75rem;color:var(--color-text-secondary);line-height:1.4;z-index:30;max-height:var(--layout-space-bar);overflow:hidden;display:flex;align-items:center;gap:.75rem}.explanation-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.explanation-icon{width:22px;height:22px;flex-shrink:0;opacity:.45;-webkit-user-select:none;user-select:none}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg);overflow:hidden}.login-splash-wrapper{display:flex;align-items:center;justify-content:center;transition:transform 1s cubic-bezier(.4,0,.2,1);will-change:transform}.login-splash-wrapper.lifted{transform:translateY(-60px)}.login-logo{width:min(520px,80vw);height:auto;-webkit-user-select:none;user-select:none;animation:logo-fade-in 1s ease-out both;margin-left:-24px}@keyframes logo-fade-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.login-form-wrapper{width:100%;max-width:420px;padding:0 2rem;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .8s ease-out .3s,transform .8s ease-out .3s}.login-form-wrapper.visible{opacity:1;transform:translateY(0);pointer-events:auto}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-label{display:block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.login-input{width:100%;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);font:inherit}.login-input::placeholder{color:var(--color-text-muted)}.login-input:focus{border-color:var(--color-divider-strong)}.login-error{font-size:.8rem;color:var(--color-error);border-left:2px solid var(--color-error);padding-left:.5rem;letter-spacing:.02em}.login-error:before{content:"[ERR] ";opacity:.75;letter-spacing:.05em}.caret-blink:after{content:"_";animation:caret-blink 1.1s step-end infinite}@keyframes caret-blink{50%{opacity:0}}.login-button{margin-top:.5rem;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--color-text);color:var(--color-text);font:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.login-button:hover:not(:disabled){background:var(--color-accent-soft)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-key-mask{margin:.5rem 0 0;font-size:.85rem;color:var(--color-text-muted);letter-spacing:.1em;font-family:var(--font-tabular)}.login-connection{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--color-text-muted);margin-top:.5rem}.server-config-toggle{background:none;border:none;color:var(--color-text-muted);font-size:.65rem;cursor:pointer;padding:0;margin-left:auto;text-decoration:underline;text-underline-offset:2px}.server-config-toggle:hover{color:var(--color-text)}.server-config{margin-top:4px;padding-top:8px;border-top:1px solid var(--color-divider)}.connection-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.connection-dot.connected{background:var(--color-success);box-shadow:0 0 6px color-mix(in srgb,var(--color-success) 60%,transparent)}.connection-dot.connecting{background:var(--color-warn);animation:pulse-dot 1.2s ease-in-out infinite}.connection-dot.disconnected{background:var(--color-error)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.login-fade-out{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.login-fade-out .login-screen{position:absolute;top:0;right:0;bottom:0;left:0}.login-fade-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg);opacity:0;pointer-events:none;transition:opacity 1.6s ease-out}.login-fade-overlay.active{opacity:1}.app-main{min-height:100vh;background:var(--color-bg);color:var(--color-text);display:flex;transition:transform .25s ease}.app-main.main-fade-in{animation:main-fade-in 1.2s ease-out forwards}@keyframes main-fade-in{0%{opacity:0}to{opacity:1}}.app-main.data-open .main-content{margin-right:320px}.main-content{flex:1;min-width:0;padding:1.5rem 2rem;transition:margin-right .25s ease}.main-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:.75rem}.header-logout-btn{margin-left:auto;font-size:11px;padding:4px 12px;opacity:.7;border-bottom:1px solid var(--color-divider)}.main-brand{font-weight:700;letter-spacing:.06em;font-family:var(--font-ui)}.main-badge{font-size:.7rem;padding:.2rem .5rem;border:1px solid var(--color-divider-strong);color:var(--color-text-secondary)}.header-connection{margin-left:auto;display:flex;align-items:center;gap:.4rem;font-size:.65rem;color:var(--color-text-muted)}.input-section{max-width:640px;display:flex;flex-direction:column;gap:1.25rem}.input-block{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.problem-input{width:100%;min-height:120px;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);font:inherit;resize:vertical}.problem-input:focus{border-color:var(--color-divider-strong)}.problem-input[readonly]{opacity:.9}.input-locked{font-size:.75rem;color:var(--color-text-muted)}.slider-block{display:flex;flex-direction:column;gap:.4rem}.slider-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.slider-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.slider-number{width:5rem;padding:.35rem .5rem;background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);font-family:var(--font-tabular);font-size:.85rem;font-variant-numeric:tabular-nums;text-align:right}.slider-number:focus{border-color:var(--color-divider-strong)}.slider-range{width:100%;height:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;padding:0;border:none}.slider-range::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--color-accent) 0%,var(--color-accent) calc(var(--slider-pct, 50) * 1%),var(--color-divider) calc(var(--slider-pct, 50) * 1%),var(--color-divider) 100%);border:none}.slider-range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:16px;border-radius:0;background:var(--color-accent);border:none;margin-top:-6px;cursor:pointer}.slider-range:focus-visible::-webkit-slider-thumb{outline:1px solid var(--color-text);outline-offset:2px}.slider-range::-moz-range-track{height:4px;background:var(--color-divider);border:none}.slider-range::-moz-range-progress{height:4px;background:var(--color-accent)}.slider-range::-moz-range-thumb{width:12px;height:16px;border-radius:0;background:var(--color-accent);border:none;cursor:pointer}.slider-range:focus-visible::-moz-range-thumb{outline:1px solid var(--color-text);outline-offset:2px}.slider-extremes{display:flex;justify-content:space-between;font-size:.65rem;color:var(--color-text-muted)}.actions{display:flex;gap:1rem;margin-top:.5rem}.btn{padding:.6rem 1.2rem;font:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:1px solid var(--color-divider-strong);background:transparent;color:var(--color-text)}.btn:hover:not(:disabled){background:var(--color-accent-soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{border-color:var(--color-text)}.btn-secondary{color:var(--color-text-secondary)}.advanced-toggle{padding:.4rem .8rem;font:inherit;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--color-divider);background:transparent;color:var(--color-text-muted);align-self:flex-start}.advanced-toggle:hover{color:var(--color-text);border-color:var(--color-divider-strong)}.advanced-params{overflow:hidden;max-height:0;transition:max-height .3s ease}.advanced-params.open{max-height:800px}.advanced-inner{display:flex;flex-direction:column;gap:1rem;padding-top:.75rem}.form-select{width:100%;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);font:inherit;font-size:.85rem}.form-select:focus{border-color:var(--color-divider-strong)}.form-select option{background:var(--color-surface)}.toggle-row{display:flex;align-items:center;gap:.75rem}.toggle-switch{width:36px;height:20px;background:var(--color-divider);border:none;border-radius:10px;cursor:pointer;position:relative;transition:background .2s;padding:0}.toggle-switch.active{background:color-mix(in srgb,var(--color-accent) 55%,transparent)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--color-surface-raised);border-radius:50%;transition:transform .2s}.toggle-switch.active:after{transform:translate(16px)}.toggle-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.agent-checkbox-list{display:flex;flex-direction:column;gap:.25rem;max-height:160px;overflow:auto}.agent-checkbox{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;font-size:.8rem;color:var(--color-text);cursor:pointer}.agent-checkbox:hover{background:var(--color-accent-soft)}.agent-checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border:1px solid var(--color-divider-strong);background:transparent;cursor:pointer;flex-shrink:0;position:relative}.agent-checkbox input[type=checkbox]:checked{background:color-mix(in srgb,var(--color-accent) 30%,transparent);border-color:var(--color-accent)}.agent-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid var(--color-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.data-panel{position:fixed;top:0;right:0;width:320px;height:100vh;max-height:100dvh;min-height:0;background:var(--color-surface);border-left:1px solid var(--color-divider);display:flex;flex-direction:column;z-index:10;overflow:hidden}.data-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-divider)}.data-panel-title{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.data-panel-close{width:28px;height:28px;padding:0;border:1px solid var(--color-divider-strong);background:transparent;color:var(--color-text);font-size:1.25rem;line-height:1;cursor:pointer}.data-panel-close:hover{background:var(--color-accent-soft)}.data-panel-body{flex:1;min-height:0;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.context-textarea{flex:0 0 auto;min-height:160px;max-height:min(320px,38vh);padding:.75rem;background:transparent;border:1px solid var(--color-divider);color:var(--color-text);font:inherit;font-size:.8rem;resize:vertical}.context-textarea:focus{border-color:var(--color-divider-strong)}.context-textarea::placeholder{color:var(--color-text-muted)}.context-hint{font-size:.65rem;color:var(--color-text-muted)}.app-analysis{min-height:100vh;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;padding:1rem 1.5rem}.app-analysis .main-header{margin-bottom:1rem}.analysis-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.analysis-header .btn-cancel{margin-left:auto;font-size:.75rem;padding:.4rem .8rem;border-color:var(--color-divider-strong);color:var(--color-text-secondary)}.analysis-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.9fr) minmax(240px,.9fr);gap:1rem;min-height:0;transition:grid-template-columns var(--theory-dur-grand) var(--theory-ease-settle)}.analysis-grid.theory-dominant{grid-template-columns:minmax(0,2.75fr) minmax(220px,.75fr) minmax(220px,.75fr)}.analysis-grid.connectivity-dominant{grid-template-columns:minmax(260px,1.05fr) minmax(0,1.75fr) minmax(220px,.8fr)}.analysis-grid.practicality-dominant{grid-template-columns:minmax(220px,.72fr) minmax(220px,.72fr) minmax(0,2.45fr);transition:grid-template-columns var(--practicality-dur-step) var(--practicality-ease-step)}.panel{background:var(--color-surface);border:1px solid var(--color-divider);display:flex;flex-direction:column;min-height:0}.panel-title{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);margin:0;padding:.6rem .75rem;border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-family:var(--font-ui)}.stage-count,.monitor-count{font-size:.65rem;font-weight:400;color:var(--color-text-muted);font-family:var(--font-tabular)}.unit-list{list-style:none;margin:0;padding:.5rem .75rem;overflow:auto}.unit-item{padding:.4rem 0;font-size:.8rem;color:var(--color-text);border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.unit-item:last-child{border-bottom:none}.unit-item.active{color:var(--mode-color-accent, var(--color-accent))}.unit-item.completed{color:var(--color-text-muted)}.unit-item.completed:after{content:"✓";font-size:.7rem;color:color-mix(in srgb,var(--mode-color-accent, var(--color-accent)) 55%,transparent)}.unit-item.voting{background:var(--color-accent-soft);color:var(--color-text)}.feasibility-score{font-size:.7rem;color:var(--mode-color-accent, var(--color-accent));font-variant-numeric:tabular-nums;font-family:var(--font-tabular)}.feasibility-bar-track{position:relative;height:3px;background:var(--color-divider);margin-top:2px}.feasibility-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--mode-color-accent, var(--color-accent));transition:width .3s ease-out}.feasibility-bar-threshold{position:absolute;top:-1px;bottom:-1px;width:1px;background:var(--color-warn)}.repair-sparkline{display:inline-block;vertical-align:middle}.rec-agent-heatmap{display:flex;gap:2px;padding:0 .75rem .4rem;flex-wrap:wrap}.rec-agent-heatmap-cell{width:8px;height:8px;flex-shrink:0}.rec-agent-heatmap-cell.pass{background:var(--color-success)}.rec-agent-heatmap-cell.warn{background:var(--color-warn)}.rec-agent-heatmap-cell.fail{background:var(--color-error)}.theory-panel.active{border-color:var(--color-divider-strong);box-shadow:0 0 20px var(--color-accent-soft)}.theory-panel.active .panel-title{animation:pulse-text 1.2s ease-in-out infinite}.theory-stage{position:relative;overflow:hidden;min-height:clamp(360px,calc(100vh - 9rem),820px);transition:min-height var(--mode-dur-grand) var(--mode-ease-settle),border-color var(--mode-dur-flow) var(--mode-ease-settle),box-shadow var(--mode-dur-flow) var(--mode-ease-settle)}.theory-stage.is-active{min-height:clamp(520px,calc(100vh - 6.5rem),980px);border-color:color-mix(in srgb,var(--mode-color-accent) 46%,var(--color-divider));box-shadow:0 18px 50px color-mix(in srgb,var(--mode-color-accent) 18%,transparent)}.theory-stage-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theory-stage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mode-spacing-3);padding:var(--mode-spacing-3);border-bottom:1px solid var(--color-divider);background:linear-gradient(180deg,color-mix(in srgb,var(--mode-color-accent-soft) 72%,transparent),transparent)}.theory-stage-title{padding:0;border:0;letter-spacing:0}.theory-stage-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-auto-rows:minmax(280px,auto);grid-auto-flow:dense;align-content:start;gap:var(--mode-spacing-3);padding:var(--mode-spacing-3)}.theory-unit-tile{min-width:0;min-height:280px;display:grid;grid-template-rows:auto minmax(128px,1fr) auto auto;gap:var(--mode-spacing-2);padding:var(--mode-spacing-3);background:color-mix(in srgb,var(--color-surface-raised) 76%,var(--mode-color-accent-soft));border:1px solid var(--color-divider);border-left-color:color-mix(in srgb,var(--mode-color-accent) 52%,var(--color-divider));border-radius:var(--mode-radius-md);outline:none;animation:theory-tile-enter var(--mode-dur-flow) var(--mode-ease-settle) both;transition:grid-column var(--mode-dur-flow) var(--mode-ease-settle),min-height var(--mode-dur-flow) var(--mode-ease-settle),border-color var(--mode-dur-quick) var(--mode-ease-settle),transform var(--mode-dur-quick) var(--mode-ease-settle)}.theory-unit-tile:focus-visible{border-color:var(--mode-color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--mode-color-accent) 22%,transparent)}.theory-unit-tile.is-wide{grid-column:span 2}.theory-unit-tile.is-tall{min-height:390px}@keyframes theory-tile-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.theory-unit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mode-spacing-2);min-width:0}.theory-unit-heading{min-width:0}.theory-unit-heading h4{margin:0;font-size:.92rem;line-height:1.2;color:var(--color-text);font-family:var(--mode-font-display);overflow-wrap:anywhere}.theory-unit-heading span{display:block;margin-top:.2rem;font-size:.68rem;line-height:1.25;color:var(--color-text-muted);font-family:var(--mode-font-ui);overflow-wrap:anywhere}.theory-status-dot{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.66rem;line-height:1;color:var(--color-text-muted);font-family:var(--mode-font-ui);white-space:nowrap}.theory-status-dot:before{content:"";width:.52rem;height:.52rem;border-radius:999px;background:var(--color-divider-strong)}.theory-status-dot.thinking:before{background:var(--mode-color-accent);animation:theory-status-pulse 1.2s var(--mode-ease-settle) infinite}.theory-status-dot.simulating:before{background:var(--color-warn);animation:theory-status-pulse .7s var(--mode-ease-settle) infinite}.theory-status-dot.produced:before{background:var(--color-success)}@keyframes theory-status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}.theory-thinking-stream{min-height:128px;overflow:auto;padding:var(--mode-spacing-2);background:color-mix(in srgb,var(--color-bg) 66%,transparent);border:1px solid var(--color-divider);border-radius:var(--mode-radius-sm)}.theory-thinking-stream pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mode-font-body);font-size:.82rem;line-height:1.45;color:var(--color-text)}.theory-thinking-empty{font-size:.78rem;color:var(--color-text-muted);font-family:var(--mode-font-ui)}.theory-provenance-strip{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--mode-spacing-1);min-height:1.6rem}.theory-provenance-pill{max-width:100%;min-width:0;border:1px solid var(--color-divider);background:color-mix(in srgb,var(--mode-color-accent-soft) 68%,transparent);color:var(--color-text-secondary);padding:.25rem .42rem;border-radius:var(--mode-radius-pill);font-size:.66rem;line-height:1.1;font-family:var(--mode-font-ui);cursor:help;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theory-provenance-pill.data{background:transparent}.theory-provenance-pill:focus-visible{outline:2px solid color-mix(in srgb,var(--mode-color-accent) 42%,transparent);outline-offset:1px}.theory-provenance-pill:hover:after,.theory-provenance-pill:focus-visible:after{content:attr(data-tooltip);position:fixed;z-index:80;max-width:min(320px,calc(100vw - 2rem));padding:.5rem .6rem;background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-divider-strong);box-shadow:0 10px 24px color-mix(in srgb,var(--color-bg) 55%,transparent);border-radius:var(--mode-radius-sm);white-space:pre-wrap;transform:translate(-.2rem,1.4rem)}.theory-provenance-more{font-size:.66rem;color:var(--color-text-muted);font-family:var(--mode-font-ui)}.theory-viz-slot{min-height:70px;display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:var(--mode-spacing-2);border:1px dashed color-mix(in srgb,var(--mode-color-accent) 46%,var(--color-divider));border-radius:var(--mode-radius-sm);background:color-mix(in srgb,var(--mode-color-accent-soft) 68%,transparent)}.theory-viz-label{font-family:var(--mode-font-ui);font-size:.72rem;color:var(--mode-color-accent);text-transform:uppercase}.theory-viz-name{font-size:.78rem;color:var(--color-text-secondary);overflow-wrap:anywhere}.viz-frame{min-width:0;width:100%;color:var(--mode-color-accent)}.viz-offscreen{display:block;color:var(--color-text-muted);font-family:var(--mode-font-ui);font-size:.68rem}.viz-svg{display:block;inline-size:100%;block-size:clamp(90px,20vh,150px);overflow:visible}.viz-svg text{fill:currentColor;font-family:var(--mode-font-ui);font-size:10px;text-anchor:middle}.viz-svg rect,.viz-svg circle{fill:currentColor}.viz-svg line,.viz-svg polyline{stroke:currentColor}.viz-table{width:100%;border-collapse:collapse;font-family:var(--mode-font-ui);font-size:.68rem;color:var(--color-text-secondary)}.viz-table th,.viz-table td{padding:.22rem .28rem;border:1px solid color-mix(in srgb,var(--mode-color-accent) 26%,var(--color-divider));text-align:left;vertical-align:top}.viz-table th{color:var(--mode-color-accent);text-transform:uppercase;letter-spacing:.06em}.viz-stream{margin:0;max-height:130px;overflow:auto;white-space:pre-wrap;color:var(--color-text-secondary);font-family:var(--font-tabular);font-size:.68rem;line-height:1.35}.connectivity-viz-slot,.practicality-viz-slot{min-width:0;margin-top:var(--mode-spacing-2);padding:var(--mode-spacing-1);border:1px solid color-mix(in srgb,var(--mode-color-accent) 24%,var(--color-divider));background:color-mix(in srgb,var(--mode-color-accent-soft) 50%,transparent)}.practicality-viz-slot .viz-svg{block-size:74px}.theory-stage-empty{min-height:180px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);border:1px dashed var(--color-divider);border-radius:var(--mode-radius-md);font-family:var(--mode-font-ui);font-size:.82rem}@media (max-width: 1180px){.analysis-grid,.analysis-grid.theory-dominant,.analysis-grid.connectivity-dominant,.analysis-grid.practicality-dominant{grid-template-columns:1fr}.theory-stage,.theory-stage.is-active,.connectivity-stage,.connectivity-stage.is-active,.practicality-stage,.practicality-stage.is-active{min-height:clamp(460px,72vh,860px)}}@media (max-width: 720px){.app-analysis{padding:.75rem}.theory-stage-grid,.connectivity-map{grid-template-columns:1fr;padding:var(--mode-spacing-2)}.connectivity-lines{display:none}.theory-unit-tile.is-wide{grid-column:span 1}.theory-stage-header{padding:var(--mode-spacing-2)}}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.connectivity-stage{position:relative;min-height:clamp(360px,calc(100vh - 9rem),820px);overflow:hidden;transition:min-height var(--mode-dur-grand) var(--mode-ease-settle),border-color var(--mode-dur-flow) var(--mode-ease-settle),box-shadow var(--mode-dur-flow) var(--mode-ease-settle)}.connectivity-stage.is-active{min-height:clamp(460px,calc(100vh - 7rem),920px);border-color:color-mix(in srgb,var(--mode-color-accent) 46%,var(--color-divider));box-shadow:0 14px 44px color-mix(in srgb,var(--mode-color-accent) 16%,transparent)}.connectivity-stage-header{display:flex;align-items:center;justify-content:space-between;gap:var(--mode-spacing-2);padding:var(--mode-spacing-3);border-bottom:1px solid var(--color-divider);background:color-mix(in srgb,var(--mode-color-accent-soft) 72%,transparent)}.connectivity-stage-title{padding:0;border:0;letter-spacing:0}.connectivity-map{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(120px,.58fr) minmax(0,1fr);gap:var(--mode-spacing-3);padding:var(--mode-spacing-3)}.connectivity-lines{position:absolute;inset:var(--mode-spacing-3);width:calc(100% - (var(--mode-spacing-3) * 2));height:calc(100% - (var(--mode-spacing-3) * 2));pointer-events:none;z-index:0}.connectivity-lines line{stroke:var(--connectivity-color-line);stroke-width:.8;vector-effect:non-scaling-stroke;opacity:.58;stroke-dasharray:5 4;animation:connectivity-line-flow 1.5s linear infinite;transition:stroke-width var(--mode-dur-quick) var(--mode-ease-settle),opacity var(--mode-dur-quick) var(--mode-ease-settle)}.connectivity-lines line.is-highlighted{opacity:1;stroke-width:1.8;stroke:var(--mode-color-accent)}@keyframes connectivity-line-flow{0%{stroke-dashoffset:9}to{stroke-dashoffset:0}}.connectivity-source-rail{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:var(--mode-spacing-2);min-width:0}.connectivity-source-button{width:100%;min-width:0;display:flex;flex-direction:column;gap:.15rem;padding:var(--mode-spacing-2);border:1px solid var(--color-divider);border-left-color:color-mix(in srgb,var(--theory-color-accent) 42%,var(--color-divider));border-radius:var(--mode-radius-sm);background:color-mix(in srgb,var(--color-surface-raised) 72%,var(--theory-color-accent-soft));color:var(--color-text);text-align:left;font-family:var(--mode-font-ui);cursor:pointer;transition:border-color var(--mode-dur-quick) var(--mode-ease-settle),transform var(--mode-dur-quick) var(--mode-ease-settle),background var(--mode-dur-quick) var(--mode-ease-settle)}.connectivity-source-button span,.connectivity-source-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connectivity-source-button span{font-size:.78rem}.connectivity-source-button small{color:var(--color-text-muted);font-size:.65rem}.connectivity-source-button:hover,.connectivity-source-button:focus-visible,.connectivity-source-button.is-highlighted{border-color:var(--mode-color-accent);background:color-mix(in srgb,var(--mode-color-accent-soft) 70%,var(--color-surface-raised));transform:translate(3px);outline:none}.connectivity-synthesis-surface{position:relative;z-index:1;align-self:center;min-width:0;max-height:100%;overflow:auto;padding:var(--mode-spacing-3);border:1px solid color-mix(in srgb,var(--mode-color-accent) 32%,var(--color-divider));border-radius:var(--mode-radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--mode-color-accent-soft) 88%,transparent),transparent),var(--color-surface-raised);animation:connectivity-surface-arrive var(--mode-dur-grand) var(--mode-ease-settle) both}@keyframes connectivity-surface-arrive{0%{opacity:0;transform:scale(.98) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.connectivity-synthesis-meta{display:flex;justify-content:space-between;gap:var(--mode-spacing-2);margin-bottom:var(--mode-spacing-2);color:var(--color-text-muted);font-family:var(--font-tabular);font-size:.66rem}.connectivity-synthesis-item+.connectivity-synthesis-item{margin-top:var(--mode-spacing-2);padding-top:var(--mode-spacing-2);border-top:1px solid var(--color-divider)}.connectivity-synthesis-item h4{margin:0 0 .3rem;font-family:var(--mode-font-display);font-size:.92rem;line-height:1.25;color:var(--color-text);overflow-wrap:anywhere}.connectivity-synthesis-item p{margin:0;color:var(--color-text-secondary);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.practicality-stage{position:relative;min-height:clamp(360px,calc(100vh - 9rem),820px);overflow:hidden;border-radius:var(--mode-radius-lg);transition:min-height var(--mode-dur-flow) var(--mode-ease),border-color var(--mode-dur-quick) var(--mode-ease),box-shadow var(--mode-dur-quick) var(--mode-ease)}.practicality-stage.is-active{min-height:clamp(500px,calc(100vh - 6.75rem),960px);border-color:color-mix(in srgb,var(--mode-color-accent) 58%,var(--color-divider));box-shadow:0 0 0 1px color-mix(in srgb,var(--mode-color-accent) 24%,transparent)}.practicality-stage-header{display:flex;align-items:center;justify-content:space-between;gap:var(--mode-spacing-2);padding:var(--mode-spacing-2) var(--mode-spacing-3);border-bottom:1px solid color-mix(in srgb,var(--mode-color-accent) 32%,var(--color-divider));background:color-mix(in srgb,var(--mode-color-accent-soft) 68%,transparent)}.practicality-stage-title{padding:0;border:0;letter-spacing:.08em;font-family:var(--mode-font-display);font-weight:700}.practicality-stage-meta{display:inline-flex;align-items:center;gap:var(--mode-spacing-2);color:var(--color-text-muted);font-family:var(--font-tabular);font-size:.66rem;font-variant-numeric:tabular-nums;text-transform:uppercase}.practicality-stage-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(var(--practicality-column-count),minmax(188px,1fr));grid-auto-rows:292px;grid-auto-flow:row;align-content:start;gap:var(--mode-spacing-2);padding:var(--mode-spacing-2);background-image:linear-gradient(var(--color-divider) 1px,transparent 1px),linear-gradient(90deg,var(--color-divider) 1px,transparent 1px);background-size:16px 16px;background-position:-1px -1px}.practicality-cell{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:var(--mode-spacing-2);padding:var(--mode-spacing-2);border:1px solid color-mix(in srgb,var(--mode-color-accent) 34%,var(--color-divider));border-radius:var(--mode-radius-md);background:color-mix(in srgb,var(--color-surface-raised) 84%,var(--mode-color-accent-soft));outline:none;transition:background var(--mode-dur-quick) var(--mode-ease),border-color var(--mode-dur-quick) var(--mode-ease)}.practicality-cell.status-evaluating{background:color-mix(in srgb,var(--mode-color-accent-soft) 62%,var(--color-surface-raised))}.practicality-cell:focus-visible{border-color:var(--mode-color-accent);box-shadow:inset 0 0 0 1px var(--mode-color-accent)}.practicality-cell-header{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:var(--mode-spacing-2);align-items:start}.practicality-cell-heading{min-width:0}.practicality-cell-heading h4{margin:0;font-family:var(--mode-font-display);font-size:.78rem;line-height:1.12;font-weight:700;color:var(--color-text);overflow-wrap:anywhere}.practicality-cell-heading span{display:block;margin-top:.18rem;color:var(--color-text-muted);font-size:.62rem;line-height:1.18;text-transform:uppercase;overflow-wrap:anywhere}.practicality-criticality{height:42px;display:flex;align-items:end;border:1px solid var(--color-divider);background:repeating-linear-gradient(90deg,transparent 0 6px,color-mix(in srgb,var(--color-divider) 72%,transparent) 6px 7px)}.practicality-criticality span{display:block;block-size:100%;background:var(--mode-color-accent);transition:inline-size var(--mode-dur-step) var(--practicality-ease-step)}.practicality-verdict-region{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--mode-spacing-2);padding-block:var(--mode-spacing-1);border-block:1px solid var(--color-divider)}.practicality-verdict,.practicality-score,.practicality-aggregate-row{font-family:var(--font-tabular);font-variant-numeric:tabular-nums}.practicality-verdict{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-size:.64rem;line-height:1;letter-spacing:.08em;text-transform:uppercase}.practicality-verdict-pass{color:var(--color-success)}.practicality-verdict-conditional{color:var(--color-warn)}.practicality-verdict-fail{color:var(--color-error)}.practicality-score{color:var(--mode-color-accent);font-size:1.45rem;line-height:1;font-weight:700}.practicality-justification{min-height:0;overflow:auto;padding:var(--mode-spacing-2);border:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-bg) 72%,transparent)}.practicality-justification p{margin:0;color:var(--color-text-secondary);font-size:.72rem;line-height:1.34;overflow-wrap:anywhere}.practicality-reference-strip{position:relative;min-width:0;display:grid;gap:var(--mode-spacing-1)}.practicality-reference-button{min-width:0;width:100%;padding:.28rem .36rem;border:1px solid var(--color-divider);border-radius:var(--mode-radius-sm);background:transparent;color:var(--color-text-secondary);font-family:var(--mode-font-body);font-size:.65rem;line-height:1.12;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practicality-reference-button:hover,.practicality-reference-button:focus-visible{border-color:var(--mode-color-accent);outline:none}.practicality-reference-button:hover:after,.practicality-reference-button:focus-visible:after{content:attr(data-tooltip);position:fixed;z-index:90;max-width:min(340px,calc(100vw - 2rem));padding:.45rem .55rem;background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-divider-strong);border-radius:var(--mode-radius-sm);box-shadow:none;white-space:pre-wrap;transform:translate(.1rem,1.25rem)}.practicality-reference-chain{display:flex;align-items:center;gap:var(--mode-spacing-1);min-width:0;color:var(--color-text-muted);font-size:.6rem;text-transform:uppercase}.practicality-reference-chain b{min-width:0;max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mode-color-accent);font-weight:700}.practicality-aggregate-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid color-mix(in srgb,var(--mode-color-accent) 38%,var(--color-divider));background:color-mix(in srgb,var(--mode-color-accent-soft) 72%,transparent)}.practicality-aggregate-row span{min-width:0;padding:var(--mode-spacing-2);border-right:1px solid var(--color-divider);color:var(--color-text-secondary);font-size:.65rem;text-transform:uppercase;white-space:nowrap}.practicality-aggregate-row span:last-child{border-right:0}.practicality-aggregate-row b{color:var(--color-text);font-weight:700}.practicality-aggregate-score{color:var(--mode-color-accent)!important}.monitor-panel .panel-title{flex-wrap:wrap}.monitor-box{flex:1;padding:.75rem;overflow:auto;display:flex;flex-direction:column;gap:.5rem;min-height:120px}.monitor-conclusion{font-size:.75rem;color:var(--color-text);padding:.5rem;background:var(--color-accent-soft);border-left:2px solid var(--color-divider-strong)}.monitor-revision-label{font-size:.7rem;color:var(--color-text-muted);font-style:italic}.monitor-drifting{font-size:.7rem;color:var(--mode-color-accent, var(--color-accent));animation:drift-pulse .8s ease-in-out infinite}@keyframes drift-pulse{0%,to{opacity:1}50%{opacity:.5}}.monitor-status{font-size:.75rem;color:var(--color-text-secondary);padding:.5rem}.monitor-round{font-size:.65rem;color:var(--color-text-muted);padding:.25rem .5rem}.drift-orbit{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:25;overflow:hidden}.drift-chip{position:absolute;left:44%;top:50%;transform:translate(-50%,-50%) scale(.75);padding:.5rem .75rem;font-size:.7rem;color:var(--color-text);background:var(--color-surface-raised);border-left:2px solid var(--color-divider-strong);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;animation:drift-to-practicality 5.2s cubic-bezier(.25,.1,.25,1) forwards;box-shadow:0 2px 12px var(--color-divider)}.drift-chip:nth-child(1){animation-delay:0s}.drift-chip:nth-child(2){animation-delay:.9s}.drift-chip:nth-child(3){animation-delay:1.8s}@keyframes drift-to-practicality{0%{left:44%;opacity:.85;transform:translate(-50%,-50%) scale(.75)}12%{left:48%;opacity:1;transform:translate(-50%,-50%) scale(1)}65%{left:72%;opacity:1;transform:translate(-50%,-50%) scale(1)}88%{left:77%;opacity:.9;transform:translate(-50%,-50%) scale(.98)}to{left:78%;opacity:0;transform:translate(-50%,-50%) scale(.92)}}.voting-label{padding:.4rem .75rem;font-size:.7rem;color:var(--color-text-muted);border-top:1px solid var(--color-divider)}.veto-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-bg) 85%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;animation:veto-appear .3s ease-out}@keyframes veto-appear{0%{opacity:0}to{opacity:1}}.veto-box{font-size:4rem;font-weight:700;letter-spacing:.1em;color:var(--color-error);text-shadow:0 0 40px var(--color-error-soft);animation:veto-pulse .6s ease-in-out infinite;font-family:var(--font-ui)}@keyframes veto-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}.veto-caption{margin-top:1rem;font-size:.85rem;color:var(--color-text-secondary)}.output-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-bg) 90%,transparent);display:flex;align-items:center;justify-content:center;z-index:60;padding:2rem}.output-modal{width:100%;max-width:780px;max-height:85vh;background:var(--color-surface-raised);border:1px solid var(--color-divider);display:flex;flex-direction:column}.output-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-divider)}.output-header h2{margin:0;font-size:1rem;font-weight:600;letter-spacing:.04em;font-family:var(--font-ui)}.output-close{width:32px;height:32px;padding:0;border:1px solid var(--color-divider-strong);background:transparent;color:var(--color-text);font-size:1.5rem;line-height:1;cursor:pointer}.output-close:hover{background:var(--color-accent-soft)}.output-body{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.output-footer{padding:.75rem 1rem;border-top:1px solid var(--color-divider);display:flex;gap:.75rem}.btn-download{padding:.5rem 1rem;font-size:.75rem;font:inherit;border:1px solid var(--color-divider-strong);background:transparent;color:var(--color-text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.06em}.btn-download:hover{background:var(--color-accent-soft)}.stats-bar{display:flex;gap:1.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-divider);flex-wrap:wrap}.stat-item{font-size:.7rem;color:var(--color-text-muted)}.stat-value{color:var(--color-accent);font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-tabular)}.rec-section-title{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);margin:0;font-family:var(--font-ui)}.recommendation-card{border:1px solid var(--color-divider);background:var(--color-surface)}.rec-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;cursor:pointer;gap:.75rem}.rec-header:hover{background:var(--color-accent-soft)}.rec-title{font-size:.8rem;color:var(--color-text);flex:1}.rec-score{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border:1px solid;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:var(--font-tabular)}.rec-score.high{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 40%,transparent)}.rec-score.medium{color:var(--color-warn);border-color:color-mix(in srgb,var(--color-warn) 40%,transparent)}.rec-score.low{color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 40%,transparent)}.rec-expand{font-size:.6rem;color:var(--color-text-muted)}.rec-body{padding:0 .75rem .75rem;font-size:.85rem;color:var(--color-text);line-height:1.55;display:flex;flex-direction:column;gap:.75rem}.rec-body-section{display:flex;flex-direction:column;gap:.25rem}.rec-body-label{font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.rec-body-text{white-space:pre-wrap;word-break:break-word}.rec-feasibility-list{display:flex;flex-direction:column;gap:.5rem}.rec-feasibility-item{padding:.5rem;border-left:2px solid color-mix(in srgb,var(--color-accent) 40%,transparent);font-size:.75rem}.rec-feasibility-agent{display:flex;justify-content:space-between;font-weight:600;margin-bottom:.25rem}.rec-feasibility-detail{color:var(--color-text-secondary);font-size:.7rem}.vetoed-section .recommendation-card{border-color:color-mix(in srgb,var(--color-error) 40%,transparent)}.vetoed-section .rec-title{text-decoration:line-through;color:var(--color-text-muted)}.audit-toggle{padding:.4rem .8rem;font:inherit;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--color-divider);background:transparent;color:var(--color-text-muted)}.audit-toggle:hover{color:var(--color-text)}.audit-list{max-height:200px;overflow:auto;display:flex;flex-direction:column;gap:.25rem}.audit-event{font-size:.7rem;color:var(--color-text-secondary);padding:.25rem .5rem;border-left:2px solid var(--color-divider);font-family:var(--font-tabular)}.audit-event-type{color:var(--color-accent);font-weight:600}.info-card{border-radius:0!important}.error-view{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.error-message{font-size:.85rem;color:var(--color-error);max-width:480px;text-align:center}.mode-selector{display:flex;gap:0}.mode-btn{padding:.5rem 1.2rem;font:inherit;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--color-divider);background:transparent;color:var(--color-text-secondary);transition:all .15s}.mode-btn:first-child{border-right:none}.mode-btn.active{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-divider-strong)}.mode-btn:hover:not(.active){background:var(--color-accent-soft);color:var(--color-text)}.effort-selector .mode-btn{padding:.4rem 1rem}.effort-selector .mode-btn:first-child{border-right:none}.effort-selector .mode-btn:nth-child(2){border-right:none}.mode-description{font-size:.65rem;color:var(--color-text-muted);margin-top:.25rem}.experimental-badge{display:inline-block;padding:.2rem .6rem;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-warn);border:1px solid color-mix(in srgb,var(--color-warn) 40%,transparent);background:color-mix(in srgb,var(--color-warn) 10%,transparent);align-self:flex-start}.termination-banner{padding:.5rem .75rem;font-size:.75rem;letter-spacing:.04em;color:var(--color-accent);border-left:3px solid var(--color-accent);background:var(--color-accent-soft)}.stat-label{display:block;font-size:.55rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.1rem}.repair-summary{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;font-size:.7rem;border:1px solid var(--color-divider);background:var(--color-surface)}.repair-summary-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem}.repair-stat{padding:.15rem .4rem;font-size:.65rem;font-variant-numeric:tabular-nums;font-family:var(--font-tabular)}.repair-stat.recovered{color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 35%,transparent)}.repair-stat.failed{color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 35%,transparent)}.repair-stat.iterations{color:var(--color-text-muted);border:1px solid var(--color-divider)}.rec-status-badge{font-size:.55rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .4rem;border:1px solid;white-space:nowrap;flex-shrink:0}.rec-status-badge.approved{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 40%,transparent)}.rec-status-badge.vetoed{color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 40%,transparent)}.rec-status-badge.failed_after_repairs{color:var(--color-warn);border-color:color-mix(in srgb,var(--color-warn) 40%,transparent)}.failed-card{border-color:color-mix(in srgb,var(--color-warn) 35%,transparent)}.repair-history-list{display:flex;flex-direction:column;gap:.25rem}.repair-history-item{font-size:.7rem;color:var(--color-text-secondary);padding:.25rem .5rem;border-left:2px solid color-mix(in srgb,var(--color-warn) 35%,transparent)}.repair-status{color:var(--color-warn)!important;animation:pulse-text 1.2s ease-in-out infinite}.rec-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:.4rem;flex-shrink:0}.rec-status-dot.approved{background:var(--color-success)}.rec-status-dot.failed_after_repairs{background:var(--color-warn)}.rec-status-dot.vetoed{background:var(--color-error)}.my-data-section{margin-top:20px;border-top:1px solid var(--color-divider);padding-top:16px}.my-data-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.my-data-title{font-size:13px;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.5px}.my-data-count{font-size:11px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-family:var(--font-tabular)}.my-data-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.data-entry-row{display:flex;align-items:center;justify-content:space-between;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;padding:8px 12px}.data-entry-info{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1;min-width:0}.data-entry-label{font-size:12px;font-weight:600;color:var(--color-accent)}.data-entry-preview{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-entry-delete{background:none;border:none;color:var(--color-text-muted);font-size:18px;cursor:pointer;padding:0 4px;margin-left:8px;line-height:1}.data-entry-delete:hover{color:var(--color-error)}.data-add-form{display:flex;flex-direction:column;gap:8px}.data-add-label{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;padding:8px 12px;color:var(--color-text);font-family:inherit;font-size:13px}.data-add-label:focus{border-color:var(--color-accent)}.data-add-content{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;padding:8px 12px;color:var(--color-text);font-family:inherit;font-size:12px;resize:vertical}.data-add-content:focus{border-color:var(--color-accent)}.data-add-save{align-self:flex-end;font-size:12px;padding:6px 16px}.data-upload-divider{text-align:center;color:var(--color-text-muted);font-size:11px;margin:12px 0}.data-upload-row{display:flex;gap:8px;align-items:center}.data-upload-input{flex:1;font-size:12px;color:var(--color-text)}.data-upload-input::file-selector-button{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;color:var(--color-text);padding:6px 12px;cursor:pointer;font-family:inherit}.data-upload-input::file-selector-button:hover{border-color:var(--color-accent)}.data-upload-btn{font-size:12px;padding:6px 16px}.web-sources-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-divider)}.source-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--color-divider)}.source-url{font-size:12px;color:var(--color-accent);word-break:break-all;font-family:var(--font-tabular)}.source-status-badge{font-size:10px;padding:2px 6px;border-radius:0;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid}.source-status-badge.status-pending{background:transparent;color:var(--color-warn);border-color:color-mix(in srgb,var(--color-warn) 40%,transparent)}.source-status-badge.status-completed{background:transparent;color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 40%,transparent)}.source-status-badge.status-failed{background:transparent;color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 40%,transparent)}.source-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.source-action-btn{font-size:10px;padding:3px 8px}.source-mode-toggle{display:flex;gap:0;margin:8px 0;border:1px solid var(--color-divider);border-radius:0;overflow:hidden}.source-mode-btn{flex:1;padding:6px 12px;background:transparent;color:var(--color-text-muted);border:none;cursor:pointer;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:background-color .2s,color .2s}.source-mode-btn:hover{color:var(--color-text);background:var(--color-accent-soft)}.source-mode-btn.active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.source-type-badge{display:inline-block;font-size:9px;padding:1px 5px;margin-left:6px;border-radius:0;background:var(--color-accent-soft);color:var(--color-accent);text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.1rem;font-family:var(--mode-font-ui, var(--font-ui));font-size:.8rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:1px solid var(--mode-color-accent, var(--color-accent));background:transparent;color:var(--mode-color-accent, var(--color-accent));border-radius:var(--mode-radius-sm, 0);transition:background var(--mode-dur-quick, .15s) var(--mode-ease, ease),color var(--mode-dur-quick, .15s) var(--mode-ease, ease)}.ui-button:hover:not(:disabled){background:var(--mode-color-accent-soft, var(--color-accent-soft))}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button[data-variant=primary]{background:var(--mode-color-accent, var(--color-accent));color:var(--color-bg)}.ui-button[data-variant=primary]:hover:not(:disabled){background:color-mix(in srgb,var(--mode-color-accent, var(--color-accent)) 85%,transparent)}.ui-button[data-variant=ghost]{border-color:transparent;color:var(--color-text-secondary)}.ui-button[data-variant=ghost]:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-text)}.ui-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--mode-radius-md, 0);padding:var(--mode-spacing-3, 12px);color:var(--color-text);font-family:var(--mode-font-body, var(--font-ui))}.ui-card[data-variant=inset]{background:var(--color-bg);border-color:var(--color-divider)}.ui-panel{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--mode-radius-md, 0);min-height:0;font-family:var(--mode-font-body, var(--font-ui));color:var(--color-text)}.ui-panel[data-network=theory]{border-color:color-mix(in srgb,var(--theory-color-accent) 25%,var(--color-divider))}.ui-panel[data-network=connectivity]{border-color:color-mix(in srgb,var(--connectivity-color-accent) 28%,var(--color-divider))}.ui-panel[data-network=practicality]{border-color:color-mix(in srgb,var(--practicality-color-accent) 25%,var(--color-divider))}.ui-text-input{width:100%;padding:.55rem .75rem;background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);font-family:var(--mode-font-body, var(--font-ui));font-size:.875rem;border-radius:var(--mode-radius-sm, 0)}.ui-text-input::placeholder{color:var(--color-text-muted)}.ui-text-input:focus{outline:none;border-color:var(--mode-color-accent, var(--color-divider-strong))}.ui-select{width:100%;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text);font-family:var(--mode-font-ui, var(--font-ui));font-size:.875rem;border-radius:var(--mode-radius-sm, 0);cursor:pointer}.ui-select:focus{outline:none;border-color:var(--mode-color-accent, var(--color-divider-strong))}.ui-toggle{width:36px;height:20px;background:var(--color-divider);border:none;border-radius:10px;cursor:pointer;position:relative;transition:background var(--mode-dur-quick, .15s) var(--mode-ease, ease);padding:0}.ui-toggle[data-checked=true]{background:color-mix(in srgb,var(--mode-color-accent, var(--color-accent)) 60%,transparent)}.ui-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--color-surface-raised);border-radius:50%;transition:transform var(--mode-dur-quick, .15s) var(--mode-ease, ease)}.ui-toggle[data-checked=true]:after{transform:translate(16px)}
