@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-color:#050811;--panel-bg:#0b1120a6;--panel-border:#00f0ff14;--panel-header:#060a14d9;--accent-cyan:#00f0ff;--accent-cyan-glow:#00f0ff26;--color-up:#00ff87;--color-up-glow:#00ff8726;--color-down:#f05;--color-down-glow:#ff005526;--text-primary:#e2e8f0;--text-secondary:#8a99ad;--text-muted:#56677f;--font-sans:"Inter", "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Apple SD Gothic Neo", "Malgun Gothic", monospace}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);font-family:var(--font-sans);letter-spacing:-.01em;background-color:#0000;background-image:radial-gradient(#00f0ff09 1.5px,#0000 1.5px),radial-gradient(circle at 50% 0,#0d1527 0%,#060913 70%,#020306 100%);background-position:0 0;background-repeat:repeat;background-size:24px 24px,100% 100%;background-attachment:fixed;background-origin:padding-box;background-clip:border-box;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#04070d80}::-webkit-scrollbar-thumb{background:#00f0ff33;border-radius:3px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:var(--accent-cyan)}@keyframes flash-up{0%{background-color:#00ff8766}to{background-color:#0000}}@keyframes flash-down{0%{background-color:#f056}to{background-color:#0000}}.flash-up-anim{animation:.8s ease-out flash-up}.flash-down-anim{animation:.8s ease-out flash-down}.app-container{flex-direction:column;gap:12px;height:100vh;padding:12px;display:flex}.app-header{-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);border:1px solid #00f0ff1a;border-left:4px solid var(--accent-cyan);background:#0b1120a6;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;box-shadow:0 4px 20px #0006}.header-title-group h1{letter-spacing:.05em;text-transform:uppercase;color:#fff;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}.header-title-group h1 span{color:var(--accent-cyan);font-family:var(--font-mono);border:1px solid var(--accent-cyan);border-radius:2px;padding:1px 6px;font-size:.8rem}.time-controls{align-items:center;gap:8px;display:flex}.date-badge{font-family:var(--font-mono);color:#fff;background:var(--panel-header);border:1px solid var(--panel-border);align-items:center;gap:8px;padding:6px 14px;font-size:1.1rem;font-weight:600;display:flex}.quant-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border:1px solid var(--panel-border);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -10px #000000b3,inset 0 1px #ffffff0d,inset 0 0 15px #00f0ff03}.quant-panel-header{background:var(--panel-header);border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.quant-panel-title{text-transform:uppercase;letter-spacing:.08em;color:#fff;align-items:center;gap:8px;font-size:.75rem;font-weight:700;display:flex}.quant-panel-title:before{content:"";background-color:var(--accent-cyan);width:6px;height:6px;box-shadow:0 0 8px var(--accent-cyan), 0 0 16px var(--accent-cyan);border-radius:50%;animation:2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.quant-panel-status{font-family:var(--font-mono);color:var(--accent-cyan);border:1px solid #00f0ff4d;padding:1px 4px;font-size:.65rem}.quant-panel-body{flex:1;padding:12px;overflow-y:auto}.btn-quant{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);cursor:pointer;background:#16203566;border:1px solid #ffffff26;border-radius:4px;outline:none;align-items:center;gap:6px;padding:8px 14px;font-size:.72rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 4px #0003}.btn-quant:hover{border-color:var(--accent-cyan);color:#fff;background:#00f0ff14;box-shadow:0 0 10px #00f0ff26}.btn-quant:active{transform:scale(.97)}.btn-quant.accent{border-color:var(--accent-cyan);color:var(--accent-cyan);background-color:#00f0ff0d;box-shadow:0 0 8px #00f0ff0d}.btn-quant.accent:hover{background-color:var(--accent-cyan);color:#000;box-shadow:0 0 15px #00f0ff59}.btn-quant.danger{border-color:var(--color-down);color:var(--color-down);background-color:#ff00550d;box-shadow:0 0 8px #ff00550d}.btn-quant.danger:hover{background-color:var(--color-down);color:#fff;box-shadow:0 0 15px #ff005559}.btn-quant.success{border-color:var(--color-up);color:var(--color-up);background-color:#00ff870d;box-shadow:0 0 8px #00ff870d}.btn-quant.success:hover{background-color:var(--color-up);color:#000;box-shadow:0 0 15px #00ff8759}.dashboard-grid{flex:1;grid-template:"screener screener trading"1.6fr"chart1 chart2 trading".4fr/1fr 1fr 380px;gap:12px;min-height:0;display:grid}.screener-column{grid-area:screener}.trading-column{flex-direction:column;grid-area:trading;gap:12px;height:100%;min-height:0;display:flex}.candle-chart-panel{grid-area:chart1;min-height:0}.equity-chart-panel{grid-area:chart2;min-height:0}.stats-banner{grid-column:span 2;grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.stat-card{-webkit-backdrop-filter:blur(12px);border:1px solid #ffffff0d;border-top:3px solid var(--text-secondary);background:#0b112080;border-radius:4px;flex-direction:column;gap:6px;padding:10px 14px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 15px #0006}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000080}.stat-card.portfolio{border-top-color:var(--accent-cyan)}.stat-card.portfolio:hover{box-shadow:0 0 15px #00f0ff26,0 8px 25px #00000080}.stat-card.cash{border-top-color:#a855f7}.stat-card.cash:hover{box-shadow:0 0 15px #a855f726,0 8px 25px #00000080}.stat-card.holdings{border-top-color:#ec4899}.stat-card.holdings:hover{box-shadow:0 0 15px #ec489926,0 8px 25px #00000080}.stat-card.up{border-top-color:var(--color-up)}.stat-card.up:hover{box-shadow:0 0 15px #00ff8726,0 8px 25px #00000080}.stat-card.down{border-top-color:var(--color-down)}.stat-card.down:hover{box-shadow:0 0 15px #ff005526,0 8px 25px #00000080}.stat-card.breadth{border-top-color:#f59e0b}.stat-card.breadth:hover{box-shadow:0 0 15px #f59e0b26,0 8px 25px #00000080}.stat-card.wta{border-top-color:#10b981}.stat-card.wta:hover{box-shadow:0 0 15px #10b98126,0 8px 25px #00000080}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.65rem}.stat-value{font-family:var(--font-mono);color:#fff;font-size:1.1rem;font-weight:700}.stat-value.up{color:var(--color-up)}.stat-value.down{color:var(--color-down)}.table-container{width:100%;overflow-x:auto}.table-quant{border-collapse:collapse;width:100%;font-family:var(--font-sans);text-align:left;font-size:.74rem}.table-quant th{background-color:var(--panel-header);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--panel-border);vertical-align:bottom;white-space:nowrap;padding:8px 10px;font-weight:700}.table-quant td{border-bottom:1px solid var(--panel-border);color:var(--text-primary);white-space:nowrap;padding:8px 10px}.table-quant th:last-child,.table-quant td:last-child{padding-right:14px}.table-quant tbody tr{border-left:3px solid #0000;transition:all .2s cubic-bezier(.4,0,.2,1)}.table-quant tbody tr:hover{border-left:3px solid var(--accent-cyan);background:linear-gradient(90deg,#00f0ff14 0%,#00f0ff00 100%);transform:translate(4px)}.table-quant .mono{font-family:var(--font-mono);font-weight:500}.table-quant td.up{color:var(--color-up)}.table-quant td.down{color:var(--color-down)}.wta-badge{font-family:var(--font-mono);border-radius:12px;padding:2px 6px;font-size:.62rem;font-weight:600;display:inline-block}.wta-badge.WTA-Champion{border:1px solid var(--accent-cyan);color:var(--accent-cyan);background-color:#00f0ff1a;box-shadow:0 0 6px #00f0ff40}.wta-badge.WTA-Leader{color:#c084fc;background-color:#a855f71a;border:1px solid #a855f766}.wta-badge.HOLD{color:var(--text-muted);background-color:#ffffff05;border:1px solid #ffffff0d}.badge-minervini{font-family:var(--font-mono);text-align:center;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.65rem;font-weight:600;display:inline-block}.badge-minervini.pass{color:var(--color-up);background-color:#00ff8714;border:1px solid #00ff8759;box-shadow:0 0 6px #00ff871a}.badge-minervini.fail{color:var(--text-muted);background-color:#ffffff05;border:1px solid #ffffff0d}.tab-row{background:#04070d66;border:1px solid #ffffff0d;border-radius:6px;gap:6px;margin-bottom:12px;padding:4px;display:flex}.tab-btn{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:.68rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.tab-btn:hover{color:#fff;background:#ffffff08}.tab-btn.active{color:#fff;background:#00f0ff26;border:1px solid #00f0ff40;box-shadow:0 0 8px #00f0ff1a}.segmented-control{background:#04070d99;border:1px solid #ffffff0d;border-radius:20px;padding:2px;display:flex}.segmented-tab{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:20px;padding:4px 12px;font-size:.65rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.segmented-tab:hover{color:#fff}.segmented-tab.active{color:#fff;background:#00f0ff26;border:1px solid #00f0ff33;box-shadow:0 0 8px #00f0ff1a}.trade-box{border:1px solid var(--panel-border);background-color:#04070d66;border-radius:4px;flex-direction:column;gap:12px;padding:14px;display:flex}.trade-ticker-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.trade-ticker-name{letter-spacing:.02em;color:#fff;font-size:1.1rem;font-weight:800}.trade-ticker-price{font-family:var(--font-mono);color:var(--accent-cyan);text-shadow:0 0 8px #00f0ff4d;font-size:1.1rem;font-weight:700}.trade-form-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.trade-input-group{background-color:#04070d99;border:1px solid #00f0ff33;border-radius:6px;align-items:center;padding:2px;transition:border-color .2s;display:flex;overflow:hidden}.trade-input-group:focus-within{border-color:var(--accent-cyan);box-shadow:0 0 8px #00f0ff33}.trade-input-group input{font-family:var(--font-mono);color:#fff;text-align:center;background:0 0;border:none;outline:none;width:60px;padding:4px;font-size:.8rem;font-weight:600}.trade-input-group button{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#16203599;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;transition:all .15s;display:flex}.trade-input-group button:hover{background:var(--accent-cyan);color:#000;box-shadow:0 0 8px #00f0ff4d}.trade-summary-row{color:var(--text-secondary);justify-content:space-between;font-size:.72rem;display:flex}.trade-summary-value{font-family:var(--font-mono);color:#fff;font-weight:600}.empty-selection{color:var(--text-muted);text-align:center;padding:30px 0;font-size:.75rem}.charts-container{grid-template-columns:1fr;gap:12px;margin-top:12px;display:grid}.chart-wrapper{background-color:var(--panel-header);border:1px solid var(--panel-border);height:180px;padding:10px}.chart-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:.65rem;display:flex}.tooltip{cursor:help;border-bottom:1px dotted #7e8c9f73;display:inline-block;position:relative}.tooltip:after{content:attr(data-tooltip);border:1px solid var(--panel-border);color:var(--text-primary);white-space:pre-wrap;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;text-transform:none;text-align:left;background-color:#0f172a;border-radius:4px;width:250px;padding:8px 12px;font-size:.75rem;font-weight:400;line-height:1.4;transition:opacity .15s ease-out,transform .15s ease-out;position:absolute;bottom:135%;left:50%;transform:translate(-50%);box-shadow:0 10px 25px -5px #000000b3,0 8px 10px -6px #000000b3}.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(-2px)}.badge-new-top30{font-family:var(--font-mono);color:var(--color-up);border:1px solid var(--color-up);box-shadow:0 0 5px var(--color-up-glow);vertical-align:middle;background-color:#00ff871a;border-radius:2px;margin-left:6px;padding:1px 4px;font-size:.55rem;font-weight:700;animation:2s ease-in-out infinite pulse-glow-top30;display:inline-block}@keyframes pulse-glow-top30{0%,to{opacity:.7;box-shadow:0 0 2px var(--color-up-glow)}50%{opacity:1;box-shadow:0 0 8px var(--color-up)}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;left:16px}.toast-message{pointer-events:auto;border-left:4px solid var(--color-up);border-top:1px solid var(--panel-border);border-right:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);color:#fff;background-color:#0c1220;justify-content:space-between;align-items:flex-start;min-width:280px;max-width:400px;padding:10px 14px;animation:.25s cubic-bezier(.16,1,.3,1) forwards slide-in-toast;display:flex;transform:translate(-120%);box-shadow:0 10px 25px -5px #000c,0 8px 10px -6px #000c}.toast-message.closing{animation:.25s cubic-bezier(.16,1,.3,1) forwards slide-out-toast}.toast-message.warning{border-left-color:var(--color-down)}.toast-message.info{border-left-color:var(--accent-cyan)}.toast-content{white-space:pre-line;font-size:.72rem;line-height:1.4}.toast-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding-left:8px;font-size:.8rem;display:flex}.toast-close-btn:hover{color:#fff}@keyframes slide-in-toast{to{transform:translate(0)}}@keyframes slide-out-toast{0%{transform:translate(0)}to{transform:translate(-120%)}}.terminal-panel{border:1px solid var(--panel-border);background-color:#04070d;flex-direction:column;height:130px;min-height:130px;display:flex}.terminal-header{border-bottom:1px solid var(--panel-border);color:var(--text-secondary);text-transform:uppercase;background-color:#0a0e17;justify-content:space-between;align-items:center;padding:4px 10px;font-size:.65rem;display:flex}.terminal-body{font-family:var(--font-mono);color:var(--text-secondary);flex-direction:column;flex:1;gap:3px;padding:8px;font-size:.65rem;line-height:1.4;display:flex;overflow-y:auto}.terminal-line{align-items:center;gap:8px;padding:2px 0;display:flex}.terminal-timestamp{color:var(--text-muted);-webkit-user-select:none;user-select:none;min-width:60px;font-size:.6rem}.terminal-tag{text-transform:uppercase;text-align:center;border-radius:2px;min-width:52px;padding:1px 4px;font-size:.55rem;font-weight:700;line-height:1.2;display:inline-block}.terminal-tag.system{color:var(--accent-cyan);background-color:#00f0ff26;border:1px solid #00f0ff4d}.terminal-tag.trade{color:var(--color-up);background-color:#00ff8726;border:1px solid #00ff874d}.terminal-tag.alert{color:var(--color-down);background-color:#ff005526;border:1px solid #ff00554d}.terminal-message-text{color:var(--text-primary)}.terminal-cursor{color:var(--color-up);font-family:var(--font-mono);margin-left:2px;font-weight:700;animation:1s step-end infinite blink-caret;display:inline-block}@keyframes blink-caret{0%,to{color:#0000}50%{color:var(--color-up)}}.btn-pill-sell{color:var(--color-down);font-family:var(--font-sans);cursor:pointer;text-transform:uppercase;background:#ff00550d;border:1px solid #f056;border-radius:12px;outline:none;padding:2px 8px;font-size:.62rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-pill-sell:hover{background:var(--color-down);color:#fff;box-shadow:0 0 8px #ff005559}@media (width<=1400px){.dashboard-grid{grid-template:"screener""trading""chart1""chart2"/1fr}}.no-scroll-x{overflow-x:hidden!important}.table-compact{font-size:.65rem!important}.table-compact th,.table-compact td{padding:6px 4px!important}.table-compact th:last-child,.table-compact td:last-child{padding-right:6px!important}
