/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg-primary:#0b1d12;--bg-secondary:#122019;--text-primary:#e8f0ea;--text-secondary:#6b9977;--border:#1e3a28;--green:#4ade80;--red:#f87171;--blue:#60a5fa;--yellow:#c9952a;--purple:#c084fc}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.flow-container{flex-direction:column;width:100%;height:100vh;display:flex}.budget-flow{flex:1}.toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:10;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;display:flex}.toolbar-left{align-items:center;gap:12px;display:flex}.toolbar-brand{letter-spacing:-.5px;white-space:nowrap;font-size:18px;font-weight:700}.toolbar-actions{gap:8px;display:flex}.toolbar-btn{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .15s,border-color .15s}.toolbar-btn:hover{background:#1e3a28;border-color:#2d5a3a}.toolbar-btn--label{color:#6b9977;border-color:#1e3a28}.toolbar-btn--line{color:#4a7a5a}.toolbar-btn--line-active{color:#6b9977;background:#6b99771a;border-color:#6b9977}.flow-action-panel{gap:6px;margin-bottom:8px;display:flex}.sync-indicator{color:#4a7a5a;align-items:center;gap:6px;padding:0 8px;font-size:11px;display:flex}.sync-dot{background:#1e3a28;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .3s}.sync-indicator--saving .sync-dot{background:#f59e0b;animation:1s ease-in-out infinite sync-pulse}.sync-indicator--saved .sync-dot{background:#22c55e}.sync-indicator--error .sync-dot{background:#ef4444}.sync-indicator--saving .sync-label{color:#f59e0b}.sync-indicator--saved .sync-label{color:#22c55e}.sync-indicator--error .sync-label{color:#ef4444}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.3}}.tag-filter-strip{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-filter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.tag-filter-item{align-items:center;gap:2px;display:flex}.tag-filter-btn{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500;transition:all .15s}.tag-filter-btn:hover{border-color:currentColor}.tag-filter-btn--active{color:#fff!important}.tag-color-dot{cursor:pointer;border-radius:50%;width:10px;height:10px;margin-left:1px;transition:transform .15s;display:inline-block;position:relative}.tag-color-dot:hover{transform:scale(1.4)}.tag-color-hidden{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.tag-delete-btn{color:var(--text-secondary);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;transition:opacity .15s}.tag-delete-btn:hover{opacity:1;color:var(--red)}.tab-bar{background:var(--bg-primary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;min-height:36px;padding:0 8px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{height:3px}.tab-bar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.tab-list{flex:1;align-items:stretch;gap:2px;min-width:0;display:flex}.tab-item{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:32px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.tab-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-item--active{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}.tab-name{flex:1}.tab-rename-input{border:1px solid var(--blue);color:var(--text-primary);background:#0000004d;border-radius:3px;outline:none;width:100px;padding:1px 5px;font-size:12px;font-weight:500}.tab-actions{opacity:0;gap:1px;transition:opacity .12s;display:flex}.tab-item:hover .tab-actions,.tab-item--active .tab-actions{opacity:1}.tab-action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:1;transition:background .1s,color .1s;display:flex}.tab-action-btn:hover{color:var(--text-primary);background:#ffffff1a}.tab-action-btn--delete:hover{color:var(--red)}.tab-add-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:background .12s,color .12s,border-color .12s;display:flex}.tab-add-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}.budget-node{min-width:160px;color:var(--text-primary);background:#122019;border-style:solid;border-radius:12px;padding:.92em 1.23em .77em;font-size:13px;transition:opacity .2s;position:relative}.budget-node--dimmed{opacity:.2;pointer-events:none}.node-header{align-items:center;gap:.46em;margin-bottom:.31em;display:flex}.paid-checkbox{border:1.5px solid var(--border);width:1.08em;height:1.08em;color:var(--green);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.69em;font-weight:900;transition:border-color .15s;display:flex}.paid-checkbox:hover{border-color:var(--green)}.title-display{cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1em;font-weight:600;overflow:hidden}.title-input{border:1px solid var(--blue);color:var(--text-primary);background:#0000004d;border-radius:4px;outline:none;flex:1;min-width:0;padding:.15em .46em;font-size:1em;font-weight:600}.computed-badge{color:var(--purple);flex-shrink:0;font-size:.85em;font-style:italic;font-weight:700}.formula-bar{color:var(--purple);background:#a855f71a;border:1px solid #a855f740;border-radius:5px;flex-wrap:wrap;align-items:center;gap:.27em;min-height:1.7em;margin-bottom:.31em;padding:.27em .64em;font-family:"ui-monospace",Fira Code,monospace;font-size:.85em;display:flex}.formula-bar--editing{background:#a855f726;border-color:#a855f799;outline:none}.formula-bar-eq{color:#a855f799;-webkit-user-select:none;user-select:none;flex-shrink:0;margin-right:2px}.formula-bar-static{display:contents}.formula-bar-term{opacity:.85}.formula-bar-op{opacity:.55;margin:0 2px}.formula-term{cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#a855f72e;border:1px solid #a855f759;border-radius:4px;padding:1px 5px;transition:background .1s,border-color .1s,opacity .1s}.formula-term:hover{background:#a855f747;border-color:#a855f799}.formula-term--over{background:#a855f766;border-color:#a855f7e6;outline:1px dashed #a855f7cc}.formula-term--dragging{opacity:.4}.formula-op-wrapper{align-items:center;display:flex;position:relative}.formula-op-btn{color:#a855f7b3;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 2px;font-family:inherit;font-size:13px;font-weight:700;line-height:1;transition:color .1s,background .1s}.formula-op-btn:hover{color:var(--purple);background:#a855f733}.formula-op-menu{z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:44px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.formula-op-menu-item{color:var(--text-primary);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:5px;padding:4px 8px;font-size:14px;font-weight:700;transition:background .1s}.formula-op-menu-item:hover{background:#ffffff1a}.formula-op-menu-item.active{color:var(--purple);background:#a855f740}.formula-op-menu-delete{color:#ef4444b3;border-top:1px solid var(--border);margin-top:2px;padding-top:4px;font-size:11px;font-weight:400}.formula-op-menu-delete:hover{color:var(--red);background:#ef444426}.node-value-row{margin-bottom:.46em}.value-display{cursor:default;-webkit-user-select:none;user-select:none;font-size:1.69em;font-weight:700;display:block}.value-display.positive{color:var(--text-primary)}.value-display.paid{color:var(--green)}.value-display.negative{color:var(--red)}.value-input{border:1px solid var(--blue);color:var(--text-primary);background:#0000004d;border-radius:4px;outline:none;width:100%;padding:.09em .27em;font-size:1.69em;font-weight:700}.tag-row{flex-wrap:wrap;gap:.31em;min-height:1.54em;margin-bottom:.15em;display:flex}.tag-pill{cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid;border-radius:8px;padding:.2em .6em;font-size:.77em;font-weight:600;transition:opacity .15s}.tag-pill:hover{opacity:.7}.tag-pill--add{opacity:.7;background:0 0!important}.tag-pill--add:hover{opacity:1}.tag-add-btn{border:1.5px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:.2em .6em;font-size:.77em;font-weight:600;transition:border-color .15s,color .15s}.tag-add-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.tag-panel{background:var(--bg-primary);border:1px solid var(--border);z-index:9999;border-radius:10px;padding:10px 12px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #00000080}.tag-panel-section{margin-bottom:10px}.tag-panel-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:10px}.tag-panel-pills{flex-wrap:wrap;gap:4px;display:flex}.tag-create-row{align-items:center;gap:6px;display:flex}.tag-name-input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:4px 8px;font-size:12px}.tag-name-input:focus{border-color:var(--blue)}.tag-color-input{cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;padding:0}.tag-create-btn{border:1px solid var(--border);background:var(--bg-secondary);width:28px;height:28px;color:var(--text-primary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:flex}.tag-create-btn:hover{background:#1e3a28}.tag-panel-close{border:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:5px;font-size:11px;transition:background .15s}.tag-panel-close:hover{background:#ffffff0d}.label-node{box-sizing:border-box;border:1.5px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;width:100%;height:100%;transition:border-color .15s;display:flex;position:relative;overflow:visible}.label-node:hover{border-color:#ffffff26}.label-node-text{text-align:center;white-space:pre-wrap;word-break:break-word;-webkit-user-select:none;user-select:none;width:100%;padding:.67em .93em;font-size:1em;font-weight:600}.label-node-input{color:#e2e8f0;resize:none;text-align:center;background:#00000059;border:1px solid #94a3b866;border-radius:5px;outline:none;width:calc(100% - 1.07em);min-height:2.67em;margin:.53em;padding:.4em .53em;font-family:inherit;font-size:1em;font-weight:600}.label-node-toolbar{background:var(--bg-secondary);border:1px solid var(--border);z-index:50;border-radius:6px;gap:4px;padding:3px;display:flex;position:absolute;top:-30px;right:0}.label-node-tool-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:13px;transition:background .1s,color .1s}.label-node-tool-btn:hover{color:var(--text-primary);background:#ffffff1a}.label-node-tool-btn--delete:hover{color:var(--red)}.label-node-colors{background:var(--bg-secondary);border:1px solid var(--border);z-index:60;border-radius:8px;flex-wrap:wrap;gap:4px;width:130px;padding:6px;display:flex;position:absolute;top:-42px;left:0}.label-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;width:20px;height:20px;transition:border-color .1s,transform .1s}.label-color-swatch:hover{transform:scale(1.15)}.label-color-swatch.active{border-color:#fff}.label-color-custom{color:var(--text-secondary);background:#ffffff1a;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.radial-zone{pointer-events:all;position:absolute}.radial-dot{width:18px;height:18px;color:var(--text-secondary);cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;background:#122019;border:2px solid #2d5a3a;border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:border-color .15s,color .15s,box-shadow .15s;display:flex;position:absolute;transform:translate(-50%,-50%)}.radial-zone:hover .radial-dot,.radial-dot--open{color:var(--text-primary);border-color:#6b9977;box-shadow:0 0 8px #94a3b840}.tag-typeahead{flex-shrink:0;position:relative}.tag-typeahead-input{border:1.5px solid var(--blue);color:var(--text-primary);background:#0000004d;border-radius:8px;outline:none;width:100px;padding:2px 7px;font-size:10px;font-weight:600}.tag-typeahead-input::placeholder{color:var(--text-secondary);opacity:.7}.tag-typeahead-dropdown{background:var(--bg-primary);border:1px solid var(--border);z-index:99999;border-radius:8px;min-width:120px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0009}.tag-typeahead-option{color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:500;transition:background .1s;display:flex}.tag-typeahead-option:hover,.tag-typeahead-option--active{background:#ffffff12}.tag-typeahead-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.edge-label{color:#fff;pointer-events:all;cursor:default;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:flex;position:absolute}.edge-order{opacity:.7;font-size:10px}.edge-op{font-size:13px}.edge-delete{color:#fff;cursor:pointer;opacity:0;background:#0000004d;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;line-height:1;transition:opacity .15s;display:flex}.edge-label:hover .edge-delete{opacity:1}.edge-delete:hover{background:#ef4444cc}.operation-picker-overlay{z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.operation-picker{background:var(--bg-secondary);border:1px solid var(--border);text-align:left;border-radius:16px;min-width:420px;max-width:560px;padding:24px}.operation-picker h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:15px;font-weight:600}.formula-preview{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:14px 16px;font-family:"ui-monospace",Fira Code,monospace;font-size:14px}.formula-lhs{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.formula-target-name{color:var(--text-secondary);font-weight:500}.formula-text{color:var(--text-primary);font-weight:600}.formula-equals{color:var(--text-secondary);font-size:16px}.formula-result-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:8px;display:flex}.formula-result-label{color:var(--text-secondary);font-family:inherit;font-size:11px}.formula-result-value{color:var(--green);font-size:16px;font-weight:700}.formula-result-value.negative{color:var(--red)}.op-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:12px}.op-buttons{gap:8px;margin-bottom:16px;display:flex}.op-button{color:#fff;cursor:pointer;border:2px solid #0000;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 14px;transition:transform .1s,box-shadow .1s,background .1s;display:flex}.op-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0006}.op-selected{transform:translateY(-1px);box-shadow:0 4px 16px #00000080}.op-symbol{font-size:20px;font-weight:700}.op-desc{opacity:.85;font-size:10px}.pct-input-row{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:14px;display:flex}.pct-input{border:none;border-bottom:2px solid var(--purple);color:var(--text-primary);text-align:center;background:0 0;outline:none;width:80px;font-size:18px;font-weight:700}.picker-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.op-cancel{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 20px;font-size:13px;transition:background .15s}.op-cancel:hover{background:#ffffff0d}.op-confirm{color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;transition:opacity .15s,transform .1s}.op-confirm:hover{opacity:.9;transform:translateY(-1px)}.connector-edge-delete{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;transition:background .15s,color .15s;display:flex}.connector-edge-delete:hover{color:#fff;background:#ef4444cc;border-color:#0000}.react-flow__resize-control.handle{display:none!important}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:10px!important}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:10px!important}.react-flow__background{background:#0b1d12!important}.react-flow__minimap{background:var(--bg-secondary)!important;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls{overflow:hidden;border:1px solid var(--border)!important;border-radius:8px!important}.react-flow__controls-button{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:var(--border)!important}.react-flow__controls-button:hover{background:#1e3a28!important}.react-flow__controls-button svg{fill:var(--text-primary)!important}.tab-item--stocks{letter-spacing:.01em}.tab-item--stocks-active{color:#c9952a!important;border-color:#c9952a!important}.tab-bar-divider{background:var(--border);flex-shrink:0;align-self:center;width:1px;height:20px;margin:0 4px}.stocks-view{background:#0b1d12;flex:1;gap:16px;min-height:0;padding:20px;display:flex;overflow:hidden}.stocks-left{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex;overflow-y:auto}.stocks-left::-webkit-scrollbar{width:4px}.stocks-left::-webkit-scrollbar-thumb{background:#1e3a28;border-radius:2px}.stocks-resizer{cursor:col-resize;background:0 0;border-radius:2px;flex-shrink:0;width:4px;transition:background .15s}.stocks-resizer:hover{background:#2d5a3a}.stocks-right{flex-shrink:0;width:360px;overflow-y:auto}.stocks-right::-webkit-scrollbar{width:4px}.stocks-right::-webkit-scrollbar-thumb{background:#1e3a28;border-radius:2px}.stocks-header{padding:4px 0 8px}.stocks-label{letter-spacing:.1em;color:#c9952a;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.stocks-total{color:#f0f4f0;letter-spacing:-1px;font-size:42px;font-weight:700;line-height:1.1}.stocks-change{margin-top:4px;font-size:15px;font-weight:600}.stocks-brokerages{gap:10px;display:flex}.brokerage-card{cursor:pointer;background:#122019;border:1px solid #1e3a28;border-radius:10px;flex:1;padding:12px 14px;transition:border-color .15s,background .15s}.brokerage-card:hover{background:#162b1e;border-color:#2d5a3a}.brokerage-card--active{background:#1a2a14;border-color:#c9952a}.brokerage-name{color:#c9952a;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;font-size:11px;font-weight:700}.brokerage-value{color:#f0f4f0;font-size:18px;font-weight:700}.brokerage-gain{margin-top:2px;font-size:12px;font-weight:600}.brokerage-tickers{color:#4a7a5a;margin-top:6px;font-size:10px;font-weight:500}.stocks-card{background:#122019;border:1px solid #1e3a28;border-radius:12px;flex:1;padding:14px 16px}.stocks-card-title{color:#c9952a;letter-spacing:.03em;margin-bottom:12px;font-size:13px;font-weight:700}.watchlist-table{border-collapse:collapse;width:100%;font-size:13px}.watchlist-table thead th{color:#4a7a5a;text-transform:uppercase;letter-spacing:.07em;text-align:left;white-space:nowrap;border-bottom:1px solid #1e3a28;padding:0 18px 8px;font-size:10px;font-weight:700}.watchlist-table thead th.th-right{text-align:right}.watchlist-row{cursor:pointer;border-bottom:1px solid #1a2f1f;transition:background .12s}.watchlist-row:last-child{border-bottom:none}.watchlist-row:hover{background:#c9952a0f}.watchlist-row--active{background:#c9952a1a!important}.watchlist-row td{padding:9px 18px}.wl-ticker{color:#c9952a;white-space:nowrap;font-size:13px;font-weight:700}.wl-name{color:#7aaa8a;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}.wl-price{color:#f0f4f0;white-space:nowrap;text-align:right;font-weight:600}.wl-change{white-space:nowrap;text-align:right;font-size:12px;font-weight:600}.wl-spark{text-align:right;width:72px;padding-right:4px}.stocks-detail-card{background:#122019;border:1px solid #1e3a28;border-radius:14px;padding:18px 18px 16px}.detail-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:0;display:flex}.detail-close{color:#6b9977;cursor:pointer;background:0 0;border:1px solid #1e3a28;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;font-size:13px;transition:background .12s,color .12s;display:flex}.detail-close:hover{color:#e8f0ea;background:#1e3a28}.range-selector{gap:2px;margin:6px 0 10px;display:flex}.range-btn{color:#4a7a5a;letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #1e3a28;border-radius:6px;flex:1;padding:4px 0;font-size:11px;font-weight:600;transition:background .1s,color .1s,border-color .1s}.range-btn:hover{color:#a0c8a8;background:#122019;border-color:#2d5a3a}.range-btn--active{color:#c9952a;background:#1e3a28;border-color:#c9952a}.csv-import-btn{color:#6b9977;cursor:pointer;letter-spacing:.04em;background:#0e2216;border:1px solid #2d5a3a;border-radius:5px;padding:3px 8px;font-family:inherit;font-size:10px;transition:color .15s,border-color .15s}.csv-import-btn:hover{color:#a0c8a8;border-color:#4a8a5a}.csv-import-btn--clear{color:#9ca3af;border-color:#374151}.csv-import-btn--clear:hover{color:#d1d5db;border-color:#6b7280}.perf-list{margin-top:12px}.perf-section-label{letter-spacing:.08em;color:#4a7a5a;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700}.perf-row{border-bottom:1px solid #122019;grid-template-columns:52px 1fr auto auto;align-items:center;gap:6px;padding:5px 0;display:grid}.perf-row:last-child{border-bottom:none}.perf-ticker{color:#c9952a;font-size:12px;font-weight:700}.perf-name{color:#4a7a5a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.perf-pct{text-align:right;font-size:12px;font-weight:600}.perf-gain{color:#6b9977;text-align:right;min-width:70px;font-size:11px}.portfolio-hint{text-align:center;color:#3a6045;letter-spacing:.04em;margin-top:12px;font-size:11px}.detail-ticker{color:#c9952a;letter-spacing:-.5px;font-size:22px;font-weight:800}.detail-meta{color:#5a8a6a;margin-top:2px;margin-bottom:12px;font-size:12px}.detail-chart{background:#0e2216;border-radius:8px;width:100%;margin-bottom:10px;position:relative;overflow:visible}.detail-chart>div{border-radius:8px;overflow:hidden}.detail-price-row{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.detail-price{color:#f0f4f0;flex-shrink:0;font-size:22px;font-weight:700}.detail-change{font-size:13px;font-weight:600}.detail-stats{flex-direction:column;gap:8px;margin-bottom:14px;padding-top:4px;display:flex}.detail-stat{justify-content:space-between;align-items:center;font-size:13px;display:flex}.ds-label{color:#5a8a6a}.ds-value{color:#d4e4d8;font-weight:600}.detail-holding{background:#0e2216;border:1px solid #1e3a28;border-radius:10px;padding:12px 14px}.detail-holding-title{color:#c9952a;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;font-size:11px;font-weight:700}.detail-holding-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dh-stat{flex-direction:column;gap:2px;display:flex}.dh-label{color:#4a7a5a;text-transform:uppercase;letter-spacing:.05em;font-size:10px}.dh-val{color:#d4e4d8;font-size:13px;font-weight:600}@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-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}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.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-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
