@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";
:root{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-card:#16161f;--bg-card-hover:#1c1c28;--bg-widget:#12121a;--border:#2a2a3a;--border-hover:#3a3a4f;--accent-gold:#f0b90b;--accent-gold-dim:#f0b90b26;--accent-green:#0ecb81;--accent-green-dim:#0ecb811f;--accent-red:#f6465d;--accent-red-dim:#f6465d1f;--accent-blue:#1e90ff;--accent-blue-dim:#1e90ff1f;--accent-purple:#a855f7;--accent-cyan:#06b6d4;--text-primary:#eaeaea;--text-secondary:#8a8a9a;--text-muted:#5a5a6a;--text-bright:#fff;--font-mono:"JetBrains Mono","SF Mono","Consolas",monospace;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--gap:12px;--radius:8px;--radius-sm:4px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;overflow-x:hidden}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:12px;display:flex}.header-logo{background:var(--accent-gold);color:#000;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:flex}.header-title{font-family:var(--font-mono);color:var(--accent-gold);letter-spacing:2px;text-transform:uppercase;font-size:15px;font-weight:600}.header-subtitle{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;font-size:11px}.header-right{align-items:center;gap:16px;display:flex}.header-status{color:var(--accent-green);font-size:12px;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.status-dot{background:var(--accent-green);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.header-time{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.bot-link{background:var(--accent-gold);color:#000;border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-sans);border:none;align-items:center;gap:6px;padding:6px 14px;text-decoration:none;transition:all .2s;display:flex}.bot-link:hover{background:#fcd535;transform:translateY(-1px);box-shadow:0 4px 12px #f0b90b4d}.dashboard{gap:var(--gap);padding:var(--gap);grid-template-rows:auto auto auto;grid-template-columns:1fr 1fr 1fr;min-height:calc(100vh - 60px);display:grid}.widget{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s;overflow:hidden}.widget:hover{border-color:var(--border-hover)}.widget-header{border-bottom:1px solid var(--border);background:var(--bg-widget);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.widget-title{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:1.5px;text-transform:uppercase;font-size:11px;font-weight:600}.widget-badge{border-radius:var(--radius-sm);font-size:10px;font-family:var(--font-mono);padding:2px 6px;font-weight:500}.badge-live{background:var(--accent-green-dim);color:var(--accent-green)}.widget-body{padding:16px}.portfolio-widget{grid-area:1/1/2/2}.portfolio-total{font-family:var(--font-mono);color:var(--text-bright);margin-bottom:4px;font-size:28px;font-weight:700}.portfolio-label{color:var(--text-muted);margin-bottom:16px;font-size:12px}.portfolio-list{list-style:none}.portfolio-item{border-bottom:1px solid #2a2a3a80;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.portfolio-item:last-child{border-bottom:none}.portfolio-asset-info{align-items:center;gap:10px;display:flex}.asset-icon{width:28px;height:28px;font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;display:flex}.asset-name{font-size:13px;font-weight:600}.asset-amount{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.portfolio-value{text-align:right}.portfolio-usd{font-family:var(--font-mono);font-size:13px;font-weight:500}.portfolio-pct{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.heatmap-widget{grid-area:1/2/2/4}.heatmap-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.heatmap-tile{border-radius:var(--radius);text-align:center;cursor:default;padding:14px 12px;transition:transform .15s,box-shadow .15s}.heatmap-tile:hover{transform:scale(1.03);box-shadow:0 4px 16px #0000004d}.heatmap-tile.positive{background:var(--accent-green-dim);border:1px solid #0ecb8133}.heatmap-tile.negative{background:var(--accent-red-dim);border:1px solid #f6465d33}.heatmap-tile.neutral{background:#8a8a9a14;border:1px solid #8a8a9a26}.heatmap-symbol{font-family:var(--font-mono);margin-bottom:4px;font-size:14px;font-weight:700}.heatmap-price{font-family:var(--font-mono);color:var(--text-primary);margin-bottom:2px;font-size:13px}.heatmap-change{font-family:var(--font-mono);font-size:12px;font-weight:600}.heatmap-change.up{color:var(--accent-green)}.heatmap-change.down{color:var(--accent-red)}.heatmap-volume{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);margin-top:4px}.chart-widget{grid-area:2/1/3/3}.chart-tabs{gap:0;margin-bottom:0;display:flex}.chart-tab{color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 12px;font-size:11px;font-weight:500;transition:all .2s}.chart-tab:hover{color:var(--text-primary)}.chart-tab.active{color:var(--accent-gold);border-bottom-color:var(--accent-gold)}.chart-container{height:350px;position:relative}.alerts-widget{grid-area:2/3/4/4}.alerts-list{max-height:500px;list-style:none;overflow-y:auto}.alerts-list::-webkit-scrollbar{width:4px}.alerts-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.alert-item{border-bottom:1px solid #2a2a3a80;padding:12px 0}.alert-item:last-child{border-bottom:none}.alert-type{letter-spacing:1px;text-transform:uppercase;border-radius:var(--radius-sm);font-size:9px;font-weight:700;font-family:var(--font-mono);margin-bottom:6px;padding:2px 6px;display:inline-block}.alert-type.price{background:var(--accent-blue-dim);color:var(--accent-blue)}.alert-type.whale{background:var(--accent-gold-dim);color:var(--accent-gold)}.alert-type.sentiment{color:var(--accent-purple);background:#a855f71f}.alert-message{color:var(--text-primary);font-size:12px;line-height:1.4}.alert-time{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);margin-top:4px}.stats-widget{grid-area:3/1/4/3}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{background:var(--bg-widget);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-family:var(--font-mono);margin-bottom:6px}.stat-value{font-family:var(--font-mono);color:var(--text-bright);font-size:20px;font-weight:700}.stat-change{font-size:11px;font-family:var(--font-mono);margin-top:2px}.stat-change.up{color:var(--accent-green)}.stat-change.down{color:var(--accent-red)}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent-gold);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.error-message{background:var(--accent-red-dim);border-radius:var(--radius);color:var(--accent-red);text-align:center;border:1px solid #f6465d4d;padding:16px;font-size:13px}@media (width<=1024px){.dashboard{grid-template-columns:1fr 1fr}.portfolio-widget{grid-area:1/1/2/2}.heatmap-widget{grid-area:1/2/2/3}.chart-widget{grid-area:2/1/3/3}.alerts-widget{grid-area:3/1/4/3}.stats-widget{grid-area:4/1/5/3}}@media (width<=768px){.dashboard{grid-template-columns:1fr}.portfolio-widget,.heatmap-widget,.chart-widget,.alerts-widget,.stats-widget{grid-area:auto/1/auto/-1}.heatmap-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.header{padding:10px 14px}.header-title{font-size:12px}}
