@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}.crypto-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.crypto-modal-container{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);border:1px solid #2d3748;border-radius:16px;width:90%;max-width:1200px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,.7);animation:crypto-modal-appear .3s ease-out}@keyframes crypto-modal-appear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.crypto-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #2d3748;background:linear-gradient(90deg,#1a202c,#2d3748)}.crypto-header-content{display:flex;align-items:center;gap:16px;flex:1}.crypto-header-icon{width:48px;height:48px;background:linear-gradient(135deg,#f7931a,#ff6b35);border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px rgba(247,147,26,.3)}.crypto-header-text h2{margin:0;color:#ffffff;font-size:24px;font-weight:700;background:linear-gradient(90deg,#ffffff,#f7931a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.crypto-header-text p{color:#a0aec0;font-size:14px;margin:2px 0 0}.crypto-close-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#ffffff;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.crypto-close-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3)}.crypto-modal-content{padding:20px 24px;max-height:calc(90vh - 100px);overflow-y:auto}.crypto-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffff}.crypto-spinner{width:40px;height:40px;border:3px solid rgba(247,147,26,.3);border-top-color:#f7931a;border-radius:50%;animation:crypto-spin 1s linear infinite;margin-bottom:16px}@keyframes crypto-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.crypto-loading-text{font-size:16px;color:#a0aec0}.crypto-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.crypto-error-text{color:#ff6b6b;font-size:16px;margin-bottom:16px}.crypto-retry-btn{background:#f7931a;color:white;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.crypto-retry-btn:hover{background:#e6820a;transform:translateY(-1px)}.crypto-status-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(0,0,0,.3);border-radius:12px;margin-bottom:20px;border:1px solid #2d3748}.crypto-status-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.crypto-websocket-status{display:flex;align-items:center;gap:8px}.crypto-status-indicator{width:8px;height:8px;border-radius:50%;animation:crypto-pulse 2s infinite}.crypto-status-connected{background:#48bb78}.crypto-status-disconnected{background:#f56565}@keyframes crypto-pulse{0%,to{opacity:1}50%{opacity:.5}}.crypto-status-text{color:#ffffff;font-size:14px;font-weight:600}.crypto-data-source{color:#a0aec0;font-size:12px}.crypto-refresh-btn{background:linear-gradient(90deg,#f7931a,#ff6b35);color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.crypto-refresh-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(247,147,26,.4)}.crypto-coins-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.crypto-coin-card{background:linear-gradient(135deg,#1a202c,#2d3748);border:1px solid #4a5568;border-radius:16px;padding:20px;transition:all .3s;position:relative;overflow:hidden}.crypto-coin-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f7931a,#ff6b35)}.crypto-coin-card:hover{transform:translateY(-4px);border-color:#f7931a;box-shadow:0 8px 25px rgba(247,147,26,.2)}.crypto-coin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.crypto-coin-title-section{flex:1}.crypto-symbol-container{display:flex;align-items:center;gap:8px;margin-bottom:8px}.crypto-icon{font-size:24px;line-height:1}.crypto-coin-symbol{color:#ffffff;font-size:20px;font-weight:700;margin:0}.crypto-tier-badge{background:rgba(247,147,26,.2);color:#f7931a;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.crypto-coin-price-section{display:flex;flex-direction:column;gap:4px}.crypto-coin-price{color:#ffffff;font-size:18px;font-weight:700}.crypto-price-change{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600}.crypto-price-change.positive{color:#48bb78}.crypto-price-change.negative{color:#f56565}.crypto-heat-score-section{text-align:center}.crypto-heat-score{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:white;margin-bottom:4px}.crypto-heat-score.hot{background:linear-gradient(135deg,#ff6b6b,#ee5a24);box-shadow:0 4px 12px rgba(255,107,107,.4)}.crypto-heat-score.warm{background:linear-gradient(135deg,#f7931a,#ff6b35);box-shadow:0 4px 12px rgba(247,147,26,.4)}.crypto-heat-score.mild{background:linear-gradient(135deg,#ffd32a,#ff9500);box-shadow:0 4px 12px rgba(255,211,42,.4)}.crypto-heat-score.cool{background:linear-gradient(135deg,#4a5568,#2d3748);box-shadow:0 4px 12px rgba(74,85,104,.4)}.crypto-heat-label{color:#a0aec0;font-size:10px;font-weight:600;text-transform:uppercase}.crypto-alert-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:16px}.crypto-alert-breakout{background:rgba(147,51,234,.2);color:#a78bfa;border:1px solid rgba(147,51,234,.3)}.crypto-alert-big-move{background:rgba(239,68,68,.2);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.crypto-alert-volume-spike{background:rgba(59,130,246,.2);color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.crypto-alert-rsi-extreme{background:rgba(245,158,11,.2);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.crypto-alert-strong-momentum{background:rgba(16,185,129,.2);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.crypto-alert-hot{background:rgba(247,147,26,.2);color:#f7931a;border:1px solid rgba(247,147,26,.3)}.crypto-alert-volatile{background:rgba(168,85,247,.2);color:#c4b5fd;border:1px solid rgba(168,85,247,.3)}.crypto-alert-momentum{background:rgba(34,197,94,.2);color:#86efac;border:1px solid rgba(34,197,94,.3)}.crypto-alert-normal{background:rgba(107,114,128,.2);color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.crypto-price-changes{display:flex;gap:12px;margin-bottom:16px;padding:12px;background:rgba(0,0,0,.2);border-radius:8px}.crypto-timeframe{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.timeframe-label{color:#a0aec0;font-size:10px;font-weight:600;text-transform:uppercase}.timeframe-value{font-size:12px;font-weight:700}.timeframe-value.positive{color:#48bb78}.timeframe-value.negative{color:#f56565}.crypto-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.crypto-metric-card{background:rgba(0,0,0,.3);border:1px solid #4a5568;border-radius:8px;padding:12px;transition:all .2s}.crypto-metric-card:hover{border-color:#f7931a;background:rgba(247,147,26,.1)}.crypto-metric-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.crypto-metric-icon{flex-shrink:0}.crypto-metric-icon.volume{color:#3b82f6}.crypto-metric-icon.rsi{color:#f59e0b}.crypto-metric-icon.momentum{color:#10b981}.crypto-metric-icon.volatility{color:#8b5cf6}.crypto-metric-icon.breakout{color:#ef4444}.crypto-metric-icon.source{color:#6b7280}.crypto-metric-label{color:#a0aec0;font-size:11px;font-weight:600;text-transform:uppercase}.crypto-metric-value{color:#ffffff;font-size:16px;font-weight:700;margin-bottom:2px}.crypto-metric-value.positive{color:#48bb78}.crypto-metric-value.negative,.crypto-metric-value.rsi-overbought{color:#f56565}.crypto-metric-value.rsi-oversold{color:#48bb78}.crypto-metric-value.rsi-neutral{color:#ffffff}.crypto-metric-subtitle{color:#718096;font-size:10px;text-transform:capitalize}.crypto-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.crypto-no-data-icon{color:#4a5568;margin-bottom:20px;opacity:.7}.crypto-no-data-title{color:#ffffff;font-size:24px;font-weight:700;margin-bottom:12px}.crypto-no-data-text{color:#a0aec0;font-size:16px;margin-bottom:8px;max-width:400px}.crypto-no-data-subtitle{color:#718096;font-size:14px;max-width:400px}@media (max-width:768px){.crypto-modal-container{width:95%;max-height:95vh}.crypto-modal-header{padding:16px 20px}.crypto-header-content{gap:12px}.crypto-header-icon{width:40px;height:40px}.crypto-header-text h2{font-size:20px}.crypto-modal-content{padding:16px 20px}.crypto-coins-container{grid-template-columns:1fr;gap:16px}.crypto-status-left{gap:12px}.crypto-metrics-grid{grid-template-columns:repeat(2,1fr)}.crypto-price-changes{gap:8px}}@media (max-width:480px){.crypto-header-content{flex-direction:column;align-items:flex-start;gap:8px}.crypto-metrics-grid{grid-template-columns:1fr}.crypto-status-left{flex-direction:column;align-items:flex-start;gap:8px}}.robot-modal-overlay{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 34%),radial-gradient(circle at bottom right,rgba(16,185,129,.12),transparent 32%),rgba(3,7,18,.72);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.robot-modal-container{background:#f8fafc;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.32),0 0 0 1px rgba(255,255,255,.55);width:100%;max-width:1220px;max-height:92vh;overflow:hidden;animation:slideIn .28s ease-out;margin:0 20px;border:1px solid rgba(226,232,240,.95)}.robot-modal-header{background:linear-gradient(135deg,#0f172a,#1e3a8a 52%,#4338ca);color:#ffffff;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.robot-modal-header:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.16),transparent 25%),radial-gradient(circle at 90% 10%,rgba(96,165,250,.22),transparent 28%);pointer-events:none}.robot-header-content{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.robot-header-icon{width:50px;height:50px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);border-radius:16px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.robot-header-text h2{font-size:27px;font-weight:850;margin:0;letter-spacing:-.04em}.robot-header-text p{color:rgba(255,255,255,.78);margin:5px 0 0;font-size:13px;font-weight:500}.robot-close-btn{position:relative;z-index:1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:14px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease;color:white}.robot-close-btn:hover{background:rgba(255,255,255,.24);transform:rotate(90deg) scale(1.03)}.robot-modal-content{padding:22px;overflow-y:auto;max-height:calc(92vh - 96px)}.robot-modal-content::-webkit-scrollbar{width:10px}.robot-modal-content::-webkit-scrollbar-track{background:#eef2f7}.robot-modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid #eef2f7}.robot-loading{display:flex;justify-content:center;align-items:center;padding:56px;flex-direction:column;gap:16px}.robot-spinner{width:46px;height:46px;border:4px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:spin .9s linear infinite}.robot-loading-text{color:#475569;font-size:15px;font-weight:700}.robot-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;padding:16px;margin-bottom:22px;display:flex;gap:12px;color:#be123c}.robot-error-title{font-weight:800;margin:0 0 4px;color:#9f1239}.robot-error-text{color:#be123c;margin:0 0 12px;font-size:13px}.robot-retry-btn{background:#e11d48;color:white;border:none;padding:8px 14px;border-radius:9px;cursor:pointer;transition:all .18s ease;font-weight:700}.robot-retry-btn:hover{background:#be123c;transform:translateY(-1px)}.robot-status-bar{background:#ffffff;border-radius:16px;padding:14px 16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;border:1px solid #e2e8f0;box-shadow:0 8px 22px rgba(15,23,42,.045)}.robot-status-left{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.robot-market-status{display:flex;align-items:center;gap:8px}.robot-status-indicator{width:11px;height:11px;border-radius:999px}.robot-status-open{background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.12);animation:pulse 2s infinite}.robot-status-closed{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12)}.robot-status-text{font-weight:850;color:#0f172a;font-size:13px}.robot-data-source{color:#64748b;font-size:13px;font-weight:700}.robot-score-scale{color:#059669;font-size:12px;background:#ecfdf5;border:1px solid #bbf7d0;padding:5px 9px;border-radius:999px;font-weight:800}.robot-refresh-btn{background:#2563eb;color:white;border:none;padding:9px 14px;border-radius:11px;cursor:pointer;transition:all .18s ease;font-weight:800;display:inline-flex;align-items:center;gap:7px;box-shadow:0 8px 16px rgba(37,99,235,.22)}.robot-refresh-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.robot-stocks-container{display:flex;flex-direction:column;gap:18px}.robot-stock-card{border:1px solid #e2e8f0;border-radius:20px;padding:22px;transition:all .22s ease;background:linear-gradient(180deg,#ffffff,#fbfdff);box-shadow:0 12px 32px rgba(15,23,42,.055);color:#0f172a}.robot-stock-card:hover{box-shadow:0 18px 44px rgba(15,23,42,.1);transform:translateY(-2px);border-color:#cbd5e1}.robot-stock-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:16px}.robot-stock-title-section{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.robot-symbol-row{display:flex;align-items:center;gap:9px}.robot-stock-symbol{font-size:34px;font-weight:900;color:#111827;letter-spacing:-.045em;margin:0;line-height:1}.robot-tier-badge{font-size:11px;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px;font-weight:850}.robot-tier-badge.tier-one{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.robot-stock-price-section{display:flex;align-items:center;gap:12px}.robot-stock-price{font-size:28px;font-weight:900;color:#111827;letter-spacing:-.03em}.robot-price-change{display:inline-flex;align-items:center;gap:5px;font-weight:850;font-size:15px;padding:6px 10px;border-radius:999px}.robot-price-change.positive{color:#047857;background:#ecfdf5}.robot-price-change.negative{color:#dc2626;background:#fef2f2}.robot-heat-score-section{text-align:right;min-width:100px}.robot-heat-score{font-size:46px;font-weight:950;line-height:.95;margin-bottom:6px;letter-spacing:-.06em}.robot-heat-score.extremely-hot{color:#dc2626;text-shadow:0 8px 18px rgba(220,38,38,.18)}.robot-heat-score.hot{color:#ea580c}.robot-heat-score.warm{color:#d97706}.robot-heat-score.mild{color:#ca8a04}.robot-heat-score.cool{color:#64748b}.robot-heat-label{color:#64748b;font-size:12px;font-weight:850;letter-spacing:.01em}.robot-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.robot-explain-btn{margin-left:auto;background:linear-gradient(135deg,#f97316,#dc2626);color:#ffffff;border:none;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .2s ease;box-shadow:0 10px 22px rgba(220,38,38,.25),0 0 0 0 rgba(249,115,22,.45);animation:hotPulse 1.8s infinite}.robot-explain-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 14px 30px rgba(220,38,38,.35),0 0 0 6px rgba(249,115,22,.12)}.robot-explain-btn:disabled{opacity:.75;cursor:wait;animation:none}.robot-explain-btn.loaded{background:linear-gradient(135deg,#059669,#10b981);color:#ffffff;box-shadow:0 10px 22px rgba(5,150,105,.22);animation:none}@keyframes hotPulse{0%{box-shadow:0 10px 22px rgba(220,38,38,.25),0 0 0 0 rgba(249,115,22,.45)}70%{box-shadow:0 10px 22px rgba(220,38,38,.25),0 0 0 8px rgba(249,115,22,0)}to{box-shadow:0 10px 22px rgba(220,38,38,.25),0 0 0 0 rgba(249,115,22,0)}}.robot-alert-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;font-size:13px;font-weight:850}.robot-alert-big-move,.robot-alert-breakout,.robot-alert-hot{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.robot-alert-volume-spike{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.robot-alert-rsi-extreme{background:#faf5ff;color:#7c3aed;border:1px solid #e9d5ff}.robot-alert-momentum,.robot-alert-strong-momentum{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.robot-alert-volatile{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.robot-alert-normal{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.robot-explain-box{margin-top:12px;margin-bottom:14px;padding:16px;background:linear-gradient(180deg,#ecfdf5,#f0fdf4);border:1px solid #a7f3d0;border-radius:16px;font-size:14px;line-height:1.7;color:#064e3b;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.robot-explain-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.robot-explain-reason{font-size:11px;background:#d1fae5;color:#047857;border:1px solid #a7f3d0;border-radius:999px;padding:4px 10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.robot-explain-sentiment{font-size:12px;font-weight:900;border-radius:999px;padding:4px 8px;background:#ffffff;border:1px solid #e2e8f0}.robot-explain-sentiment.positive{color:#047857}.robot-explain-sentiment.negative{color:#dc2626}.robot-explain-sentiment.neutral{color:#64748b}.robot-explain-text{color:#064e3b;margin:0 0 8px;font-weight:650}.robot-explain-risk{color:#92400e;margin:0;font-size:13px;font-weight:850}.robot-score-breakdown{margin:14px 0;padding:13px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.robot-score-title{font-size:12px;color:#334155;margin-bottom:10px;font-weight:900}.robot-score-grid{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));gap:9px}.robot-score-item{text-align:center;background:#ffffff;border:1px solid #e2e8f0;border-radius:13px;padding:10px 8px;box-shadow:0 4px 12px rgba(15,23,42,.035)}.robot-score-label{font-size:11px;color:#64748b;margin-bottom:5px;font-weight:750}.robot-score-value{font-size:15px;font-weight:950;color:#059669}.robot-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px}.robot-metric-card{background:#ffffff;border-radius:16px;padding:15px;border:1px solid #e2e8f0;box-shadow:0 6px 18px rgba(15,23,42,.04);transition:all .18s ease}.robot-metric-card:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 10px 24px rgba(15,23,42,.075)}.robot-metric-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.robot-metric-icon{width:16px;height:16px}.robot-metric-icon.volume{color:#2563eb}.robot-metric-icon.rsi{color:#7c3aed}.robot-metric-icon.momentum{color:#059669}.robot-metric-icon.volatility{color:#ea580c}.robot-metric-icon.breakout{color:#dc2626}.robot-metric-icon.source{color:#4f46e5}.robot-metric-label{font-size:12px;font-weight:850;color:#64748b}.robot-metric-value{font-size:22px;font-weight:950;color:#111827;line-height:1.2;letter-spacing:-.03em}.robot-metric-value.small{font-size:13px;letter-spacing:0;line-height:1.35}.robot-metric-value.negative,.robot-metric-value.rsi-overbought{color:#dc2626}.robot-metric-value.positive,.robot-metric-value.rsi-oversold{color:#059669}.robot-metric-value.neutral,.robot-metric-value.rsi-neutral{color:#64748b}.robot-metric-value.warning{color:#d97706}.robot-metric-subtitle{font-size:11px;color:#64748b;margin-top:4px;font-weight:650}.robot-support-row{display:flex;gap:8px;margin-top:14px;padding:11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;font-size:12px;flex-wrap:wrap}.beat-pill,.miss-pill,.news-pill,.resistance-pill,.support-pill{border-radius:999px;padding:5px 9px;font-weight:850;border:1px solid transparent}.support-pill{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.resistance-pill{color:#dc2626;background:#fef2f2;border-color:#fecaca}.news-pill{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.beat-pill{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.miss-pill{color:#dc2626;background:#fef2f2;border-color:#fecaca}.robot-no-data{text-align:center;padding:56px 24px;background:#ffffff;border:1px solid #e2e8f0;border-radius:18px}.robot-no-data-icon{width:64px;height:64px;color:#cbd5e1;margin:0 auto 16px}.robot-no-data-title{font-size:21px;font-weight:900;color:#334155;margin-bottom:8px}.robot-no-data-text{color:#64748b;font-size:14px;line-height:1.5}.switch-mode-btn{padding:8px 12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;font-size:12px;cursor:pointer;transition:all .18s;white-space:nowrap;font-weight:850}.switch-mode-btn:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}@media (max-width:900px){.robot-score-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}}@media (max-width:768px){.robot-modal-container{margin:10px;max-height:95vh;border-radius:18px}.robot-modal-header{padding:16px}.robot-header-content{gap:12px;flex-wrap:wrap}.robot-header-text h2{font-size:21px}.robot-modal-content{padding:14px;max-height:calc(95vh - 92px)}.robot-stock-header{flex-direction:column;align-items:flex-start;gap:14px}.robot-heat-score-section{text-align:left}.robot-stock-title-section{gap:12px}.robot-stock-symbol{font-size:27px}.robot-stock-price{font-size:23px}.robot-heat-score{font-size:38px}.robot-status-bar{flex-direction:column;align-items:flex-start;gap:12px}.robot-score-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}}@media (max-width:480px){.robot-metrics-grid{grid-template-columns:1fr}.robot-status-left{flex-direction:column;align-items:flex-start;gap:9px}.robot-score-grid{grid-template-columns:1fr}.robot-stock-price-section{flex-direction:column;align-items:flex-start;gap:8px}}.robot-explain-text:after{content:"▋";display:inline-block;margin-left:3px;color:#059669;font-weight:900;animation:robotCursorBlink .8s infinite}@keyframes robotCursorBlink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}