@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#09090b;--bg-secondary:#18181ba6;--bg-tertiary:#27272acc;--bg-elevated:#27272a;--border:#ffffff14;--border-sub:#ffffff0a;--border-active:#3b82f680;--text-primary:#f4f4f5;--text-sec:#a1a1aa;--text-muted:#71717a;--accent-blue:#3b82f6;--accent-blue-hover:#60a5fa;--accent-teal:#00f2fe;--accent-red:#ff0844;--accent-gold:#fbbf24;--accent-purple:#a855f7;--grad-teal:linear-gradient(135deg, #00f2fe, #4facfe);--grad-red:linear-gradient(135deg, #ff0844, #ffb199);--grad-purple:linear-gradient(135deg, #a855f7, #ec4899);--r-sm:6px;--r-md:12px;--r-lg:16px;--sh-sm:0 2px 8px #0006;--sh-md:0 8px 32px #00000080;--sh-lg:0 16px 48px #000000b3;--sh-glow:0 0 15px #3b82f64d;--tr:.25s cubic-bezier(.4, 0, .2, 1);--tr-bounce:.4s cubic-bezier(.175, .885, .32, 1.275);--topbar-h:52px;--statusbar-h:28px;--wl-w:240px;--objmgr-w:240px;--preset-h:36px}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Outfit,system-ui,sans-serif}button{font-family:inherit}.glass-panel{background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border)}.workstation{background:var(--bg-primary);flex-direction:column;width:100vw;height:100vh;display:flex}.workstation-body{flex:1;min-height:0;display:flex}.topbar{height:var(--topbar-h);background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--sh-sm);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.topbar-left,.topbar-right{flex:1;align-items:center;gap:10px;display:flex}.topbar-right{justify-content:flex-end}.topbar-center{justify-content:center;align-items:center;display:flex}.topbar-logo{cursor:pointer;align-items:center;gap:8px;display:flex}.logo-pf{background:var(--grad-teal);border-radius:var(--r-md);color:#fff;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex;box-shadow:0 0 15px #00f2fe66}.logo-text{color:var(--text-primary);letter-spacing:.5px;white-space:nowrap;font-size:15px;font-weight:600}.topbar-divider{background:var(--border);width:1px;height:24px;margin:0 6px}.topbar-symbol{align-items:center;gap:8px;display:flex}.active-symbol{letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700}.active-type{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--accent-purple);text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;font-size:11px;font-weight:600}.statusbar{height:var(--statusbar-h);background:var(--bg-primary);border-top:1px solid var(--border);z-index:100;flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex}.sb-item{color:var(--text-sec);font-size:11px;font-weight:400}.sb-divider,.sb-hint{color:var(--text-muted)}.watchlist-panel{width:var(--wl-w);background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);z-index:90;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.watchlist-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.watchlist-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-sec);font-size:12px;font-weight:600}.watchlist-search-wrap{flex-shrink:0;padding:8px 12px}.watchlist-search{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-primary);transition:all var(--tr);padding:8px 12px;font-size:12px}.watchlist-search:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.watchlist-items{flex:1;padding-bottom:8px;overflow-y:auto}.watchlist-item{border-radius:var(--r-md);width:calc(100% - 16px);color:var(--text-primary);cursor:pointer;text-align:left;transition:all var(--tr);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:10px;margin:0 8px 2px;padding:8px 10px;display:flex}.watchlist-item:hover{background:var(--bg-tertiary);border-color:var(--border);transform:translate(2px)}.watchlist-item.active{border-color:var(--border-active);box-shadow:var(--sh-glow);background:#3b82f61a}.wl-left{flex-direction:column;gap:3px;min-width:0;display:flex}.wl-top{align-items:center;gap:6px;display:flex}.wl-symbol{letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.wl-badge{background:var(--accent-teal);width:6px;height:6px;box-shadow:0 0 8px var(--accent-teal);border-radius:50%;flex-shrink:0}.wl-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:10px;overflow:hidden}.wl-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.wl-price{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.wl-daily-change{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.wl-change{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.wl-change.pos{color:var(--accent-teal);text-shadow:0 0 10px #00f2fe4d}.wl-change.neg{color:var(--accent-red);text-shadow:0 0 10px #ff08444d}.wl-change.neutral{color:var(--text-muted);font-weight:500}.wl-change-abs{opacity:.6;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:500}.wl-change-abs.pos{color:var(--accent-teal)}.wl-change-abs.neg{color:var(--accent-red)}.sparkline{display:block}.wl-drag-handle{width:14px;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity var(--tr);flex-shrink:0;justify-content:center;align-items:center;display:flex}.watchlist-item:hover .wl-drag-handle{opacity:.6}.wl-drag-handle:active{cursor:grabbing}.watchlist-item.wl-dragging{opacity:.4;background:var(--bg-tertiary)}.watchlist-item.wl-drag-over{border-top:2px solid var(--accent-blue);margin-top:-2px}.wl-remove-btn{width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--tr);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.watchlist-item:hover .wl-remove-btn{opacity:.6}.wl-remove-btn:hover{color:var(--accent-red);background:#ff08441a;opacity:1!important}.wl-header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.wl-action-btn{border:1px solid var(--border);border-radius:var(--r-sm);width:24px;height:24px;color:var(--text-sec);cursor:pointer;transition:all var(--tr);background:0 0;justify-content:center;align-items:center;display:flex}.wl-action-btn:hover{color:var(--accent-teal);border-color:var(--accent-teal);background:#00f2fe0f}.wl-selector-wrap{position:relative}.wl-selector-btn{border-radius:var(--r-sm);color:var(--text-primary);cursor:pointer;transition:all var(--tr);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:600;display:flex}.wl-selector-btn:hover{border-color:var(--border);background:var(--bg-tertiary)}.wl-selector-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.wl-selector-chevron{flex-shrink:0;transition:transform .2s}.wl-selector-chevron.open{transform:rotate(180deg)}.wl-dropdown{z-index:200;-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-md);background:#18181bf7;min-width:200px;max-height:320px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 32px #00000080}.wl-dropdown-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:8px 12px 4px;font-size:9px;font-weight:600}.wl-dropdown-item{transition:background var(--tr);align-items:center;gap:8px;padding:6px 12px;display:flex}.wl-dropdown-item:hover{background:var(--bg-tertiary)}.wl-dropdown-item.active{background:#3b82f61a}.wl-dropdown-name{color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.wl-dropdown-count{color:var(--text-muted);background:var(--bg-primary);border-radius:8px;flex-shrink:0;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:10px}.wl-dropdown-del{width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--tr);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.wl-dropdown-item:hover .wl-dropdown-del{opacity:.7}.wl-dropdown-del:hover{color:var(--accent-red);background:#ff08441a;opacity:1!important}.wl-dropdown-star{width:16px;height:16px;color:var(--text-muted);cursor:pointer;transition:all var(--tr);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.wl-dropdown-star:hover{color:var(--accent-yellow,#facc15)}.wl-dropdown-star.is-default{color:var(--accent-yellow,#facc15);opacity:1}.wl-dropdown-rename{background:var(--bg-primary);border:1px solid var(--accent-blue);border-radius:var(--r-sm);color:var(--text-primary);outline:none;flex:1;padding:3px 6px;font-size:12px}.wl-dropdown-new-input{padding:4px 12px}.wl-dropdown-add{border:none;border-top:1px solid var(--border);width:100%;color:var(--text-sec);cursor:pointer;transition:all var(--tr);background:0 0;align-items:center;gap:6px;margin-top:2px;padding:8px 12px;font-size:11px;display:flex}.wl-dropdown-add:hover{color:var(--accent-teal);background:#00f2fe0a}.wl-section{margin-bottom:2px}.wl-section-header{border-radius:var(--r-sm);cursor:pointer;transition:all var(--tr);-webkit-user-select:none;user-select:none;background:#ffffff05;align-items:center;gap:6px;margin:2px 8px;padding:6px 12px;display:flex}.wl-section-header:hover{background:#ffffff0a}.wl-section-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.wl-section-chevron.open{transform:rotate(180deg)}.wl-section-name{text-transform:uppercase;letter-spacing:.08em;color:var(--text-sec);flex:1;font-size:10px;font-weight:600}.wl-section-count{color:var(--text-muted);background:var(--bg-primary);border-radius:6px;padding:0 5px;font-family:JetBrains Mono,monospace;font-size:9px}.wl-section-del{width:14px;height:14px;color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--tr);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.wl-section-header:hover .wl-section-del{opacity:.6}.wl-section-del:hover{color:var(--accent-red);opacity:1!important}.wl-section-divider{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-top:1px solid var(--border);margin-top:4px;padding:6px 16px 4px;font-size:9px;font-weight:600}.wl-section-input-wrap{padding:4px 12px}.wl-add-popover{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);background:#18181bf2;flex-direction:column;max-height:260px;display:flex;overflow:hidden}.wl-add-popover .watchlist-search{width:calc(100% - 24px);margin:8px 12px}.wl-add-list{flex:1;padding-bottom:4px;overflow-y:auto}.wl-add-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:all var(--tr);background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}.wl-add-item:hover{background:var(--bg-tertiary)}.wl-add-item .wl-symbol{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.wl-add-type{color:var(--text-muted);text-transform:uppercase;font-size:10px}.wl-add-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:11px}.wl-loading{color:var(--text-muted);text-align:center;padding:24px 16px;font-size:11px}.chart-grid-area{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.grid-preset-bar{height:var(--preset-h);background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:90;flex-shrink:0;align-items:center;gap:6px;padding:0 16px;display:flex}.grid-preset-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-sec);cursor:pointer;transition:all var(--tr);padding:4px 10px;font-size:11px;font-weight:600}.grid-preset-btn:hover{border-color:var(--accent-blue);color:var(--text-primary);transform:translateY(-1px)}.grid-preset-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);box-shadow:var(--sh-glow);background:#3b82f633}.chart-grid{background:var(--border-sub);-webkit-user-select:none;user-select:none;flex:1;gap:1px;min-height:0;display:grid;position:relative;overflow:hidden}.chart-grid.dragging{cursor:col-resize}.grid-cell{background:var(--bg-primary);position:relative;overflow:hidden}.grid-cell-empty{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.grid-v-handle{cursor:col-resize;z-index:200;width:8px;transition:background var(--tr);background:0 0;position:relative}.grid-v-handle:hover,.grid-v-handle.dragging{background:#00f2fe26}.grid-v-handle:after{content:"";background:var(--border);width:2px;height:40px;transition:all var(--tr);border-radius:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.grid-v-handle:hover:after,.grid-v-handle.dragging:after{background:var(--accent-teal);box-shadow:0 0 8px var(--accent-teal)}.grid-h-handle{cursor:row-resize;z-index:200;height:8px;transition:background var(--tr);background:0 0;position:relative}.grid-h-handle:hover,.grid-h-handle.dragging{background:#00f2fe26}.grid-h-handle:after{content:"";background:var(--border);width:40px;height:2px;transition:all var(--tr);border-radius:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.grid-h-handle:hover:after,.grid-h-handle.dragging:after{background:var(--accent-teal);box-shadow:0 0 8px var(--accent-teal)}.chart-cell{height:100%;transition:all var(--tr);background:var(--bg-primary);border:1px solid #0000;flex-direction:column;display:flex;position:relative;overflow:hidden}.chart-cell.cell-active{border-color:var(--border-active);box-shadow:inset 0 0 20px #3b82f61a}.chart-cell.cell-drop-active{border-color:var(--accent-blue);animation:1.5s ease-in-out infinite cellDropPulse;box-shadow:inset 0 0 30px #3b82f626,0 0 0 2px #3b82f666}@keyframes cellDropPulse{0%,to{box-shadow:inset 0 0 30px #3b82f626,0 0 0 2px #3b82f64d}50%{box-shadow:inset 0 0 40px #3b82f640,0 0 0 3px #3b82f699}}.cell-drop-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);border-radius:inherit;pointer-events:none;background:#0e0e10b3;flex-direction:column;justify-content:center;align-items:center;gap:8px;animation:.15s ease-out dropOverlayFadeIn;display:flex;position:absolute;inset:0}@keyframes dropOverlayFadeIn{0%{opacity:0}to{opacity:1}}.cell-drop-icon{width:48px;height:48px;color:var(--accent-blue);background:#3b82f626;border:2px solid #3b82f666;border-radius:50%;justify-content:center;align-items:center;animation:.4s cubic-bezier(.34,1.56,.64,1) dropIconBounce;display:flex}@keyframes dropIconBounce{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.cell-drop-label{color:var(--accent-blue);text-shadow:0 0 12px #3b82f666;letter-spacing:.3px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.cell-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:6px 12px;display:flex}.cell-header-left{align-items:baseline;gap:10px;display:flex}.cell-symbol{letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700}.cell-price{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.cell-price.price-up{color:var(--accent-teal);text-shadow:0 0 8px #00f2fe4d}.cell-price.price-dn{color:var(--accent-red);text-shadow:0 0 8px #ff08444d}.pct{font-size:10px;font-weight:500}.cell-header-right{align-items:center;gap:8px;display:flex;position:relative}.cell-chart-type-badge{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-sec);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--tr);text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;font-size:10px;font-weight:700}.cell-chart-type-badge:hover{border-color:var(--accent-purple);color:var(--accent-purple);box-shadow:0 0 8px #a855f74d}.cell-type-picker{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-lg);z-index:300;animation:flydown var(--tr-bounce);transform-origin:100% 0;background:#27272ae6;flex-direction:column;display:flex;position:absolute;top:32px;right:0;overflow:hidden}@keyframes flydown{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.cell-type-btn{color:var(--text-sec);cursor:pointer;text-align:left;transition:all var(--tr);border:none;border-bottom:1px solid var(--border-sub);background:0 0;padding:10px 16px;font-size:12px;font-weight:500}.cell-type-btn:last-child{border-bottom:none}.cell-type-btn:hover{background:var(--bg-elevated);color:var(--text-primary);padding-left:20px}.cell-type-btn.active{color:var(--accent-purple);background:#a855f71a;font-weight:700}.cell-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pnf-chart-wrapper{flex-direction:column;height:100%;display:flex}.pnf-mini-header{background:var(--bg-primary);border-bottom:1px solid var(--border-sub);flex-shrink:0;align-items:center;gap:12px;padding:4px 12px;display:flex}.pnf-meta{color:var(--text-sec);flex:1;font-family:JetBrains Mono,monospace;font-size:11px}.pnf-price{color:var(--accent-gold);text-shadow:0 0 10px #fbbf244d;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.pnf-body{flex:1;min-height:0;display:flex}.pnf-canvas{flex:1;min-width:0;min-height:0}.reference-chart-wrapper{flex-direction:column;height:100%;display:flex}.reference-toolbar{background:var(--bg-primary);border-bottom:1px solid var(--border-sub);flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;display:flex}.reference-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-size:11px;font-weight:700}.vol-badge{color:var(--accent-teal);opacity:.9;cursor:help;flex-shrink:0;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.chart-type-tabs{flex-wrap:wrap;gap:6px;display:flex}.chart-type-tab{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-sec);cursor:pointer;transition:all var(--tr);white-space:nowrap;padding:4px 10px;font-size:11px;font-weight:600}.chart-type-tab:hover{border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.chart-type-tab.active{border-color:var(--accent-purple);color:var(--accent-purple);background:#a855f726;font-weight:700;box-shadow:0 0 10px #a855f74d}.reference-body{flex:1;min-height:0;display:flex;overflow:hidden}.reference-chart-container{flex:1;min-width:0;min-height:0}.chart-toolbar-box{border:1px solid var(--border);border-radius:var(--r-md);-webkit-backdrop-filter:blur(14px);z-index:100;background:#18181be0;align-items:center;gap:0;padding:2px;display:flex;position:absolute;top:12px;right:64px;overflow:visible;box-shadow:0 4px 20px #0006,inset 0 0 0 1px #ffffff08}.chart-toolbar-btn{width:30px;height:30px;color:var(--text-sec);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.chart-toolbar-btn:hover{color:var(--text-primary);border-color:var(--border);background:#ffffff12;transform:scale(1.08)}.chart-toolbar-btn.active{color:var(--accent-blue);background:#3b82f626;border-color:#3b82f64d}.chart-toolbar-divider{background:var(--border);opacity:.6;flex-shrink:0;width:1px;height:18px;margin:0 1px}.chart-toolbar-settings-wrap{align-items:center;display:flex;position:relative}.chart-toolbar-settings-wrap .settings-panel{transform-origin:100% 0;position:absolute;top:calc(100% + 8px);bottom:auto;right:0}.drawing-toolbar{background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);z-index:90;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:42px;padding:8px 4px;display:flex;overflow:visible}.dtb-btn{border-radius:var(--r-md);width:32px;height:32px;color:var(--text-sec);cursor:pointer;transition:all var(--tr);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.dtb-btn:hover{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary);transform:scale(1.05)}.dtb-btn.dtb-active{border-color:var(--border-active);color:var(--accent-blue);box-shadow:var(--sh-glow);background:#3b82f626}.dtb-group-btn{flex-direction:column;gap:2px;height:36px}.dtb-icon{font-size:14px;line-height:1}.dtb-chevron{color:var(--text-muted);font-size:8px}.dtb-divider{background:var(--border);flex-shrink:0;width:20px;height:1px;margin:4px 0}.dtb-clear{font-size:15px}.dtb-active-label{color:var(--accent-blue);writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:1px;text-overflow:ellipsis;max-height:80px;padding:4px 0;font-size:8px;font-weight:600;overflow:hidden;transform:rotate(180deg)}.dtb-group-wrap{flex-shrink:0;position:relative}.dtb-flyout{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-md);min-width:180px;box-shadow:var(--sh-lg);z-index:500;animation:flyright var(--tr-bounce);transform-origin:0;background:#27272af2;padding:6px 0;position:absolute;top:0;left:40px}@keyframes flyright{0%{opacity:0;transform:translate(-10px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.dtb-flyout-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border-sub);margin-bottom:4px;padding:4px 12px 6px;font-size:10px;font-weight:700}.dtb-flyout-item{width:100%;color:var(--text-sec);cursor:pointer;text-align:left;transition:all var(--tr);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.dtb-flyout-item:hover{background:var(--bg-elevated);color:var(--text-primary);padding-left:16px}.dtb-flyout-item.dtb-active{color:var(--accent-blue);background:#3b82f61a;font-weight:700}.dtb-flyout-icon{text-align:center;flex-shrink:0;width:18px;font-size:13px}.objmgr-prop-btn{color:var(--text-muted);cursor:pointer;transition:all var(--tr);background:#ffffff0d;border:1px solid #0000;border-radius:4px;padding:4px;font-size:12px}.objmgr-prop-btn:hover{color:var(--accent-blue);background:#3b82f61a;border-color:#3b82f64d;transform:scale(1.1)}.objmgr-panel{width:var(--objmgr-w);background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);border-left:1px solid var(--border);z-index:90;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.objmgr-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.objmgr-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-sec);font-size:12px;font-weight:600}.objmgr-header-right{align-items:center;gap:6px;display:flex}.objmgr-type-badge{color:var(--accent-purple);text-transform:uppercase;letter-spacing:.4px;background:#a855f71f;border:1px solid #a855f733;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.objmgr-count{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.objmgr-body{flex:1;padding-bottom:8px;overflow-y:auto}.objmgr-empty{color:var(--text-muted);text-align:center;padding:24px 16px;font-size:12px;font-weight:500;line-height:1.6}.objmgr-group{border-bottom:1px solid var(--border-sub)}.objmgr-group-header{background:#27272a66;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.objmgr-group-label{color:var(--text-sec);letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.objmgr-group-actions{align-items:center;gap:6px;display:flex}.objmgr-group-count{color:var(--text-muted);background:#ffffff0d;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:600}.objmgr-clear-btn{color:var(--text-muted);cursor:pointer;transition:color var(--tr);background:0 0;border:none;font-size:11px}.objmgr-clear-btn:hover{color:var(--accent-red)}.objmgr-row{border-bottom:1px solid var(--border-sub);cursor:pointer;transition:all var(--tr);align-items:center;gap:8px;padding:6px 16px;display:flex}.objmgr-row:hover{background:var(--bg-tertiary)}.objmgr-row.selected{border-left:2px solid var(--accent-blue);background:#3b82f61a;padding-left:14px}.objmgr-row.hidden-item{opacity:.4}.objmgr-row.hidden-item:hover{opacity:.7}.objmgr-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 4px}.objmgr-type{color:var(--text-primary);text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;overflow:hidden}.objmgr-actions{flex-shrink:0;gap:2px;display:flex}.objmgr-action-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.objmgr-action-btn:hover{color:var(--text-primary);border-color:var(--border);background:#ffffff0f}.objmgr-action-btn.toggled-off{color:var(--text-muted);opacity:.5}.objmgr-action-btn.toggled-off:hover{opacity:1;color:var(--accent-gold)}.objmgr-action-btn.toggled-on{color:var(--accent-gold)}.objmgr-action-btn.toggled-on:hover{color:var(--text-primary)}.objmgr-action-btn.objmgr-del:hover{color:var(--accent-red);background:#ff084414}.settings-container{position:relative}.settings-toggle{border-radius:var(--r-md);width:28px;height:28px;color:var(--text-sec);cursor:pointer;transition:all var(--tr);background:#ffffff05;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.settings-toggle:hover{border-color:var(--border);color:var(--text-primary);background:var(--bg-tertiary);transform:rotate(30deg)}.settings-panel{-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--r-lg);width:280px;box-shadow:var(--sh-lg);z-index:600;opacity:0;pointer-events:none;transition:all var(--tr-bounce);transform-origin:100% 0;background:#27272af2;position:absolute;top:36px;right:0;transform:translateY(-12px)scale(.95)}.settings-panel.open{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.settings-header{border-bottom:1px solid var(--border-sub);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.settings-header h3{letter-spacing:.5px;font-size:14px;font-weight:700}.close-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:all var(--tr);padding:4px 8px;font-size:14px}.close-btn:hover{color:var(--text-primary);border-color:var(--text-sec);transform:scale(1.05)}.settings-body{flex-direction:column;gap:16px;padding:14px 16px;display:flex}.setting-group{flex-direction:column;gap:8px;display:flex}.setting-group label{color:var(--text-sec);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.setting-group input[type=number]{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-primary);appearance:textfield;width:100%;transition:all var(--tr);padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.setting-group input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.readonly-value{background:var(--bg-primary);border:1px solid var(--border-sub);border-radius:var(--r-sm);color:var(--accent-gold);padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.toggle-group{gap:6px;display:flex}.toggle-group button{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-sec);cursor:pointer;transition:all var(--tr);flex:1;padding:8px 10px;font-size:12px;font-weight:600}.toggle-group button:hover{border-color:var(--accent-blue);color:var(--text-primary);transform:translateY(-1px)}.toggle-group button.active{border-color:var(--accent-blue);color:var(--accent-blue);box-shadow:var(--sh-glow);background:#3b82f626}.settings-actions{border-top:1px solid var(--border-sub);gap:8px;margin-top:4px;padding-top:14px;display:flex}.settings-apply-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-muted);letter-spacing:.4px;cursor:not-allowed;text-transform:uppercase;opacity:.5;flex:1;padding:9px 0;font-size:12px;font-weight:700;transition:all .2s}.settings-apply-btn.dirty{border-color:var(--accent-blue);color:var(--accent-blue);cursor:pointer;opacity:1;background:#3b82f62e;box-shadow:0 0 12px #3b82f640}.settings-apply-btn.dirty:hover{background:#3b82f64d;transform:translateY(-1px);box-shadow:0 4px 20px #3b82f659}.settings-apply-btn.dirty:active{transform:translateY(0)}.settings-reset-btn{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-muted);letter-spacing:.3px;cursor:pointer;opacity:.5;background:0 0;padding:9px 14px;font-size:11px;font-weight:600;transition:all .2s}.settings-reset-btn:not(:disabled){opacity:1}.settings-reset-btn:not(:disabled):hover{border-color:var(--accent-red);color:var(--accent-red);background:#ff08440f}.chart-legend{background:var(--bg-primary);border-top:1px solid var(--border);color:var(--text-sec);flex-shrink:0;align-items:center;gap:20px;padding:6px 12px;font-size:11px;font-weight:500;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-x{color:var(--accent-teal);text-shadow:0 0 8px #00f2fe66;font-size:14px;font-weight:800}.legend-o{color:var(--accent-red);text-shadow:0 0 8px #ff084466;font-size:14px;font-weight:800}.legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 5px #fff3}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.left-toolbar-container{background:var(--bg-secondary);border-right:1px solid var(--border);z-index:50;flex-direction:column;flex-shrink:0;width:43px;display:flex}.left-toolbar-container:empty{display:none}.left-toolbar-container .drawing-toolbar{background:0 0;border:none;width:100%;height:100%;padding:8px 4px}.right-sidebar{border-left:1px solid var(--border);background:var(--bg-primary);z-index:50;flex-direction:row;flex-shrink:0;height:100%;display:flex;overflow:hidden}.sidebar-tabs{background:var(--bg-secondary);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:44px;padding:8px 0;display:flex}.sidebar-tab-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-sec);cursor:pointer;transition:all var(--tr);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.sidebar-tab-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-tab-btn.active{color:var(--accent-blue);box-shadow:var(--sh-glow);background:#3b82f626}.sidebar-toggle-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--tr);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.sidebar-toggle-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.sidebar-tabs-divider{background:var(--border);width:20px;height:1px;margin:4px 0}.chart-legend-overlay{z-index:20;-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-sub);border-radius:var(--r-sm);pointer-events:none;background:#0e0e108c;flex-direction:row;align-items:center;gap:8px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex;position:absolute;top:8px;left:12px}.chart-legend-overlay>*{pointer-events:auto}.chart-legend-overlay.legend-table{border-radius:var(--r-md);background:#0e0e10b8;flex-direction:column;align-items:stretch;gap:0;min-width:170px;padding:8px 0}.legend-row{justify-content:space-between;align-items:center;gap:12px;padding:2px 14px;transition:background .12s;display:flex}.legend-row:hover{background:#ffffff08}.legend-row-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;min-width:32px;font-size:10px;font-weight:600}.legend-row-value{color:var(--text-primary);text-align:right;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.legend-header-row{border-bottom:1px solid var(--border-sub);align-items:center;gap:6px;margin-bottom:2px;padding:4px 14px 6px;display:flex}.legend-meta-row{border-top:1px solid var(--border-sub);margin-top:2px;padding-top:5px}.legend-symbol{color:#fff;letter-spacing:.3px;font-size:13px;font-weight:700}.legend-tf-badge{color:var(--accent-gold);letter-spacing:.4px;background:#fbbf241f;border:1px solid #fbbf2438;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700}.legend-type-badge{color:var(--accent-purple);letter-spacing:.4px;background:#a855f71a;border:1px solid #a855f733;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.legend-source-badge{color:var(--text-sec);background:var(--bg-tertiary);border:1px solid var(--border);letter-spacing:.4px;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700}.tv-source{color:#00f2fe;background:#00f2fe1a;border-color:#00f2fe33}.legend-price{font-size:13px;font-weight:600}.legend-ohlc{align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.legend-label{color:var(--text-muted);margin-left:4px;font-size:10px;font-weight:600}.legend-label:first-child{margin-left:0}.legend-chg{font-size:11px;font-weight:700}.legend-vol{color:var(--text-muted);font-size:10px;font-weight:500}.legend-date{color:var(--text-muted);opacity:.75;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400}.ov-up{color:var(--accent-teal)}.ov-dn{color:var(--accent-red)}.legend-pnf-meta{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:10px;font-weight:500}.price-up{color:var(--accent-teal)}.price-dn{color:var(--accent-red)}.chart-grid-area{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.tb-group{position:relative}.tb-trigger{border-radius:var(--r-sm);height:32px;color:var(--text-sec);cursor:pointer;transition:all var(--tr);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;font-family:Outfit,sans-serif;font-size:13px;font-weight:500;display:flex}.tb-trigger:hover{color:var(--text-primary);background:#ffffff0d}.tb-trigger.active{color:var(--accent-blue);background:#3b82f61a;border-color:#3b82f64d}.tb-chevron{opacity:.5;flex-shrink:0;transition:transform .2s}.tb-trigger.active .tb-chevron{opacity:.8;transform:rotate(180deg)}.tb-trigger--symbol{gap:8px;min-width:140px;max-width:240px;font-family:JetBrains Mono,monospace}.tb-sym-ticker{color:var(--text-primary);flex-shrink:0;font-size:14px;font-weight:700}.tb-sym-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;font-family:Outfit,sans-serif;font-size:11px;font-weight:400;overflow:hidden}.tb-trigger--type,.tb-trigger--grid{padding:0 8px}.tb-trigger--live{letter-spacing:.3px;gap:6px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.tb-trigger--live.live{color:var(--accent-teal)}.rt-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:all .3s}.rt-dot.live{background:var(--accent-teal);animation:2s cubic-bezier(.4,0,.2,1) infinite dotPulse;box-shadow:0 0 6px #00f2fe99}@keyframes dotPulse{0%{box-shadow:0 0 #00f2fe80}70%{box-shadow:0 0 0 6px #00f2fe00}to{box-shadow:0 0 #00f2fe00}}.tb-tf-strip{border-radius:var(--r-sm);background:#ffffff05;align-items:center;gap:2px;padding:2px;display:flex}.tb-tf-pill{min-width:32px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 7px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;transition:all .15s;display:flex}.tb-tf-pill:hover{color:var(--text-primary);background:#ffffff0f}.tb-tf-pill.active{color:var(--accent-blue);background:#3b82f626;font-weight:700}.tb-panel{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-md);z-index:500;background:#18181bf7;flex-direction:column;padding:6px 0;animation:.15s panelIn;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 40px #00000080}@keyframes panelIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tb-panel--symbol{min-width:280px;padding:0}.tb-panel--type{min-width:170px}.tb-panel--grid{grid-template-columns:repeat(3,1fr);gap:4px;min-width:auto;padding:8px;display:grid}.tb-grid-item{border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex}.tb-grid-item:hover{background:#ffffff0d}.tb-grid-item.active{background:#3b82f626;border-color:#3b82f64d}.tb-panel-item{color:var(--text-sec);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:7px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;transition:all .12s;display:flex}.tb-panel-item:hover{color:var(--text-primary);background:#ffffff0d}.tb-panel-item.active{color:var(--accent-blue);background:#3b82f614;font-weight:700}.tb-search-wrap{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.tb-search{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:Outfit,sans-serif;font-size:13px}.tb-search::placeholder{color:var(--text-muted)}.tb-panel-list{max-height:280px;padding:4px 0;overflow-y:auto}.tb-panel-list::-webkit-scrollbar{width:4px}.tb-panel-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.tb-item-ticker{min-width:52px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.tb-item-name{color:var(--text-muted);flex:1;font-size:11px;font-weight:400}.tb-item-sector{color:var(--accent-purple);text-transform:uppercase;letter-spacing:.3px;background:#a855f71a;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600}.tb-panel-item.active .tb-item-ticker{color:var(--accent-blue)}.tb-panel-item.active .tb-item-name{color:var(--accent-blue);opacity:.7}.rs-panel-wrapper{flex-shrink:0;height:100%;display:flex;position:relative}.rs-resize-handle{cursor:col-resize;z-index:100;width:5px;height:100%;position:absolute;top:0;left:-2px}.rs-resize-handle:hover{background:var(--accent-blue);opacity:.3}.right-sidebar.resizing .rs-resize-handle{background:var(--accent-blue);opacity:.5}.right-sidebar.resizing{-webkit-user-select:none;user-select:none}.rs-panel{background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);z-index:90;flex-direction:column;flex-shrink:0;width:100%;display:flex;overflow:hidden}.rs-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.rs-panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-sec);font-size:11px;font-weight:700}.rs-panel-add{border-radius:var(--r-sm);width:24px;height:24px;color:var(--accent-blue);cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .15s;display:flex}.rs-panel-add:hover{background:#3b82f640;transform:scale(1.05)}.rs-panel-body{flex:1;padding:8px 0;overflow-y:auto}.rs-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:12px;line-height:1.6}.alert-row{border:1px solid var(--border-sub);border-radius:var(--r-sm);background:0 0;flex-direction:column;gap:4px;margin:0 8px 6px;padding:10px 12px;transition:all .15s;display:flex}.alert-row:hover{border-color:var(--border);background:var(--bg-tertiary)}.alert-row.muted{opacity:.4}.alert-info{align-items:center;gap:8px;display:flex}.alert-sym{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.alert-cond{letter-spacing:.3px;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.alert-cond.above{color:var(--accent-teal);background:#00f2fe1a}.alert-cond.below{color:var(--accent-red);background:#ff08441a}.alert-cond.crosses{color:var(--accent-gold);background:#fbbf241a}.alert-price{color:var(--text-sec);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.alert-note{color:var(--text-muted);padding-left:2px;font-size:10px}.alert-actions{gap:6px;margin-left:auto;display:flex}.alert-toggle,.alert-del{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;transition:background .15s}.alert-toggle:hover,.alert-del:hover{background:#ffffff0f}.profile-row{border:1px solid var(--border-sub);border-radius:var(--r-sm);cursor:pointer;background:0 0;align-items:center;gap:8px;margin:0 8px 4px;padding:8px 10px;transition:all .15s;display:flex}.profile-row:hover{border-color:var(--border);background:var(--bg-tertiary)}.profile-row.is-default{background:#3b82f60d;border-color:#3b82f64d}.profile-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.profile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.profile-rename{background:var(--bg-primary);border:1px solid var(--accent-blue);color:var(--text-primary);border-radius:3px;outline:none;width:100%;padding:2px 6px;font-size:12px}.profile-meta{flex-wrap:wrap;gap:4px;display:flex}.profile-badge{color:var(--text-sec);letter-spacing:.3px;background:#ffffff0d;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.profile-badge.tf{color:var(--accent-gold);background:#fbbf241a}.profile-badge.type{color:var(--accent-purple);background:#a855f71a}.profile-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.profile-default-tag{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.4px;background:#3b82f626;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.profile-action-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;transition:background .15s}.profile-action-btn:hover{background:#ffffff0f}.settings-body{padding:8px 12px}.settings-section{margin-bottom:16px}.settings-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-sub);margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:700}.settings-row{justify-content:space-between;align-items:center;gap:8px;padding:5px 0;display:flex}.settings-label{color:var(--text-sec);font-size:12px;font-weight:500}.settings-select,.settings-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-sm);width:100px;color:var(--text-primary);padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:11px;transition:border-color .15s}.settings-select:focus,.settings-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f626}.settings-toggle{background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;border-radius:10px;width:36px;height:20px;padding:0;transition:all .2s;position:relative}.settings-toggle.on{border-color:var(--accent-blue);background:#3b82f64d}.settings-toggle-knob{background:var(--text-muted);border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:2px;left:2px}.settings-toggle.on .settings-toggle-knob{background:var(--accent-blue);left:18px}.settings-actions{border-top:1px solid var(--border-sub);gap:8px;padding-top:12px;display:flex}.settings-btn{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;flex:1;padding:7px 12px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.settings-btn.reset{color:var(--text-sec);background:0 0}.settings-btn.reset:hover{color:var(--text-primary);background:#ffffff0d}.settings-btn.save{color:var(--accent-blue);background:#3b82f626;border-color:#3b82f64d}.settings-btn.save:hover{background:#3b82f640}.settings-btn.saved{color:var(--accent-teal);background:#00f2fe26;border-color:#00f2fe4d}.ak-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.ak-empty-icon{color:var(--text-muted);opacity:.4;margin-bottom:4px}.ak-empty-text{color:var(--text-sec);font-size:13px;font-weight:600}.ak-empty-hint{color:var(--text-muted);max-width:200px;font-size:11px;line-height:1.5}.ak-loading{color:var(--text-muted);text-align:center;padding:24px 16px;font-size:11px}.ak-create-form{border:1px solid var(--border);border-radius:var(--r-md);background:#27272a99;margin:8px 10px;padding:12px;animation:.25s cubic-bezier(.175,.885,.32,1.275) flydown}.ak-form-title{color:var(--text-sec);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-sub);margin-bottom:10px;padding-bottom:6px;font-size:11px;font-weight:700}.ak-error{color:var(--accent-red);border-radius:var(--r-sm);background:#ff084414;border:1px solid #ff084433;margin-bottom:8px;padding:6px 10px;font-size:11px}.ak-form-row{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.ak-form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.ak-form-input,.ak-form-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-primary);transition:all var(--tr);padding:7px 10px;font-family:Outfit,sans-serif;font-size:12px}.ak-form-input:focus,.ak-form-select:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f626}.ak-form-input::placeholder{color:var(--text-muted)}.ak-form-actions{gap:8px;margin-top:4px;display:flex}.ak-btn{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:all var(--tr);align-items:center;gap:5px;padding:6px 12px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;display:flex}.ak-btn-cancel{color:var(--text-sec);background:0 0;flex:1}.ak-btn-cancel:hover{color:var(--text-primary);background:#ffffff0d}.ak-btn-generate{color:var(--accent-purple);background:#a855f726;border-color:#a855f74d;flex:1}.ak-btn-generate:hover{background:#a855f740;box-shadow:0 0 12px #a855f733}.ak-generated-banner{border-radius:var(--r-md);text-align:center;background:linear-gradient(135deg,#00f2fe0f,#a855f70f);border:1px solid #00f2fe33;flex-direction:column;align-items:center;gap:6px;margin:8px 10px;padding:16px 12px;animation:.35s cubic-bezier(.175,.885,.32,1.275) flydown;display:flex}.ak-generated-icon{color:var(--accent-teal);filter:drop-shadow(0 0 8px #00f2fe66)}.ak-generated-title{color:var(--accent-teal);text-shadow:0 0 12px #00f2fe4d;font-size:13px;font-weight:700}.ak-generated-subtitle{color:var(--text-muted);font-size:10px;font-weight:500}.ak-generated-key-wrap{border:1px solid var(--border);border-radius:var(--r-sm);background:#0000004d;width:100%;margin:6px 0;padding:8px;overflow-x:auto}.ak-generated-key{color:var(--accent-gold);word-break:break-all;text-shadow:0 0 6px #fbbf2433;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.5}.ak-generated-actions{gap:8px;width:100%;margin-top:4px;display:flex}.ak-btn-copy{color:var(--accent-blue);background:#3b82f626;border-color:#3b82f64d;flex:1;justify-content:center}.ak-btn-copy:hover{box-shadow:var(--sh-glow);background:#3b82f640}.ak-btn-copy.copied{color:var(--accent-teal);background:#00f2fe26;border-color:#00f2fe4d}.ak-btn-dismiss{color:var(--text-sec);background:0 0;flex:1;justify-content:center}.ak-btn-dismiss:hover{color:var(--text-primary);background:#ffffff0d}.ak-key-list{padding:4px 0}.ak-key-item{border:1px solid var(--border);border-radius:var(--r-md);transition:all var(--tr);background:#27272a66;margin:4px 10px;padding:10px 12px}.ak-key-item:hover{background:#27272a99;border-color:#ffffff1f}.ak-key-item.revoked,.ak-key-item.expired{opacity:.55}.ak-key-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.ak-key-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:600;overflow:hidden}.ak-key-badges{flex-shrink:0;gap:4px;margin-left:8px;display:flex}.ak-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.ak-badge-active{color:var(--accent-teal);background:#00f2fe1a;border:1px solid #00f2fe33}.ak-badge-revoked{color:var(--accent-red);background:#ff08441a;border:1px solid #ff084433}.ak-badge-expired{color:var(--accent-gold);background:#fbbf241a;border:1px solid #fbbf2433}.ak-key-prefix{margin-bottom:4px}.ak-key-prefix code{color:var(--text-sec);background:#0003;border-radius:3px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:10px}.ak-key-meta{color:var(--text-muted);flex-wrap:wrap;gap:2px;font-size:10px;line-height:1.4;display:flex}.ak-key-actions{border-top:1px solid var(--border-sub);align-items:center;gap:6px;margin-top:8px;padding-top:8px;display:flex}.ak-action-btn{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:all var(--tr);background:0 0;align-items:center;gap:4px;padding:4px 8px;font-family:Outfit,sans-serif;font-size:10px;font-weight:600;display:flex}.ak-revoke{color:var(--accent-gold)}.ak-revoke:hover{background:#fbbf241a;border-color:#fbbf244d}.ak-activate{color:var(--accent-teal)}.ak-activate:hover{background:#00f2fe1a;border-color:#00f2fe4d}.ak-delete{color:var(--text-muted);margin-left:auto}.ak-delete:hover{color:var(--accent-red);background:#ff084414;border-color:#ff084433}.ak-confirm-delete{color:var(--accent-red);align-items:center;gap:6px;margin-left:auto;font-size:10px;font-weight:600;display:flex}.ak-delete-confirm{color:var(--accent-red);background:#ff08441a;border-color:#ff08444d}.ak-delete-confirm:hover{background:#ff084433}.ak-delete-cancel{color:var(--text-sec)}.ak-delete-cancel:hover{background:#ffffff0d}.ak-help{border:1px solid var(--border-sub);border-radius:var(--r-sm);background:#27272a4d;margin:8px 10px;padding:10px 12px}.ak-help-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:10px;font-weight:700}.ak-help-code{color:var(--text-sec);white-space:nowrap;background:#0003;border-radius:3px;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.4;display:block;overflow-x:auto}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-lg);background:#18181bf7;width:380px;max-width:90vw;animation:.2s modalSlide;box-shadow:0 24px 60px #0009}@keyframes modalSlide{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;font-weight:700;display:flex}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;transition:color .15s}.modal-close:hover{color:var(--text-primary)}.modal-body{flex-direction:column;gap:10px;padding:16px 20px;display:flex}.modal-label{color:var(--text-sec);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.modal-select,.modal-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-primary);padding:8px 12px;font-family:Outfit,sans-serif;font-size:13px;transition:border-color .15s}.modal-select:focus,.modal-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f626}.modal-footer{border-top:1px solid var(--border);gap:10px;padding:14px 20px;display:flex}.modal-btn{border-radius:var(--r-sm);cursor:pointer;border:none;flex:1;padding:8px 16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.modal-btn.secondary{background:var(--bg-tertiary);color:var(--text-sec)}.modal-btn.secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.modal-btn.primary{background:var(--accent-blue);color:#fff}.modal-btn.primary:hover{background:var(--accent-blue-hover);box-shadow:0 4px 12px #3b82f666}.dpm-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.dpm-modal{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--r-lg);width:380px;max-height:85vh;box-shadow:var(--sh-lg);background:#18181bfa;outline:none;flex-direction:column;animation:.25s cubic-bezier(.175,.885,.32,1.275) scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dpm-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dpm-title{color:var(--text-primary);text-transform:capitalize;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.dpm-type-icon{color:var(--accent-blue);font-size:16px}.dpm-close{color:var(--text-muted);cursor:pointer;transition:all var(--tr);background:0 0;border:none;border-radius:4px;padding:4px;font-size:14px}.dpm-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.dpm-header-actions{align-items:center;gap:4px;display:flex}.dpm-quick-btn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-sec);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:flex}.dpm-quick-btn:hover{color:var(--text-primary);border-color:var(--border);background:#ffffff0f}.dpm-quick-btn.toggled-off{color:var(--accent-red);opacity:.7}.dpm-quick-btn.toggled-off:hover{opacity:1}.dpm-quickbar{border-bottom:1px solid var(--border-sub);background:#ffffff04;align-items:center;gap:4px;padding:8px 16px;display:flex}.dpm-qb-color-wrap{flex-shrink:0;position:relative}.dpm-qb-color{border:2px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;width:28px;height:28px;padding:0}.dpm-qb-color::-webkit-color-swatch-wrapper{padding:2px}.dpm-qb-color::-webkit-color-swatch{border:none;border-radius:3px}.dpm-qb-group{gap:2px;display:flex}.dpm-qb-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dpm-qb-btn:hover{color:var(--text-primary);border-color:var(--border);background:#ffffff0f}.dpm-qb-btn.active{color:var(--accent-blue);background:#3b82f61f;border-color:#3b82f64d}.dpm-qb-width-line{background:currentColor;border-radius:1px;width:16px;min-height:1px}.dpm-qb-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.dpm-body{flex:1;padding:8px 0;overflow-y:auto}.dpm-section{border-bottom:1px solid var(--border-sub);padding:12px 20px}.dpm-section:last-child{border-bottom:none}.dpm-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:700}.dpm-field{margin-bottom:12px}.dpm-field:last-child{margin-bottom:0}.dpm-field>label{color:var(--text-sec);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.dpm-text-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-primary);resize:vertical;min-height:60px;transition:all var(--tr);outline:none;padding:8px;font-family:inherit;font-size:12px}.dpm-text-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f626}.dpm-color-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dpm-color-input{border:2px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;width:32px;height:32px;padding:0}.dpm-color-input::-webkit-color-swatch-wrapper{padding:2px}.dpm-color-input::-webkit-color-swatch{border:none;border-radius:3px}.dpm-preset-colors{flex-wrap:wrap;gap:4px;display:flex}.dpm-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:3px;width:18px;height:18px;transition:all .15s}.dpm-color-swatch:hover{transform:scale(1.2)}.dpm-color-swatch.active{border-color:#fff;box-shadow:0 0 6px #fff6}.dpm-no-fill{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-sec);cursor:pointer;transition:all var(--tr);padding:4px 10px;font-size:11px;font-weight:500}.dpm-no-fill:hover{color:var(--text-primary);border-color:var(--accent-blue)}.dpm-width-row{gap:6px;display:flex}.dpm-width-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;width:36px;height:28px;transition:all var(--tr);justify-content:center;align-items:center;display:flex}.dpm-width-btn:hover{border-color:var(--text-muted)}.dpm-width-btn.active{border-color:var(--accent-blue);background:#3b82f626}.dpm-width-preview{background:var(--text-primary);border-radius:1px;width:20px;min-height:1px}.dpm-width-btn.active .dpm-width-preview{background:var(--accent-blue)}.dpm-style-row{gap:6px;display:flex}.dpm-style-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:all var(--tr);color:var(--text-sec);padding:6px 8px}.dpm-style-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.dpm-style-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f626}.dpm-toggle-field{justify-content:space-between;align-items:center;display:flex}.dpm-toggle{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;border-radius:10px;width:36px;height:20px;padding:0;transition:all .2s;position:relative}.dpm-toggle.on{border-color:var(--accent-blue);background:#3b82f64d}.dpm-toggle-thumb{background:var(--text-sec);border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:2px;left:2px}.dpm-toggle.on .dpm-toggle-thumb{background:var(--accent-blue);left:18px}.dpm-coord-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:11px;display:flex}.dpm-coord-label{color:var(--text-muted);font-weight:600}.dpm-coord-val{color:var(--text-sec);font-family:JetBrains Mono,monospace;font-size:10px}.dpm-footer{border-top:1px solid var(--border);gap:10px;padding:14px 20px;display:flex}.dpm-btn{border-radius:var(--r-sm);cursor:pointer;border:none;flex:1;padding:8px 16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.dpm-btn-cancel{background:var(--bg-tertiary);color:var(--text-sec)}.dpm-btn-cancel:hover{background:var(--bg-elevated);color:var(--text-primary)}.dpm-btn-apply{background:var(--accent-blue);color:#fff}.dpm-btn-apply:hover{background:var(--accent-blue-hover);box-shadow:0 4px 12px #3b82f666}.dpm-tabs{border-bottom:1px solid var(--border);background:#ffffff03;gap:0;padding:0 20px;display:flex}.dpm-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 16px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s;display:flex;position:relative}.dpm-tab:hover{color:var(--text-sec)}.dpm-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.dpm-tab svg{opacity:.6;transition:opacity .2s}.dpm-tab.active svg{opacity:1}.dpm-position-hint{color:var(--text-muted);border-radius:var(--r-sm);background:#3b82f60d;border:1px solid #3b82f61a;margin-bottom:14px;padding:8px 12px;font-size:11px;line-height:1.5}.dpm-anchor-card{background:var(--bg-tertiary);border:1px solid var(--border-sub);border-radius:var(--r-md);margin-bottom:10px;padding:12px;transition:border-color .2s,box-shadow .2s}.dpm-anchor-card:last-child{margin-bottom:0}.dpm-anchor-card:hover{border-color:#3b82f640;box-shadow:0 0 0 1px #3b82f614}.dpm-anchor-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dpm-anchor-badge{color:var(--text-sec);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.dpm-anchor-dot{background:var(--accent-blue);border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #3b82f666}.dpm-anchor-fields{flex-direction:column;gap:8px;display:flex}.dpm-anchor-field{flex-direction:column;gap:4px;display:flex}.dpm-anchor-field>label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;font-size:10px;font-weight:600;display:flex}.dpm-anchor-field>label svg{opacity:.5}.dpm-anchor-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-primary);outline:none;padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .15s}.dpm-anchor-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f626}.dpm-anchor-input::-webkit-inner-spin-button{opacity:1;height:20px}.dpm-anchor-input::-webkit-outer-spin-button{opacity:1;height:20px}.dpm-anchor-time{font-size:11px}.dpm-anchor-time::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.dpm-anchor-display{color:var(--text-muted);padding:2px 0 0;font-family:JetBrains Mono,monospace;font-size:10px}.dpm-vis-hint{color:var(--text-sec);margin-bottom:14px;font-size:11px;line-height:1.6}.dpm-vis-hint strong{color:var(--accent-purple)}.dpm-vis-card{background:var(--bg-tertiary);border:1px solid var(--border-sub);border-radius:var(--r-md);margin-bottom:14px;overflow:hidden}.dpm-vis-row{justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.dpm-vis-row--main{border-bottom:1px solid var(--border-sub)}.dpm-vis-row--main:last-child{border-bottom:none}.dpm-vis-label{color:var(--text-primary);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.dpm-vis-label svg{color:var(--text-muted);flex-shrink:0}.dpm-vis-info{border-radius:var(--r-sm);color:var(--text-muted);background:#3b82f60a;border:1px solid #3b82f614;align-items:flex-start;gap:8px;padding:10px 12px;font-size:10px;line-height:1.5;display:flex}.dpm-vis-info svg{color:var(--accent-blue);opacity:.6;flex-shrink:0;margin-top:1px}.dpm-vis-info strong{color:var(--accent-purple)}.login-overlay{z-index:99999;-webkit-backdrop-filter:blur(12px);background:#000000bf;justify-content:center;align-items:center;animation:.3s loginFadeIn;display:flex;position:fixed;inset:0}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}.login-modal{-webkit-backdrop-filter:blur(40px);background:#0f0f14eb;border:1px solid #ffffff14;border-radius:20px;width:420px;max-width:92vw;animation:.35s cubic-bezier(.175,.885,.32,1.275) loginSlideIn;position:relative;overflow:hidden;box-shadow:0 32px 80px #000000b3,0 0 80px #6366f114,inset 0 1px #ffffff0f}@keyframes loginSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-modal.shake{animation:.5s cubic-bezier(.36,.07,.19,.97) loginShake}@keyframes loginShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.login-glow{filter:blur(80px);pointer-events:none;opacity:.3;border-radius:50%;width:200px;height:200px;position:absolute}.login-glow--blue{background:radial-gradient(circle,#6366f1 0%,#0000 70%);animation:6s ease-in-out infinite alternate loginGlowFloat1;top:-60px;right:-40px}.login-glow--purple{background:radial-gradient(circle,#8b5cf6 0%,#0000 70%);animation:8s ease-in-out infinite alternate loginGlowFloat2;bottom:-60px;left:-40px}@keyframes loginGlowFloat1{0%{transform:translate(0)scale(1)}to{transform:translate(20px,15px)scale(1.15)}}@keyframes loginGlowFloat2{0%{transform:translate(0)scale(1)}to{transform:translate(-15px,-20px)scale(1.1)}}.login-header{z-index:1;flex-direction:column;gap:12px;padding:32px 32px 0;display:flex;position:relative}.login-logo{align-items:center;gap:10px;display:flex}.login-logo-icon{filter:drop-shadow(0 0 12px #6366f166);justify-content:center;align-items:center;display:flex}.login-logo-text{flex-direction:column;gap:1px;display:flex}.login-brand{color:var(--text-primary);letter-spacing:.5px;font-size:16px;font-weight:700}.login-tagline{color:var(--text-muted);letter-spacing:.3px;font-size:10px;font-weight:500}.login-title{color:var(--text-primary);letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}.login-subtitle{color:var(--text-muted);margin:0;font-size:13px;font-weight:400;line-height:1.4}.login-form{z-index:1;flex-direction:column;gap:16px;padding:24px 32px 20px;display:flex;position:relative}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--text-sec);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.login-label svg{opacity:.6}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-wrap .login-input{padding-right:38px}.login-input{border-radius:var(--r-md);width:100%;color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff14;padding:12px 14px;font-family:Outfit,sans-serif;font-size:14px;transition:all .2s}.login-input::placeholder{color:var(--text-muted);font-weight:400}.login-input:focus{background:#ffffff0f;border-color:#6366f180;outline:none;box-shadow:0 0 0 3px #6366f11f}.login-input:disabled{opacity:.5;cursor:not-allowed}.login-toggle-pw{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;right:6px}.login-toggle-pw:hover{color:var(--text-primary);background:#ffffff0f}.login-error{border-radius:var(--r-sm);color:#ff6b8a;background:#ff084414;border:1px solid #ff084433;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:500;animation:.2s loginErrorIn;display:flex}@keyframes loginErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-error svg{opacity:.8;stroke:#ff6b8a;flex-shrink:0}.login-submit{border-radius:var(--r-md);color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 20px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #6366f14d}.login-submit:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a,#0000);transition:opacity .25s;position:absolute;inset:0}.login-submit:hover:before{opacity:1}.login-submit:hover{transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.login-submit:active{transform:translateY(0);box-shadow:0 2px 8px #6366f14d}.login-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite loginSpin}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{z-index:1;justify-content:center;align-items:center;gap:6px;padding:0 32px 28px;display:flex;position:relative}.login-switch-text{color:var(--text-muted);font-size:12px;font-weight:400}.login-switch-btn{color:#818cf8;cursor:pointer;background:0 0;border:none;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s}.login-switch-btn:hover{color:#a5b4fc;text-decoration:underline}.login-switch-btn:disabled{opacity:.5;cursor:not-allowed}.login-close{z-index:2;width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.login-close:hover{color:var(--text-primary);background:#ffffff1a;transform:rotate(90deg)}.tb-user-group{align-items:center;gap:6px;display:flex}.tb-user-badge{background:#ffffff08;border:1px solid #ffffff0f;border-radius:20px;align-items:center;gap:8px;padding:4px 10px 4px 4px;transition:all .15s;display:flex}.tb-user-badge:hover{background:#ffffff0f;border-color:#ffffff1a}.tb-user-avatar{color:#fff;text-transform:uppercase;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex;box-shadow:0 0 10px #6366f14d}.tb-user-email{color:var(--text-sec);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:11px;font-weight:500;overflow:hidden}.tb-user-role{color:var(--accent-gold);letter-spacing:.5px;background:#fbbf241f;border:1px solid #fbbf2433;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:700}.tb-trigger--logout{height:28px;color:var(--text-muted);padding:0 6px}.tb-trigger--logout:hover{color:var(--accent-red);background:#ff084414}.tb-trigger--login{color:#a5b4fc;border-radius:var(--r-md);background:linear-gradient(135deg,#6366f126,#8b5cf626);border:1px solid #6366f140;gap:6px;height:32px;padding:0 14px;font-size:12px;font-weight:600}.tb-trigger--login:hover{color:#c7d2fe;background:linear-gradient(135deg,#6366f140,#8b5cf640);transform:translateY(-1px);box-shadow:0 4px 16px #6366f133}.chart-ctx-menu{-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--r-md);transform-origin:0 0;background:#18181bf5;min-width:260px;animation:.12s ease-out ctxIn;overflow:hidden;box-shadow:0 12px 48px #0009,0 0 1px #ffffff1a}@keyframes ctxIn{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.ctx-menu-header{border-bottom:1px solid var(--border-sub);background:#ffffff05;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.ctx-menu-symbol{color:var(--text-primary);letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.ctx-menu-price{color:var(--accent-gold);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.ctx-menu-item{width:100%;color:var(--text-sec);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .12s;display:flex}.ctx-menu-item:hover{color:var(--text-primary);background:#ffffff0d}.ctx-menu-item.above:hover{color:var(--accent-teal);background:#00f2fe14}.ctx-menu-item.below:hover{color:var(--accent-red);background:#ff084414}.ctx-menu-item:disabled{opacity:.5;cursor:default}.ctx-menu-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;display:flex}.ctx-menu-item.above .ctx-menu-icon{color:var(--accent-teal)}.ctx-menu-item.below .ctx-menu-icon{color:var(--accent-red)}.ctx-menu-label{flex:1}.ctx-menu-hint{border-top:1px solid var(--border-sub);color:var(--text-muted);padding:6px 14px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.chart-ctx-toast{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);z-index:10000;pointer-events:none;white-space:nowrap;background:#18181bf2;padding:10px 20px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;animation:.3s toastIn,.3s 2.7s forwards toastOut;position:fixed;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.chart-ctx-toast.ok{color:var(--accent-teal);border-color:#00f2fe4d}.chart-ctx-toast.err{color:var(--accent-red);border-color:#ff08444d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(12px)}}.standalone-container{background:var(--bg-primary);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.standalone-status{background:var(--bg-primary);width:100vw;height:100vh;color:var(--text-primary);justify-content:center;align-items:center;gap:10px;font-family:Outfit,sans-serif;display:flex}.standalone-status.standalone-error{color:var(--accent-red)}.standalone-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.standalone-info{align-items:center;gap:10px;display:flex}.standalone-symbol{color:var(--text-primary);letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600}.standalone-badge{border-radius:var(--r-sm);color:var(--accent-blue-hover);background:#3b82f626;border:1px solid #3b82f633;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.standalone-range{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.standalone-export-btn{color:var(--text-primary);border-radius:var(--r-sm);cursor:pointer;transition:var(--tr);background:linear-gradient(135deg,#3b82f633,#00f2fe1a);border:1px solid #3b82f64d;align-items:center;gap:6px;padding:6px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;display:flex}.standalone-export-btn:hover:not(:disabled){border-color:var(--accent-blue);background:linear-gradient(135deg,#3b82f659,#00f2fe33);box-shadow:0 0 12px #3b82f633}.standalone-export-btn:disabled{opacity:.4;cursor:not-allowed}.spinner-sm{border:2px solid #ffffff26;border-top-color:var(--accent-teal);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.standalone-chart-area{flex:1;min-height:0;position:relative}.standalone-chart-area>div{width:100%!important;height:100%!important}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast-item{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-active);border-radius:var(--r-md);width:320px;box-shadow:var(--sh-md), inset 0 0 15px #3b82f61a;color:var(--text-primary);pointer-events:auto;animation:toastSlideIn var(--tr-bounce) forwards;background:#27272ad9;align-items:flex-start;gap:12px;padding:12px 16px;display:flex;position:relative;overflow:hidden}@keyframes toastSlideIn{0%{opacity:0;transform:translate(50px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}.toast-item:before{content:"";background:var(--grad-teal);width:4px;height:100%;position:absolute;top:0;left:0}.toast-icon{margin-top:2px;font-size:18px;animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.toast-content{flex-direction:column;flex:1;gap:4px;display:flex}.toast-header{justify-content:space-between;align-items:center;display:flex}.toast-symbol{color:var(--accent-teal);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700}.toast-time{color:var(--text-muted);font-size:10px}.toast-body{justify-content:space-between;align-items:center;font-size:12px;display:flex}.toast-condition{color:var(--text-sec);font-weight:500}.toast-price{color:var(--accent-gold);font-family:JetBrains Mono,monospace;font-weight:700}.toast-message{color:var(--text-muted);margin-top:4px;font-size:11px;font-style:italic;line-height:1.3}.toast-close{color:var(--text-muted);cursor:pointer;transition:all var(--tr);background:0 0;border:none;padding:2px;font-size:12px}.toast-close:hover{color:var(--text-primary);transform:scale(1.1)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulseRing{0%{opacity:.6;transform:translate(-50%,-50%)scale(.4)}80%{opacity:0}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes barGrow{0%{opacity:.3;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1)}to{opacity:.3;transform:scaleY(.3)}}@keyframes gridLineSweep{0%{opacity:.02}50%{opacity:.08}to{opacity:.02}}@keyframes statusPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes dotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes spinSmooth{to{transform:rotate(360deg)}}@keyframes tickerSlide{0%{opacity:0;transform:translate(-6px)}20%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(6px)}}.chart-skeleton{background:#0d1117;flex-direction:column;width:100%;height:100%;animation:.3s fadeIn;display:flex;position:relative;overflow:hidden}.chart-skeleton:before{content:"";background:repeating-linear-gradient(90deg,#0000,#0000 79px,#21262d80 79px 80px),repeating-linear-gradient(0deg,#0000,#0000 59px,#21262d80 59px 60px);animation:3s ease-in-out infinite gridLineSweep;position:absolute;inset:0}.chart-skeleton:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#3b82f608 25%,#00f2fe0d 50%,#3b82f608 75%,#0000 100%) 0 0/400px 100%;animation:2.5s ease-in-out infinite shimmer;position:absolute;inset:0}.skel-bars{justify-content:center;align-items:flex-end;gap:3px;height:60%;padding:0 20px;display:flex;position:absolute;bottom:28px;left:0;right:56px}.skel-bar{transform-origin:bottom;will-change:transform, opacity;border-radius:1px;width:6px;animation:2.4s ease-in-out infinite barGrow}.skel-bar.up{background:#26a69a40}.skel-bar.down{background:#ef535033}.skel-price-scale{border-left:1px solid #30363d80;flex-direction:column;justify-content:space-between;width:56px;padding:12px 6px;display:flex;position:absolute;top:10px;bottom:28px;right:0}.skel-price-tick{background:linear-gradient(90deg,#e6edf30f,#e6edf305);border-radius:2px;width:100%;height:8px}.skel-time-axis{border-top:1px solid #30363d80;justify-content:space-around;align-items:center;height:28px;padding:0 20px;display:flex;position:absolute;bottom:0;left:0;right:56px}.skel-time-tick{background:#e6edf30a;border-radius:2px;width:36px;height:6px}.skel-center{z-index:2;flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skel-spinner{border:2.5px solid #3b82f61f;border-top-color:var(--accent-blue);will-change:transform;border-radius:50%;width:36px;height:36px;animation:1s cubic-bezier(.4,0,.2,1) infinite spinSmooth}.skel-label{color:var(--text-muted);letter-spacing:.5px;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:flex}.skel-label-dots{gap:3px;display:inline-flex}.skel-label-dots span{background:var(--accent-blue);border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite both dotBounce}.skel-label-dots span:first-child{animation-delay:0s}.skel-label-dots span:nth-child(2){animation-delay:.16s}.skel-label-dots span:nth-child(3){animation-delay:.32s}.workspace-loader{background:var(--bg-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;animation:.4s fadeIn;display:flex;position:relative;overflow:hidden}.ws-loader-rings{width:80px;height:80px;margin-bottom:28px;position:relative}.ws-loader-ring{border:1.5px solid #3b82f633;border-radius:50%;width:80px;height:80px;animation:2.4s cubic-bezier(.215,.61,.355,1) infinite pulseRing;position:absolute;top:50%;left:50%}.ws-loader-ring:nth-child(2){animation-delay:.8s}.ws-loader-ring:nth-child(3){animation-delay:1.6s}.ws-loader-icon{background:var(--grad-teal);border-radius:var(--r-md);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:12px;font-weight:700;animation:3s ease-in-out infinite float;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #00f2fe66}.ws-loader-text{color:var(--text-sec);letter-spacing:.5px;margin-bottom:8px;font-size:14px;font-weight:600}.ws-loader-sub{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;font-weight:400;display:flex}.ws-loader-sub .skel-label-dots{gap:3px;display:inline-flex}.ws-loader-sub .skel-label-dots span{background:var(--accent-teal);border-radius:50%;width:3px;height:3px;animation:1.4s ease-in-out infinite both dotBounce}.ws-loader-sub .skel-label-dots span:first-child{animation-delay:0s}.ws-loader-sub .skel-label-dots span:nth-child(2){animation-delay:.16s}.ws-loader-sub .skel-label-dots span:nth-child(3){animation-delay:.32s}.workspace-loader:before{content:"";opacity:.5;pointer-events:none;background:repeating-linear-gradient(90deg,#0000,#0000 79px,#21262d40 79px 80px),repeating-linear-gradient(0deg,#0000,#0000 59px,#21262d40 59px 60px);position:absolute;inset:0}.chart-refresh-overlay{-webkit-backdrop-filter:blur(4px);z-index:5;pointer-events:none;background:#0d111773;justify-content:center;align-items:center;animation:.3s overlayFadeIn;display:flex;position:absolute;inset:0}.chart-refresh-spinner{border:2px solid #3b82f626;border-top-color:var(--accent-blue);border-radius:50%;width:28px;height:28px;animation:.8s cubic-bezier(.4,0,.2,1) infinite spinSmooth}.sb-loading-indicator{color:var(--accent-gold);align-items:center;gap:6px;animation:1.5s ease-in-out infinite statusPulse;display:inline-flex}.sb-loading-spinner{border:1.5px solid #fbbf2433;border-top-color:var(--accent-gold);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite spinSmooth}.sb-loading-text{font-size:11px;font-weight:500;animation:2s ease-in-out infinite tickerSlide}
