@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.container\!{width:100%!important}.mx-auto{margin-inline:auto}.\!inline{display:inline!important}.block{display:block}.block\!{display:block!important}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-screen{height:100vh}.min-h-\[40px\]{min-height:40px}.min-h-\[200px\]{min-height:200px}.w-full{width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.mask-repeat-x{-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x}.mask-repeat-y{-webkit-mask-repeat:repeat-y;mask-repeat:repeat-y}.text-center{text-align:center}.text-justify{text-align:justify}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.\[hash\:base64\]{hash:base64}.\[sw\:register\]{sw:register}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:.75s linear infinite spin;display:inline-block}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}:root{--primary:#10a37f;--primary-glow:#10a37f33;--accent:#fff;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-lg:1.5rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-card:10px;--radius-badge:8px;--fd-blue:#3b82f6;--fd-blue-subtle:#3b82f61f;--fd-purple:#8b5cf6;--fd-purple-subtle:#8b5cf61f;--fd-amber:#f59e0b;--fd-amber-subtle:#f59e0b1f;--fd-green:#10b981;--fd-green-subtle:#10b9811f;--fd-pink:#ec4899;--fd-pink-subtle:#ec48991f;--fd-cyan:#06b6d4;--fd-cyan-subtle:#06b6d41f;--shadow-card:0 1px 3px #0000001a,0 1px 2px #0000000f;--success:#10b981;--warning:#f59e0b;--danger:#ef4444}[data-theme=dark]{--bg-dark:#212121;--bg-panel:#171717;--bg-subtle:#2f2f2f;--bg-input:#262626;--border-main:#ffffff1a;--border-subtle:#ffffff0d;--text-main:#ececec;--text:#ececec;--text-muted:#b4b4b4;--glass-bg:#171717cc;--glass-border:#ffffff1a;--glass-shadow:0 0 15px #0000001a;--flow-accent:#8b5cf6;--flow-accent-light:#a78bfa;--flow-accent-rgba:139,92,246;--flow-bg:#212121;--flow-canvas-bg:#212121;--flow-canvas-dot:#ffffff12;--flow-sidebar-bg:#171717;--flow-sidebar-border:#ffffff14;--flow-sidebar-text:#b4b4b4;--flow-sidebar-text-hover:#ececec;--flow-toolbar-bg:#171717;--flow-panel-bg:#171717;--flow-panel-border:#ffffff14;--flow-node-bg:#2f2f2f;--flow-node-border:#ffffff1a;--flow-node-text:#ececec;--flow-node-text-muted:#b4b4b4;--flow-input-bg:#262626;--flow-input-border:#ffffff1a;--flow-input-text:#ececec;--flow-bottom-bg:#171717;--flow-bottom-border:#ffffff14;--flow-badge-text:#b4b4b4;--flow-edge-color:#8b5cf6b3;--flow-controls-bg:#2f2f2f;--flow-controls-border:#ffffff1a}[data-theme=light]{--bg-dark:#f5f7fa;--bg-panel:#fff;--bg-subtle:#edf0f5;--bg-input:#fff;--bg-card:#fff;--bg-code:#f0f2f6;--border-main:#c8cdd8;--border-subtle:#d8dce7;--text-main:#111827;--text:#111827;--text-muted:#4b5563;--text-secondary:#374151;--glass-bg:#fffffff7;--glass-border:#00000014;--glass-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;--hover-bg:#e8ecf2;--flow-accent:#8b5cf6;--flow-accent-light:#a78bfa;--flow-accent-rgba:139,92,246;--flow-bg:#f0f2f7;--flow-canvas-bg:radial-gradient(ellipse at 20% 20%,#8b5cf60f 0%,transparent 55%),#f0f2f7;--flow-canvas-dot:#0000001f;--flow-sidebar-bg:#fff;--flow-sidebar-border:#00000014;--flow-sidebar-text:#64748b;--flow-sidebar-text-hover:#1e293b;--flow-toolbar-bg:#fff;--flow-panel-bg:#fff;--flow-panel-border:#00000014;--flow-node-bg:#fff;--flow-node-border:#0000001a;--flow-node-text:#1e293b;--flow-node-text-muted:#64748b;--flow-input-bg:#f8fafc;--flow-input-border:#0000001f;--flow-input-text:#1e293b;--flow-bottom-bg:#fff;--flow-bottom-border:#00000012;--flow-badge-text:#64748b;--flow-edge-color:#8b5cf6b3;--flow-controls-bg:#fff;--flow-controls-border:#0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Söhne,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}input,button,textarea{font-family:inherit;font-size:.875rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#424242;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}.glass-panel{background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-md);box-shadow:0 1px 2px #0003}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:500}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:1rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-subtle)}.status-indicator{border-radius:1rem;align-items:center;gap:.5rem;padding:.25rem .6rem;font-size:.75rem;font-weight:500;display:inline-flex}.text-overline{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.primary-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.primary-btn:hover{opacity:.9}.input-field{background:var(--bg-subtle);border-radius:var(--radius-md);color:var(--text-main);border:1px solid #0000;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.input-field:focus{border-color:var(--border-main)}select.select-arrow-spacing{box-sizing:border-box;min-height:2.25rem;padding-right:2rem!important}body select{box-sizing:border-box;padding-right:2rem!important}.select-field{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;min-width:150px;padding:.5rem 2rem .5rem .75rem;font-size:.875rem}.select-field:hover{border-color:var(--border-main)}.select-field:focus{border-color:var(--primary)}[data-theme=dark] .select-field option{color:#ececec;background:#2f2f2f;padding:.5rem}[data-theme=light] .select-field option{color:#111827;background:#fff;padding:.5rem}.markdown-content pre{border:none;margin:.75rem 0;padding:0;overflow-x:visible;background:0 0!important}.markdown-content code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.85em}.markdown-content p{margin-bottom:1rem}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;margin-left:1.25rem}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--text-main);margin-top:1.5rem;margin-bottom:.5rem;font-weight:600}[data-theme=light] ::-webkit-scrollbar-thumb{background:#b8bfc9;border-radius:3px}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#9aa0ad}[data-theme=light] .glass-panel{border-color:var(--border-main);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}[data-theme=light] .input-field{background:var(--bg-input);border:1px solid var(--border-main)}[data-theme=light] .input-field:focus{border-color:var(--primary);box-shadow:0 0 0 2px #10a37f1f}[data-theme=light] .select-field{background:var(--bg-input);border-color:var(--border-main);color:var(--text-main);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat}[data-theme=light] .select-field:focus{box-shadow:0 0 0 2px #10a37f1f}[data-theme=light] .primary-btn{box-shadow:0 1px 2px #10a37f33}[data-theme=light] .primary-btn:hover{opacity:1;box-shadow:0 2px 6px #10a37f40}[data-theme=light] .data-table tr:hover td{background:var(--edf0f5,#edf0f5)}[data-theme=light] .markdown-content code{color:#111827;background:#edf0f5;border-radius:4px;padding:.15em .4em}[data-theme=light] .sidebar-link-hover:hover{background:var(--bg-subtle)!important}[data-theme=light] .thinking-content-scroll::-webkit-scrollbar-thumb{background:#b8bfc9!important}[data-theme=light] [class*=audit],[data-theme=light] [class*=log-row],[data-theme=light] [class*=card-]{color:var(--text-main)}[data-theme=light] .thinking-content-scroll{color:var(--text-main)!important;border-left-color:#3b82f666!important}[data-theme=light] .thinking-content-scroll *{color:inherit}[data-theme=light] .thinking-content-scroll>div>div{color:var(--text-secondary)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.ai-message-content{--ai-green: #10a37f;--ai-green-dim: rgba(16, 163, 127, .18);--ai-green-glow: rgba(16, 163, 127, .08);--ai-blue: #3b82f6;--ai-blue-dim: rgba(59, 130, 246, .15);--ai-amber: #f59e0b;--ai-amber-dim: rgba(245, 158, 11, .15);--ai-red: #ef4444;--ai-red-dim: rgba(239, 68, 68, .15);--ai-purple: #8b5cf6;--ai-purple-dim: rgba(139, 92, 246, .15);--ai-cyan: #06b6d4;--ai-cyan-dim: rgba(6, 182, 212, .15);--ai-surface: rgba(255, 255, 255, .04);--ai-surface-2: rgba(255, 255, 255, .07);--ai-border: rgba(255, 255, 255, .09);--ai-border-2: rgba(255, 255, 255, .14);--ai-radius: 10px;--ai-radius-sm: 6px;--ai-text: #e8eaed;--ai-text-dim: #9aa0a9;--ai-mono: "Fira Code", "JetBrains Mono", "SF Mono", Consolas, monospace}.ai-message-content{font-size:.9rem;line-height:1.72;color:var(--ai-text)}.ai-message-content>*:first-child{margin-top:0!important}.ai-message-content>*:last-child{margin-bottom:0!important}.ai-message-content p{margin:0 0 .9rem;line-height:1.78;overflow-wrap:anywhere}.ai-message-content h1{font-size:1.35rem;font-weight:700;margin:1.8rem 0 .65rem;letter-spacing:-.025em;line-height:1.25;color:#fff;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.08)}.ai-message-content h2{font-size:1.1rem;font-weight:700;margin:1.6rem 0 .5rem;letter-spacing:-.015em;line-height:1.3;color:#f0f2f5;display:flex;align-items:center;gap:.5rem}.ai-message-content h2:before{content:"";flex-shrink:0;display:inline-block;width:3px;height:1rem;background:linear-gradient(180deg,var(--ai-green),rgba(16,163,127,.2));border-radius:2px}.ai-message-content h3{font-size:.95rem;font-weight:700;margin:1.35rem 0 .4rem;letter-spacing:0em;line-height:1.4;color:#e0e3e8}.ai-message-content h3:before{content:"› ";color:var(--ai-green);font-weight:400;font-size:.95em}.ai-message-content h4{font-size:.78rem;font-weight:700;margin:1.1rem 0 .35rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ai-text-dim)}.ai-message-content h5,.ai-message-content h6{font-size:.88rem;font-weight:600;margin:.9rem 0 .3rem;color:var(--ai-text-dim)}.ai-message-content ul,.ai-message-content ol{margin:.4rem 0 .9rem;padding-left:0;list-style:none}.ai-message-content ul>li{position:relative;padding-left:1.35rem;margin-bottom:.28rem;line-height:1.7;overflow-wrap:anywhere}.ai-message-content ul>li:before{content:"";position:absolute;left:.4rem;top:.7em;width:4px;height:4px;border-radius:50%;background:var(--ai-green);opacity:.8}.ai-message-content ol{counter-reset:ai-ol}.ai-message-content ol>li{counter-increment:ai-ol;position:relative;padding-left:1.7rem;margin-bottom:.28rem;line-height:1.7;overflow-wrap:anywhere}.ai-message-content ol>li:before{content:counter(ai-ol);position:absolute;left:0;top:.1em;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--ai-green-dim);border:1px solid rgba(16,163,127,.25);color:var(--ai-green);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.ai-message-content li>ul,.ai-message-content li>ol{margin:.25rem 0 .1rem}.ai-message-content ul>li>ul>li:before{width:3px;height:3px;background:var(--ai-text-dim)}.ai-message-content strong{font-weight:700;color:#fff}.ai-message-content em{font-style:italic;color:var(--ai-text)}.ai-message-content del{opacity:.5;text-decoration:line-through}.ai-message-content code{background:#ffffff14;padding:.1em .3em;border-radius:4px;font-size:.8em;font-weight:400;font-family:var(--ai-mono);color:#cdd3dd;border:1px solid rgba(255,255,255,.1);overflow-wrap:anywhere;word-break:break-all}.ai-message-content td code,.ai-message-content th code{background:transparent;border:none;padding:0 .1em;color:#a8b0be;font-size:.82em;word-break:break-all;overflow-wrap:anywhere}.ai-message-content .ai-mono{font-family:var(--ai-mono);font-size:.82em;color:#a8b0be;word-break:break-all;overflow-wrap:anywhere}[data-theme=light] .ai-message-content .ai-mono{color:#4b5563}.ai-message-content pre{margin:.85rem 0;overflow-x:auto}.ai-message-content a{color:var(--ai-green);text-decoration:none;border-bottom:1px solid rgba(16,163,127,.3);font-weight:500;transition:border-color .12s,color .12s;overflow-wrap:anywhere}.ai-message-content a:hover{color:#0fd3a6;border-bottom-color:var(--ai-green)}.ai-message-content mark{background:#f59e0b38;color:var(--ai-text);padding:.07em .28em;border-radius:3px}.ai-message-content kbd{display:inline-block;padding:.1rem .38rem;font-size:.75em;font-family:var(--ai-mono);background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-bottom-width:2px;border-radius:4px;color:var(--ai-text)}.ai-message-content sup,.ai-message-content sub{font-size:.65em;line-height:0}.ai-message-content abbr{-webkit-text-decoration:underline dotted rgba(16,163,127,.5);text-decoration:underline dotted rgba(16,163,127,.5);cursor:help}.ai-message-content hr{border:none;margin:1.6rem 0;height:1px;background:linear-gradient(90deg,transparent,var(--ai-border-2) 20%,var(--ai-border-2) 80%,transparent)}.ai-message-content blockquote{margin:1.1rem 0;padding:.75rem 1rem .75rem 1.1rem;border-left:2.5px solid var(--ai-green);background:linear-gradient(90deg,var(--ai-green-glow) 0%,transparent 100%);border-radius:0 var(--ai-radius-sm) var(--ai-radius-sm) 0;font-size:.88rem;line-height:1.75;color:var(--ai-text);font-style:italic}.ai-message-content blockquote>p:last-child{margin-bottom:0}.ai-message-content blockquote strong{color:#fff;font-style:normal}.ai-message-content .ai-table-wrapper{overflow-x:auto;margin:1.1rem 0;border-radius:var(--ai-radius);border:1px solid var(--ai-border-2);background:var(--ai-surface)}.ai-message-content table{width:100%;border-collapse:collapse;font-size:.855rem}.ai-message-content thead{border-bottom:1px solid var(--ai-border-2)}.ai-message-content thead tr{background:linear-gradient(90deg,#10a37f1a,#10a37f0a)}.ai-message-content th{padding:.65rem 1rem;text-align:left;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ai-green);white-space:nowrap}.ai-message-content td{padding:.6rem 1rem;border-bottom:1px solid var(--ai-border);vertical-align:top;line-height:1.6;color:var(--ai-text);overflow-wrap:anywhere}.ai-message-content tbody tr:last-child td{border-bottom:none}.ai-message-content tbody tr:nth-child(2n){background:#ffffff05}.ai-message-content tbody tr{transition:background .12s}.ai-message-content tbody tr:hover{background:#10a37f0d}.ai-message-content .ai-tree-line{font-family:var(--ai-mono),monospace;line-height:1.6;margin:.25rem 0}.ai-message-content .ai-tree-bracket{color:var(--ai-green);font-weight:600}.ai-message-content .ai-tree-glyph{color:var(--ai-text-dim)}.ai-message-content dl{margin:.7rem 0}.ai-message-content dt{font-weight:700;font-size:.79rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ai-green);margin-top:.7rem}.ai-message-content dt:first-child{margin-top:0}.ai-message-content dd{margin-left:1rem;margin-bottom:.35rem;font-size:.875rem}.ai-message-content details{margin:.8rem 0;border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);overflow:hidden;background:var(--ai-surface)}.ai-message-content summary{padding:.65rem 1rem;font-weight:600;font-size:.875rem;cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--ai-text);transition:background .12s}.ai-message-content summary:hover{background:var(--ai-surface-2)}.ai-message-content summary::-webkit-details-marker{display:none}.ai-message-content summary:before{content:"▶";font-size:.55rem;color:var(--ai-green);transition:transform .18s ease;flex-shrink:0}.ai-message-content details[open]>summary{border-bottom:1px solid var(--ai-border)}.ai-message-content details[open]>summary:before{transform:rotate(90deg)}.ai-message-content details>*:not(summary){padding:.85rem 1rem}.ai-message-content .ai-callout{margin:.9rem 0;padding:.8rem 1rem .8rem 2.7rem;border-radius:var(--ai-radius);border-left:3px solid;font-size:.875rem;line-height:1.7;position:relative}.ai-message-content .ai-callout:before{position:absolute;left:.7rem;top:.78rem;font-size:1rem;line-height:1}.ai-message-content .ai-callout>strong:first-child{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.3rem}.ai-message-content .ai-callout-info{border-left-color:var(--ai-blue);background:var(--ai-blue-dim)}.ai-message-content .ai-callout-info:before{content:"ℹ️"}.ai-message-content .ai-callout-warning{border-left-color:var(--ai-amber);background:var(--ai-amber-dim)}.ai-message-content .ai-callout-warning:before{content:"⚠️"}.ai-message-content .ai-callout-success{border-left-color:var(--ai-green);background:var(--ai-green-dim)}.ai-message-content .ai-callout-success:before{content:"✅"}.ai-message-content .ai-callout-danger{border-left-color:var(--ai-red);background:var(--ai-red-dim)}.ai-message-content .ai-callout-danger:before{content:"🚨"}.ai-message-content .ai-callout-tip{border-left-color:var(--ai-green);background:var(--ai-green-glow)}.ai-message-content .ai-callout-tip:before{content:"💡"}.ai-message-content .ai-card{margin:.9rem 0;padding:1rem 1.1rem;border-radius:var(--ai-radius);border:1px solid var(--ai-border-2);background:linear-gradient(145deg,var(--ai-surface-2) 0%,var(--ai-surface) 100%);display:flex;flex-direction:column}.ai-message-content .ai-card-title{font-weight:700;font-size:.875rem;color:#fff;margin-bottom:.5rem;line-height:1.3}.ai-message-content .ai-card>p:last-child,.ai-message-content .ai-card>ul:last-child{margin-bottom:0}.ai-message-content .ai-card>.ai-tags{margin-top:auto;padding-top:.75rem}.ai-message-content .ai-card>.ai-badge{margin-top:auto;padding-top:.75rem}.ai-message-content .ai-card-primary{border-color:#10a37f4d;background:linear-gradient(145deg,#10a37f1a,#10a37f0a)}.ai-message-content .ai-card-info{border-color:#3b82f64d;background:linear-gradient(145deg,#3b82f61a,#3b82f60a)}.ai-message-content .ai-card-warning{border-color:#f59e0b4d;background:linear-gradient(145deg,#f59e0b1a,#f59e0b0a)}.ai-message-content .ai-card-danger{border-color:#ef44444d;background:linear-gradient(145deg,#ef44441a,#ef44440a)}.ai-message-content .ai-card-purple{border-color:#8b5cf64d;background:linear-gradient(145deg,#8b5cf61a,#8b5cf60a)}.ai-message-content .ai-card-cyan{border-color:#06b6d44d;background:linear-gradient(145deg,#06b6d41a,#06b6d40a)}.ai-message-content .ai-focus,.ai-message-content .ai-impact,.ai-message-content .ai-highlight{margin:.9rem 0;padding:.9rem 1.1rem;border-radius:var(--ai-radius);border:1px solid}.ai-message-content .ai-focus{border-color:#10a37f40;background:linear-gradient(135deg,#10a37f17,#10a37f08)}.ai-message-content .ai-impact{border-color:#f59e0b47;background:linear-gradient(135deg,#f59e0b17,#f59e0b08)}.ai-message-content .ai-highlight{border-color:#8b5cf647;background:linear-gradient(135deg,#8b5cf617,#8b5cf608)}.ai-message-content .ai-focus-label,.ai-message-content .ai-impact-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem}.ai-message-content .ai-focus-label{color:var(--ai-green)}.ai-message-content .ai-impact-label{color:var(--ai-amber)}.ai-message-content .ai-section{margin:1rem 0;border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);overflow:hidden}.ai-message-content .ai-section-header{padding:.55rem 1rem;background:linear-gradient(90deg,rgba(16,163,127,.1) 0%,var(--ai-surface) 100%);border-bottom:1px solid var(--ai-border-2);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ai-green)}.ai-message-content .ai-section-body{padding:.9rem 1rem}.ai-message-content .ai-section-body>*:last-child{margin-bottom:0}.ai-message-content .ai-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.03em;line-height:1.5;white-space:nowrap}.ai-message-content .ai-badge-green{background:#10b9812e;color:#4ade80}.ai-message-content .ai-badge-blue{background:#3b82f62e;color:#60a5fa}.ai-message-content .ai-badge-yellow{background:#f59e0b33;color:#fbbf24}.ai-message-content .ai-badge-red{background:#ef44442e;color:#f87171}.ai-message-content .ai-badge-purple{background:#8b5cf62e;color:#c4b5fd}.ai-message-content .ai-badge-cyan{background:#06b6d42e;color:#22d3ee}.ai-message-content .ai-badge-gray{background:#ffffff1a;color:#9aa0a9}.ai-message-content .ai-method{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:.16rem .5rem;border-radius:5px;font-size:.68rem;font-weight:700;font-family:var(--ai-mono);letter-spacing:.07em;white-space:nowrap;line-height:1.5;border:1px solid transparent}.ai-message-content .ai-method-get{background:#10a37f21;color:#34d399;border-color:#10a37f4d}.ai-message-content .ai-method-post{background:#3b82f621;color:#60a5fa;border-color:#3b82f64d}.ai-message-content .ai-method-put{background:#f59e0b21;color:#fbbf24;border-color:#f59e0b4d}.ai-message-content .ai-method-delete{background:#ef444421;color:#f87171;border-color:#ef44444d}.ai-message-content .ai-method-patch{background:#8b5cf621;color:#c4b5fd;border-color:#8b5cf64d}.ai-message-content .ai-method-head{background:#06b6d421;color:#22d3ee;border-color:#06b6d44d}.ai-message-content .ai-method-options{background:#ffffff12;color:#9aa0a9;border-color:#ffffff26}[data-theme=light] .ai-message-content .ai-method-get{background:#10a37f17;color:#059669;border-color:#10a37f40}[data-theme=light] .ai-message-content .ai-method-post{background:#3b82f617;color:#2563eb;border-color:#3b82f640}[data-theme=light] .ai-message-content .ai-method-put{background:#f59e0b1a;color:#d97706;border-color:#f59e0b40}[data-theme=light] .ai-message-content .ai-method-delete{background:#ef444417;color:#dc2626;border-color:#ef444440}[data-theme=light] .ai-message-content .ai-method-patch{background:#8b5cf617;color:#7c3aed;border-color:#8b5cf640}[data-theme=light] .ai-message-content .ai-method-head{background:#06b6d417;color:#0891b2;border-color:#06b6d440}.ai-message-content .ai-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.5rem 0}.ai-message-content .ai-tag{display:inline-block;padding:.12rem .45rem;border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:.02em;background:var(--ai-surface-2);color:var(--ai-text-dim);border:1px solid var(--ai-border-2)}.ai-message-content .ai-steps{counter-reset:ai-step;margin:.9rem 0;display:flex;flex-direction:column}.ai-message-content .ai-steps>div{position:relative;padding:.6rem 0 .6rem 2.5rem;counter-increment:ai-step}.ai-message-content .ai-steps>div:not(:last-child):after{content:"";position:absolute;left:.57rem;top:2.1rem;bottom:0;width:1px;background:linear-gradient(180deg,rgba(16,163,127,.25),transparent)}.ai-message-content .ai-steps>div:before{content:counter(ai-step);position:absolute;left:0;top:.65rem;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--ai-green-dim);border:1.5px solid rgba(16,163,127,.35);color:var(--ai-green);font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}.ai-message-content .ai-timeline{margin:.9rem 0;padding-left:1.2rem;border-left:1.5px solid var(--ai-border-2)}.ai-message-content .ai-timeline-item{position:relative;padding:0 0 .9rem 1.2rem}.ai-message-content .ai-timeline-item:before{content:"";position:absolute;left:-.42rem;top:.45rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--ai-green);box-shadow:0 0 0 3px var(--ai-green-glow)}.ai-message-content .ai-timeline-date{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ai-green);margin-bottom:.15rem}.ai-message-content .ai-grid{display:grid;gap:.75rem;margin:.9rem 0}.ai-message-content .ai-grid-2{grid-template-columns:repeat(2,1fr)}.ai-message-content .ai-grid-3{grid-template-columns:repeat(3,1fr)}.ai-message-content .ai-grid-4{grid-template-columns:repeat(4,1fr)}.ai-message-content .ai-grid>div,.ai-message-content .ai-grid>section{border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);padding:.9rem 1rem;background:linear-gradient(145deg,var(--ai-surface-2) 0%,var(--ai-surface) 100%);display:flex;flex-direction:column}.ai-message-content .ai-grid>div>*:last-child,.ai-message-content .ai-grid>section>*:last-child{margin-bottom:0}.ai-message-content .ai-grid>div>.ai-tags,.ai-message-content .ai-grid>section>.ai-tags{margin-top:auto;padding-top:.75rem}.ai-message-content .ai-grid>div>.ai-badge,.ai-message-content .ai-grid>section>.ai-badge{margin-top:auto;padding-top:.75rem}@media(max-width:640px){.ai-message-content .ai-grid-2,.ai-message-content .ai-grid-3,.ai-message-content .ai-grid-4{grid-template-columns:1fr}}.ai-message-content .ai-options{display:flex;flex-direction:column;gap:.55rem;margin:.9rem 0}.ai-message-content .ai-option{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem 1rem;border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);background:linear-gradient(145deg,var(--ai-surface-2),var(--ai-surface));transition:border-color .12s,background .12s}.ai-message-content .ai-option:hover{border-color:#10a37f59;background:linear-gradient(145deg,#10a37f14,#10a37f08)}.ai-message-content .ai-option-icon{flex-shrink:0;width:1.7rem;height:1.7rem;border-radius:7px;background:var(--ai-green-dim);display:flex;align-items:center;justify-content:center;font-size:.9rem}.ai-message-content .ai-option-title{font-weight:700;font-size:.875rem;color:#fff;margin-bottom:.18rem;line-height:1.3}.ai-message-content .ai-option-desc{font-size:.82rem;line-height:1.55;color:var(--ai-text-dim)}.ai-message-content .ai-stat-group{display:flex;flex-wrap:wrap;gap:.65rem;margin:.9rem 0}.ai-message-content .ai-stat{flex:1;min-width:90px;border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);padding:.8rem 1rem;background:linear-gradient(145deg,var(--ai-surface-2),var(--ai-surface))}.ai-message-content .ai-stat-value{font-size:1.5rem;font-weight:800;color:var(--ai-green);line-height:1.1;letter-spacing:-.03em}.ai-message-content .ai-stat-label{font-size:.72rem;font-weight:500;color:var(--ai-text-dim);margin-top:.2rem}.ai-message-content .ai-stat-delta{font-size:.7rem;font-weight:700;margin-top:.25rem}.ai-message-content .ai-stat-delta-up{color:#4ade80}.ai-message-content .ai-stat-delta-down{color:#f87171}.ai-message-content .ai-kv{margin:.8rem 0;border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);overflow:hidden;font-size:.855rem}.ai-message-content .ai-kv-row{display:flex;align-items:baseline;gap:1rem;padding:.5rem .9rem;border-bottom:1px solid var(--ai-border)}.ai-message-content .ai-kv-row:last-child{border-bottom:none}.ai-message-content .ai-kv-row:nth-child(2n){background:#ffffff05}.ai-message-content .ai-kv-key{flex-shrink:0;min-width:110px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ai-text-dim)}.ai-message-content .ai-kv-val{line-height:1.6;overflow-wrap:anywhere;color:var(--ai-text)}.ai-message-content .ai-divider{display:flex;align-items:center;gap:.7rem;margin:1.4rem 0;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ai-text-dim)}.ai-message-content .ai-divider:before,.ai-message-content .ai-divider:after{content:"";flex:1;height:1px;background:var(--ai-border-2)}.ai-message-content .ai-progress{height:5px;background:#ffffff14;border-radius:999px;overflow:hidden;margin:.6rem 0}.ai-message-content .ai-progress-bar{height:100%;background:linear-gradient(90deg,var(--ai-green) 0%,#0fd3a6 100%);border-radius:999px}.ai-message-content .ai-progress-label{display:flex;justify-content:space-between;font-size:.75rem;font-weight:600;margin-bottom:.2rem;color:var(--ai-text)}.ai-message-content .ai-compare{display:grid;gap:.65rem;margin:.9rem 0}.ai-message-content .ai-compare-2{grid-template-columns:repeat(2,1fr)}.ai-message-content .ai-compare-3{grid-template-columns:repeat(3,1fr)}.ai-message-content .ai-compare>div{border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);overflow:hidden;background:var(--ai-surface)}.ai-message-content .ai-compare-header{padding:.5rem .9rem;font-weight:700;font-size:.78rem;text-align:center;border-bottom:1px solid var(--ai-border-2);background:linear-gradient(90deg,var(--ai-surface-2),var(--ai-surface));color:var(--ai-text)}.ai-message-content .ai-compare-body{padding:.8rem .9rem;font-size:.855rem}.ai-message-content .ai-compare-body>*:last-child{margin-bottom:0}@media(max-width:640px){.ai-message-content .ai-compare-2,.ai-message-content .ai-compare-3{grid-template-columns:1fr}}.ai-message-content .katex{font-size:1em;color:var(--ai-text)}.ai-message-content .katex-display{margin:1.1rem 0;padding:.9rem 1.1rem;background:var(--ai-surface);border:1px solid var(--ai-border-2);border-radius:var(--ai-radius);overflow-x:auto}.ai-message-content .katex-display>.katex{white-space:normal}[data-theme=light] .ai-message-content{--ai-surface: rgba(0, 0, 0, .025);--ai-surface-2: rgba(0, 0, 0, .045);--ai-border: rgba(0, 0, 0, .08);--ai-border-2: rgba(0, 0, 0, .12);--ai-text: #1f2937;--ai-text-dim: #6b7280}[data-theme=light] .ai-message-content h1{color:#111827;border-bottom-color:#00000014}[data-theme=light] .ai-message-content h2{color:#111827}[data-theme=light] .ai-message-content h3{color:#1f2937}[data-theme=light] .ai-message-content strong{color:#111827}[data-theme=light] .ai-message-content code{background:#0000000d;color:#374151;border-color:#0000001a}[data-theme=light] .ai-message-content td code,[data-theme=light] .ai-message-content th code{background:transparent;border:none;color:#4b5563}[data-theme=light] .ai-message-content kbd{background:#0000000d;border-color:#0000002e;color:#1f2937}[data-theme=light] .ai-message-content mark{background:#f59e0b33;color:#111827}[data-theme=light] .ai-message-content blockquote{background:linear-gradient(90deg,rgba(16,163,127,.06) 0%,transparent 100%)}[data-theme=light] .ai-message-content .ai-badge-green{background:#10b9811f;color:#059669}[data-theme=light] .ai-message-content .ai-badge-blue{background:#3b82f61f;color:#2563eb}[data-theme=light] .ai-message-content .ai-badge-yellow{background:#f59e0b26;color:#d97706}[data-theme=light] .ai-message-content .ai-badge-red{background:#ef44441f;color:#dc2626}[data-theme=light] .ai-message-content .ai-badge-purple{background:#8b5cf61f;color:#7c3aed}[data-theme=light] .ai-message-content .ai-badge-cyan{background:#06b6d41f;color:#0891b2}[data-theme=light] .ai-message-content .ai-badge-gray{background:#0000000f;color:#6b7280}[data-theme=light] .ai-message-content .ai-tag{background:#0000000d;color:#4b5563;border-color:#0000001a}[data-theme=light] .ai-message-content .ai-card-primary{background:linear-gradient(145deg,#10a37f12,#10a37f05)}[data-theme=light] .ai-message-content .ai-card-info{background:linear-gradient(145deg,#3b82f612,#3b82f605)}[data-theme=light] .ai-message-content .ai-card-warning{background:linear-gradient(145deg,#f59e0b12,#f59e0b05)}[data-theme=light] .ai-message-content .ai-card-danger{background:linear-gradient(145deg,#ef444412,#ef444405)}[data-theme=light] .ai-message-content .ai-card-purple{background:linear-gradient(145deg,#8b5cf612,#8b5cf605)}[data-theme=light] .ai-message-content .ai-focus{background:linear-gradient(135deg,#10a37f0f,#10a37f03)}[data-theme=light] .ai-message-content .ai-impact{background:linear-gradient(135deg,#f59e0b0f,#f59e0b03)}[data-theme=light] .ai-message-content .ai-highlight{background:linear-gradient(135deg,#8b5cf60f,#8b5cf603)}[data-theme=light] .ai-message-content .katex-display{background:#00000006;border-color:#0000001a}[data-theme=light] .ai-message-content .katex{color:#111827}[data-theme=light] .ai-message-content .ai-stat-value{color:#0f766e}[data-theme=light] .ai-message-content .ai-option-title{color:#111827}[data-theme=light] .ai-message-content .ai-option-desc{color:#6b7280}.ai-filepath-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px 1px 5px;font-size:.78rem;font-family:Fira Code,JetBrains Mono,SF Mono,Consolas,monospace;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#9aa0a9;cursor:default;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-filepath-chip:hover{background:#ffffff1a;border-color:#ffffff2e;color:#c9cdd4}.ai-filepath-icon{flex-shrink:0;opacity:.55}.ai-filepath-popup{position:fixed;z-index:9999;min-width:280px;max-width:480px;background:#1c1f24;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 12px 8px;box-shadow:0 8px 28px #00000073;pointer-events:all}.ai-filepath-popup-path{display:block;font-family:Fira Code,JetBrains Mono,SF Mono,Consolas,monospace;font-size:.73rem;color:#c9cdd4;word-break:break-all;line-height:1.5;margin-bottom:8px}.ai-filepath-popup-actions{display:flex;align-items:center;gap:6px}.ai-filepath-popup-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-family:inherit;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#9aa0a9;cursor:pointer;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.ai-filepath-popup-btn:hover{background:#10a37f26;border-color:#10a37f4d;color:#10a37f}[data-theme=light] .ai-filepath-chip{background:#0000000a;border-color:#0000001a;color:#4b5563}[data-theme=light] .ai-filepath-chip:hover{background:#00000012;color:#1f2937}[data-theme=light] .ai-filepath-popup{background:#fff;border-color:#0000001a;box-shadow:0 8px 28px #0000001f}[data-theme=light] .ai-filepath-popup-path{color:#374151}[data-theme=light] .ai-filepath-popup-btn{background:#0000000a;border-color:#0000001a;color:#6b7280}[data-theme=light] .ai-filepath-popup-btn:hover{background:#10a37f14;border-color:#10a37f40;color:#059669}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.33"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{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:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.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;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.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 rgba(0,89,220,.8)}.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{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.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{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.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-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.service-link{color:var(--color-primary, #6366f1);cursor:pointer;text-decoration:none;font-weight:500;transition:all .2s ease;padding:2px 4px;border-radius:4px}.service-link:hover{color:var(--color-primary-hover, #818cf8);background-color:var(--color-primary-bg, rgba(99, 102, 241, .1));text-decoration:underline}.service-link:active{color:var(--color-primary-active, #4f46e5)}.expandable-card{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;padding:16px;cursor:pointer;position:relative;box-shadow:0 2px 8px #0003;transition:box-shadow .2s,transform .2s;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.expandable-card:hover{box-shadow:0 4px 16px #0000004d;border-color:var(--primary-color, #6366f1)}.expandable-card.loading{cursor:default;pointer-events:none}.card-title{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-main, #fff);padding-right:24px}.card-summary{margin:0;color:var(--text-secondary, rgba(255, 255, 255, .7));font-size:14px;line-height:1.5}.card-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));overflow:hidden;font-size:14px;color:var(--text-secondary, rgba(255, 255, 255, .7))}.expand-icon{position:absolute;top:16px;right:16px;font-size:18px;color:var(--text-secondary, rgba(255, 255, 255, .5));font-weight:300;transition:transform .2s}.expandable-card-grid{display:grid;gap:12px}@media(max-width:768px){.expandable-card-grid{grid-template-columns:1fr!important}}.service-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}@media(max-width:768px){.service-card-grid{grid-template-columns:1fr}}.shimmer-placeholder{display:flex;flex-direction:column;gap:12px}.shimmer-line{height:12px;background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.shimmer-line.title{height:18px;width:60%}.shimmer-line.summary{width:85%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-card{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;padding:16px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.loading-card .loading-title{font-size:14px;font-weight:500;color:var(--text-secondary, rgba(255, 255, 255, .5));margin-bottom:12px}.loading-card .shimmer-line{margin-bottom:10px}.loading-card .shimmer-line:last-child{margin-bottom:0}.service-architecture-view{display:flex;gap:24px;position:relative}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;flex:1}.service-node{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;padding:16px;cursor:pointer;border:2px solid transparent;transition:border-color .2s,transform .2s}.service-node:hover{border-color:var(--primary-color, rgba(99, 102, 241, .5))}.service-node.selected{border-color:var(--primary-color, #6366f1);background:#6366f11a}.service-node h4{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--text-main, #fff)}.service-node p{margin:0 0 8px;font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .6));line-height:1.4}.service-node .file-count{font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .4));display:block;margin-top:4px}.service-node .frameworks{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.service-node .tag{padding:2px 8px;background:#6366f133;color:var(--primary-color, #a5b4fc);border-radius:4px;font-size:11px;font-weight:500}.service-detail-panel{width:320px;background:var(--card-bg, rgba(30, 30, 35, .95));border-radius:12px;padding:20px;box-shadow:-4px 0 24px #0000004d;border:1px solid var(--border-color, rgba(255, 255, 255, .1));position:relative;overflow-y:auto;max-height:500px}.service-detail-panel .close-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border:none;background:#ffffff1a;color:var(--text-secondary, rgba(255, 255, 255, .6));border-radius:6px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s}.service-detail-panel .close-btn:hover{background:#fff3}.service-detail-panel h3{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-main, #fff);padding-right:32px}.service-detail-panel p{margin:0 0 16px;font-size:14px;color:var(--text-secondary, rgba(255, 255, 255, .7));line-height:1.5}.service-detail-panel .stat{margin-bottom:12px;font-size:14px;color:var(--text-secondary, rgba(255, 255, 255, .7))}.service-detail-panel .stat strong{color:var(--text-main, #fff)}.service-detail-panel .frameworks-section{margin-bottom:16px}.service-detail-panel .frameworks-section strong{display:block;margin-bottom:8px;color:var(--text-main, #fff);font-size:14px}.service-detail-panel .frameworks{display:flex;flex-wrap:wrap;gap:6px}.service-detail-panel .connections-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-main, #fff)}.service-detail-panel .connections-section ul{list-style:none;padding:0;margin:0}.service-detail-panel .connections-section li{padding:8px 0;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05));font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .7));display:flex;align-items:center;gap:8px}.service-detail-panel .connection-type{font-size:11px;padding:2px 6px;background:#ffffff1a;border-radius:4px;color:var(--text-muted, rgba(255, 255, 255, .5))}.service-detail-panel .connection-via{font-size:11px;color:var(--text-muted, rgba(255, 255, 255, .4))}.drill-down-table{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;overflow:hidden;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.drill-down-table table{width:100%;border-collapse:collapse}.drill-down-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-muted, rgba(255, 255, 255, .5));text-transform:uppercase;letter-spacing:.5px;background:#0003;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.drill-down-table .expand-col{width:40px;text-align:center}.drill-down-table .main-row{cursor:default}.drill-down-table .main-row.has-details{cursor:pointer}.drill-down-table .main-row td{padding:12px 16px;font-size:14px;color:var(--text-main, #fff);border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05))}.drill-down-table .main-row.expanded td{border-bottom-color:transparent}.drill-down-table .expand-icon{font-size:10px;color:var(--text-muted, rgba(255, 255, 255, .4));display:inline-block}.drill-down-table .detail-row td{padding:0;background:#0003;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.drill-down-table .detail-content{padding:16px;font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .7))}.drill-down-table .detail-content pre{margin:0;font-family:Fira Code,monospace;font-size:12px;overflow-x:auto}.code-preview-card{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;overflow:hidden;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.code-preview-card .code-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#0003;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05))}.code-preview-card .file-path{font-family:Fira Code,monospace;font-size:12px;color:var(--text-secondary, rgba(255, 255, 255, .7));flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-preview-card .line-range{font-size:11px;color:var(--text-muted, rgba(255, 255, 255, .4))}.code-preview-card .language-badge{font-size:10px;padding:2px 8px;background:#6366f133;color:var(--primary-color, #a5b4fc);border-radius:4px;font-weight:500;text-transform:uppercase}.code-preview-card .code-content{position:relative}.code-preview-card pre{margin:0;padding:16px;overflow-x:auto}.code-preview-card code{font-family:Fira Code,monospace;font-size:13px;line-height:1.6}.code-preview-card .code-line{display:flex}.code-preview-card .line-number{width:40px;text-align:right;padding-right:16px;color:var(--text-muted, rgba(255, 255, 255, .3));-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-preview-card .line-content{flex:1;color:var(--text-main, #fff);white-space:pre}.code-preview-card .code-fade-overlay{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--card-bg, rgba(30, 30, 35, 1)) 0%,transparent 100%);pointer-events:none}.code-preview-card .expand-button{width:100%;padding:12px;background:#0003;border:none;border-top:1px solid var(--border-color, rgba(255, 255, 255, .05));color:var(--primary-color, #a5b4fc);font-size:13px;cursor:pointer;transition:background .2s}.code-preview-card .expand-button:hover{background:#6366f11a}.connection-flow{display:flex;flex-direction:column;gap:16px}.connection-flow .flow-nodes{display:flex;flex-wrap:wrap;gap:12px}.connection-flow .flow-node{padding:10px 16px;background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:8px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));cursor:pointer;transition:all .2s}.connection-flow .flow-node:hover,.connection-flow .flow-node.highlighted{border-color:var(--primary-color, #6366f1);background:#6366f11a}.connection-flow .node-label{font-size:14px;font-weight:500;color:var(--text-main, #fff)}.connection-flow .node-type{display:block;font-size:11px;color:var(--text-muted, rgba(255, 255, 255, .4));margin-top:2px}.connection-flow .flow-edges{display:flex;flex-direction:column;gap:8px}.connection-flow .flow-edge{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .6));border-radius:6px;transition:all .2s}.connection-flow .flow-edge.highlighted{background:#6366f11a;color:var(--text-main, #fff)}.connection-flow .edge-arrow{color:var(--primary-color, #6366f1)}.connection-flow .edge-label,.connection-flow .edge-type{font-size:11px;padding:2px 6px;background:#ffffff0d;border-radius:4px;color:var(--text-muted, rgba(255, 255, 255, .4))}.api-flow{display:flex;flex-direction:column;gap:12px}.api-chips{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.api-chip{display:flex;align-items:center;gap:6px;padding:7px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .15s ease;font-family:inherit;font-size:12px;color:#ffffffa6}.api-chip:hover{background:#ffffff12;border-color:#ffffff1f}.api-chip.active{background:#3b82f61f;border-color:#3b82f659;color:#60a5fa}.api-chip-icon{opacity:.5}.api-chip.active .api-chip-icon{opacity:.9}.api-chip-badge{font-size:10px;padding:2px 6px;background:#ffffff14;border-radius:4px;color:#ffffff73;font-weight:500}.api-chip.active .api-chip-badge{background:#3b82f633;color:#60a5fa}.api-chip-x{margin-left:2px;opacity:.6}.api-filter-info{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#3b82f60f;border-radius:6px;font-size:12px;color:#ffffff8c;overflow:hidden}.api-filter-info strong{color:#60a5fa;font-weight:500}.api-filter-info button{margin-left:auto;padding:4px 10px;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#ffffff80;font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s}.api-filter-info button:hover{background:#ffffff0d;color:#ffffffb3}.api-cards{display:flex;flex-direction:column;gap:8px}.api-card{display:grid;grid-template-columns:180px 1fr 180px;align-items:center;gap:20px;padding:14px 18px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;transition:all .15s ease}.api-card:hover{background:#ffffff09;border-color:#ffffff1a}.api-card-caller{display:flex;align-items:center;gap:10px}.api-card-target{display:flex;align-items:center;gap:10px;justify-content:flex-end}.api-card-service-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.api-card-service-icon.caller{background:#22c55e1f;color:#4ade80}.api-card-service-icon.target{background:#6366f11f;color:#818cf8}.api-card-service-info{display:flex;flex-direction:column;gap:2px;min-width:0}.api-card-service-info.right{align-items:flex-end;text-align:right}.api-card-service-name{font-size:13px;font-weight:600;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.api-card-service-role{font-size:10px;color:#ffffff59;text-transform:uppercase;letter-spacing:.5px}.api-card-connection{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.api-card-method-row{display:flex;align-items:center;gap:12px;width:100%}.api-method-badge{font-size:10px;font-weight:700;padding:4px 10px;border-radius:4px;border:1px solid;letter-spacing:.4px;flex-shrink:0}.api-card-line-arrow{flex:1;display:flex;align-items:center;gap:8px}.api-card-line{flex:1;height:1px;background:linear-gradient(90deg,#ffffff26,#ffffff14)}.api-card-line-arrow svg{color:#ffffff40;flex-shrink:0}.api-card-endpoint{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#0003;border-radius:4px;max-width:100%}.api-card-endpoint svg{color:#fff6;flex-shrink:0}.api-card-endpoint span{font-size:11px;font-family:Fira Code,SF Mono,Consolas,monospace;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.api-card-type{font-size:9px;color:#ffffff4d;text-transform:uppercase;letter-spacing:.5px}.api-empty{padding:40px;text-align:center;color:#ffffff59;font-size:13px}@media(max-width:1000px){.api-card{grid-template-columns:150px 1fr 150px;gap:14px}.api-card-service-icon{width:28px;height:28px}.api-card-service-name{font-size:12px}}@media(max-width:768px){.api-card{grid-template-columns:1fr;gap:12px}.api-card-caller,.api-card-target{justify-content:flex-start}.api-card-target{flex-direction:row-reverse}.api-card-service-info.right{align-items:flex-start;text-align:left}.api-card-connection{order:-1;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06);align-items:flex-start}}@media(max-width:480px){.api-chips{gap:6px}.api-chip{padding:5px 10px;font-size:11px}.api-card{padding:12px}.api-card-service-name{font-size:12px}.api-card-endpoint{max-width:200px}}.skeleton{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;padding:16px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.skeleton .skeleton-line{height:12px;background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:10px}.skeleton .skeleton-line:last-child{margin-bottom:0}.streaming-progress{margin-top:12px;display:flex;align-items:center;gap:12px;padding:8px 0}.streaming-progress .progress-bar{height:4px;background:var(--primary-color, #6366f1);border-radius:2px;transition:width .3s ease;min-width:4px}.streaming-progress span{font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .5))}[data-theme=light] .expandable-card,[data-theme=light] .service-node,[data-theme=light] .service-detail-panel,[data-theme=light] .drill-down-table,[data-theme=light] .code-preview-card,[data-theme=light] .connection-flow .flow-node,[data-theme=light] .skeleton,[data-theme=light] .loading-card,[data-theme=light] .service-card,[data-theme=light] .database-access-table,[data-theme=light] .event-group{background:#fff;border-color:var(--border-main);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}[data-theme=light] .expandable-card:hover,[data-theme=light] .service-card:hover{box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;border-color:var(--primary, #10a37f)}[data-theme=light] .card-title,[data-theme=light] .service-node h4,[data-theme=light] .service-detail-panel h3,[data-theme=light] .drill-down-table .main-row td,[data-theme=light] .code-preview-card .line-content,[data-theme=light] .connection-flow .node-label,[data-theme=light] .service-card-title,[data-theme=light] .service-node .service-name,[data-theme=light] .event-group-title,[data-theme=light] .event-name,[data-theme=light] .topic-chip span,[data-theme=light] .topic-name,[data-theme=light] .flow-node .node-label{color:#1a1d26}[data-theme=light] .card-summary,[data-theme=light] .card-details,[data-theme=light] .service-node p,[data-theme=light] .service-detail-panel p,[data-theme=light] .service-card-description,[data-theme=light] .service-card-meta,[data-theme=light] .service-detail-item,[data-theme=light] .drill-down-table .detail-content,[data-theme=light] .code-preview-card .file-path,[data-theme=light] .connection-flow .flow-edge,[data-theme=light] .service-detail-panel .stat,[data-theme=light] .database-access-table td{color:#5a6175}[data-theme=light] .expand-icon,[data-theme=light] .service-node .file-count,[data-theme=light] .service-node .service-role,[data-theme=light] .connection-flow .node-type,[data-theme=light] .drill-down-table th,[data-theme=light] .code-preview-card .line-range,[data-theme=light] .code-preview-card .line-number,[data-theme=light] .loading-card .loading-title,[data-theme=light] .streaming-progress span,[data-theme=light] .action-indicator,[data-theme=light] .service-meta-item svg,[data-theme=light] .database-access-table th,[data-theme=light] .database-access-table .table-footer,[data-theme=light] .database-access-table .empty-state,[data-theme=light] .database-access-table .table-search svg,[data-theme=light] .flow-label,[data-theme=light] .event-count,[data-theme=light] .api-empty{color:#6e7687}[data-theme=light] .shimmer-line,[data-theme=light] .skeleton .skeleton-line{background:linear-gradient(90deg,#0000000a 25%,#00000014,#0000000a 75%);background-size:200% 100%}[data-theme=light] .drill-down-table th,[data-theme=light] .code-preview-card .code-header,[data-theme=light] .database-access-table .table-search,[data-theme=light] .database-access-table thead,[data-theme=light] .database-access-table .table-footer,[data-theme=light] .event-group-header{background:#f5f6f8}[data-theme=light] .drill-down-table .detail-row td{background:#f8f9fb}[data-theme=light] .code-preview-card .expand-button{background:#f5f6f8;border-top-color:#eceef2;color:var(--primary, #10a37f)}[data-theme=light] .code-preview-card .expand-button:hover{background:#10a37f0f}[data-theme=light] .code-preview-card .code-fade-overlay{background:linear-gradient(to top,#ffffff 0%,transparent 100%)}[data-theme=light] .drill-down-table .main-row td,[data-theme=light] .database-access-table tbody tr{border-bottom-color:#eceef2}[data-theme=light] .drill-down-table th,[data-theme=light] .database-access-table th{border-bottom-color:#dfe2e6}[data-theme=light] .card-details,[data-theme=light] .service-card-details,[data-theme=light] .event-header{border-top-color:#eceef2}[data-theme=light] .service-detail-panel{box-shadow:-2px 0 12px #0000000f}[data-theme=light] .service-detail-panel .close-btn{background:#f1f3f6;color:#6e7687}[data-theme=light] .service-detail-panel .close-btn:hover{background:#e4e7ec;color:#1a1d26}[data-theme=light] .service-detail-panel .connection-type,[data-theme=light] .connection-flow .edge-label,[data-theme=light] .connection-flow .edge-type{background:#f1f3f6;color:#6e7687}[data-theme=light] .service-detail-panel .connections-section li{border-bottom-color:#eceef2;color:#5a6175}[data-theme=light] .service-icon-wrapper,[data-theme=light] .service-icon-small{background:#10a37f14;color:var(--primary, #10a37f)}[data-theme=light] .service-node .tag,[data-theme=light] .table-badge{background:#10a37f14;color:#0d8a6a}[data-theme=light] .connection-badge.api{background:#6366f114;color:#4f46e5}[data-theme=light] .connection-badge.event{background:#10b98114;color:#059669}[data-theme=light] .connection-badge.db{background:#f59e0b14;color:#d97706}[data-theme=light] .connection-badge.total{background:#f1f3f6;color:#5a6175}[data-theme=light] .access-type-badge.read{background:#3b82f614;color:#2563eb}[data-theme=light] .access-type-badge.write{background:#f59e0b14;color:#d97706}[data-theme=light] .access-type-badge.both{background:#10b98114;color:#059669}[data-theme=light] .service-detail-item code{background:#f1f3f6;color:#1a1d26}[data-theme=light] .database-access-table .table-search-input{background:#fff;border-color:#dfe2e6;color:#1a1d26}[data-theme=light] .database-access-table .table-search-input::-moz-placeholder{color:#a0a6b4}[data-theme=light] .database-access-table .table-search-input::placeholder{color:#a0a6b4}[data-theme=light] .database-access-table .table-search-input:focus{border-color:var(--primary, #10a37f);box-shadow:0 0 0 2px #10a37f1a}[data-theme=light] .database-access-table th.sortable:hover{background:#eceef2}[data-theme=light] .database-access-table tbody tr:hover{background:#f5f6f8}[data-theme=light] .expand-tables-btn{border-color:#dfe2e6;color:#5a6175}[data-theme=light] .expand-tables-btn:hover{background:#f1f3f6;border-color:var(--primary, #10a37f);color:var(--primary, #10a37f)}[data-theme=light] .service-card-expand-btn:hover{background:#f1f3f6;color:#1a1d26}[data-theme=light] .event-group-v2{background:#fff;border-color:#dfe2e6;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}[data-theme=light] .event-group-header{border-bottom:1px solid #eceef2}[data-theme=light] .event-group-header:hover{background:#f5f6f8}[data-theme=light] .event-flow-row{border-top-color:#eceef2}[data-theme=light] .event-flow-row:hover,[data-theme=light] .event-flow-row.highlighted{background:#10a37f08}[data-theme=light] .service-node{background:#f8f9fb;border-color:#eceef2}[data-theme=light] .service-node:hover{border-color:#dfe2e6;background:#f1f3f6}[data-theme=light] .topic-tag{background:#10a37f14;color:#0d8a6a}[data-theme=light] .topic-tag.more{background:#f1f3f6;color:#6e7687}[data-theme=light] .flow-count-badge{background:#10b98114;color:#059669}[data-theme=light] .expand-toggle{background:#f1f3f6;color:#6e7687}[data-theme=light] .expand-toggle:hover{background:#e4e7ec;color:#1a1d26}[data-theme=light] .topic-label.emit{background:#10b98114;color:#059669}[data-theme=light] .topic-label.consume{background:#6366f114;color:#4f46e5}[data-theme=light] .topic-chip,[data-theme=light] .topic-name-badge{background:#f1f3f6;border-color:#eceef2}[data-theme=light] .event-empty-state{background:linear-gradient(135deg,#f8f9fb,#f1f3f6);border-color:#dfe2e6}[data-theme=light] .event-count{background:#f1f3f6}[data-theme=light] .flow-label{background:#f1f3f6;border:1px solid #eceef2}[data-theme=light] .flow-node{background:#fff;border-color:#dfe2e6}[data-theme=light] .event-flow:hover,[data-theme=light] .event-flow.highlighted{background:#10a37f0a;border-color:#10a37f4d}[data-theme=light] .connection-flow .flow-node:hover,[data-theme=light] .connection-flow .flow-node.highlighted{border-color:var(--primary, #10a37f);background:#10a37f0a}[data-theme=light] .api-chips{border-bottom-color:#eceef2}[data-theme=light] .api-chip{background:#f5f6f8;border-color:#dfe2e6;color:#5a6175}[data-theme=light] .api-chip:hover{background:#eceef2;border-color:#cdd1d8}[data-theme=light] .api-chip.active{background:#3b82f60f;border-color:#3b82f640;color:#2563eb}[data-theme=light] .api-chip-badge{background:#eceef2;color:#6e7687}[data-theme=light] .api-chip.active .api-chip-badge{background:#3b82f61a;color:#2563eb}[data-theme=light] .api-filter-info{background:#3b82f60a;color:#5a6175}[data-theme=light] .api-filter-info strong{color:#2563eb}[data-theme=light] .api-filter-info button{border-color:#dfe2e6;color:#6e7687}[data-theme=light] .api-filter-info button:hover{background:#f1f3f6;color:#1a1d26}[data-theme=light] .api-card{background:#fff;border-color:#eceef2}[data-theme=light] .api-card:hover{background:#f8f9fb;border-color:#dfe2e6}[data-theme=light] .api-card-service-name{color:#1a1d26}[data-theme=light] .api-card-service-role{color:#6e7687}[data-theme=light] .api-card-line{background:linear-gradient(90deg,#dfe2e6,#eceef2)}[data-theme=light] .api-card-line-arrow svg{color:#a0a6b4}[data-theme=light] .api-card-endpoint{background:#f1f3f6}[data-theme=light] .api-card-endpoint svg{color:#6e7687}[data-theme=light] .api-card-endpoint span{color:#5a6175}[data-theme=light] .api-card-type{color:#a0a6b4}[data-theme=light] .api-card-service-icon.caller{background:#10b98114;color:#059669}[data-theme=light] .api-card-service-icon.target{background:#6366f114;color:#4f46e5}[data-theme=light] .api-empty{color:#a0a6b4}[data-theme=light] .code-preview-card .language-badge{background:#10a37f14;color:#0d8a6a}[data-theme=light] .service-node.emitter .service-node-icon{background:#10b9811a;color:#059669;border-color:#10b98126}[data-theme=light] .service-node.consumer .service-node-icon{background:#6366f11a;color:#4f46e5;border-color:#6366f126}[data-theme=light] .event-icon-badge{background:#10b98114;border-color:#10b9811f;color:#059669}[data-theme=light] .event-icon-wrapper{background:#10b98114;color:#059669}[data-theme=light] .event-empty-state .empty-icon-wrapper{background:#10a37f0f;color:#10a37f66}[data-theme=light] .flow-node .node-icon{background:#10a37f14;color:var(--primary, #10a37f)}[data-theme=light] .service-node.selected{border-color:var(--primary, #10a37f);background:#10a37f0a}.service-card{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:10px;padding:12px 14px;cursor:pointer;position:relative;box-shadow:0 2px 8px #0003;transition:box-shadow .2s,transform .2s;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.service-card:hover{box-shadow:0 4px 16px #0000004d;border-color:var(--primary-color, rgba(99, 102, 241, .5))}.service-card.loading{cursor:default;pointer-events:none}.service-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.service-card-icon-title{display:flex;align-items:flex-start;gap:10px;flex:1}.service-icon-wrapper{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#6366f11a;border-radius:8px;color:var(--primary-color, #6366f1);flex-shrink:0}.service-card-title-section{flex:1;min-width:0}.service-card-title{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--text-main, #fff);word-break:break-word;line-height:1.3}.service-card-description{margin:0;font-size:12px;color:var(--text-secondary, rgba(255, 255, 255, .6));line-height:1.35}.service-card-expand-btn{background:transparent;border:none;color:var(--text-secondary, rgba(255, 255, 255, .5));cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s,color .2s;flex-shrink:0}.service-card-expand-btn:hover{background:#ffffff1a;color:var(--text-main, #fff)}.service-card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px;font-size:11px;color:var(--text-secondary, rgba(255, 255, 255, .6))}.service-meta-item{display:flex;align-items:center;gap:4px}.service-meta-item svg{color:var(--text-muted, rgba(255, 255, 255, .4))}.service-card-connections{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.connection-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:4px;font-size:10px;font-weight:500}.connection-badge.api{background:#6366f126;color:#a5b4fc}.connection-badge.event{background:#10b98126;color:#6ee7b7}.connection-badge.db{background:#f59e0b26;color:#fcd34d}.connection-badge.total{background:#ffffff1a;color:var(--text-secondary, rgba(255, 255, 255, .7))}.service-card-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));overflow:hidden}.service-detail-item{margin-bottom:8px;font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .7))}.service-detail-item strong{color:var(--text-main, #fff);margin-right:8px}.service-detail-item code{background:#0000004d;padding:2px 6px;border-radius:4px;font-size:12px;font-family:Fira Code,monospace}.database-access-table{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;overflow:hidden;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.database-access-table .table-search{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#0003;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.database-access-table .table-search svg{color:var(--text-muted, rgba(255, 255, 255, .4));flex-shrink:0}.database-access-table .table-search-input{flex:1;background:#ffffff0d;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;padding:8px 12px;color:var(--text-main, #fff);font-size:14px;outline:none;transition:border-color .2s}.database-access-table .table-search-input:focus{border-color:var(--primary-color, #6366f1)}.database-access-table .table-search-input::-moz-placeholder{color:var(--text-muted, rgba(255, 255, 255, .4))}.database-access-table .table-search-input::placeholder{color:var(--text-muted, rgba(255, 255, 255, .4))}.database-access-table .table-container{overflow-x:auto;max-height:600px;overflow-y:auto}.database-access-table table{width:100%;border-collapse:collapse}.database-access-table thead{position:sticky;top:0;background:#0000004d;z-index:10}.database-access-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-muted, rgba(255, 255, 255, .5));text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color, rgba(255, 255, 255, .1));-webkit-user-select:none;-moz-user-select:none;user-select:none}.database-access-table th.sortable{cursor:pointer;transition:background .2s}.database-access-table th.sortable:hover{background:#ffffff0d}.database-access-table .th-content{display:flex;align-items:center;gap:6px}.database-access-table .th-content svg{flex-shrink:0}.database-access-table tbody tr{border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05));transition:background .2s}.database-access-table tbody tr:hover{background:#ffffff08}.database-access-table td{padding:12px 16px;font-size:14px;color:var(--text-main, #fff)}.database-access-table .service-cell{font-weight:500}.service-cell-content{display:flex;align-items:center;gap:10px}.service-icon-small{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#6366f11a;border-radius:6px;color:var(--primary-color, #6366f1);flex-shrink:0}.service-name{word-break:break-word}.database-access-table .tables-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.table-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#6366f126;color:#a5b4fc;border-radius:6px;font-size:12px;font-weight:500}.table-badge svg{flex-shrink:0}.expand-tables-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--border-color, rgba(255, 255, 255, .2));border-radius:6px;color:var(--text-secondary, rgba(255, 255, 255, .7));font-size:12px;cursor:pointer;transition:all .2s}.expand-tables-btn:hover{background:#ffffff0d;border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1)}.access-type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.access-type-badge.read{background:#3b82f626;color:#93c5fd}.access-type-badge.write{background:#f59e0b26;color:#fcd34d}.access-type-badge.both{background:#10b98126;color:#6ee7b7}.database-access-table .empty-state{text-align:center;padding:40px 20px;color:var(--text-muted, rgba(255, 255, 255, .4));font-size:14px}.database-access-table .table-footer{padding:12px 16px;background:#0003;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .4));text-align:center}.event-flow-animation-v2{display:flex;flex-direction:column;gap:16px}.event-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:linear-gradient(135deg,#1e1e2399,#141419cc);border-radius:16px;border:1px dashed rgba(255,255,255,.1)}.event-empty-state .empty-icon-wrapper{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#6366f11a;border-radius:16px;color:#6366f180;margin-bottom:16px}.event-empty-state h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-main, #fff)}.event-empty-state p{margin:0;font-size:13px;color:var(--text-muted, rgba(255, 255, 255, .4))}.event-group-v2{background:linear-gradient(135deg,#1e1e23e6,#19191ef2);border-radius:14px;border:1px solid rgba(255,255,255,.08);overflow:hidden;box-shadow:0 4px 20px #0003}.event-group-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#0003;cursor:pointer;transition:background .2s}.event-group-header:hover{background:#0000004d}.event-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.event-icon-badge{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b98133,#10b9811a);border-radius:10px;color:#10b981;flex-shrink:0;border:1px solid rgba(16,185,129,.2)}.event-header-info{display:flex;flex-direction:column;gap:4px;min-width:0}.event-group-title{margin:0;font-size:15px;font-weight:600;color:var(--text-main, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-topics{display:flex;flex-wrap:wrap;gap:6px}.topic-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#6366f126;border-radius:4px;font-size:10px;color:#a5b4fc;font-weight:500}.topic-tag.more{background:#ffffff1a;color:var(--text-muted, rgba(255, 255, 255, .5))}.event-header-right{display:flex;align-items:center;gap:10px}.flow-count-badge{padding:4px 10px;background:#10b98126;border-radius:12px;font-size:11px;font-weight:600;color:#6ee7b7}.expand-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:none;border-radius:6px;color:var(--text-secondary, rgba(255, 255, 255, .6));cursor:pointer;transition:all .2s}.expand-toggle:hover{background:#ffffff1a;color:var(--text-main, #fff)}.event-flows-container{overflow:hidden}.event-flow-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.05);transition:all .25s ease;position:relative}.event-flow-row:hover,.event-flow-row.highlighted{background:#10b98108}.event-flow-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .25s ease;border-radius:0 2px 2px 0}.event-flow-row:hover:before,.event-flow-row.highlighted:before{background:linear-gradient(180deg,#10b981,#6366f1)}.service-node{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.06);transition:all .25s ease;min-width:220px;max-width:280px;flex-shrink:0}.service-node:hover{border-color:#ffffff1f;background:#0000004d;transform:translateY(-1px)}.service-node.source{justify-content:flex-start}.service-node.target{justify-content:flex-start;flex-direction:row}.service-node.emitter .service-node-icon{background:linear-gradient(135deg,#10b98133,#10b9811a);color:#10b981;border-color:#10b98140}.service-node.consumer .service-node-icon{background:linear-gradient(135deg,#6366f133,#6366f11a);color:#6366f1;border-color:#6366f140}.service-node-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;flex-shrink:0}.service-node-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.service-node.source .service-node-info,.service-node.target .service-node-info{align-items:flex-start;text-align:left}.service-node .service-name{font-size:13px;font-weight:600;color:var(--text-main, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.service-node .service-role{font-size:9px;color:var(--text-muted, rgba(255, 255, 255, .35));text-transform:uppercase;letter-spacing:.8px;font-weight:500}.connection-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:1;min-width:160px;max-width:300px;padding:0 12px}.action-indicator{font-size:10px;font-weight:500;text-transform:lowercase;letter-spacing:.3px;color:var(--text-muted, rgba(255, 255, 255, .4))}.action-indicator.emit{color:#10b981b3}.action-indicator.consume{color:#6366f1b3}.arrow-line-wrapper{width:100%;height:24px;position:relative;display:flex;align-items:center}.arrow-line-svg{width:100%;height:24px}.flowing-dot{position:absolute;width:8px;height:8px;border-radius:50%;top:50%;transform:translateY(-50%);pointer-events:none}.flowing-dot.emit{background:#10b981;box-shadow:0 0 12px #10b981cc,0 0 4px #10b981}.flowing-dot.consume{background:#6366f1;box-shadow:0 0 12px #6366f1cc,0 0 4px #6366f1}.topic-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#00000059;border-radius:16px;border:1px solid rgba(255,255,255,.08);max-width:160px}.topic-chip svg{color:#10b98199;flex-shrink:0}.topic-chip span{font-size:11px;font-weight:500;color:var(--text-main, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-label-container{display:flex;flex-direction:column;align-items:center;gap:4px}.topic-label{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.topic-label.emit{background:#10b98133;color:#6ee7b7}.topic-label.consume{background:#6366f133;color:#a5b4fc}.topic-arrow{opacity:.7}.topic-name-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#0006;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.topic-name-badge svg{color:#10b981b3;flex-shrink:0}.topic-name{font-size:11px;font-weight:500;color:var(--text-main, #fff);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-flow-animation{display:flex;flex-direction:column;gap:20px}.event-group{background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:12px;padding:16px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.event-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.event-icon-wrapper{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#10b98126;border-radius:8px;color:#6ee7b7;flex-shrink:0}.event-name{margin:0;font-size:16px;font-weight:600;color:var(--text-main, #fff);flex:1}.event-count{font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .4));background:#ffffff0d;padding:4px 8px;border-radius:6px}.event-flows{display:flex;flex-direction:column;gap:12px}.event-flow{display:flex;align-items:center;gap:12px;padding:12px;background:#0003;border-radius:8px;border:1px solid transparent;transition:all .2s;position:relative}.event-flow:hover,.event-flow.highlighted{border-color:#10b98180;background:#10b9811a}.flow-node{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card-bg, rgba(30, 30, 35, .8));border-radius:6px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));min-width:120px}.flow-node .node-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#6366f126;border-radius:4px;color:var(--primary-color, #6366f1);flex-shrink:0}.flow-node .node-label{font-size:13px;font-weight:500;color:var(--text-main, #fff);word-break:break-word}.flow-arrow-container{position:relative;display:flex;align-items:center;justify-content:center;min-width:60px;height:24px;flex:1}.flow-arrow{color:#10b98199;display:flex;align-items:center;justify-content:center}.flow-particle{position:absolute;width:4px;height:4px;background:#10b981cc;border-radius:50%;left:0;top:50%;transform:translateY(-50%)}.flow-label{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:#000c;padding:2px 8px;border-radius:4px;font-size:10px;color:var(--text-muted, rgba(255, 255, 255, .5));white-space:nowrap}.flow-direction{text-transform:uppercase;letter-spacing:.5px}.event-flow-animation .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted, rgba(255, 255, 255, .4));text-align:center}.event-flow-animation .empty-state svg{margin-bottom:12px;opacity:.5}.event-flow-animation .empty-state p{margin:0;font-size:14px}@media(max-width:1100px){.service-node{min-width:180px;max-width:240px}.connection-wrapper{min-width:140px}}@media(max-width:900px){.event-flow-row{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.service-node{min-width:100%;max-width:100%}.service-node.target{flex-direction:row;justify-content:flex-start}.service-node.target .service-node-info{align-items:flex-start;text-align:left}.connection-wrapper{min-width:100%;max-width:100%;padding:8px 0;flex-direction:row;justify-content:center;gap:16px}.arrow-line-wrapper{width:80px;flex-shrink:0}.action-indicator{display:none}.topic-chip{max-width:none}}@media(max-width:480px){.event-group-header{padding:12px}.event-header-left{gap:10px}.event-icon-badge{width:32px;height:32px}.event-group-title{font-size:14px}.event-topics{display:none}.service-node{padding:10px 12px}.service-node-icon{width:32px;height:32px}.service-node .service-name{font-size:12px}}@media(max-width:768px){.service-architecture-view{flex-direction:column}.service-detail-panel{width:100%;position:fixed;bottom:0;left:0;right:0;max-height:60vh;border-radius:12px 12px 0 0;z-index:100}.services-grid{grid-template-columns:1fr}.service-card{padding:10px 12px}.service-card-header{flex-direction:row;gap:8px}.service-card-expand-btn{align-self:flex-start}.service-icon-wrapper{width:32px;height:32px}.service-card-title{font-size:13px}.service-card-description{font-size:11px}}
