:root{--bg-main:#080c14;--bg-card:#101726bf;--bg-card-hover:#182238d9;--border-glass:#ffffff14;--border-glow:#38bdf84d;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--green:#10b981;--green-glow:#10b98140;--red:#f43f5e;--red-glow:#f43f5e40;--blue:#38bdf8;--purple:#a855f7;--yellow:#f59e0b}*{box-sizing:border-box;margin:0;padding:0;font-family:Vazirmatn,system-ui,-apple-system,sans-serif}body{background-color:var(--bg-main);color:var(--text-primary);background-image:radial-gradient(at 0 0,#38bdf817 0,#0000 50%),radial-gradient(at 100% 100%,#10b98112 0,#0000 50%);min-height:100vh;padding:20px}.app-container{max-width:1350px;margin:0 auto}header{border-bottom:1px solid var(--border-glass);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.header-title{align-items:center;gap:14px;display:flex}.logo-badge{background:linear-gradient(135deg,#0284c7,#8b5cf6,#10b981);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;animation:3s ease-in-out infinite floatBadge;display:flex;box-shadow:0 0 24px #38bdf859}@keyframes floatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.header-title h1{letter-spacing:-.5px;font-size:22px;font-weight:800}.header-title p{color:var(--text-secondary);margin-top:3px;font-size:13px}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}button{cursor:pointer;border:none;border-radius:10px;outline:none;align-items:center;gap:6px;padding:9px 16px;font-size:12px;font-weight:700;transition:all .2s;display:flex}button:hover{transform:translateY(-2px)}button:active{transform:translateY(0)}.btn-toggle{color:#fff;box-shadow:0 4px 14px var(--green-glow);background:linear-gradient(135deg,#10b981,#059669)}.btn-toggle.btn-stop{box-shadow:0 4px 14px var(--red-glow);background:linear-gradient(135deg,#f43f5e,#e11d48)}.btn-reset{color:var(--text-secondary);border:1px solid var(--border-glass);background:#ffffff0f}.btn-reset:hover{color:#fff;background:#ffffff1f}.btn-sound{color:var(--blue);background:#38bdf81a;border:1px solid #38bdf840}.status-badge{border:1px solid var(--border-glass);background:#0f172a99;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.status-dot{background:var(--green);width:9px;height:9px;box-shadow:0 0 10px var(--green);border-radius:50%;animation:1.8s infinite pulse}.status-dot.stopped{background:var(--red);box-shadow:0 0 10px var(--red);animation:none}@keyframes pulse{0%{opacity:.8;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(.9)}}.testnet-banner{background:linear-gradient(90deg,#38bdf81a,#a855f714,#10b9811a);border:1px solid #38bdf833;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 18px;font-size:13px;display:flex}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-glass);border-radius:16px;padding:18px;transition:all .25s;position:relative}.card:hover{background:var(--bg-card-hover);border-color:#ffffff26}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:20px;display:grid}.kpi-label{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.kpi-value{letter-spacing:-.5px;align-items:baseline;gap:6px;font-size:26px;font-weight:800;display:flex}.kpi-sub{color:var(--text-muted);margin-top:6px;font-size:12px}.val-positive{color:var(--green);text-shadow:0 0 16px var(--green-glow)}.val-negative{color:var(--red);text-shadow:0 0 16px var(--red-glow)}.progress-bar-bg{background:#ffffff14;border-radius:999px;width:100%;height:6px;margin-top:10px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#10b981,#38bdf8);border-radius:999px;height:100%;transition:width .4s}.chart-section{grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px;display:grid}@media (width<=1024px){.chart-section{grid-template-columns:1fr}}.chart-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.chart-tabs{gap:6px;display:flex}.chart-tab{color:var(--text-secondary);border:1px solid var(--border-glass);cursor:pointer;background:#ffffff0d;border-radius:8px;padding:5px 12px;font-size:11px;font-weight:700}.chart-tab.active{color:var(--blue);background:#38bdf833;border-color:#38bdf866}#priceCanvas{background:#0a0f1a80;border-radius:10px;width:100%;height:240px;display:block}.market-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:14px;margin-bottom:12px;padding:16px}.market-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.symbol-name{font-size:15px;font-weight:800}.signal-tag{border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.tag-buy{color:var(--green);background:#10b98126;border:1px solid #10b9814d}.tag-sell{color:var(--red);background:#f43f5e26;border:1px solid #f43f5e4d}.tag-hold{color:var(--text-muted);border:1px solid var(--border-glass);background:#94a3b81a}.market-price{font-feature-settings:"tnum";margin-bottom:10px;font-size:20px;font-weight:800}.calc-card{background:linear-gradient(135deg,#1e293bb3,#0f172ae6);border:1px solid #a855f740;border-radius:16px;margin-bottom:20px;padding:18px}.calc-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:14px;display:grid}.calc-box{border:1px solid var(--border-glass);text-align:center;background:#0f172a99;border-radius:10px;padding:12px}.calc-box-title{color:var(--text-muted);margin-bottom:4px;font-size:11px}.calc-box-value{color:#38bdf8;font-size:16px;font-weight:800}.bottom-grid{grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px;display:grid}@media (width<=960px){.bottom-grid{grid-template-columns:1fr}}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-header h2{align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:right;color:var(--text-muted);border-bottom:1px solid var(--border-glass);padding:10px;font-weight:600}td{border-bottom:1px solid #ffffff0a;padding:10px}tr:hover td{background:#ffffff05}.empty-state{text-align:center;color:var(--text-muted);padding:24px;font-size:12px}.log-container{flex-direction:column;gap:8px;max-height:380px;padding-right:4px;font-size:11px;display:flex;overflow-y:auto}.log-container::-webkit-scrollbar{width:4px}.log-container::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.log-item{border-right:3px solid var(--border-glass);background:#0f172a80;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.log-item.info{border-right-color:var(--blue)}.log-item.success{border-right-color:var(--green)}.log-item.warning{border-right-color:var(--yellow)}.log-item.danger{border-right-color:var(--red)}.log-time{color:var(--text-muted);flex-shrink:0;font-family:monospace;font-size:10px}#toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;left:24px}.toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-right:4px solid var(--blue);color:var(--text-primary);pointer-events:auto;background:#0f172af2;border-radius:10px;padding:12px 18px;font-size:12px;font-weight:600;animation:.3s forwards slideIn;box-shadow:0 10px 30px #00000080}.toast.success{border-right-color:var(--green)}.toast.danger{border-right-color:var(--red)}@keyframes slideIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}
