@import"https://fonts.googleapis.com/css2?family=Geist:wght@100;200;300;400;500;600;700;800;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@keyframes spin{to{transform:rotate(360deg)}}:root{--bg: #000000;--bg-secondary: #0a0a0a;--text: #ffffff;--text-muted: #888888;--border: rgba(255,255,255,.25);--slider-track: rgba(255,255,255,.22);--accent: #ffffff;--primary: #2196f3;--primary-bg: rgba(33, 150, 243, .12);--success: #26a69a;--success-bg: rgba(38, 166, 154, .08);--backdrop: rgba(0, 0, 0, .55);--shadow-dialog: 0 20px 60px rgba(0, 0, 0, .6);--up: #26a641;--down: #f85149;--shelf-bg: #1a1a1a;--toolbar-bg: #000000;--toolbar-hover: rgba(255,255,255,.08);--crosshair-overlay: rgba(255, 255, 255, .75);--toggle-track: #ffffff;--toggle-thumb: #000000;font-size:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color-scheme:dark}[data-theme=light]{--bg: #ffffff;--bg-secondary: #f5f5f5;--text: #131722;--text-muted: #555555;--border: rgba(0,0,0,.12);--slider-track: rgba(0,0,0,.22);--accent: #131722;--primary: #1565c0;--primary-bg: rgba(21, 101, 192, .1);--success: #00897b;--success-bg: rgba(0, 137, 123, .08);--backdrop: rgba(0, 0, 0, .35);--shadow-dialog: 0 20px 60px rgba(0, 0, 0, .18);--shelf-bg: #ebebeb;--toolbar-bg: #ffffff;--toolbar-hover: rgba(0,0,0,.06);--crosshair-overlay: rgba(0, 0, 0, .6);--toggle-track: #131722;--toggle-thumb: #ffffff;color-scheme:light}html,body,#root{height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--text)}button{cursor:pointer;border:1px solid transparent;background:transparent;color:var(--text-muted);padding:4px 10px;border-radius:4px;font-size:12px;font-family:inherit;transition:background .15s,color .15s}button:hover{background:var(--toolbar-hover);color:var(--text)}button.active{background:var(--toolbar-hover);color:var(--accent)}.drawing-tool-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:background .15s,border-color .15s,color .15s}.drawing-tool-btn:hover{background:var(--toolbar-hover);color:var(--text);border-color:transparent}.drawing-tool-btn.is-active{border-color:transparent;color:var(--accent);background:var(--toolbar-hover)}.dt-pointer-main.dt-vis-active,.dt-pointer-main.dt-vis-active:hover{background:var(--text);color:var(--toolbar-bg);border-color:transparent}.dt-pointer-group{position:relative;display:flex;align-items:center;width:100%;justify-content:center}.dt-pointer-group .dt-pointer-main{width:26px;border-radius:4px 0 0 4px}.dt-pointer-expand{display:flex;align-items:center;justify-content:center;width:10px;height:32px;background:transparent;border:1px solid transparent;border-radius:0 4px 4px 0;color:var(--text-muted);cursor:pointer;padding:0;transition:background .15s,color .15s;flex-shrink:0}.dt-pointer-expand:hover,.dt-pointer-expand.is-open{background:var(--toolbar-hover);color:var(--text)}.dt-pointer-flyout{position:absolute;left:calc(100% + 6px);top:0;z-index:200;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;padding:4px;min-width:168px;box-shadow:0 4px 18px #0000004d}.dt-flyout-label{font-size:10px;font-weight:600;color:var(--text-muted);padding:4px 10px 6px;letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none}.dt-flyout-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 10px;background:none;border:none;border-radius:5px;color:var(--text);cursor:pointer;font-size:12.5px;text-align:left;transition:background .12s}.dt-flyout-item:hover{background:var(--toolbar-hover)}.dt-flyout-item.is-active{color:var(--accent);background:#58a6ff14}.dt-flyout-icon{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;color:inherit}.dt-flyout-name{flex:1}.dt-flyout-check{font-size:11px;color:var(--accent);flex-shrink:0}.dt-flyout-sep{height:1px;background:var(--border);margin:4px 6px}.dt-flyout-toggle-row{display:flex;align-items:center;gap:9px;padding:6px 10px;font-size:12.5px;color:var(--text)}.dt-toggle{position:relative;display:inline-flex;align-items:center;width:30px;height:17px;border-radius:9px;background:var(--border);border:none;padding:0;cursor:pointer;flex-shrink:0;transition:background .2s}.dt-toggle.is-on{background:var(--accent)}.dt-toggle-knob{position:absolute;left:2px;width:13px;height:13px;border-radius:50%;background:var(--toggle-thumb, #fff);transition:transform .2s;pointer-events:none}.dt-toggle.is-on .dt-toggle-knob{transform:translate(13px)}.dt-lines-group{position:relative;width:100%;display:flex;align-items:center;justify-content:center}.dt-lines-group .dt-lines-main{width:26px;border-radius:4px 0 0 4px}.dt-lines-panel{position:absolute;left:calc(100% + 6px);top:0;z-index:200;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;padding:4px 0 8px;min-width:250px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 24px #00000059}.dt-lines-section{padding:0 0 2px}.dt-lines-heading{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);padding:10px 16px 4px;-webkit-user-select:none;user-select:none}.dt-lines-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 16px;background:none;border:none;color:var(--text);cursor:pointer;font-size:13px;text-align:left;transition:background .1s}.dt-lines-item:hover{background:var(--toolbar-hover)}.dt-lines-item.is-active{color:var(--accent);background:#58a6ff14}.dt-lines-icon{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;color:inherit;opacity:.85}.dt-lines-name{flex:1;white-space:nowrap}.dt-lines-shortcut{font-size:11px;color:var(--text-muted);background:#80808026;border-radius:3px;padding:1px 5px;white-space:nowrap;flex-shrink:0}.dt-fibgann-panel{min-width:290px}.dt-fibgann-item{padding-right:6px}.dt-star-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:none;border:none;border-radius:3px;color:var(--text-muted);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity .12s,background .12s}.dt-fibgann-item:hover .dt-star-btn,.dt-lines-item:hover .dt-star-btn,.dt-other-tool-wrap:hover .dt-star-btn,.dt-star-btn.is-starred{opacity:1}.dt-star-btn:hover{background:var(--toolbar-hover)}.dt-star-btn.is-starred{color:#f5a623}.dt-favorites-toolbar{position:fixed;z-index:500;display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 18px #00000059;-webkit-user-select:none;user-select:none}.dt-favorites-handle{display:flex;align-items:center;justify-content:center;width:14px;height:32px;cursor:grab;color:var(--text-muted);margin-right:2px;flex-shrink:0}.dt-favorites-handle:active{cursor:grabbing}.dt-fav-btn{width:30px;height:30px}.dt-other-tool-wrap{position:relative}.dt-other-star{position:absolute;top:0;right:0;width:15px;height:15px;padding:0;border-radius:3px;z-index:1}.tab-bar{display:flex;align-items:center;gap:0;padding:0;flex-shrink:0;min-width:0}.tab-bar-scroll{display:flex;align-items:center;gap:3px;padding:0;min-width:0;overflow-x:auto;scrollbar-width:none}.tab-bar-scroll::-webkit-scrollbar{display:none}.tab-scroll-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:0;height:24px;padding:0;overflow:hidden;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;opacity:0;pointer-events:none;transition:width .12s,opacity .15s,color .12s,background .12s}.tab-scroll-btn.visible{width:20px;overflow:visible;opacity:1;pointer-events:auto}.tab-scroll-left.visible{margin-right:2px}.tab-scroll-right.visible{margin-left:2px}.tab-scroll-btn:hover{color:var(--text);background:var(--toolbar-hover)}.tab-item{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;white-space:nowrap;transition:background .12s,color .12s;-webkit-user-select:none;user-select:none;flex-shrink:0}.tab-item:hover{background:var(--toolbar-hover);color:var(--text)}.tab-item.active{background:var(--toolbar-bg);color:var(--text);font-weight:600}.tab-label{display:flex;align-items:center;gap:5px;pointer-events:none}.tab-saved-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.6;flex-shrink:0}.tab-rename-input{background:transparent;border:none;border-bottom:1px solid var(--accent);color:var(--text);font-size:12px;font-family:inherit;outline:none;width:80px;padding:0}.tab-close{display:flex;align-items:center;justify-content:center;width:15px;height:15px;border:none!important;background:transparent!important;color:var(--text-muted);font-size:15px;line-height:1;padding:0!important;border-radius:3px;opacity:0;transition:opacity .1s,background .1s;flex-shrink:0}.tab-item:hover .tab-close,.tab-item.active .tab-close{opacity:1}.tab-close:hover{background:var(--toolbar-hover)!important;color:var(--text)!important}.tab-add{width:24px;height:24px;border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:6px;font-size:16px;line-height:1;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tab-add:hover{color:var(--text);border-color:var(--accent)}.tf-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:195px;max-height:520px;overflow-y:auto;scrollbar-width:thin;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;padding:0;z-index:1001;box-shadow:0 8px 24px #00000059}.tf-dropdown-add-custom{display:block;width:100%;text-align:left;padding:9px 14px;font-size:12.5px;color:var(--text-muted);background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer}.tf-dropdown-add-custom:hover{background:var(--toolbar-hover);color:var(--text)}.tf-dropdown-add-row{display:flex;gap:6px;padding:6px 10px 8px;align-items:center;border-bottom:1px solid var(--border)}.tf-dropdown-input{flex:1;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:5px 8px;font-size:12px;outline:none}.tf-dropdown-input:focus{border-color:var(--accent)}.tf-dropdown-add-btn{padding:5px 10px;font-size:12px;border-radius:5px;background:var(--accent);color:#fff;border:none;cursor:pointer}.tf-dropdown-add-btn:disabled{opacity:.4;cursor:not-allowed}.tf-dropdown-group-hdr{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 14px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:transparent;border:none;cursor:pointer}.tf-dropdown-group-hdr:hover{background:var(--toolbar-hover)}.tf-dropdown-chevron{font-size:10px;display:inline-block;transition:transform .15s;line-height:1}.tf-dropdown-chevron.collapsed{transform:rotate(180deg)}.tf-dropdown-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 14px 5px 22px;font-size:13px;color:var(--text);background:transparent;border:none;cursor:pointer;text-align:left}.tf-dropdown-row:hover{background:var(--toolbar-hover)}.tf-dropdown-row.active{background:var(--accent);color:#fff}.tf-dropdown-row.active .tf-star{color:#fff}.tf-star{color:var(--text-muted, #555);font-size:12px;flex-shrink:0;transition:color .1s}.tf-star.favorited{color:#f5a623}.tf-star-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 3px;background:transparent;border:none;cursor:pointer;border-radius:3px;line-height:1}.tf-star-btn:hover{background:#80808026}.roll-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:150px;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;padding:4px 0;z-index:1001;box-shadow:0 8px 24px #00000059}.roll-dropdown-item{display:block;width:100%;text-align:left;padding:7px 14px;font-size:12.5px;color:var(--text);background:transparent;border:none;cursor:pointer}.roll-dropdown-item:hover{background:var(--toolbar-hover)}.roll-dropdown-item.active{background:var(--accent);color:#fff}.layout-menu-root{position:relative}.layout-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;padding:6px 0;z-index:1000;box-shadow:0 8px 24px #00000059}.layout-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 14px;background:transparent;border:none!important;border-radius:0!important;color:var(--text);font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout-menu-icon{width:13px;height:13px;flex-shrink:0;opacity:.75}.layout-dropdown-item:hover{background:var(--toolbar-hover);border-color:transparent!important}.layout-dropdown-divider{height:1px;background:var(--border);margin:4px 0}.layout-dropdown-section{padding:4px 14px 3px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.layout-dropdown-empty,.layout-dropdown-error{padding:7px 14px;font-size:12px;color:var(--text-muted)}.layout-dropdown-error{color:var(--down)}.layout-save-form{padding:10px 14px;display:flex;flex-direction:column;gap:8px}.layout-save-label{font-size:12px;color:var(--text-muted)}.layout-save-input{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:13px;padding:5px 8px;outline:none;font-family:inherit;width:100%}.layout-save-input:focus{border-color:var(--accent)}.layout-save-actions{display:flex;gap:6px;justify-content:flex-end}.layout-dropdown-item--current{color:var(--accent);font-weight:600}.layout-autosave-row{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.layout-autosave-icon{display:flex;align-items:center}.layout-autosave-status{margin-left:auto;font-size:11px}.layout-toggle-switch{position:relative;display:inline-block;width:32px;height:18px;border-radius:9px;background:var(--border);cursor:pointer;flex-shrink:0;transition:background .2s}.layout-toggle-switch.on{background:var(--toggle-track)}.layout-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--toggle-thumb);transition:transform .2s;pointer-events:none}.layout-toggle-switch.on .layout-toggle-thumb{transform:translate(14px)}.layout-autosave-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--up);flex-shrink:0;animation:autosave-pulse 2s ease-in-out infinite}@keyframes autosave-pulse{0%,to{opacity:1}50%{opacity:.35}}.toolbar-sep{width:1px;align-self:stretch;background:var(--border);margin:3px 2px;flex-shrink:0}.drawing-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.drawing-ctx-menu{position:fixed;z-index:9999;background:var(--toolbar-bg, #111);border:1px solid var(--border);border-radius:6px;padding:4px 0;min-width:130px;box-shadow:0 4px 16px #00000040}.drawing-ctx-item{display:block;width:100%;background:none;border:none;color:var(--text, #e0e0e0);font-size:13px;text-align:left;padding:6px 14px;cursor:pointer}.drawing-ctx-item:hover{background:var(--toolbar-hover, #222)}.ind-trigger{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:transparent;color:var(--text-muted);border:1px solid transparent;border-radius:6px;font-size:12.5px;font-family:inherit;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.ind-trigger:hover,.ind-trigger.active{background:var(--toolbar-hover);color:var(--text)}.ind-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:24px}.ind-dialog{background:var(--toolbar-bg);border:1px solid var(--border);border-radius:12px;width:520px;max-width:100%;max-height:82vh;display:flex;flex-direction:column;box-shadow:var(--shadow-dialog);overflow:hidden}.ind-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.ind-title{font-weight:700;font-size:14.5px;color:var(--text)}.ind-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:4px}.ind-close:hover{color:var(--text);background:var(--toolbar-hover)}.ind-search-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.ind-search-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13.5px;font-family:inherit}.ind-search-input::placeholder{color:var(--text-muted)}.ind-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px}.ind-search-clear:hover{color:var(--text)}.ind-tabs{display:flex;gap:0;padding:8px 12px 0;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.ind-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-size:12.5px;font-family:inherit;font-weight:500;padding:6px 14px 8px;white-space:nowrap;transition:color .12s,border-color .12s}.ind-tab:hover{color:var(--text)}.ind-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.ind-source-tabs{display:flex;gap:0;padding:0 6px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--toolbar-bg)}.ind-source-tab{display:inline-flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-size:13px;font-family:inherit;font-weight:500;padding:10px 16px 9px;white-space:nowrap;transition:color .12s,border-color .12s,background .12s}.ind-source-tab:hover{color:var(--text);background:var(--toolbar-hover)}.ind-source-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.ind-source-tab svg{flex-shrink:0;opacity:.7}.ind-source-tab.active svg{opacity:1;stroke:var(--primary)}.ind-list-price{flex-shrink:0;font-size:12px;font-weight:700;color:var(--success);padding:2px 8px;border-radius:4px;background:var(--success-bg);white-space:nowrap}.ind-list-badge.community{color:var(--success);background:var(--success-bg)}.ind-list-wrap{flex:1;overflow-y:auto;padding:0 0 8px;min-height:0}.ind-empty{padding:36px;text-align:center;color:var(--text-muted);font-size:13px}.ind-section-hdr{display:flex;align-items:center;gap:8px;padding:10px 18px 6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border)}.ind-section-count{font-size:10px;background:var(--toolbar-hover);color:var(--text-muted);padding:1px 6px;border-radius:10px;font-weight:600}.ind-list-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 18px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-family:inherit;transition:background .1s}.ind-list-row:last-child{border-bottom:none}.ind-list-row:hover{background:var(--toolbar-hover)}.ind-list-row.added{background:var(--success-bg)}.ind-list-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ind-list-name{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ind-list-meta{font-size:11px;color:var(--text-muted)}.ind-list-badge{flex-shrink:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:4px}.ind-list-badge.overlay{color:var(--primary);background:var(--primary-bg)}.ind-list-badge.pane{color:var(--text-muted);background:var(--toolbar-hover)}.ind-list-add{flex-shrink:0;font-size:11.5px;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .12s;white-space:nowrap}.ind-list-row:hover .ind-list-add{opacity:1}.ind-list-row.added .ind-list-add{opacity:1;color:var(--success)}.sym-trigger{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;color:var(--text-muted);border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.sym-trigger:hover{background:var(--toolbar-hover);color:var(--text)}.sym-trigger svg{flex-shrink:0;opacity:.6}.sym-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:24px}.sym-dialog{background:var(--toolbar-bg);border:1px solid var(--border);border-radius:10px;width:680px;max-width:100%;max-height:82vh;display:flex;flex-direction:column;box-shadow:var(--shadow-dialog);overflow:hidden}.sym-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px;flex-shrink:0;border-bottom:1px solid var(--border)}.sym-header-title{font-size:13.5px;font-weight:600;color:var(--text)}.sym-header-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:4px;transition:color .1s,background .1s}.sym-header-close:hover{color:var(--text);background:var(--toolbar-hover)}.sym-search-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.sym-search-icon{color:var(--text-muted);flex-shrink:0}.sym-search-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:14px;font-family:inherit}.sym-search-input::placeholder{color:var(--text-muted)}.sym-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;flex-shrink:0;transition:color .1s}.sym-search-clear:hover{color:var(--text)}.sym-tabs{display:flex;gap:4px;padding:8px 14px;flex-shrink:0;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.sym-tabs::-webkit-scrollbar{display:none}.sym-tab{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;font-family:inherit;font-weight:500;padding:4px 12px;white-space:nowrap;border-radius:20px;transition:background .12s,color .12s}.sym-tab:hover{background:var(--toolbar-hover);color:var(--text)}.sym-tab.active{background:var(--text);color:var(--toolbar-bg);font-weight:600}.sym-list-wrap{flex:1;overflow-y:auto;min-height:0}.sym-empty{padding:36px;text-align:center;color:var(--text-muted);font-size:13px}.sym-sentinel{height:1px;flex-shrink:0}.sym-loading-more{padding:10px;text-align:center;color:var(--text-muted);font-size:12px}.sym-list{display:flex;flex-direction:column}.sym-row{display:flex;align-items:center;gap:10px;padding:7px 14px;background:none;border:none;cursor:pointer;text-align:left;width:100%;min-height:46px;transition:background .1s;border-bottom:1px solid transparent}.sym-row:hover{background:var(--toolbar-hover)}.sym-row.active{background:var(--primary-bg)}.sym-row+.sym-row{border-top:1px solid var(--border)}.sym-group-parent{position:relative;display:flex;align-items:stretch}.sym-group-parent .sym-row{flex:1;min-width:0}.sym-group-parent+.sym-group-parent .sym-row,.sym-group-parent+.sym-row,.sym-row+.sym-group-parent .sym-row{border-top:1px solid var(--border)}.sym-expand-btn{display:flex;align-items:center;justify-content:center;width:30px;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0;flex-shrink:0;border-left:1px solid var(--border)}.sym-expand-btn:hover{background:var(--toolbar-hover);color:var(--text)}.sym-row-child{padding-left:38px;background:var(--bg-secondary, rgba(0,0,0,.04))}.sym-row-child+.sym-row-child{border-top:1px solid var(--border)}.sym-row-child .sym-row-icon{width:24px;height:24px;font-size:11px}.sym-row-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0;overflow:hidden}.sym-logo-img{width:100%;height:100%;object-fit:contain;border-radius:50%;display:block}.sym-row-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:1px}.sym-row-ticker{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.sym-row-name{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.sym-row-dates{font-size:10px;color:var(--text-muted);opacity:.7;white-space:nowrap}.sym-row-expired{opacity:.5}.sym-expired-tag{color:#e57373;font-weight:600;font-size:9px;letter-spacing:.3px;margin-left:4px}.sym-row-badge{font-size:10px;color:var(--text-muted);background:var(--toolbar-hover);border-radius:4px;padding:2px 7px;white-space:nowrap;flex-shrink:0;border:1px solid var(--border)}.sym-row-exchange{font-size:11.5px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;min-width:60px;text-align:right}.sym-row-exch-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0}.sym-footer{padding:8px 14px;font-size:11px;color:var(--text-muted);text-align:center;border-top:1px solid var(--border);flex-shrink:0}select{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;font-family:inherit;outline:none}.bottom-bar{display:flex;align-items:center;justify-content:space-between;padding:0 8px;height:24px;background:var(--toolbar-bg);border-radius:8px;flex-shrink:0}.bottom-bar-left,.bottom-bar-right{display:flex;align-items:center;gap:4px;position:relative}.bottom-bar-btn{display:flex;align-items:center;gap:5px;padding:2px 8px;background:transparent;border:none!important;border-radius:4px;color:var(--text-muted);font-size:12px;cursor:pointer;white-space:nowrap}.bottom-bar-btn:hover{background:var(--toolbar-hover);color:var(--text)}.bottom-bar-btn.active{color:var(--text);background:var(--toolbar-hover)}.bottom-bar-clock{display:flex;align-items:center;padding:2px 6px;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.03em;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.bottom-bar-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:220px;max-height:360px;overflow-y:auto;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;padding:4px 0;z-index:1000;box-shadow:0 -8px 24px #00000059;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.bottom-bar-dropdown::-webkit-scrollbar{width:5px}.bottom-bar-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.bottom-bar-dropdown-section{padding:4px 14px 3px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;pointer-events:none}.bottom-bar-dropdown-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:6px 14px 6px 30px;background:transparent;border:none!important;border-radius:0;color:var(--text);font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.bottom-bar-dropdown-item:hover{background:var(--toolbar-hover)}.bottom-bar-dropdown-item.current{color:var(--accent)}.bottom-bar-check{position:absolute;left:10px;color:var(--accent);font-size:11px}.bottom-bar-dropdown--right{left:auto;right:0;min-width:260px}.bottom-bar-session-label{display:flex;flex-direction:column;gap:2px;white-space:normal;line-height:1.3}.bottom-bar-session-label strong{font-size:13px;font-weight:600;color:var(--text)}.bottom-bar-session-label span{font-size:11px;color:var(--text-muted)}.fp-shell{position:fixed;z-index:200;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #00000073;display:flex;flex-direction:column;overflow:hidden;min-width:200px;min-height:120px}.fp-titlebar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none;background:var(--toolbar-bg)}.fp-titlebar:active{cursor:grabbing}.fp-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--text);pointer-events:none}.fp-close{background:none;border:none!important;color:var(--text-muted);padding:4px;display:flex;align-items:center;border-radius:4px;cursor:pointer;flex-shrink:0}.fp-close:hover{color:var(--text);background:var(--toolbar-hover)!important}.fp-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.fp-resize{position:absolute;z-index:10}.fp-resize-n{top:-3px;left:8px;right:8px;height:6px;cursor:n-resize}.fp-resize-s{bottom:-3px;left:8px;right:8px;height:6px;cursor:s-resize}.fp-resize-e{right:-3px;top:8px;bottom:8px;width:6px;cursor:e-resize}.fp-resize-w{left:-3px;top:8px;bottom:8px;width:6px;cursor:w-resize}.fp-resize-nw{top:-3px;left:-3px;width:12px;height:12px;cursor:nw-resize}.fp-resize-ne{top:-3px;right:-3px;width:12px;height:12px;cursor:ne-resize}.fp-resize-sw{bottom:-3px;left:-3px;width:12px;height:12px;cursor:sw-resize}.fp-resize-se{bottom:-3px;right:-3px;width:12px;height:12px;cursor:se-resize}.script-drawer{flex-shrink:0;align-self:stretch;position:relative;display:flex;flex-direction:column;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-height:0}.script-drawer-resize{position:absolute;left:-3px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:10;border-radius:8px 0 0 8px}.script-drawer-resize:hover,.script-drawer-resize:active{background:var(--accent);opacity:.35}.script-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 16px;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.script-drawer-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none}.script-close-btn{display:flex;align-items:center;justify-content:center;background:none;border:none!important;border-radius:4px!important;color:var(--text-muted);cursor:pointer;padding:4px;flex-shrink:0}.script-close-btn:hover{background:var(--toolbar-hover)!important;color:var(--text)}.script-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.script-header-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid var(--border)!important;border-radius:4px!important;color:var(--text-muted);cursor:pointer;padding:3px 8px;font-size:11px;font-weight:500;white-space:nowrap;transition:background .12s,color .12s}.script-header-btn:hover{background:var(--toolbar-hover)!important;color:var(--text)}.script-header-btn:disabled{opacity:.5;cursor:default}.script-my-scripts-wrap{position:relative}.script-my-scripts-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:260px;max-height:340px;overflow-y:auto;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 20px #00000059;z-index:100;padding:4px 0}.script-my-scripts-empty{padding:14px 16px;font-size:12px;color:var(--text-muted);text-align:center}.script-save-name-prompt{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}.script-save-name-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;padding:4px 8px;outline:none}.script-save-name-input:focus{border-color:var(--accent)}.script-save-name-confirm{background:var(--accent);color:#fff;border:none!important;border-radius:4px!important;font-size:11px;font-weight:600;padding:4px 10px;cursor:pointer;white-space:nowrap}.script-save-name-confirm:hover{opacity:.9}.script-save-name-confirm:disabled{opacity:.5;cursor:default}.script-my-scripts-item{display:flex;align-items:center;gap:4px;padding:0 4px 0 0}.script-my-scripts-load{flex:1;display:flex;align-items:center;gap:8px;background:none;border:none!important;border-radius:0!important;color:var(--text);font-size:12px;padding:8px 10px;cursor:pointer;text-align:left;overflow:hidden}.script-my-scripts-load:hover{background:var(--toolbar-hover)!important}.script-my-scripts-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-my-scripts-delete{display:flex;align-items:center;justify-content:center;background:none;border:none!important;border-radius:3px!important;color:var(--text-muted);cursor:pointer;padding:4px;flex-shrink:0;opacity:.5;transition:opacity .12s,color .12s}.script-my-scripts-delete:hover{opacity:1;color:var(--down, #ef5350);background:var(--toolbar-hover)!important}.script-lang-badge{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 5px;border-radius:3px;flex-shrink:0;line-height:1}.script-lang-badge.forge{background:#2962ff26;color:#2962ff}.script-lang-badge.pine{background:#ff980026;color:#ff9800}.script-lang-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.script-lang-tab{flex:1;background:none;border:none!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:var(--text-muted);font-size:12.5px;font-weight:500;padding:8px 12px;cursor:pointer;transition:color .12s,border-color .12s}.script-lang-tab:hover{color:var(--text)}.script-lang-tab.active{color:var(--accent);border-bottom-color:var(--accent)!important;font-weight:600}.script-ref-section{border-bottom:1px solid var(--border);flex-shrink:0}.script-ref-toggle{width:100%;display:flex;align-items:center;gap:7px;background:none;border:none!important;border-radius:0!important;color:var(--text-muted);font-size:12px;text-align:left;padding:8px 14px;cursor:pointer}.script-ref-toggle:hover{background:var(--toolbar-hover)!important;color:var(--text)}.script-ref-body{padding:8px 14px 12px;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.script-ref-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:4px}.script-feature-list{display:flex;flex-wrap:wrap;gap:4px}.script-feature-pill{font-size:11px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;padding:2px 8px;border-radius:4px;cursor:default}.script-feature-pill.series{background:var(--primary-bg);color:#64b5f6}.script-feature-pill.barstate{background:#ab47bc1f;color:#ab47bc}.script-feature-pill.ta{background:#66bb6a1f;color:#81c784}.script-feature-pill.output{background:#ef53501f;color:#ef5350}.script-feature-pill.math{background:#ffb74d1f;color:#ffb74d}.script-feature-pill.color{background:#4dd0e11f;color:#4dd0e1}.script-feature-pill.str{background:#ff8a651f;color:#ff8a65}.script-feature-pill.util{background:#ce93d81f;color:#ce93d8}[data-theme=light] .script-feature-pill.series{background:var(--primary-bg);color:var(--primary)}[data-theme=light] .script-feature-pill.barstate{background:#6a1b9a1a;color:#6a1b9a}[data-theme=light] .script-feature-pill.ta{background:#388e3c1a;color:#2e7d32}[data-theme=light] .script-feature-pill.output{background:#c628281a;color:#c62828}[data-theme=light] .script-feature-pill.math{background:#e651001a;color:#e65100}[data-theme=light] .script-feature-pill.color{background:#0097a71a;color:#00838f}[data-theme=light] .script-feature-pill.str{background:#bf360c1a;color:#bf360c}[data-theme=light] .script-feature-pill.util{background:#7b1fa21a;color:#7b1fa2}.script-ref-detail{margin-top:4px;display:flex;flex-direction:column;gap:3px}.script-ref-row{display:flex;gap:8px;align-items:baseline;font-size:11px}.script-ref-fn{font-family:JetBrains Mono,Fira Code,monospace;color:var(--text);white-space:nowrap;flex-shrink:0;font-size:10.5px}.script-ref-desc{color:var(--text-muted);font-size:10.5px}.script-editor-wrap{flex:1;display:flex;min-height:0;border-bottom:1px solid var(--border);position:relative}.script-converting-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#00000059}.script-converting-spinner{width:36px;height:36px;border:3px solid transparent;border-top-color:var(--primary, #2196f3);border-radius:50%;animation:script-spin .8s linear infinite}.script-converting-label{font-size:12px;font-weight:500;color:var(--primary, #2196f3);letter-spacing:.5px}@keyframes script-spin{to{transform:rotate(360deg)}}.script-editor{flex:1;width:100%;background:var(--bg);color:var(--text);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6;resize:none;border:none;outline:none;padding:12px 14px;-moz-tab-size:2;tab-size:2}.script-errors{background:#ef535014;border-bottom:1px solid rgba(239,83,80,.25);padding:8px 14px;display:flex;flex-direction:column;gap:4px;flex-shrink:0;max-height:100px;overflow-y:auto}.script-error-line{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;color:var(--down, #ef5350);line-height:1.5}.script-autofix-btn{display:flex;align-items:center;gap:5px;margin-top:4px;padding:4px 10px;font-size:11px;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:4px;cursor:pointer;align-self:flex-start}.script-autofix-btn:hover:not(:disabled){opacity:.85}.script-autofix-btn:disabled{opacity:.4;cursor:default}.script-footer{display:flex;align-items:center;gap:10px;padding:10px 14px;flex-shrink:0}.script-overlay-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1}.script-overlay-label input[type=checkbox]{cursor:pointer}.script-run-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg);color:var(--text);border:1.5px solid var(--text)!important;border-radius:5px;font-size:12.5px;font-weight:600;cursor:pointer;transition:opacity .15s,background .15s;white-space:nowrap}.script-run-btn:hover{background:var(--toolbar-hover);opacity:1}[data-theme=light] .script-run-btn{background:var(--text);color:var(--bg);border-color:var(--text)!important}[data-theme=light] .script-run-btn:hover{opacity:.85}.script-conversion-review{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-bottom:1px solid var(--border)}.script-conversion-header{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:600;color:var(--up, #4caf50);border-bottom:1px solid var(--border);flex-shrink:0}.script-security-warning{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;padding:8px 10px;background:#ff98001f;border:1px solid rgba(255,152,0,.4);border-radius:5px;font-size:11px;line-height:1.5;color:var(--text-primary, #e0e0e0)}.script-security-warning svg{color:#ff9800;margin-top:1px}.script-security-warning strong{color:#ff9800}.script-security-warning code{font-family:monospace;font-size:10px;background:#ffffff12;padding:1px 3px;border-radius:3px}.script-conversion-ok{display:flex;align-items:center;gap:6px;padding:7px 14px;font-size:11.5px;color:var(--up, #4caf50);background:#4caf500f;border-bottom:1px solid rgba(76,175,80,.15);flex-shrink:0}.script-conversion-warnings{padding:8px 14px 10px;background:#ffb74d12;border-bottom:1px solid rgba(255,183,77,.2);display:flex;flex-direction:column;gap:3px;flex-shrink:0;max-height:130px;overflow-y:auto}.script-conversion-warn-title{font-size:11px;font-weight:600;color:var(--warn, #ffb74d);margin-bottom:3px}.script-conversion-warn-row{display:flex;align-items:baseline;gap:6px;font-size:11px;color:var(--text-muted);line-height:1.5}.script-conversion-warn-dot{color:var(--warn, #ffb74d);flex-shrink:0}.script-conversion-preview-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:7px 14px 3px;flex-shrink:0}.script-conversion-preview-wrap{flex:1;display:flex;min-height:0}.script-conversion-preview{opacity:.72;cursor:default;-webkit-user-select:text;user-select:text}.script-pipeline-details{padding:6px 10px 2px;display:flex;flex-direction:column;gap:3px;font-size:11px;max-height:200px;overflow-y:auto;flex-shrink:0}.script-pipeline-row{display:flex;align-items:center;gap:6px}.script-pipeline-label{color:var(--text-muted, #888);min-width:68px}.script-pipeline-value{color:var(--text, #ccc)}.script-pipeline-value.ok{color:var(--up, #26a69a)}.script-pipeline-value.fail{color:var(--down, #ef5350)}.script-pipeline-badge{display:inline-block;padding:1px 7px;border-radius:4px;font-weight:600;font-size:10px;letter-spacing:.5px}.script-confidence-high{background:#26a69a2e;color:var(--up, #26a69a)}.script-confidence-medium{background:#ffb74d2e;color:#ffb74d}.script-confidence-low{background:#ef53502e;color:var(--down, #ef5350)}.script-pipeline-section{padding:4px 0 2px}.script-pipeline-section-title{font-size:10px;font-weight:600;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.script-approve-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--primary);color:#fff;border:1.5px solid var(--primary)!important;border-radius:5px;font-size:12.5px;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.script-approve-btn:hover{opacity:.85}.script-cancel-btn{display:inline-flex;align-items:center;padding:6px 14px;background:none;color:var(--text-muted);border:1.5px solid var(--border)!important;border-radius:5px;font-size:12.5px;font-weight:500;cursor:pointer;transition:color .12s,border-color .12s;white-space:nowrap}.script-cancel-btn:hover{color:var(--text);border-color:var(--text-muted)!important}.dataset-panel{border-top:1px solid var(--border, #333);flex-shrink:0}.dataset-panel-toggle{display:flex;align-items:center;gap:7px;width:100%;padding:8px 14px;background:none;border:none;color:var(--text-muted, #888);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;text-align:left;transition:color .12s,background .12s}.dataset-panel-toggle:hover{color:var(--text, #e0e0e0);background:var(--toolbar-hover, rgba(255,255,255,.04))}.dataset-panel-body{padding:0 14px 12px;display:flex;flex-direction:column;gap:10px}.dataset-list{display:flex;flex-direction:column;gap:4px}.dataset-list-label{font-size:10.5px;font-weight:600;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.dataset-list-item{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--toolbar-hover, rgba(255,255,255,.04));border-radius:5px;border:1px solid var(--border, #333)}.dataset-list-item-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.dataset-list-item-name{font-size:12px;font-weight:600;color:var(--text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataset-list-item-meta{font-size:10.5px;color:var(--text-muted, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataset-remove-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--text-muted, #888);cursor:pointer;border-radius:3px;transition:color .12s,background .12s}.dataset-remove-btn:hover{color:var(--down, #ef5350);background:#ef53501a}.dataset-form{display:flex;flex-direction:column;gap:7px}.dataset-form-label{font-size:10.5px;font-weight:600;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.4px}.dataset-name-input{width:100%;padding:6px 10px;background:var(--bg, #1a1a1a);color:var(--text, #e0e0e0);border:1px solid var(--border, #333);border-radius:5px;font-size:12px;outline:none;box-sizing:border-box;transition:border-color .12s}.dataset-name-input:focus{border-color:var(--primary, #2196f3)}.dataset-name-input::placeholder{color:var(--text-muted, #888)}.dataset-upload-row{display:flex;align-items:center;gap:8px}.dataset-upload-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--toolbar-hover, rgba(255,255,255,.06));color:var(--text, #e0e0e0);border:1px solid var(--border, #333);border-radius:5px;font-size:11.5px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.dataset-upload-btn:hover{background:var(--primary, #2196f3);border-color:var(--primary, #2196f3);color:#fff}.dataset-upload-hint{font-size:11px;color:var(--text-muted, #888)}.dataset-paste-area{width:100%;padding:8px 10px;background:var(--bg, #1a1a1a);color:var(--text, #e0e0e0);border:1px solid var(--border, #333);border-radius:5px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:11px;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .12s}.dataset-paste-area:focus{border-color:var(--primary, #2196f3)}.dataset-paste-area::placeholder{color:var(--text-muted, #888);opacity:.7}.dataset-preview{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;color:var(--up, #26a69a);line-height:1.5}.dataset-error{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;color:var(--down, #ef5350);line-height:1.5}.dataset-register-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;background:var(--primary, #2196f3);color:#fff;border:none;border-radius:5px;font-size:12.5px;font-weight:600;cursor:pointer;transition:opacity .12s;align-self:flex-start}.dataset-register-btn:hover:not(:disabled){opacity:.85}.dataset-register-btn:disabled{opacity:.35;cursor:default}.dataset-usage-hint{font-size:11px;color:var(--text-muted, #888);line-height:1.6}.dataset-usage-hint code{background:var(--toolbar-hover, rgba(255,255,255,.06));border:1px solid var(--border, #333);border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,Fira Code,monospace;font-size:10.5px;color:var(--primary, #2196f3)}.script-chat-section{border-top:1px solid var(--border, #333);padding:6px 10px 8px;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.script-chat-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.script-chat-history{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:2px 0;scrollbar-width:thin}.script-chat-msg{font-size:11.5px;line-height:1.45}.script-chat-msg-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-bottom:1px}.script-chat-user .script-chat-msg-role{color:var(--accent, #42a5f5)}.script-chat-assistant .script-chat-msg-role{color:var(--up, #26a69a)}.script-chat-msg-body{color:var(--text, #ccc);white-space:pre-wrap;word-break:break-word}.script-chat-code-applied{margin-top:3px;font-size:10px;color:var(--up, #26a69a);font-style:italic}.script-chat-input-row{display:flex;gap:4px}.script-chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:5px 8px;font-size:12px;font-family:inherit;outline:none}.script-chat-input:focus{border-color:var(--accent, #42a5f5)}.script-chat-input:disabled{opacity:.5}.script-chat-send{padding:4px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;line-height:1}.script-chat-send:hover:not(:disabled){opacity:.85}.script-chat-send:disabled{opacity:.4;cursor:default}.ss-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:170px;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;padding:4px 0;z-index:1001;box-shadow:0 8px 24px #00000059}.ss-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;font-size:13px;color:var(--text);background:transparent;border:none;cursor:pointer;text-align:left}.ss-dropdown-item:hover{background:var(--toolbar-hover)}[data-theme=light] button{border-color:transparent;background:transparent}[data-theme=light] button:hover{border-color:transparent;background:var(--toolbar-hover)}[data-theme=light] button.active{border-color:transparent;background:var(--toolbar-hover);color:var(--accent)}[data-theme=light] .ss-btn-primary,[data-theme=light] .tf-dropdown-add-btn,[data-theme=light] .csettings-btn--primary{background:var(--primary);color:#fff;border-color:transparent}[data-theme=light] .csettings-btn--primary:hover{background:#1976d2}[data-theme=light] .csettings-btn--ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}[data-theme=light] .tf-dropdown-item.active{background:var(--accent);color:var(--toolbar-bg)}[data-theme=light] .tf-dropdown-item{border-color:transparent}[data-theme=light] .tab-add{border-color:var(--border);background:var(--bg)}[data-theme=light] .tab-add:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}[data-theme=light] .ind-list-badge.pane{background:#00000012}[data-theme=light] .tf-dropdown,[data-theme=light] .layout-dropdown,[data-theme=light] .ss-dropdown,[data-theme=light] .ind-dialog,[data-theme=light] .drawing-ctx-menu{border-color:var(--border);box-shadow:0 8px 24px #0000001a}.chart-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.chart-ctx-menu{position:fixed;z-index:9999;background:var(--toolbar-bg, #141414);border:1px solid var(--border);border-radius:6px;padding:4px 0;min-width:180px;box-shadow:0 4px 20px #00000059;-webkit-user-select:none;user-select:none}.chart-ctx-item{display:block;width:100%;background:none;border:none;color:var(--text, #e0e0e0);font-size:13px;font-family:inherit;text-align:left;padding:7px 16px;cursor:pointer;transition:background .1s}.chart-ctx-item:hover{background:var(--toolbar-hover, rgba(255,255,255,.08))}.chart-ctx-item--danger{color:var(--down, #f85149)}.chart-ctx-divider{height:1px;background:var(--border);margin:4px 0}.csettings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--backdrop, rgba(0,0,0,.55));display:flex;align-items:center;justify-content:center}.csettings-dialog{background:var(--toolbar-bg, #141414);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-dialog);width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.csettings-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.csettings-title{font-size:14px;font-weight:600;color:var(--text, #fff)}.csettings-close{background:none;border:none;color:var(--text-muted, #888);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.csettings-close:hover{color:var(--text, #fff);background:var(--toolbar-hover)}.csettings-body{display:flex;flex:1;overflow:hidden}.csettings-sidebar{width:130px;flex-shrink:0;border-right:1px solid var(--border);padding:8px 0;overflow-y:auto}.csettings-nav-item{display:block;width:100%;background:none;border:none;color:var(--text-muted, #888);font-size:13px;font-family:inherit;text-align:left;padding:8px 16px;cursor:pointer;transition:background .1s,color .1s}.csettings-nav-item:hover{background:var(--toolbar-hover);color:var(--text, #fff)}.csettings-nav-item.is-active{color:var(--text, #fff);background:var(--primary-bg, rgba(33,150,243,.12));border-left:2px solid var(--primary, #2196f3);padding-left:14px}.csettings-content{flex:1;overflow-y:auto;padding:16px 20px}.csettings-section{display:flex;flex-direction:column;gap:16px}.csettings-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.csettings-label{font-size:13px;color:var(--text, #e0e0e0);flex:1}.csettings-color-wrap{display:flex;align-items:center;gap:8px}.csettings-color-input{width:32px;height:24px;border:1px solid var(--border);border-radius:4px;padding:2px;background:none;cursor:pointer}.csettings-color-hex{font-size:12px;color:var(--text-muted, #888);font-family:monospace;min-width:56px}.csettings-range-wrap{display:flex;align-items:center;gap:10px}.csettings-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:4px;border-radius:2px;background:var(--border, #333);outline:none;cursor:pointer}.csettings-range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary, #2196f3);border:none;cursor:pointer}.csettings-range-input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary, #2196f3);border:none;cursor:pointer}.csettings-range-value{font-size:12px;color:var(--text-muted, #888);font-family:monospace;min-width:36px;text-align:right}.csettings-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer}.csettings-toggle input{position:absolute;opacity:0;width:0;height:0}.csettings-toggle-track{display:inline-block;width:36px;height:20px;background:var(--border);border-radius:10px;transition:background .2s;position:relative}.csettings-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:var(--text-muted, #888);border-radius:50%;transition:transform .2s,background .2s}.csettings-toggle input:checked+.csettings-toggle-track{background:var(--primary, #2196f3)}.csettings-toggle input:checked+.csettings-toggle-track:after{transform:translate(16px);background:#fff}.csettings-group-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #888);padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid var(--border)}.csettings-color-pair{display:flex;align-items:center;gap:6px}.csettings-inline-check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text, #e0e0e0)}.csettings-inline-check input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary, #2196f3);cursor:pointer}.csettings-select{padding:4px 8px;font-size:13px;font-family:inherit;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface, #1e1e1e);color:var(--text, #e0e0e0);cursor:pointer;min-width:120px}.csettings-select:focus{outline:none;border-color:var(--primary, #2196f3)}.csettings-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--border);flex-shrink:0}.csettings-btn{padding:6px 18px;border-radius:6px;font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.csettings-btn--ghost{background:none;border:1px solid var(--border);color:var(--text-muted, #888)}.csettings-btn--ghost:hover{border-color:var(--text-muted);color:var(--text, #fff)}.csettings-btn--primary{background:var(--primary, #2196f3);border:1px solid transparent;color:#fff;font-weight:500}.csettings-btn--primary:hover{background:#1976d2}.csettings-template-area{position:relative}.csettings-template-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted, #888);font-size:13px;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.csettings-template-btn:hover{border-color:var(--text-muted);color:var(--text, #fff)}.csettings-template-caret{font-size:10px;margin-left:2px}.csettings-template-menu{position:absolute;bottom:calc(100% + 6px);left:0;min-width:200px;background:var(--bg-elevated, #23262b);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #00000059;z-index:100;padding:4px 0}.csettings-template-menu-item{display:block;width:100%;padding:7px 14px;background:none;border:none;color:var(--text, #fff);font-size:13px;font-family:inherit;text-align:left;cursor:pointer}.csettings-template-menu-item:hover{background:var(--hover-bg, rgba(255,255,255,.06))}.csettings-template-divider{height:1px;background:var(--border);margin:4px 0}.csettings-template-menu-row{display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 0}.csettings-template-menu-row .csettings-template-menu-item{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csettings-template-menu-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:4px;color:var(--text-muted, #888);font-size:14px;cursor:pointer}.csettings-template-menu-delete:hover{background:var(--hover-bg, rgba(255,255,255,.06));color:#e53935}.csettings-footer-actions{display:flex;align-items:center;gap:8px}.csettings-save-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10100}.csettings-save-dialog{background:var(--bg-elevated, #23262b);border:1px solid var(--border);border-radius:8px;padding:20px 24px;min-width:320px;box-shadow:0 8px 32px #00000073}.csettings-save-title{font-size:15px;font-weight:600;color:var(--text, #fff);margin-bottom:14px}.csettings-save-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg, #181a1e);color:var(--text, #fff);font-size:13px;font-family:inherit;outline:none;margin-bottom:16px;box-sizing:border-box}.csettings-save-input:focus{border-color:var(--primary, #2196f3)}.csettings-save-actions{display:flex;justify-content:flex-end;gap:8px}[data-theme=light] .chart-ctx-menu,[data-theme=light] .csettings-dialog{border-color:var(--border);box-shadow:0 8px 24px #0000001f}[data-theme=light] .csettings-nav-item.is-active{background:var(--primary-bg)}[data-theme=light] .csettings-select,[data-theme=light] .csettings-save-input{background:#fff;color:#1a1a1a;border-color:#ccc}[data-theme=light] .csettings-save-dialog,[data-theme=light] .csettings-template-menu{background:#fff;border-color:#ddd}[data-theme=light] .csettings-range-input{background:#ddd}:root{--wl-up: #26a641;--wl-down: #f85149}.wl-drawer{width:360px;flex-shrink:0;position:relative;display:flex;flex-direction:column;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-height:0}.wl-resize-handle{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:10}.wl-resize-handle:hover,.wl-resize-handle:active{background:var(--accent);opacity:.25}.wl-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.wl-header-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text)}.wl-close-btn{background:none;border:none!important;color:var(--text-muted);padding:4px;display:flex;align-items:center;border-radius:4px;cursor:pointer}.wl-close-btn:hover{color:var(--text);background:var(--toolbar-hover)!important}.wl-add-row{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.wl-add-input{flex:1;background:var(--toolbar-hover, rgba(255,255,255,.05));border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;padding:5px 8px;outline:none}.wl-add-input::placeholder{color:var(--text-muted)}.wl-add-input:focus{border-color:var(--accent)}.wl-add-btn{background:none;border:1px solid var(--border)!important;border-radius:5px;color:var(--text-muted);padding:5px 7px;display:flex;align-items:center;cursor:pointer}.wl-add-btn:hover{color:var(--text);background:var(--toolbar-hover)!important}.wl-add-error{font-size:11px;color:var(--wl-down);padding:3px 12px;flex-shrink:0}.wl-col-headers{display:grid;grid-template-columns:16px 1fr var(--wl-last, 70px) var(--wl-chg, 70px) var(--wl-pct, 60px) var(--wl-vol, 52px);gap:0;padding:4px 10px 4px 6px;border-bottom:1px solid var(--border);flex-shrink:0}.wl-col-headers>span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);position:relative;-webkit-user-select:none;user-select:none}.wl-col-last,.wl-col-chg,.wl-col-pct,.wl-col-vol{text-align:right}.wl-col-resize{position:absolute;right:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:3}.wl-col-resize:hover,.wl-col-resize:active{background:var(--accent, #2962ff);opacity:.35;border-radius:2px}.wl-list{flex:1;overflow-y:auto;min-height:0}.wl-list::-webkit-scrollbar{width:5px}.wl-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.wl-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:12.5px;line-height:1.6}.wl-group-header{display:flex;align-items:center;gap:5px;padding:5px 10px;background:#ffffff08;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.wl-group-toggle{background:none;border:none!important;color:var(--text-muted);padding:2px;cursor:pointer;display:flex;align-items:center;border-radius:3px}.wl-group-toggle:hover{color:var(--text);background:var(--toolbar-hover)!important}.wl-group-name{flex:1;font-size:11.5px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.04em}.wl-group-count{font-size:10px;color:var(--text-muted);background:#ffffff0f;border-radius:8px;padding:1px 6px}.wl-group-del{opacity:0;transition:opacity .15s}.wl-group-header:hover .wl-group-del{opacity:1}.wl-group-label-ungrouped{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 10px 3px}.wl-row{display:grid;grid-template-columns:16px 1fr var(--wl-last, 70px) var(--wl-chg, 70px) var(--wl-pct, 60px) var(--wl-vol, 52px) auto;align-items:center;gap:0;padding:5px 10px 5px 6px;border-bottom:1px solid var(--border);cursor:pointer;position:relative;transition:background .1s}.wl-row:hover{background:var(--toolbar-hover)}.wl-row.wl-drag-over{border-top:2px solid var(--accent, #2962ff)}.wl-drag-handle{display:flex;align-items:center;justify-content:center;width:14px;height:100%;color:var(--text-muted);opacity:0;cursor:grab;transition:opacity .12s;flex-shrink:0}.wl-row:hover .wl-drag-handle{opacity:.5}.wl-drag-handle:hover{opacity:1!important}.wl-logo{position:absolute;left:24px;top:50%;transform:translateY(-50%);width:12px;height:12px;object-fit:contain;border-radius:2px}.wl-symbol{font-size:12.5px;font-weight:600;color:var(--text);padding-left:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-last,.wl-change,.wl-pct,.wl-vol,.wl-no-data{font-size:11.5px;text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.wl-last{color:var(--text)}@keyframes wl-flash-up{0%{color:var(--wl-up, #26a69a)}to{color:var(--text)}}@keyframes wl-flash-down{0%{color:var(--wl-down, #ef5350)}to{color:var(--text)}}.wl-flash-up{animation:wl-flash-up .3s ease-out forwards}.wl-flash-down{animation:wl-flash-down .3s ease-out forwards}.wl-no-data{grid-column:2 / 6;text-align:right}.wl-remove-btn{background:none;border:none!important;color:var(--text-muted);font-size:10px;padding:2px 4px;cursor:pointer;opacity:0;border-radius:3px;transition:opacity .12s;justify-self:end}.wl-row:hover .wl-remove-btn,.wl-group-header:hover .wl-remove-btn{opacity:1}.wl-remove-btn:hover{color:var(--wl-down);background:#f851491a!important}.wl-ctx-menu{position:fixed;z-index:1000;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:7px;padding:4px;min-width:160px;box-shadow:0 6px 24px #00000080}.wl-ctx-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:4px 10px 2px}.wl-ctx-item{display:block;width:100%;text-align:left;background:none;border:none!important;border-radius:4px;color:var(--text);font-size:12.5px;padding:6px 10px;cursor:pointer}.wl-ctx-item:hover{background:var(--toolbar-hover)!important}.wl-ctx-item--danger{color:var(--wl-down)}.wl-ctx-item--danger:hover{background:#f851491a!important}.wl-ctx-divider{height:1px;background:var(--border);margin:3px 0}.wl-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:2000}.wl-dialog{background:var(--toolbar-bg);border:1px solid var(--border);border-radius:10px;padding:20px 22px;width:280px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 32px #0009}.wl-dialog-title{font-size:14px;font-weight:700;color:var(--text)}.wl-dialog-input{background:var(--toolbar-hover);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;padding:8px 10px;outline:none}.wl-dialog-input:focus{border-color:var(--accent)}.wl-dialog-input::placeholder{color:var(--text-muted)}.wl-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.wl-dialog-cancel{background:none;border:1px solid var(--border)!important;border-radius:6px;color:var(--text-muted);font-size:12.5px;padding:6px 14px;cursor:pointer}.wl-dialog-cancel:hover{background:var(--toolbar-hover)!important;color:var(--text)}.wl-dialog-confirm{background:var(--accent);border:none!important;border-radius:6px;color:var(--text);font-size:12.5px;font-weight:600;padding:6px 14px;cursor:pointer}.wl-dialog-confirm:hover{opacity:.85}.wl-dialog-confirm:disabled{opacity:.4;cursor:default}@keyframes trade-drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.trade-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000059;cursor:default}.trade-drawer{position:absolute;top:0;right:0;bottom:0;width:50%;min-width:340px;z-index:201;display:flex;flex-direction:column;background:var(--toolbar-bg);border-left:1px solid var(--border);box-shadow:-6px 0 24px #00000059;animation:trade-drawer-slide-in .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.trade-drawer.trade-drawer--connect{z-index:202;background:var(--bg);border-left:1px solid var(--border)}.trade-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px 11px 16px;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.trade-drawer-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none}.trade-drawer-close{display:flex;align-items:center;gap:4px;background:none;border:none!important;border-radius:5px!important;color:var(--text-muted);cursor:pointer;padding:5px 7px;font-size:11px;flex-shrink:0;transition:background .12s,color .12s}.trade-drawer-close:hover{background:var(--toolbar-hover)!important;color:var(--text)}.trade-drawer-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;min-height:0}.trade-drawer-body.trade-drawer-body--form{padding:0;overflow-y:auto}.broker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.broker-tile{display:flex;flex-direction:column;gap:7px;padding:13px 13px 11px;background:var(--bg);border:1px solid var(--border);border-radius:8px;transition:border-color .15s}.broker-tile--available:hover{border-color:var(--accent, #58a6ff)}.broker-tile-name{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.broker-tile-desc{font-size:11px;color:var(--text-muted);line-height:1.4;flex:1}.broker-tile-connect{margin-top:2px;padding:5px 0;font-size:11px;font-weight:500;border-radius:5px;border:1px solid var(--primary);background:none;color:var(--primary);cursor:pointer;width:100%;text-align:center;transition:background .12s}.broker-tile-connect:hover:not(:disabled){background:var(--primary-bg)}.broker-tile-connect:disabled{opacity:.35;cursor:not-allowed;border-color:var(--border);color:var(--text-muted)}.broker-tile-connect--connected{border-color:var(--success, #26a69a);color:var(--success, #26a69a)}.broker-tile-connect--connected:hover{background:#26a69a1a}.broker-tile-action-row{display:flex;flex-direction:column;gap:6px;margin-top:8px}.broker-tile-disconnect{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:6px 10px;font-size:11px;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.broker-tile-disconnect:hover{color:#ef5350;border-color:#ef535066;background:#ef53500f}.broker-tile-saved{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin:4px 0 6px;flex-wrap:wrap;min-width:0}.broker-tile-saved-account{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.broker-tile-saved-sep{color:var(--border)}.broker-tile-saved-user{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;opacity:.75}.broker-card-status{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;display:inline-block;width:fit-content}.broker-card-status--available{background:#22c55e26;color:#22c55e}.broker-card-status--coming-soon{background:#8080801f;color:var(--text-muted)}.broker-card-status--connected{background:var(--success-bg);color:var(--success)}.broker-logo{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-size:11px;font-weight:800;flex-shrink:0}.broker-logo--rithmic{background:#58a6ff2e;color:var(--accent, #58a6ff)}.broker-connect-form{display:flex;flex-direction:column;gap:0;padding:16px 20px 24px}.bcf-rithmic-brand{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0 20px;border-bottom:1px solid var(--border);margin-bottom:20px;text-align:center}.bcf-rithmic-logo{height:40px;display:flex;align-items:center;justify-content:center}.bcf-rithmic-logo img{max-height:40px;max-width:160px;object-fit:contain}.bcf-rithmic-logo-fallback{font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.bcf-rithmic-logo img+.bcf-rithmic-logo-fallback{display:none}.bcf-rithmic-copyright{font-size:10px;color:var(--text-muted);opacity:.7;margin:0;line-height:1.4}.bcf-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.bcf-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.bcf-label{font-size:12px;font-weight:500;color:var(--text)}.bcf-req{color:#f87171;margin-left:2px}.bcf-input{width:100%;padding:7px 10px;font-size:12px;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:5px;color:var(--text);outline:none;transition:border-color .12s;box-sizing:border-box}.bcf-input:focus{border-color:var(--accent, #58a6ff)}.bcf-input--error{border-color:#f87171!important}.bcf-select{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='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.bcf-error{font-size:11px;color:#f87171}.bcf-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px}.bcf-saved{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:#22c55e}.bcf-btn-save{padding:7px 18px;font-size:12px;font-weight:600;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:background .15s,color .15s}.bcf-btn-save:hover:not(:disabled){background:var(--toolbar-hover)}.bcf-btn-save:disabled{opacity:.45;cursor:not-allowed}.bcf-btn-back{padding:6px 14px;font-size:12px;font-weight:500;border-radius:5px;border:1px solid var(--border);background:none;color:var(--text-muted);cursor:pointer;transition:background .12s}.bcf-btn-back:hover{background:var(--toolbar-hover)}.bcf-api-error{margin:10px 0 4px;padding:8px 12px;font-size:12px;color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.25);border-radius:5px}.bcf-empty{font-size:12px;color:var(--text-muted);padding:12px 0}.bcf-account-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.bcf-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.bcf-account-info{display:flex;flex-direction:column;gap:2px;min-width:0}.bcf-account-name{font-size:12px;font-weight:600;color:var(--text)}.bcf-account-type{font-size:11px;color:var(--text-muted)}.bcf-btn-select{flex-shrink:0;padding:5px 14px;font-size:11px;font-weight:500;border-radius:5px;border:1px solid var(--primary);background:none;color:var(--primary);cursor:pointer;transition:background .12s}.bcf-btn-select:hover:not(:disabled){background:var(--primary-bg)}.bcf-btn-select:disabled{opacity:.45;cursor:not-allowed}.bcf-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;font-size:13px;font-weight:500;color:#22c55e;text-align:center}.top-trade-btn{color:var(--accent, #58a6ff)!important}.top-trade-btn:hover,.top-trade-btn.active{color:var(--accent, #58a6ff)!important;background:#58a6ff1f!important}.oep-panel{flex-shrink:0;width:260px;display:flex;flex-direction:column;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-height:0;animation:oep-slide-in .2s cubic-bezier(.4,0,.2,1)}@keyframes oep-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.oep-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 9px;border-bottom:1px solid var(--border);background:var(--shelf-bg);flex-shrink:0;gap:8px}.oep-title{display:flex;align-items:center;font-size:12px;font-weight:600;color:var(--text);letter-spacing:.01em}.oep-broker-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:#58a6ff14;border:1px solid rgba(88,166,255,.25);border-radius:4px;padding:1px 5px;display:inline-flex;align-items:center;gap:5px}.oep-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.oep-status-dot--connected{background:#26a69a;box-shadow:0 0 #26a69a99;animation:oep-dot-pulse-green 2.4s ease-out infinite}.oep-status-dot--disconnected{background:#ef5350;box-shadow:0 0 #ef535099;animation:oep-dot-pulse-red 2.4s ease-out infinite}.oep-status-dot--connecting{background:#ffa726;animation:oep-dot-blink 1s step-start infinite}@keyframes oep-dot-pulse-green{0%{box-shadow:0 0 #26a69a8c}60%{box-shadow:0 0 0 5px #26a69a00}to{box-shadow:0 0 #26a69a00}}@keyframes oep-dot-pulse-red{0%{box-shadow:0 0 #ef53508c}60%{box-shadow:0 0 0 5px #ef535000}to{box-shadow:0 0 #ef535000}}@keyframes oep-dot-blink{0%,to{opacity:1}50%{opacity:.3}}.oep-disconnect-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:color .15s,border-color .15s}.oep-disconnect-btn:hover{color:#ef5350;border-color:#ef535066}.oep-disconnect-btn--connect{color:var(--success, #26a69a);border-color:transparent}.oep-disconnect-btn--connect:hover{color:var(--success, #26a69a);background:#26a69a1f;border-color:var(--success, #26a69a)}.oep-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;padding:0;flex-shrink:0}.oep-close:hover{background:var(--toolbar-hover);color:var(--text)}.oep-body{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-height:0}.oep-body--status{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 16px;text-align:center}.oep-retry-btn{margin-top:4px;padding:6px 16px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:12px;cursor:pointer;transition:background .15s}.oep-retry-btn:hover{background:var(--hover)}.oep-account-chip{font-size:12px;color:var(--text);background:var(--shelf-bg);border:1px solid var(--border);border-radius:5px;padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oep-row{display:flex;flex-direction:column;gap:3px}.oep-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.oep-input,.oep-select{width:100%;box-sizing:border-box;background:var(--shelf-bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;padding:5px 8px;outline:none;transition:border-color .12s}.oep-input:focus,.oep-select:focus{border-color:var(--primary)}.oep-symbol-btn{display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:6px}.oep-symbol-btn:hover{border-color:var(--primary)}.oep-symbol-btn-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;letter-spacing:.02em}.oep-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:8px 5px;padding-right:22px}.oep-side-toggle{display:flex;border-radius:6px;overflow:hidden;border:1px solid var(--border);width:100%}.oep-side-btn{flex:1;padding:7px 4px;font-size:12px;font-weight:700;border:none;cursor:pointer;background:transparent;color:var(--text-muted);letter-spacing:.03em;transition:background .12s,color .12s}.oep-side-btn--buy.oep-side-btn--active{background:#26a69a2e;color:var(--success, #26a69a)}.oep-side-btn--sell.oep-side-btn--active{background:#ef53502e;color:var(--error, #ef5350)}.oep-side-btn:not(.oep-side-btn--active):hover{background:var(--toolbar-hover);color:var(--text)}.oep-bracket-toggle{margin-top:2px}.oep-checkbox-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.oep-checkbox-label input[type=checkbox]{accent-color:var(--primary);width:13px;height:13px;cursor:pointer}.oep-input-tick-wrap{display:flex;align-items:center;gap:4px}.oep-input-tick-wrap .oep-input{flex:1;min-width:0}.oep-tick-unit{font-size:10px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.oep-error{font-size:11px;color:var(--error, #ef5350);background:#ef535014;border:1px solid rgba(239,83,80,.25);border-radius:5px;padding:5px 8px;line-height:1.4}.oep-success{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--success, #26a69a);background:#26a69a14;border:1px solid rgba(38,166,154,.25);border-radius:5px;padding:5px 8px}.oep-broker-status{display:flex;align-items:center;gap:5px;font-size:11px;border-radius:5px;padding:5px 8px;line-height:1.4}.oep-broker-status--open{color:#90caf9;background:#90caf914;border:1px solid rgba(144,202,249,.25)}.oep-broker-status--partial{color:#ffb74d;background:#ffb74d14;border:1px solid rgba(255,183,77,.25)}.oep-broker-status--filled{color:var(--success, #26a69a);background:#26a69a1a;border:1px solid rgba(38,166,154,.3);font-weight:600}.oep-broker-status--rejected{color:var(--error, #ef5350);background:#ef535014;border:1px solid rgba(239,83,80,.25)}.oep-broker-status--cancelled{color:var(--text-muted);background:#8080800f;border:1px solid rgba(128,128,128,.18)}.oep-actions{margin-top:4px}.oep-section-sep{height:1px;background:var(--border);margin:10px 0;opacity:.5}.oep-preset-row{display:flex;gap:6px;margin-bottom:6px}.oep-preset-select{flex:1}.oep-preset-save-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:500;color:var(--text);background:var(--shelf-bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .12s,border-color .12s;margin-bottom:2px}.oep-preset-save-btn:hover{background:rgba(var(--primary-rgb, 41, 98, 255),.08);border-color:var(--primary, #2962ff)}.oep-preset-save-row{display:flex;gap:4px;align-items:center}.oep-preset-name-input{flex:1;min-width:0}.oep-preset-confirm-btn{padding:5px 9px;font-size:11px;font-weight:600;color:#fff;background:var(--primary, #2962ff);border:none;border-radius:5px;cursor:pointer;white-space:nowrap}.oep-preset-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.oep-preset-cancel-btn{display:flex;align-items:center;justify-content:center;padding:5px 7px;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:5px;cursor:pointer}.cswitch-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001}.cswitch-popup{position:fixed;background:var(--toolbar-bg, #141414);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-dialog);min-width:320px;max-width:420px;width:max-content;transform:translate(-50%,-100%) translateY(-12px);overflow:visible}.cswitch-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.cswitch-title{font-size:13px;font-weight:600;color:#00bcd4}.cswitch-date{font-size:11px;color:var(--text-muted, #888);margin-left:auto}.cswitch-close{background:none;border:none;color:var(--text-muted, #888);font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;margin-left:4px}.cswitch-close:hover{color:var(--text, #fff);background:var(--toolbar-hover)}.cswitch-body{display:flex;align-items:stretch;padding:10px;gap:8px}.cswitch-contract{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--bg, #0a0a0a);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;color:inherit;font-family:inherit}.cswitch-contract:hover{border-color:#00bcd4;background:#00bcd414}.cswitch-direction{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #888)}.cswitch-symbol{font-size:14px;font-weight:600;color:var(--text, #fff);white-space:nowrap}.cswitch-label{font-size:11px;color:var(--text-muted, #888)}.cswitch-arrow{display:flex;align-items:center;font-size:16px;color:#00bcd4;flex-shrink:0}.oep-preset-cancel-btn:hover{color:var(--text);border-color:var(--text-muted)}.oep-pos-row{display:flex;gap:6px;margin-bottom:6px}.oep-pos-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;font-size:11px;font-weight:500;border-radius:6px;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .08s;white-space:nowrap;-webkit-user-select:none;user-select:none}.oep-pos-btn:active:not(:disabled){transform:scale(.95)}.oep-pos-btn:focus-visible{outline:2px solid rgba(100,149,237,.7);outline-offset:1px}.oep-pos-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.oep-pos-btn--close,.oep-pos-btn--flatten{width:100%;margin-bottom:6px}.oep-pos-row .oep-pos-btn{flex:1;margin-bottom:0}.oep-pos-btn--close{color:#ef5350;background:#ef53500f;border:1px solid rgba(239,83,80,.3)}.oep-pos-btn--close:hover{background:#ef535024;border-color:#ef5350}.oep-pos-btn--close:active:not(:disabled){background:#ef535040;border-color:#e53935}.oep-pos-btn--cancel{color:var(--text-muted);background:var(--shelf-bg);border:1px solid var(--border)}.oep-pos-btn--cancel:hover{color:#ef5350;border-color:#ef535080;background:#ef53500f}.oep-pos-btn--cancel:active:not(:disabled){color:#e53935;background:#ef535029;border-color:#ef5350}.oep-pos-btn--reverse{color:var(--text-muted);background:var(--shelf-bg);border:1px solid var(--border)}.oep-pos-btn--reverse:hover{color:var(--text);border-color:var(--text-muted);background:#80808014}.oep-pos-btn--reverse:active:not(:disabled){color:var(--text);background:#8080802e;border-color:var(--text)}.oep-pos-btn--flatten{color:var(--text-muted);background:var(--shelf-bg);border:1px solid var(--border)}.oep-pos-btn--flatten:hover{color:var(--text);border-color:var(--text-muted);background:#80808014}.oep-pos-btn--flatten:active:not(:disabled){color:var(--text);background:#8080802e;border-color:var(--text)}.oep-footer{padding:6px 10px 8px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center}.oep-footer-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:color .12s,background .12s;white-space:nowrap}.oep-footer-btn:hover{color:var(--text);background:#ffffff0f}.oep-footer-btn.active{color:var(--accent, #2962ff);background:#2962ff1a}.oep-footer-btn--help{margin-left:auto;color:var(--text-muted)}.oep-footer-btn--help:hover{color:var(--primary, #2196f3);background:#2196f314}.pos-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;display:flex;align-items:center;justify-content:center}.pos-dialog{background:#1e222d;border:1px solid #363a45;border-radius:8px;width:320px;max-height:90vh;display:flex;flex-direction:column;color:#d1d4dc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;box-shadow:0 8px 32px #00000080}.pos-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #363a45}.pos-dialog-title{font-size:15px;font-weight:600;color:#fff}.pos-dialog-close{background:none;border:none;color:#787b86;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px}.pos-dialog-close:hover{color:#d1d4dc;background:#ffffff0f}.pos-dialog-tabs{display:flex;gap:0;border-bottom:1px solid #363a45;padding:0 16px}.pos-dialog-tab{background:none;border:none;color:#787b86;font-size:13px;padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.pos-dialog-tab.is-active{color:#2196f3;border-bottom-color:#2196f3}.pos-dialog-body{padding:12px 16px;overflow-y:auto;flex:1}.pos-dialog-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pos-dialog-label{flex-shrink:0;color:#787b86;font-size:12px;min-width:90px}.pos-dialog-inputs{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}.pos-dialog-input{width:100px;background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:4px 8px;text-align:right;outline:none}.pos-dialog-input:focus{border-color:#2196f3}.pos-dialog-select{background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:12px;padding:4px 6px;outline:none;cursor:pointer}.pos-dialog-select:focus{border-color:#2196f3}.pos-dialog-section-label{color:#787b86;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin:12px 0 6px;padding-top:8px;border-top:1px solid #2a2e39}.pos-dialog-summary{margin-top:12px;padding-top:8px;border-top:1px solid #2a2e39}.pos-dialog-summary-row{display:flex;justify-content:space-between;font-size:12px;color:#787b86;margin-bottom:4px}.pos-dialog-summary-val{color:#d1d4dc}.pos-dialog-profit,.pos-dialog-profit .pos-dialog-summary-val{color:#26a69a}.pos-dialog-loss,.pos-dialog-loss .pos-dialog-summary-val{color:#ef5350}.pos-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #363a45}.pos-dialog-btn{border:none;border-radius:4px;padding:6px 16px;font-size:13px;cursor:pointer}.pos-dialog-btn--ghost{background:transparent;color:#787b86}.pos-dialog-btn--ghost:hover{color:#d1d4dc;background:#ffffff0f}.pos-dialog-btn--primary{background:#2196f3;color:#fff}.pos-dialog-btn--primary:hover{background:#1e88e5}.dprop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;display:flex;align-items:center;justify-content:center}.dprop-dialog{background:#1e222d;border:1px solid #363a45;border-radius:8px;width:320px;max-height:90vh;display:flex;flex-direction:column;color:#d1d4dc;font-size:13px;box-shadow:0 8px 32px #00000080;outline:none}.dprop-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #363a45}.dprop-title{font-size:15px;font-weight:600;color:#fff}.dprop-close{background:none;border:none;color:#787b86;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px}.dprop-close:hover{color:#d1d4dc;background:#ffffff0f}.dprop-tabs{display:flex;border-bottom:1px solid #363a45;padding:0 16px}.dprop-tab{background:none;border:none;color:#787b86;font-size:13px;padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.dprop-tab.is-active{color:#2196f3;border-bottom-color:#2196f3}.dprop-body{padding:12px 16px;overflow-y:auto;flex:1}.dprop-section-label{color:#787b86;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin:12px 0 6px;padding-top:8px;border-top:1px solid #2a2e39}.dprop-section-label:first-child{margin-top:0;padding-top:0;border-top:none}.dprop-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dprop-label{flex-shrink:0;color:#787b86;font-size:12px;min-width:80px}.dprop-inputs{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.dprop-color{width:28px;height:24px;border:1px solid #363a45;border-radius:4px;padding:1px;background:#131722;cursor:pointer}.dprop-color-val{font-size:11px;color:#787b86;font-family:monospace;min-width:60px}.dprop-range{flex:1;accent-color:#2196f3;cursor:pointer}.dprop-range-val{font-size:12px;color:#d1d4dc;min-width:32px;text-align:right}.dprop-input{width:90px;background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:4px 8px;text-align:right;outline:none}.dprop-input--wide{width:140px}.dprop-input:focus{border-color:#2196f3}.dprop-unit{font-size:12px;color:#787b86;min-width:16px}.dprop-time-label{font-size:11px;color:#787b86;text-align:right}.dprop-text-area-wrap{margin-bottom:8px}.dprop-textarea{width:100%;background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;font-family:inherit;padding:8px;resize:vertical;outline:none;box-sizing:border-box}.dprop-textarea:focus{border-color:#2196f3}.dprop-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #363a45}.dprop-btn{border:none;border-radius:4px;padding:6px 16px;font-size:13px;cursor:pointer}.dprop-btn--ghost{background:transparent;color:#787b86}.dprop-btn--ghost:hover{color:#d1d4dc;background:#ffffff0f}.dprop-btn--primary{background:#2196f3;color:#fff}.dprop-btn--primary:hover{background:#1e88e5}[data-theme=light] .dprop-dialog{background:#fff;border-color:#e0e3eb;color:#131722}[data-theme=light] .dprop-header{border-bottom-color:#e0e3eb}[data-theme=light] .dprop-title{color:#131722}[data-theme=light] .dprop-close:hover{background:#0000000f}[data-theme=light] .dprop-tabs{border-bottom-color:#e0e3eb}[data-theme=light] .dprop-section-label{border-top-color:#e0e3eb}[data-theme=light] .dprop-color{background:#f0f3fa;border-color:#e0e3eb}[data-theme=light] .dprop-input,[data-theme=light] .dprop-textarea{background:#f0f3fa;border-color:#e0e3eb;color:#131722}[data-theme=light] .dprop-footer{border-top-color:#e0e3eb}[data-theme=light] .dprop-btn--ghost:hover{background:#0000000f;color:#131722}.script-main-tabs{display:flex;flex-shrink:0;border-bottom:1px solid #363a45;background:#1a1d29}.script-main-tab{flex:1;padding:8px 4px;font-size:12px;font-weight:500;background:transparent;border:none;color:#787b86;cursor:pointer;transition:color .15s,border-bottom .15s;border-bottom:2px solid transparent}[data-theme=light] .script-main-tabs{background:#f8f9fd;border-bottom-color:#e0e3eb}.dsm-root{display:flex;flex-direction:column;flex:1;overflow:hidden}.dsm-back-btn{background:transparent;border:none;color:#787b86;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px}.dsm-back-btn:hover{color:#d1d4dc;background:#ffffff0f}.dsm-new-btn{background:#2196f3;border:none;color:#fff;font-size:12px;cursor:pointer;padding:4px 10px;border-radius:4px}.dsm-new-btn:hover{background:#1e88e5}.dsm-error{padding:8px 14px;background:#ef53501f;color:#ef5350;font-size:12px}.dsm-empty,.dsm-loading{padding:24px 14px;text-align:center;color:#787b86;font-size:13px}.dsm-list{overflow-y:auto;flex:1;padding:8px 0}.dsm-list-item{padding:10px 14px;border-bottom:1px solid #2a2d3a;transition:background .1s}.dsm-list-item:hover{background:#ffffff08}.dsm-list-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dsm-list-item-name{font-size:13px;font-weight:600;color:#d1d4dc;flex:1}.dsm-status{font-size:10px;padding:2px 6px;border-radius:10px;font-weight:500}.dsm-status--ready{background:#26a69a2e;color:#26a69a}.dsm-status--pending{background:#ff98002e;color:#ff9800}.dsm-status--processing{background:#2196f32e;color:#2196f3}.dsm-status--failed{background:#ef53502e;color:#ef5350}.dsm-col-tag{font-size:10px;padding:2px 6px;border-radius:4px;font-family:monospace}.dsm-col-tag--time{background:#2196f32e;color:#2196f3}.dsm-col-tag--number,.dsm-col-tag--percentage,.dsm-col-tag--price{background:#26a69a2e;color:#26a69a}.dsm-col-tag--integer{background:#66bb6a2e;color:#66bb6a}.dsm-col-tag--text{background:#ab47bc2e;color:#ab47bc}.dsm-col-tag--boolean{background:#ff98002e;color:#ff9800}.dsm-col-tag--date,.dsm-col-tag--timestamp{background:#ef53502e;color:#ef5350}.dsm-action-btn{font-size:11px;padding:3px 8px;border-radius:4px;cursor:pointer;background:#ffffff0f;border:1px solid #363a45;color:#d1d4dc}.dsm-action-btn:hover{background:#ffffff1a}.dsm-action-btn--danger{color:#ef5350;border-color:#ef53504d}.dsm-action-btn--danger:hover{background:#ef53501f}.dsm-designer{overflow-y:auto;flex:1;padding:14px;display:flex;flex-direction:column;gap:6px}.dsm-label{font-size:11px;font-weight:600;color:#787b86;text-transform:uppercase;letter-spacing:.5px;margin-top:8px}.dsm-input{width:100%;background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:6px 8px;outline:none;box-sizing:border-box}.dsm-select{background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:12px;padding:6px 4px;outline:none}.dsm-remove-col-btn{background:transparent;border:none;color:#787b86;cursor:pointer;font-size:12px;padding:4px;border-radius:4px}.dsm-remove-col-btn:hover{color:#ef5350;background:#ef53501a}.dsm-add-col-btn{background:transparent;border:1px dashed #363a45;color:#787b86;border-radius:4px;padding:5px 10px;font-size:12px;cursor:pointer;align-self:flex-start}.dsm-add-col-btn:hover{border-color:#2196f3;color:#2196f3}.dsm-upload-btn{background:#ffffff0f;border:1px solid #363a45;color:#d1d4dc;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;align-self:flex-start}.dsm-upload-btn:hover{background:#ffffff1a}.dsm-preview-table-wrap{overflow-x:auto;border-radius:4px;border:1px solid #363a45}.dsm-preview-table{width:100%;border-collapse:collapse;font-size:11px;font-family:monospace}.dsm-preview-table th{background:#1a1d29;color:#787b86;padding:4px 8px;text-align:left;border-bottom:1px solid #363a45}.dsm-preview-table td{color:#d1d4dc;padding:3px 8px;border-bottom:1px solid #2a2d3a}.dsm-save-btn{margin-top:12px;background:#2196f3;border:none;color:#fff!important;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;align-self:flex-start;opacity:1}.dsm-save-btn:hover{background:#1976d2}.dsm-usage{overflow-y:auto;flex:1;padding:14px;display:flex;flex-direction:column;gap:12px}.dsm-usage-code{background:#131722;border:1px solid #363a45;border-radius:4px;padding:12px;font-size:12px;font-family:monospace;color:#d1d4dc;white-space:pre-wrap;margin:0}.dsm-copy-btn{position:absolute;top:6px;right:6px;background:#ffffff14;border:1px solid #363a45;color:#d1d4dc;border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.dsm-copy-btn:hover{background:#ffffff24}.dsm-usage-cols{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dsm-col-type{opacity:.6;font-size:9px}[data-theme=light] .dsm-list-item:hover{background:#00000005}[data-theme=light] .dsm-preview-table th{background:#f0f3fa;color:#787b86;border-bottom-color:#e0e3eb}[data-theme=light] .dsm-preview-table td{color:#131722;border-bottom-color:#e0e3eb}[data-theme=light] .dsm-preview-table-wrap{border-color:#e0e3eb}[data-theme=light] .dsm-action-btn{background:#0000000a;border-color:#e0e3eb;color:#131722}[data-theme=light] .dsm-action-btn--primary{color:#2196f3;border-color:#2196f366}[data-theme=light] .dsm-action-btn--primary:hover{background:#2196f314}[data-theme=light] .dsm-add-col-btn:hover{border-color:#2196f3}[data-theme=light] .dsm-col-row{border-color:#e0e3eb}[data-theme=light] .dsm-remove-col-btn{color:#787b86}[data-theme=light] .dsm-remove-col-btn:hover{color:#ef5350}.docs-toolbar{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 12px;border-bottom:1px solid #363a45;background:#1a1d29}.docs-tab-btn{background:transparent;border:none;color:#787b86;font-size:12px;cursor:pointer;padding:4px 10px;border-radius:4px}.docs-tab-btn:hover{color:#d1d4dc;background:#ffffff0f}.docs-tab-btn.active{color:#2196f3;background:#2196f31f}.docs-template-btn{background:transparent;border:1px dashed #363a45;color:#787b86;font-size:11px;cursor:pointer;padding:3px 8px;border-radius:4px}.docs-template-btn:hover{border-color:#2196f3;color:#2196f3}.docs-save-btn{background:#2196f3;border:none;color:#fff;border-radius:4px;padding:5px 12px;font-size:12px;cursor:pointer}.docs-panes{flex:1;overflow:hidden;display:flex}.docs-textarea{flex:1;background:#131722;border:none;color:#d1d4dc;font-size:13px;font-family:monospace;padding:14px;resize:none;outline:none;line-height:1.6}.docs-rendered{flex:1;overflow-y:auto;padding:14px 18px;color:#d1d4dc;font-size:13px;line-height:1.7}.docs-rendered h1{font-size:18px;color:#d1d4dc;margin:0 0 12px;border-bottom:1px solid #363a45;padding-bottom:6px}.docs-rendered h2{font-size:15px;color:#d1d4dc;margin:18px 0 8px}.docs-rendered h3{font-size:13px;color:#d1d4dc;margin:14px 0 6px}.docs-rendered hr{border:none;border-top:1px solid #363a45;margin:14px 0}.docs-rendered em{color:#b0b3c1}.docs-code-block{background:#131722;border:1px solid #363a45;border-radius:4px;padding:10px 12px;font-size:12px;font-family:monospace;overflow-x:auto;margin:8px 0}.docs-inline-code{background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:12px;font-family:monospace;color:#ab47bc}.docs-empty,.docs-loading{padding:24px 14px;text-align:center;color:#787b86;font-size:13px}.docs-viewer{overflow-y:auto;flex:1;padding:14px 18px}[data-theme=light] .docs-toolbar{background:#f8f9fd;border-bottom-color:#e0e3eb}[data-theme=light] .docs-save-btn{background:#2196f3;color:#fff!important;border:none}[data-theme=light] .docs-save-btn:hover{background:#1976d2}[data-theme=light] .docs-tab-btn{color:#787b86}[data-theme=light] .docs-tab-btn:hover{color:#131722;background:#0000000a}[data-theme=light] .docs-rendered{color:#131722}[data-theme=light] .docs-rendered h1,[data-theme=light] .docs-rendered h2,[data-theme=light] .docs-rendered h3{color:#131722;border-bottom-color:#e0e3eb}[data-theme=light] .docs-rendered hr{border-top-color:#e0e3eb}[data-theme=light] .docs-code-block{background:#f0f3fa;border-color:#e0e3eb}[data-theme=light] .docs-inline-code{background:#0000000f}.ss-root{overflow-y:auto;flex:1;padding:14px;display:flex;flex-direction:column;gap:0}.ss-section{margin-bottom:18px}.ss-section-label{font-size:11px;font-weight:600;color:#787b86;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:6px}.ss-input{width:100%;background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:7px 10px;outline:none;box-sizing:border-box}.ss-vis-group{display:flex;gap:0;border-radius:4px;overflow:hidden;border:1px solid #363a45}.ss-vis-btn{flex:1;background:transparent;border:none;color:#787b86;font-size:12px;padding:7px 4px;cursor:pointer;transition:background .15s,color .15s;border-right:1px solid #363a45}.ss-vis-btn:last-child{border-right:none}.ss-vis-btn:hover{background:#ffffff0f;color:#d1d4dc}.ss-vis-btn.active{background:#2196f32e;color:#2196f3;font-weight:600}.ss-vis-desc{font-size:11px;color:#787b86;margin:6px 0 0}.ss-price-row{display:flex;gap:6px}.ss-currency-select{background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:7px 6px;outline:none}.ss-price-input{flex:1;background:#131722;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:7px 10px;outline:none}.ss-hint{font-size:11px;color:#787b86;margin:4px 0 0}.ss-slider{width:100%;accent-color:#2196f3;margin-top:4px}.ss-error{font-size:11px;color:#ef5350;flex:1}.ss-saved{font-size:11px;color:#26a69a;flex:1}.ss-save-btn{background:#2196f3;border:none;color:#fff;border-radius:4px;padding:7px 16px;font-size:13px;cursor:pointer;margin-left:auto}.ss-empty,.ss-loading{padding:24px 14px;text-align:center;color:#787b86;font-size:13px}.ss-viewer{padding:14px;display:flex;flex-direction:column;gap:10px}.ss-label{font-size:12px;color:#787b86;min-width:80px}.ss-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.ss-badge--private{background:#787b862e;color:#787b86}.ss-badge--public{background:#26a69a2e;color:#26a69a}.ss-badge--for-sale{background:#ff98002e;color:#ff9800}[data-theme=light] .ss-input,[data-theme=light] .ss-currency-select,[data-theme=light] .ss-price-input{background:#f0f3fa;border-color:#e0e3eb;color:#131722}[data-theme=light] .ss-vis-group{border-color:#e0e3eb}[data-theme=light] .ss-vis-btn{color:#787b86;border-right-color:#e0e3eb}[data-theme=light] .ss-vis-btn:hover{background:#0000000a;color:#131722}[data-theme=light] .ss-value{color:#131722}.script-main-tabs{display:flex;border-bottom:1px solid #363a45;background:#1e222d;flex-shrink:0}.script-main-tab{flex:1;padding:8px 4px;font-size:12px;font-weight:500;color:#787b86;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.script-main-tab:hover{color:#d1d4dc}.script-main-tab.active{color:#2196f3;border-bottom-color:#2196f3}[data-theme=light] .script-main-tabs{background:#f0f3fa;border-bottom-color:#e0e3eb}[data-theme=light] .script-main-tab{color:#787b86}[data-theme=light] .script-main-tab:hover{color:#131722}[data-theme=light] .script-main-tab.active{color:#2196f3}.dsm-root{display:flex;flex-direction:column;flex:1;overflow:hidden;background:#131722}.dsm-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #363a45;flex-shrink:0}.dsm-title{font-size:13px;font-weight:600;color:#d1d4dc;flex:1}.dsm-back-btn{font-size:12px;color:#787b86;background:none;border:none;cursor:pointer;padding:0}.dsm-back-btn:hover{color:#d1d4dc}.dsm-new-btn{font-size:12px;color:#2196f3;background:none;border:1px solid #2196f3;border-radius:4px;padding:4px 10px;cursor:pointer}.dsm-new-btn:hover{background:#2196f31f}.dsm-error{background:#ef535026;color:#ef5350;font-size:12px;padding:8px 14px;border-bottom:1px solid rgba(239,83,80,.3)}.dsm-loading,.dsm-empty{padding:24px 16px;color:#787b86;font-size:13px;text-align:center}.dsm-empty strong{color:#d1d4dc}.dsm-list{flex:1;overflow-y:auto;padding:8px 0}.dsm-list-item{padding:10px 14px;border-bottom:1px solid #2a2e39}.dsm-list-item:last-child{border-bottom:none}.dsm-list-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dsm-list-item-name{font-size:13px;font-weight:600;color:#d1d4dc;font-family:monospace}.dsm-status{font-size:11px;padding:2px 7px;border-radius:10px;font-weight:500}.dsm-status--ready{background:#26a69a26;color:#26a69a}.dsm-status--pending,.dsm-status--processing{background:#ffa72626;color:#ffa726}.dsm-status--failed{background:#ef535026;color:#ef5350}.dsm-list-item-cols{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.dsm-col-tag{font-size:10px;padding:2px 6px;border-radius:3px;font-family:monospace;background:#2a2e39;color:#787b86}.dsm-col-tag--time{background:#2196f326;color:#2196f3}.dsm-col-tag--number,.dsm-col-tag--percentage,.dsm-col-tag--price{background:#26a69a1f;color:#26a69a}.dsm-col-tag--integer{background:#66bb6a1f;color:#66bb6a}.dsm-col-tag--text{background:#ab47bc1f;color:#ab47bc}.dsm-col-tag--boolean{background:#ffa7261f;color:#ffa726}.dsm-col-tag--date,.dsm-col-tag--timestamp{background:#ef53501f;color:#ef5350}.dsm-ingest-error{font-size:11px;color:#ef5350;margin-bottom:4px}.dsm-list-item-actions{display:flex;gap:6px}.dsm-action-btn{font-size:11px;padding:3px 10px;border-radius:4px;cursor:pointer;background:transparent;border:1px solid #363a45;color:#787b86}.dsm-action-btn:hover{color:#d1d4dc;border-color:#787b86}.dsm-action-btn--primary{color:#2196f3;border-color:#2196f366;font-weight:600}.dsm-action-btn--primary:hover{background:#2196f31f;border-color:#2196f3}.dsm-action-btn--danger{border-color:#ef535066;color:#ef5350}.dsm-action-btn--danger:hover{background:#ef53501a;border-color:#ef5350}.dsm-designer{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px}.dsm-label{font-size:11px;font-weight:600;color:#787b86;text-transform:uppercase;letter-spacing:.04em}.dsm-input{width:100%;background:#1e222d;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:6px 10px;outline:none;box-sizing:border-box}.dsm-input:focus{border-color:#2196f3}.dsm-hint{font-size:11px;color:#787b86;margin:0}.dsm-col-locked{display:flex;align-items:center;gap:8px;padding:4px 0}.dsm-col-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.dsm-col-name{flex:1}.dsm-select{background:#1e222d;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:12px;padding:5px 6px;outline:none}.dsm-select:focus{border-color:#2196f3}.dsm-nullable-label{font-size:11px;color:#787b86;display:flex;align-items:center;gap:4px;white-space:nowrap}.dsm-remove-col-btn{background:none;border:none;color:#ef5350;cursor:pointer;font-size:13px;padding:0 4px}.dsm-add-col-btn{font-size:12px;color:#2196f3;background:none;border:1px dashed #363a45;border-radius:4px;padding:5px 10px;cursor:pointer;align-self:flex-start}.dsm-add-col-btn:hover{border-color:#2196f3}.dsm-file-input{display:none}.dsm-upload-btn{font-size:12px;color:#d1d4dc;background:#1e222d;border:1px solid #363a45;border-radius:4px;padding:7px 14px;cursor:pointer;text-align:left}.dsm-upload-btn:hover{border-color:#787b86}.dsm-preview{margin-top:8px}.dsm-preview-label{font-size:11px;color:#787b86;margin-bottom:4px}.dsm-preview-table-wrap{overflow-x:auto}.dsm-preview-table{border-collapse:collapse;font-size:11px;width:100%}.dsm-preview-table th{background:#1e222d;color:#787b86;padding:4px 8px;border:1px solid #363a45;font-weight:600}.dsm-preview-table td{color:#d1d4dc;padding:3px 8px;border:1px solid #2a2e39}.dsm-save-btn{margin-top:12px;padding:8px 18px;background:#2196f3;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;align-self:flex-start}.dsm-save-btn:hover{background:#1e88e5}.dsm-save-btn:disabled{opacity:.5;cursor:not-allowed}.dsm-steps{display:flex;align-items:center;gap:8px;padding:10px 0 4px;margin-bottom:4px}.dsm-step{font-size:12px;font-weight:600;color:#787b86}.dsm-step--active{color:#2196f3}.dsm-step--done{color:#4caf50}.dsm-step--upcoming{color:#4a4f60}.dsm-step-sep{font-size:12px;color:#4a4f60}.dsm-importer{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.dsm-schema-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;background:#2196f30f;border:1px solid rgba(33,150,243,.18);border-radius:5px}.dsm-schema-summary-label{font-size:11px;color:#787b86;flex-shrink:0}.dsm-template-section{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#ffffff08;border:1px solid #2a2e39;border-radius:5px}.dsm-template-desc{font-size:12px;color:#9598a1;line-height:1.5}.dsm-template-btn{align-self:flex-start;padding:6px 14px;background:transparent;border:1px solid #2196f3;color:#2196f3;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer}.dsm-template-btn:hover{background:#2196f31a}.dsm-col-unknown{color:#f44336!important}.dsm-import-actions{display:flex;align-items:center;gap:12px;margin-top:4px}.dsm-skip-btn{background:none;border:none;color:#787b86;font-size:12px;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:2px}.dsm-skip-btn:hover{color:#d1d4dc}[data-theme=light] .dsm-schema-summary{background:#2196f30d;border-color:#2196f333}[data-theme=light] .dsm-template-section{background:#f8f9fb;border-color:#e0e3eb}.dsm-usage{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.dsm-usage-intro{font-size:13px;color:#d1d4dc;margin:0}.dsm-usage-code-wrap{position:relative}.dsm-usage-code{background:#1e222d;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:12px;font-family:monospace;padding:12px;white-space:pre-wrap;margin:0}.dsm-copy-btn{position:absolute;top:8px;right:8px;font-size:11px;padding:3px 8px;background:#363a45;color:#d1d4dc;border:none;border-radius:3px;cursor:pointer}.dsm-copy-btn:hover{background:#2196f3;color:#fff}.dsm-usage-cols{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dsm-usage-col-label{font-size:11px;color:#787b86}.dsm-col-type{font-size:10px;opacity:.7}[data-theme=light] .dsm-root{background:#fff}[data-theme=light] .dsm-header{border-bottom-color:#e0e3eb}[data-theme=light] .dsm-title{color:#131722}[data-theme=light] .dsm-list-item{border-bottom-color:#e0e3eb}[data-theme=light] .dsm-list-item-name{color:#131722}[data-theme=light] .dsm-col-tag{background:#f0f3fa;color:#787b86}[data-theme=light] .dsm-input,[data-theme=light] .dsm-select,[data-theme=light] .dsm-usage-code{background:#f0f3fa;border-color:#e0e3eb;color:#131722}[data-theme=light] .dsm-save-btn{background:#2196f3;color:#fff!important;border:none}[data-theme=light] .dsm-save-btn:hover{background:#1976d2}[data-theme=light] .dsm-add-col-btn{color:#2196f3;border-color:#c8d6e5}[data-theme=light] .dsm-back-btn{color:#2196f3}[data-theme=light] .dsm-new-btn{background:#2196f3;color:#fff}[data-theme=light] .dsm-hint{color:#787b86}[data-theme=light] .dsm-nullable-label{color:#434651}.docs-editor-root{display:flex;flex-direction:column;flex:1;overflow:hidden}.docs-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid #363a45;flex-shrink:0;background:#1e222d}.docs-tab-btn{font-size:12px;padding:4px 10px;border-radius:4px;cursor:pointer;background:transparent;border:1px solid transparent;color:#787b86}.docs-tab-btn:hover{color:#d1d4dc}.docs-tab-btn.active{border-color:#363a45;color:#d1d4dc;background:#131722}.docs-template-btn{font-size:12px;color:#2196f3;background:none;border:none;cursor:pointer;padding:0 4px}.docs-template-btn:hover{text-decoration:underline}.docs-error{font-size:11px;color:#ef5350}.docs-saved{font-size:11px;color:#26a69a}.docs-save-btn{font-size:12px;padding:5px 14px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer}.docs-save-btn:hover{background:#1e88e5}.docs-save-btn:disabled{opacity:.5;cursor:not-allowed}.docs-panes{flex:1;overflow:hidden}.docs-textarea{width:100%;height:100%;background:#131722;border:none;outline:none;color:#d1d4dc;font-size:13px;font-family:SFMono-Regular,Consolas,monospace;padding:14px;resize:none;box-sizing:border-box;line-height:1.6}.docs-rendered{flex:1;overflow-y:auto;padding:16px 20px;color:#d1d4dc;font-size:13px;line-height:1.7}.docs-rendered h1{font-size:18px;margin:0 0 12px;color:#d1d4dc}.docs-rendered h2{font-size:15px;margin:20px 0 8px;color:#d1d4dc;border-bottom:1px solid #363a45;padding-bottom:4px}.docs-rendered h3{font-size:13px;margin:14px 0 6px;color:#d1d4dc}.docs-rendered p{margin:0 0 10px}.docs-rendered ul{margin:0 0 10px;padding-left:20px}.docs-rendered li{margin-bottom:4px}.docs-rendered hr{border:none;border-top:1px solid #363a45;margin:16px 0}.docs-rendered strong{color:#d1d4dc}.docs-code-block{background:#1e222d;border:1px solid #363a45;border-radius:4px;padding:10px 12px;font-size:12px;overflow-x:auto;margin:8px 0}.docs-inline-code{background:#1e222d;border:1px solid #363a45;border-radius:3px;padding:1px 5px;font-size:11px;font-family:monospace}.docs-viewer{flex:1;overflow-y:auto}.docs-empty,.docs-loading{padding:24px 16px;color:#787b86;font-size:13px;text-align:center}[data-theme=light] .docs-toolbar{background:#f0f3fa;border-bottom-color:#e0e3eb}[data-theme=light] .docs-tab-btn.active{background:#fff;border-color:#e0e3eb;color:#131722}[data-theme=light] .docs-textarea{background:#fff;color:#131722}[data-theme=light] .docs-rendered,[data-theme=light] .docs-rendered h1,[data-theme=light] .docs-rendered h2,[data-theme=light] .docs-rendered h3{color:#131722}[data-theme=light] .docs-rendered h2{border-bottom-color:#e0e3eb}[data-theme=light] .docs-code-block,[data-theme=light] .docs-inline-code{background:#f0f3fa;border-color:#e0e3eb}.ss-root{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:4px}.ss-section{margin-bottom:16px}.ss-section-label{display:block;font-size:11px;font-weight:600;color:#787b86;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.ss-input{width:100%;background:#1e222d;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:7px 10px;outline:none;box-sizing:border-box}.ss-input:focus{border-color:#2196f3}.ss-vis-group{display:flex;gap:6px;margin-bottom:6px}.ss-vis-btn{flex:1;padding:7px 4px;font-size:12px;font-weight:500;background:#1e222d;border:1px solid #363a45;border-radius:4px;color:#787b86;cursor:pointer}.ss-vis-btn:hover{color:#d1d4dc;border-color:#787b86}.ss-vis-btn.active{background:#2196f31f;border-color:#2196f3;color:#2196f3}.ss-vis-desc{font-size:12px;color:#787b86;margin:0}.ss-price-row{display:flex;gap:8px;margin-bottom:6px}.ss-currency-select{background:#1e222d;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:6px 8px;outline:none}.ss-price-input{flex:1;background:#1e222d;border:1px solid #363a45;border-radius:4px;color:#d1d4dc;font-size:13px;padding:6px 10px;outline:none}.ss-price-input:focus{border-color:#2196f3}.ss-hint{font-size:11px;color:#787b86;margin:0}.ss-slider{width:100%;accent-color:#2196f3}.ss-footer{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px solid #363a45;margin-top:auto}.ss-error{font-size:12px;color:#ef5350;flex:1}.ss-saved{font-size:12px;color:#26a69a;flex:1}.ss-save-btn{padding:7px 18px;background:#2196f3;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer}.ss-save-btn:hover{background:#1e88e5}.ss-save-btn:disabled{opacity:.5;cursor:not-allowed}.ss-viewer{padding:16px;display:flex;flex-direction:column;gap:10px}.ss-row{display:flex;align-items:center;gap:10px}.ss-label{font-size:12px;color:#787b86}.ss-value{font-size:13px;color:#d1d4dc}.ss-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.ss-badge--private{background:#787b8626;color:#787b86}.ss-badge--public{background:#26a69a26;color:#26a69a}.ss-badge--for_sale{background:#ffa72626;color:#ffa726}.ss-empty,.ss-loading{padding:24px 16px;color:#787b86;font-size:13px;text-align:center}[data-theme=light] .ss-root{background:#fff}[data-theme=light] .ss-input{background:#f0f3fa;border-color:#e0e3eb;color:#131722}[data-theme=light] .ss-vis-btn{background:#f0f3fa;border-color:#e0e3eb;color:#787b86}[data-theme=light] .ss-vis-btn:hover{color:#131722}[data-theme=light] .ss-currency-select,[data-theme=light] .ss-price-input{background:#f0f3fa;border-color:#e0e3eb;color:#131722}[data-theme=light] .ss-footer{border-top-color:#e0e3eb}[data-theme=light] .ss-save-btn{background:#2196f3;color:#fff!important;border:none}[data-theme=light] .ss-save-btn:hover{background:#1976d2}@keyframes agent-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes agent-highlight-flash{0%{background:#8ab4f840}to{background:transparent}}.agent-highlight{animation:agent-highlight-flash 1.2s ease-out forwards}.agent-drawer{width:340px;flex-shrink:0;position:relative;display:flex;flex-direction:column;background:var(--toolbar-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-height:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.agent-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--toolbar-bg);flex-shrink:0}.agent-drawer-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--text, #e0e0e0)}.agent-drawer-close{width:24px;height:24px;border:none;background:none;cursor:pointer;color:var(--text-muted, #888);display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}.agent-drawer-close:hover{background:var(--hover-bg, rgba(255,255,255,.07));color:var(--text, #e0e0e0)}.agent-deep-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted, #888);cursor:pointer;-webkit-user-select:none;user-select:none}.agent-deep-toggle input{cursor:pointer;accent-color:#06b6d4}.agent-error-banner{padding:8px 12px;background:#ef44441f;border-bottom:1px solid rgba(239,68,68,.25);color:#f87171;font-size:12px;flex-shrink:0}.agent-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:0}.agent-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;color:var(--text-muted, #777);padding:32px 16px;gap:8px}.agent-message{display:flex}.agent-message.user{justify-content:flex-end}.agent-message.assistant{justify-content:flex-start}.agent-message-bubble{max-width:85%;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.5;word-break:break-word}.agent-message.user .agent-message-bubble{background:#06b6d4;color:#fff;border-radius:10px 10px 2px}.agent-message.assistant .agent-message-bubble{background:var(--surface-2, rgba(255,255,255,.06));color:var(--text, #e0e0e0);border-radius:10px 10px 10px 2px}.agent-tool-call{margin:3px 0;padding:6px 10px;background:var(--surface-2, rgba(255,255,255,.04));border-left:2px solid #06b6d4;border-radius:0 4px 4px 0}.agent-approval-card{margin:6px 0;padding:10px 12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);border-radius:6px;color:var(--text)}.agent-drawer .agent-approval-btn{display:inline-flex;align-items:center;justify-content:center;flex:1;padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:background .15s,opacity .15s}.agent-drawer .agent-approval-approve,.agent-drawer .agent-approval-approve:hover,[data-theme=light] .agent-drawer .agent-approval-approve,[data-theme=light] .agent-drawer .agent-approval-approve:hover{background:#16a34a!important;color:#fff!important}.agent-drawer .agent-approval-approve:hover{opacity:.88}.agent-drawer .agent-approval-reject,.agent-drawer .agent-approval-reject:hover,[data-theme=light] .agent-drawer .agent-approval-reject,[data-theme=light] .agent-drawer .agent-approval-reject:hover{background:#dc2626!important;color:#fff!important}.agent-drawer .agent-approval-reject:hover{opacity:.88}.agent-input-area{padding:10px 12px;border-top:1px solid var(--border);background:var(--toolbar-bg);flex-shrink:0}.agent-input{flex:1;padding:7px 10px;background:var(--surface-2, rgba(255,255,255,.06));border:1px solid var(--border);border-radius:6px;color:var(--text, #e0e0e0);font-size:13px;font-family:inherit;resize:none;line-height:1.4;outline:none}.agent-input:focus{border-color:#06b6d4;box-shadow:0 0 0 2px #06b6d426}.agent-input::placeholder{color:var(--text-muted, #666)}.agent-input:disabled{opacity:.5}.agent-drawer .agent-send-btn,.agent-drawer .agent-send-btn:hover,[data-theme=light] .agent-drawer .agent-send-btn,[data-theme=light] .agent-drawer .agent-send-btn:hover{width:32px;height:32px;background:#06b6d4!important;color:#fff!important;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;transition:background .15s}.agent-drawer .agent-send-btn:hover:not(:disabled){background:#0891b2!important}.agent-drawer .agent-send-btn:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .agent-drawer{background:#fff;border-color:#e2e8f0}[data-theme=light] .agent-drawer-header{background:#f8fafc;border-bottom-color:#e2e8f0}[data-theme=light] .agent-drawer-title{color:#1e293b}[data-theme=light] .agent-drawer-close{color:#64748b}[data-theme=light] .agent-drawer-close:hover{background:#0000000f;color:#1e293b}[data-theme=light] .agent-deep-toggle{color:#64748b}[data-theme=light] .agent-messages{background:#fff}[data-theme=light] .agent-message.assistant .agent-message-bubble{background:#f1f5f9;color:#1e293b}[data-theme=light] .agent-message.user .agent-message-bubble{background:#06b6d4;color:#fff}[data-theme=light] .agent-tool-call{background:#f8fafc;border-left-color:#06b6d4}[data-theme=light] .agent-approval-card{background:#f59e0b14;border-color:#f59e0b59;color:#92400e}[data-theme=light] .agent-input-area{background:#fff;border-top-color:#e2e8f0}[data-theme=light] .agent-input{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}[data-theme=light] .agent-input:focus{border-color:#06b6d4}[data-theme=light] .agent-input::placeholder{color:#94a3b8}[data-theme=light] .agent-empty-state{color:#94a3b8}[data-theme=light] .agent-error-banner{background:#ef444414;border-bottom-color:#ef444433;color:#b91c1c}@keyframes agent-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes agent-ring-pulse{0%,to{box-shadow:0 0 #06b6d499}50%{box-shadow:0 0 0 4px #06b6d400}}.agent-toolbar-btn{position:relative}.agent-toolbar-btn:not(.is-active){animation:agent-ring-pulse 2.4s ease-in-out infinite}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#ffffff14;border-radius:3px;transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background-color:#ffffff29}[data-theme=light] ::-webkit-scrollbar-thumb{background-color:#0000001a}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background-color:#0000002e}::selection{background-color:#0ea5e940;color:inherit}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes glow{0%,to{box-shadow:0 0 4px #0ea5e94d}50%{box-shadow:0 0 12px #0ea5e980}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out}.paymentWidgets{width:100%}html,body{overflow:unset;height:unset;min-height:100%}#root{overflow:unset;height:unset}
