*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-void:#08090f;--grid-line:#ffffff06;--grid-line-major:#ffffff0b;--node-bg:#0e1224f0;--node-header-bg:#ffffff09;--node-border:#ffffff12;--node-shadow:0 8px 40px #0000008c, 0 2px 8px #00000059;--node-radius:14px;--text-primary:#eef0f6;--text-secondary:#dce1f099;--text-muted:#b4bed259;--layer-entry:#64b4ff03;--layer-services:#c88cff03;--layer-infra:#50dcb403;--layer-future:#ffb45003;--topbar-h:52px;--flowbar-h:44px;--total-header:calc(var(--topbar-h) + var(--flowbar-h))}html,body{background:var(--bg-void);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}.topbar{z-index:200;height:var(--topbar-h);-webkit-backdrop-filter:blur(20px)saturate(1.4);background:#08090feb;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.topbar-left,.topbar-right,.topbar-center{align-items:center;gap:10px;display:flex}.logo-mark{color:#fff;background:linear-gradient(135deg,#427cf0,#9952e0);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:800;display:flex;box-shadow:0 0 16px #6478ff40}.logo-label{letter-spacing:-.3px;font-size:15px;font-weight:700}.logo-sub{color:var(--text-secondary);margin-left:3px;font-weight:400}.tb-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.tb-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff1f}.tb-link{text-decoration:none}.zoom-label{color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;min-width:40px;font-size:11px;font-weight:600}.tb-divider{background:#ffffff0f;width:1px;height:20px;margin:0 4px}.badge{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff0f;border-radius:100px;padding:3px 10px;font-size:9px;font-weight:700}.flow-bar{top:var(--topbar-h);z-index:195;height:var(--flowbar-h);-webkit-backdrop-filter:blur(16px);background:#0a0c16e0;border-bottom:1px solid #ffffff0a;align-items:center;gap:14px;padding:0 20px;display:flex;position:fixed;left:0;right:0}.flow-bar-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:9px;font-weight:700}.flow-bar-buttons{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.flow-bar-buttons::-webkit-scrollbar{display:none}.flow-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:100px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:11px;font-weight:600;transition:all .25s;display:inline-flex}.flow-btn:hover{color:var(--text-primary);background:#ffffff17;border-color:#ffffff1f}.flow-btn.active{color:#94b6f9;background:#6478ff26;border-color:#6478ff4d;box-shadow:0 0 16px #6478ff1a}.flow-btn-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.viewport{top:var(--total-header);cursor:grab;background-color:var(--bg-void);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(var(--grid-line-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line-major) 1px, transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.viewport:active{cursor:grabbing}.canvas{transform-origin:0 0;will-change:transform;width:8000px;height:5000px;position:absolute}.layer-zone{pointer-events:none;z-index:0;border-top:1px dashed #ffffff09;width:100%;position:absolute;left:0}.layer-label{letter-spacing:2.5px;text-transform:uppercase;opacity:.15;pointer-events:none;white-space:nowrap;font-size:10px;font-weight:700;position:absolute;top:14px;left:40px}.layer-zone.entry{background:var(--layer-entry)}.layer-zone.entry .layer-label{color:#4c9ef0}.layer-zone.services{background:var(--layer-services)}.layer-zone.services .layer-label{color:#a667e4}.layer-zone.infra{background:var(--layer-infra)}.layer-zone.infra .layer-label{color:#26d9bb}.layer-zone.future{background:var(--layer-future)}.layer-zone.future .layer-label{color:#eaab3e}.trust-boundary{pointer-events:none;z-index:1;background:#64c8ff04;border:2px dashed #64c8ff1f;border-radius:24px;transition:border-color .4s,background .4s;position:absolute}.trust-boundary.flow-highlight{background:#64c8ff0a;border-color:#64c8ff59}.trust-boundary-label{letter-spacing:1.5px;text-transform:uppercase;color:#64c8ff66;white-space:nowrap;background:#08090fe6;border-radius:6px;padding:2px 12px;font-size:9px;font-weight:700;position:absolute;top:-10px;left:24px}.trust-boundary-note{color:#64c8ff33;font-size:9px;font-style:italic;font-weight:600;position:absolute;bottom:10px;right:20px}.connections-layer{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.conn-line{fill:none;stroke-width:2px;stroke-linecap:round;opacity:.22;transition:opacity .4s,stroke-width .4s}.conn-line.highlighted{opacity:.7;stroke-width:3px}.conn-line.flow-dimmed{opacity:.05!important}.conn-line.flow-active{opacity:.85!important;stroke-width:3.5px!important}.conn-line.flow-active-prev{opacity:.4!important;stroke-width:2.5px!important}.conn-arrow{fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;opacity:.25;transition:opacity .4s}.conn-arrow.highlighted{opacity:.75}.conn-arrow.flow-dimmed{opacity:.03!important}.conn-arrow.flow-active{opacity:.9!important}.conn-arrow.flow-active-prev{opacity:.35!important}.conn-label{fill:#c8d2e64d;pointer-events:none;font-family:Inter,sans-serif;font-size:11px;font-weight:600;transition:fill .4s}.conn-label.highlighted{fill:#dce6fab3}.conn-label.flow-dimmed{fill:#c8d2e60a!important}.conn-label.flow-active{font-size:12px;fill:#dce6fad9!important}.conn-dot{r:2.5;opacity:0;transition:opacity .3s}.conn-dot.highlighted{opacity:.6}.conn-dot.flow-dimmed{opacity:0!important}.conn-dot.flow-active{opacity:.8!important}.graph-node{border-radius:var(--node-radius);background:var(--node-bg);border:1px solid var(--node-border);-webkit-backdrop-filter:blur(20px)saturate(1.2);min-width:250px;max-width:310px;box-shadow:var(--node-shadow);z-index:10;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .3s,border-color .3s,opacity .4s,transform .3s;position:absolute}.graph-node:active{cursor:grabbing}.graph-node.dragging{z-index:100}.graph-node:hover{border-color:color-mix(in srgb, var(--node-color) 40%, transparent)}.graph-node.highlighted{border-color:color-mix(in srgb, var(--node-color) 55%, transparent);box-shadow:var(--node-shadow), 0 0 50px color-mix(in srgb, var(--node-color) 12%, transparent)}.graph-node.node-boundary{border-style:dashed;border-width:1.5px;border-color:color-mix(in srgb, var(--node-color) 30%, transparent);background:#0e1224cc}.graph-node.node-boundary .node-header:after{content:"Distributed responsibilities — not a standalone service";color:var(--text-muted);letter-spacing:.3px;padding-bottom:4px;font-size:8px;font-style:italic;font-weight:500;display:block;position:absolute;bottom:-1px;left:16px;right:16px}.graph-node.node-datamodel{border-style:dashed;border-width:1.5px;border-color:color-mix(in srgb, var(--node-color) 25%, transparent);background:#0e1224cc}.graph-node.flow-dimmed{pointer-events:none;transform:scale(.97);opacity:.12!important}.graph-node.flow-active{z-index:50;opacity:1!important;border-color:color-mix(in srgb, var(--node-color) 65%, transparent)!important;box-shadow:var(--node-shadow), 0 0 60px color-mix(in srgb, var(--node-color) 18%, transparent)!important}.graph-node.flow-current{z-index:60;border-color:var(--node-color)!important;box-shadow:var(--node-shadow), 0 0 80px color-mix(in srgb, var(--node-color) 25%, transparent)!important}.graph-node.flow-completed{opacity:.75!important}.step-badge{color:#fff;z-index:65;pointer-events:none;border:2px solid var(--bg-void);opacity:0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:800;transition:transform .3s,opacity .3s;display:flex;position:absolute;top:-12px;right:-8px;transform:scale(0)}.step-badge.visible{opacity:1;transform:scale(1)}.step-badge.current{animation:1.5s ease-in-out infinite badge-pulse}@keyframes badge-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--node-color) 40%, transparent)}50%{box-shadow:0 0 0 8px #0000}}.node-header{border-radius:var(--node-radius) var(--node-radius) 0 0;background:var(--node-header-bg);border-bottom:1px solid #ffffff0a;align-items:center;gap:10px;padding:12px 16px;display:flex;position:relative;overflow:visible}.node-header:before{content:"";background:var(--node-color);opacity:.85;height:2px;position:absolute;top:0;left:0;right:0}.node-icon{font-size:20px;line-height:1}.node-title{letter-spacing:-.2px;flex:1;font-size:15px;font-weight:700}.node-cat{letter-spacing:1.2px;text-transform:uppercase;background:color-mix(in srgb, var(--node-color) 12%, transparent);color:var(--node-color);white-space:nowrap;border-radius:100px;padding:2px 8px;font-size:9.5px;font-weight:700}.node-body{padding:12px 16px 14px}.node-desc{color:var(--text-secondary);margin-bottom:10px;font-size:12.5px;line-height:1.55}.node-items{flex-direction:column;gap:2px;display:flex}.node-item{color:var(--text-secondary);border-radius:6px;align-items:center;gap:8px;padding:3px 8px;font-size:12px;font-weight:500;transition:background .15s;display:flex}.node-item:hover{color:var(--text-primary);background:#ffffff0a}.item-dot{background:var(--node-color);opacity:.5;border-radius:50%;flex-shrink:0;width:5px;height:5px}.node-section{letter-spacing:1.2px;text-transform:uppercase;color:var(--node-color);opacity:.55;padding:6px 8px 2px;font-size:10.5px;font-weight:700}.node-flow{background:#ffffff05;border:1px solid #ffffff08;border-radius:8px;flex-wrap:wrap;align-items:center;gap:0;margin-top:8px;padding:8px 10px;display:flex}.nf-step{color:var(--text-secondary);white-space:nowrap;background:#ffffff0a;border-radius:5px;padding:3px 8px;font-size:11.5px;font-weight:600}.nf-step.accent{background:color-mix(in srgb, var(--node-color) 15%, transparent);color:var(--node-color)}.nf-arrow{color:var(--text-muted);padding:0 4px;font-size:12px}.node-callout{border-radius:7px;margin-top:8px;padding:8px 10px;font-size:11px;font-weight:600;line-height:1.4}.node-callout.warn{color:#f47b7b;background:#ff505014;border:1px solid #ff50501f}.node-callout.concept{color:#d69af4;background:#b482ff14;border:1px solid #b482ff1f;font-style:italic}.node-item.struck{opacity:.4;text-decoration:line-through}.node-item.glow{background:color-mix(in srgb, var(--node-color) 8%, transparent);color:var(--text-primary);font-weight:600}.port{background:var(--node-color);border:2px solid var(--bg-void);z-index:15;opacity:0;pointer-events:none;border-radius:50%;width:10px;height:10px;transition:opacity .2s;position:absolute}.port-top{top:-5px;left:50%;transform:translate(-50%)}.port-bottom{bottom:-5px;left:50%;transform:translate(-50%)}.port-left{top:50%;left:-5px;transform:translateY(-50%)}.port-right{top:50%;right:-5px;transform:translateY(-50%)}.graph-node:hover .port,.graph-node.highlighted .port,.graph-node.flow-current .port{opacity:.8}.flow-playback{z-index:180;-webkit-backdrop-filter:blur(24px)saturate(1.5);background:#0a0c16f5;grid-template-rows:54px 1fr;transition:width .3s cubic-bezier(.16,1,.3,1),left .3s,right .3s,opacity .3s;position:fixed;overflow:hidden;box-shadow:-8px 0 40px #0000008c;top:var(--total-header)!important;height:calc(100vh - var(--total-header))!important;border-radius:0!important;display:grid!important;bottom:0!important}.flow-playback.hidden{pointer-events:none;opacity:0!important;border:none!important;width:0!important}.flow-playback.dock-right{border-left:1px solid #ffffff14;grid-template-columns:48px 1fr;grid-template-areas:"tabs header""tabs panels";width:400px;left:auto!important;right:0!important}.flow-playback.dock-right.collapsed{border-left:1px solid #ffffff0d;grid-template-columns:48px 0;width:48px}.flow-playback.dock-left{border-right:1px solid #ffffff14;grid-template-columns:48px 1fr;grid-template-areas:"tabs header""tabs panels";width:400px;left:0!important;right:auto!important}.flow-playback.dock-left.collapsed{border-right:1px solid #ffffff0d;grid-template-columns:48px 0;width:48px}.viewport{transition:left .3s cubic-bezier(.16,1,.3,1),right .3s cubic-bezier(.16,1,.3,1)}body:has(.flow-playback.dock-right:not(.collapsed):not(.hidden)) .viewport{right:400px!important}body:has(.flow-playback.dock-right.collapsed:not(.hidden)) .viewport{right:48px!important}body:has(.flow-playback.dock-left:not(.collapsed):not(.hidden)) .viewport{left:400px!important}body:has(.flow-playback.dock-left.collapsed:not(.hidden)) .viewport{left:48px!important}body:has(.flow-playback.hidden) .viewport{left:0!important;right:0!important}.fp-header{box-sizing:border-box;background:#0f122066;border-bottom:1px solid #ffffff0f;grid-area:header;justify-content:space-between;align-items:center;height:54px;padding:12px 18px;display:flex;cursor:default!important}.fp-subtitle:empty{display:none}.fp-header-actions{align-items:center;gap:4px;display:flex}.fp-action-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.fp-action-btn:hover{color:var(--text-primary);background:#ffffff14;border-color:#ffffff1a}.fp-actions-divider{background:#ffffff0f;width:1px;height:14px;margin:0 2px}.fp-close-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.fp-close-btn:hover{color:#f07575;background:#ff505026;border-color:#ff505033}.fp-progress-track{background:#ffffff0a;border-radius:2px;height:3px;margin:0 18px;overflow:hidden}.fp-progress-fill{background:linear-gradient(90deg,#427cf0,#9952e0);border-radius:2px;width:0%;height:100%;transition:width .4s}.fp-body{align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.fp-step-badge{color:#fff;background:linear-gradient(135deg,#2b6cee,#8c3cdd);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}.fp-step-content{flex:1;min-width:0}.fp-step-label{margin-bottom:4px;font-size:13px;font-weight:600}.fp-step-detail{color:var(--text-secondary);font-size:11px;line-height:1.55}.fp-step-data{color:var(--text-muted);background:#ffffff08;border:1px solid #ffffff0a;border-radius:6px;margin-top:6px;padding:5px 10px;font-size:10px;font-weight:600;display:none}.fp-step-data.visible{display:block}.fp-controls{border-top:1px solid #ffffff0a;align-items:center;gap:8px;padding:10px 18px 14px;display:flex}.fp-ctrl-btn{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;justify-content:center;align-items:center;font-family:inherit;transition:all .2s;display:flex}.fp-ctrl-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff1f}.fp-ctrl-btn:disabled{opacity:.25;pointer-events:none}.fp-play-btn{color:#86acf9;background:#6478ff1f;border-color:#6478ff33}.fp-play-btn:hover{background:#6478ff33}.fp-play-btn.playing{color:#f7be6e;background:#ffa03c1f;border-color:#ffa03c33}.fp-step-counter{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:600}.minimap{-webkit-backdrop-filter:blur(12px);z-index:150;background:#0a0c14e0;border:1px solid #ffffff14;border-radius:10px;width:200px;height:140px;position:fixed;bottom:16px;right:16px;overflow:hidden}#minimap-canvas{width:100%;height:100%}.minimap-viewport{pointer-events:none;background:#6478ff0a;border:1.5px solid #6478ff73;border-radius:3px;position:absolute}.legend{z-index:150;-webkit-backdrop-filter:blur(12px);background:#0a0c14e0;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;gap:5px;padding:14px 18px;display:flex;position:fixed;bottom:16px;left:16px}.legend-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:9px;font-weight:700}.legend-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.legend-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.legend-line{border-radius:1px;flex-shrink:0;width:20px;height:2px}.legend-line.solid{background:#477eeb}.legend-line.dashed{background:repeating-linear-gradient(90deg,#26d9bb 0 4px,#0000 4px 8px)}.help-hint{z-index:140;-webkit-backdrop-filter:blur(12px);color:var(--text-muted);background:#0a0c14e0;border:1px solid #ffffff0f;border-radius:100px;align-items:center;gap:6px;padding:8px 18px;font-size:11px;font-weight:500;transition:opacity .5s;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.help-hint .sep{opacity:.3}.help-hint kbd{color:var(--text-secondary);background:#ffffff14;border:1px solid #ffffff1a;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:10px;font-weight:700}@media (width<=768px){.topbar-center{display:none}.minimap{width:140px;height:100px}.legend{display:none}.flow-playback{width:calc(100vw - 24px)}.flow-bar{gap:10px;padding:0 12px}}.fp-tabs{box-sizing:border-box;background:#080a10f2;border-right:1px solid #ffffff0f;flex-direction:column;grid-area:tabs;align-items:center;gap:8px;height:100%;padding:12px 0;display:flex}.fp-tab{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:all .2s;display:flex}.fp-tab:hover{color:var(--text-primary);background:#ffffff0a;border-color:#ffffff0f}.fp-tab.active{color:#daa1f7;background:#b482ff1f;border-color:#b482ff40;box-shadow:0 0 10px #b482ff1a}.fp-tab-panel{box-sizing:border-box;flex-direction:column;flex:1;grid-area:panels;height:100%;min-height:0;padding:18px;display:none;overflow-y:auto;max-height:none!important}.fp-tab-panel.active{display:flex}.log-view-container{flex-direction:column;flex:1;gap:12px;display:flex}.code-preview{color:#8cf2bf;white-space:pre-wrap;-webkit-user-select:text;user-select:text;background:#0006;border:1px solid #ffffff0f;border-radius:8px;max-height:220px;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:10px;line-height:1.4;overflow:auto}.action-row{gap:8px;margin-top:auto;display:flex}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#427cf0,#9952e0);border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:11px;font-weight:650;transition:filter .2s;display:inline-flex}.btn-primary:hover{filter:brightness(1.15)}.btn-secondary{color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff1f}.ai-preview-textarea{color:var(--text-secondary);resize:none;-webkit-user-select:text;user-select:text;background:#0006;border:1px solid #ffffff0f;border-radius:8px;outline:none;min-height:100px;max-height:130px;padding:10px;font-family:inherit;font-size:11px;overflow-y:auto}.toast-msg{color:#fff;z-index:9999;opacity:0;pointer-events:none;letter-spacing:.3px;background:linear-gradient(135deg,#14b881,#1fad4e);border-radius:100px;padding:8px 20px;font-size:11px;font-weight:700;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:fixed;top:68px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 10px 30px #0006}.toast-msg.show{opacity:1;transform:translate(-50%)translateY(0)}.batch-checklist{flex-direction:column;gap:6px;margin-top:8px;display:flex}.batch-checkbox-item{color:var(--text-secondary);cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;align-items:center;gap:10px;padding:6px 12px;font-size:11.5px;font-weight:600;transition:all .2s;display:flex}.batch-checkbox-item:hover{background:#ffffff0a;border-color:#ffffff1a}.batch-checkbox-item input[type=checkbox]{cursor:pointer;accent-color:#3eb0ea}.batch-checkbox-item.active{color:#fff;background:#6496ff14;border-color:#6496ff40;box-shadow:0 0 10px #6496ff26}.batch-checkbox-item.completed{color:#8fefaf;background:#50dc780d;border-color:#50dc7833}.project-toolbar{align-items:center;gap:8px;display:inline-flex}.project-selector-container{display:inline-block;position:relative}.btn-project-selector{min-width:280px;color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.project-selector-label{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;font-size:10px;font-weight:700}#current-project-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.btn-project-selector:hover{background:#ffffff14;border-color:#ffffff26}.project-action-btn{flex-shrink:0}.project-dropdown{z-index:500;-webkit-backdrop-filter:blur(24px);background:#0a0b14f5;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;width:320px;padding:8px 0;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 10px 40px #0009}.project-dropdown.show{display:flex}.dropdown-section{padding:4px 8px}.dropdown-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:4px 8px;font-size:9px;font-weight:700}.project-list{flex-direction:column;gap:2px;max-height:200px;margin-top:4px;display:flex;overflow-y:auto}.project-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.project-item:hover{color:var(--text-primary);background:#ffffff0d}.project-item.active{color:#daa1f7;background:#b482ff1a;font-weight:600}.project-item-title-wrapper{text-overflow:ellipsis;white-space:nowrap;flex-direction:column;gap:2px;display:flex;overflow:hidden}.project-item-version{color:var(--text-muted);font-size:9px;font-weight:400}.project-item-delete{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.project-item:hover .project-item-delete{opacity:.7}.project-item:hover .project-item-delete:hover{opacity:1;color:#f98686;background:#ff464633}.dropdown-divider{background:#ffffff0f;height:1px;margin:6px 0}.dropdown-item.btn-action{width:calc(100% - 16px);color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;margin:2px 8px;padding:8px 12px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.dropdown-item.btn-action:hover{color:var(--text-primary);background:#ffffff0d}.dropdown-item.btn-action svg{color:var(--text-muted)}.dropdown-item.btn-action:hover svg{color:var(--text-primary)}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#04050ad9;justify-content:center;align-items:center;padding:20px;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.show{opacity:1;pointer-events:auto}.modal-card{background:#0d0f17;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;width:100%;max-width:650px;max-height:90vh;transition:transform .3s;display:flex;overflow:hidden;transform:translateY(20px);box-shadow:0 20px 50px #0009}.modal-overlay.show .modal-card{transform:translateY(0)}.modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text-primary);letter-spacing:-.2px;font-size:14px;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.modal-close:hover{color:var(--text-primary);background:#ffffff0d}.modal-body{flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.form-input{color:var(--text-primary);background:#00000040;border:1px solid #ffffff14;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:12px;transition:all .2s}.form-input:focus{border-color:#c871f4;outline:none;box-shadow:0 0 0 2px #b482ff26}.form-textarea{resize:vertical;min-height:250px;font-family:monospace;font-size:11px;line-height:1.5}.form-note{color:var(--text-muted);font-size:10px;line-height:1.4}.modal-footer{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.wizard-card{max-width:540px}.wizard-step{padding:20px;display:none}.wizard-step.active{display:block}.wizard-options{gap:14px;margin-top:6px;display:flex}.wizard-opt-btn{cursor:pointer;text-align:center;color:inherit;background:#ffffff05;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 14px;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.wizard-opt-btn:hover{background:#ffffff0a;border-color:#c871f4;transform:translateY(-2px);box-shadow:0 8px 24px #b482ff1f}.wizard-opt-icon{margin-bottom:10px;font-size:28px}.wizard-opt-title{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:700}.wizard-opt-desc{color:var(--text-secondary);font-size:10.5px;line-height:1.4}.wizard-dropzone{text-align:center;background:#00000026;border:2px dashed #ffffff1f;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;margin-top:6px;padding:24px 16px;transition:all .2s;display:flex}.wizard-dropzone.dragover{background:#c8554b0a;border-color:#89d1f5}.wizard-nav{border-top:1px solid #ffffff0d;padding-top:14px}.tb-btn.active{color:#d189f5!important;background:#b482ff26!important;border-color:#b482ff59!important}#panel-ai{background:radial-gradient(circle at 0 0,#5ba0ff14,#0000 28%),radial-gradient(circle at 100% 0,#9e6aff1a,#0000 32%),linear-gradient(#070a12fa,#0a0c16fa);flex-direction:column;height:100%;max-height:none;display:none;position:relative;overflow:hidden;padding:0!important}#panel-ai.active{display:flex}.flow-playback.dock-left #panel-ai,.flow-playback.dock-right #panel-ai,.flow-playback.fullscreen #panel-ai{height:100%!important;max-height:none!important}.ai-chat-header{background:#090c16d6;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.ai-model-badge{color:#9eebfa;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;min-width:0;max-width:62%;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.ai-chat-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.ai-header-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0b;border:1px solid #ffffff17;border-radius:8px;align-items:center;gap:4px;padding:5px 9px;font-family:inherit;font-size:10px;transition:all .2s;display:flex}.ai-header-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff26}.ai-chat-history{scroll-behavior:smooth;background:linear-gradient(#090b132e,#090b1305);flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 16px 10px;display:flex;overflow-y:auto}.ai-chat-history::-webkit-scrollbar{width:6px}.ai-chat-history::-webkit-scrollbar-track{background:0 0}.ai-chat-history::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.ai-chat-history::-webkit-scrollbar-thumb:hover{background:#fff3}.ai-msg{word-wrap:break-word;border-radius:14px;max-width:min(84%,620px);padding:10px 12px;font-size:11px;line-height:1.5;animation:.2s ease-out forwards ai-bubble-fade;box-shadow:0 6px 18px #00000029}@keyframes ai-bubble-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ai-msg.system{color:var(--text-secondary);text-align:center;background:#ffffff09;border:1px solid #ffffff14;border-radius:12px;align-self:center;max-width:90%;padding:10px 12px;font-size:10px}.ai-msg.user{color:#fff;background:linear-gradient(135deg,#3e7dea,#9250e2);border:1px solid #ffffff14;border-bottom-right-radius:4px;align-self:flex-end}.ai-msg.ai{color:var(--text-primary);background:#151826f0;border:1px solid #ffffff14;border-bottom-left-radius:4px;align-self:flex-start}.ai-msg.error{color:#fdb4b4;background:#5b1618b8;border:1px solid #ff565657;align-self:flex-start;font-family:monospace}.ai-msg pre{background:#0006;border:1px solid #ffffff0f;border-radius:6px;margin:6px 0;padding:8px;font-family:monospace;font-size:10px;overflow-x:auto}.ai-msg code{background:#ffffff14;border-radius:3px;padding:2px 4px;font-family:monospace;font-size:10px}.ai-msg p{margin:0 0 6px}.ai-msg p:last-child{margin-bottom:0}.ai-msg ul,.ai-msg ol{margin:4px 0;padding-left:20px}.ai-msg li{margin-bottom:3px}.ai-tools-popover-grid,.ai-tools-primary{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.ai-tools-panel{z-index:10;align-items:center;gap:8px;padding:0 16px 10px;display:flex;position:relative;overflow:visible}.ai-tools-row{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.ai-tools-primary{flex:1;overflow:hidden}.ai-tools-anchor{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.ai-tools-popover{opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 100%;z-index:40;width:min(360px,100vw - 140px);padding:10px 0 0;transition:opacity .18s,transform .22s,visibility .18s;position:absolute;bottom:calc(100% + 12px);right:0;transform:translateY(10px)scale(.96)}.ai-tools-popover:before{content:"";-webkit-backdrop-filter:blur(18px)saturate(1.08);opacity:.98;z-index:-1;background:radial-gradient(circle at 100% 100%,#8668ff3d,#0000 38%),linear-gradient(#111422f0,#0d101ce0);border:1px solid #ffffff14;border-radius:24px;position:absolute;inset:-8px -10px -8px -24px;box-shadow:0 20px 40px #00000057}.ai-tools-popover.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.ai-tools-popover-grid{justify-content:flex-end;gap:10px 8px}.ai-tools-toggle{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff0b;border:1px solid #ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:18px;font-weight:700;line-height:1;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-flex}.ai-tools-toggle:hover{color:var(--text-primary);background:#ffffff0f;border-color:#a282ff42}.ai-tools-toggle-glyph{justify-content:center;align-items:center;transition:transform .2s;display:inline-flex}.ai-tools-panel.popover-open .ai-tools-toggle{color:#ccaaf8;background:#8c74ff1f;border-color:#a282ff52}.ai-tools-panel.popover-open .ai-tools-toggle-glyph{transform:rotate(45deg)}.ai-chip{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:6px 11px;font-family:inherit;font-size:10px;font-weight:600;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.ai-chip:hover{color:var(--text-primary);background:#ffffff0f;border-color:#a282ff42}.ai-chip-overflow{opacity:0;transition:opacity .18s,transform .24s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--fan-delay,0) * 28ms);transform:translate(16px,18px)scale(.92)}.ai-tools-popover.open .ai-chip-overflow{opacity:1;transform:translate(0)scale(1)}.ai-input-container{background:#0a0c16f5;border-top:1px solid #ffffff0f;align-items:flex-end;gap:8px;padding:10px 16px 14px;display:flex}.ai-composer{background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;flex:1;min-width:0;padding:9px 12px;box-shadow:inset 0 1px #ffffff05}.ai-chat-input{color:var(--text-primary);resize:none;background:0 0;border:none;border-radius:0;flex:1;height:54px;min-height:54px;max-height:140px;padding:0;font-family:inherit;font-size:12px;line-height:1.45;transition:none}.ai-chat-input:focus{box-shadow:none!important;outline:none!important}.ai-composer:focus-within{border-color:#8ea2ff5c;box-shadow:0 0 0 3px #7687ff1f}.ai-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4a86ed,#8654e3);border:none;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .1s,filter .2s,box-shadow .2s;display:flex;box-shadow:0 12px 24px #5460ff38;outline:none!important}.ai-send-btn:focus{outline:none!important;box-shadow:0 0 0 3px #b482ff66!important}.ai-send-btn:hover{filter:brightness(1.15)}.ai-send-btn:active{transform:scale(.96)}.ai-settings-drawer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:200;background:#0a0c16fa;border-left:1px solid #ffffff1a;flex-direction:column;width:100%;transition:right .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;bottom:0;right:-100%}.ai-settings-drawer.open{right:0}.drawer-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.drawer-title{color:var(--text-primary);font-size:11px;font-weight:700}.drawer-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.drawer-close-btn:hover{color:var(--text-primary);background:#ffffff0d}.drawer-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.provider-config-section{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.ai-typing-indicator{align-items:center;gap:4px;padding:4px 2px;display:flex}.ai-typing-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite ai-dot-bounce}.ai-typing-dot:first-child{animation-delay:-.32s}.ai-typing-dot:nth-child(2){animation-delay:-.16s}@keyframes ai-dot-bounce{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.ai-setup-card{text-align:center;box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;align-items:center;margin:8px 0;padding:18px;display:flex}.ai-setup-icon{margin-bottom:6px;font-size:20px}.ai-setup-title{color:#e4b8f9;margin-bottom:4px;font-size:11px;font-weight:700}.ai-setup-text{color:var(--text-secondary);margin-bottom:10px;font-size:10px;line-height:1.4}.ai-setup-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8033cc,#b82eb8);border:none;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:10px;font-weight:600;transition:filter .2s}.ai-setup-btn:hover{filter:brightness(1.15)}@media (width<=980px){.ai-header-btn{padding:6px}.ai-header-btn span{display:none}.ai-model-badge{max-width:56%}.ai-tools-panel{padding-bottom:8px}.ai-tools-popover{width:min(300px,100vw - 120px);bottom:calc(100% + 10px)}.ai-input-container{padding:8px 12px 12px}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
