@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Prompt:wght@300;400;500;600;700&display=swap");:root{--bg-main:#0B0E14;--bg-page:radial-gradient(circle at 50% 0%,#151921 0%,#0B0E14 100%);--glass-surface:rgba(255,255,255,0.03);--glass-border:rgba(255,255,255,0.06);--glass-highlight:rgba(255,255,255,0.1);--glass-shadow:0 20px 40px -10px rgba(0,0,0,0.5);--accent-primary:#6E56CF;--accent-success:#27D796;--accent-danger:#FF4F5E;--accent-warning:#FFB224;--text-primary:#EDEDEF;--text-secondary:#9CA3AF;--text-tertiary:#6B7280;--font-thai:"Prompt",sans-serif;--font-en:"Outfit",sans-serif;--font-mono:"JetBrains Mono",monospace;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:24px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--radius-sm:8px;--radius-xs:4px;--ease-out:cubic-bezier(0.25,0.46,0.45,0.94)}body.morning{--bg-page:radial-gradient(circle at 20% 10%,#2E1A16 0%,#0B0E14 70%);--accent-primary:#F76B15}body.afternoon{--bg-page:radial-gradient(circle at 50% 0%,#00254D 0%,#0B0E14 70%);--accent-primary:#0090FF}body.evening{--bg-page:radial-gradient(circle at 80% 20%,#2A0F2B 0%,#0B0E14 70%);--accent-primary:#E546CB}body.night{--bg-page:radial-gradient(circle at 50% 50%,#141126 0%,#0B0E14 80%);--accent-primary:#6E56CF}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;font-family:var(--font-en);font-size:var(--text-base);font-weight:var(--font-normal);line-height:1.5;background:var(--bg-main);background-image:var(--bg-page);color:var(--text-primary);min-height:100vh;transition:background-image 2s ease;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.lang-th,body.lang-th *{font-family:var(--font-thai)}body.lang-th .ai-score-number,body.lang-th .font-mono,body.lang-th .indicator-value,body.lang-th .quick-stat-value,body.lang-th .stat-number,body.lang-th .target-price,body.lang-th .watchlist-change,body.lang-th .watchlist-price,body.lang-th [class*=mono]{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:10px}.app-wrapper{max-width:1200px;margin:0 auto;padding:var(--space-6);padding-bottom:100px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);position:relative;z-index:100}.brand{display:flex;flex-direction:column}.brand h1{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);background:linear-gradient(90deg,#fff,#999);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand span{font-size:var(--text-xs);color:var(--accent-primary);letter-spacing:1px;font-weight:var(--font-semibold);text-transform:uppercase}.header-controls{display:flex;gap:var(--space-3)}.btn{border:none;background:var(--glass-surface);color:var(--text-secondary);height:40px;padding:0 var(--space-4);border-radius:100px;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:all .2s var(--ease-out);border:1px solid var(--glass-border)}.btn:hover{background:var(--glass-highlight);color:var(--text-primary)}.btn-primary{background:var(--accent-primary);color:white;border:none;box-shadow:0 4px 12px rgba(110,86,207,.3)}.btn-primary:hover{filter:brightness(1.1)}.btn:disabled{opacity:.6;cursor:not-allowed}.bento-grid{grid-gap:var(--space-5);gap:var(--space-5)}@media (max-width:960px){.bento-grid{grid-template-columns:1fr}.col-span-2,.col-span-3{grid-column:span 1}}.card{background:var(--glass-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .3s var(--ease-out),border-color .3s}.card.has-dropdown{overflow:visible}.card:hover{border-color:rgba(255,255,255,.12);transform:translateY(-2px);box-shadow:var(--glass-shadow)}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.row-span-2{grid-row:span 2}.card-title{font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:var(--space-4);display:flex;justify-content:space-between;align-items:center}.card-title,.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--accent-success)}.text-danger{color:var(--accent-danger)}.text-warning{color:var(--accent-warning)}.font-mono{font-family:var(--font-mono)}.ai-gauge-wrapper{display:flex;align-items:center;justify-content:center;position:relative;height:160px}.score-big{font-size:56px;font-weight:var(--font-bold);font-family:var(--font-mono);letter-spacing:-2px}.stat-label,.stat-value{font-size:var(--text-sm);font-weight:var(--font-medium)}.stat-value{font-family:var(--font-mono)}.has-success{color:var(--accent-success)}.has-danger{color:var(--accent-danger)}.add-input-wrapper{width:100%}.add-input{width:100%;height:48px;background:rgba(0,0,0,.2);border:1px solid var(--glass-border);padding:12px 50px 12px 16px;border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;line-height:24px;text-transform:uppercase;outline:none;transition:all .2s;caret-color:var(--accent-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;vertical-align:middle}.add-input:focus{border-color:var(--accent-primary);background:rgba(0,0,0,.4)}.add-input.error{border-color:var(--accent-danger);background:rgba(255,79,94,.1);animation:shake .4s}.input-icon{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.stock-item{display:flex;align-items:center;justify-content:space-between;padding:12px;margin-bottom:8px;background:rgba(255,255,255,.02);border-radius:var(--radius-md);transition:background .2s}.stock-item:hover{background:rgba(255,255,255,.05)}.stock-symbol{font-weight:700;font-size:15px}.stock-name{font-size:12px;color:var(--text-tertiary)}.stock-price{font-family:JetBrains Mono;font-size:14px;text-align:right}.badge{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase}.badge-bull{background:rgba(39,215,150,.15);color:var(--accent-success)}.badge-bear{background:rgba(255,79,94,.15);color:var(--accent-danger)}.bottom-nav{position:fixed;bottom:24px;left:0;right:0;margin:0 auto;width:-moz-fit-content;width:fit-content;background:rgba(15,20,30,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:8px;border-radius:100px;border:1px solid var(--glass-border);display:flex;gap:4px;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index:100}.nav-indicator{position:absolute;background:var(--accent-primary);top:8px;left:8px;transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px rgba(110,86,207,.5);z-index:0}.nav-indicator,.nav-item{width:44px;height:44px;border-radius:50%}.nav-item{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:color .25s ease,transform .2s ease;background:transparent;border:none;position:relative;z-index:1}.nav-item:hover:not(.active){color:var(--text-primary)}.nav-item:active{transform:scale(.9)}.nav-item.active{color:white;background:transparent}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 24px;border-radius:100px;font-size:14px;pointer-events:none;transition:.3s;z-index:201;border:1px solid var(--glass-border)}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.icon-spin{animation:spin 1s linear infinite}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.processing{background:var(--accent-primary)!important;color:white!important;pointer-events:none;position:relative;overflow:hidden}.processing:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 1.5s infinite}.settings-page{display:flex;flex-direction:column;gap:var(--space-4)}.settings-card{background:var(--glass-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all .3s var(--ease-out)}.settings-card:hover{border-color:rgba(255,255,255,.1)}.settings-card-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);color:var(--accent-primary)}.settings-card-header>div{flex:1 1}.settings-card-header h3{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.settings-card-header p{margin:var(--space-1) 0 0;font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-secondary)}.lang-btn,.language-toggle{display:flex;gap:var(--space-3)}.lang-btn{flex:1 1;align-items:center;padding:var(--space-4);background:rgba(0,0,0,.2);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-out);position:relative}.lang-btn:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.lang-btn.active{background:rgba(110,86,207,.1);border-color:var(--accent-primary)}.lang-code{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-primary);background:rgba(255,255,255,.1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs)}.lang-btn.active .lang-code{background:var(--accent-primary);color:white}.lang-name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary)}.lang-check{position:absolute;right:var(--space-3);color:var(--accent-primary)}.notification-toggle{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:rgba(0,0,0,.2);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-out);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.notification-toggle:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.notification-toggle.enabled{background:rgba(39,215,150,.08);border-color:var(--accent-success)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);margin-left:auto}.status-dot.enabled{background:var(--accent-success);box-shadow:0 0 8px var(--accent-success)}.status-dot.disabled{background:var(--accent-danger)}.settings-hint{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-secondary)}.settings-actions{display:flex;flex-direction:column;gap:var(--space-2)}.action-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:rgba(0,0,0,.2);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-out);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.action-btn:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.action-btn.danger{color:var(--accent-danger)}.action-btn.danger:hover{background:rgba(255,79,94,.08);border-color:rgba(255,79,94,.3)}.stats-card{justify-content:space-around;padding:var(--space-5)}.stat-item,.stats-card{display:flex;align-items:center}.stat-item{flex-direction:column;gap:var(--space-1)}.stat-number{font-size:var(--text-xl);font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--text-primary)}.stat-label{font-size:var(--text-xs);color:var(--text-secondary)}.stat-divider{width:1px;height:40px;background:var(--glass-border)}.settings-card.app-info{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,rgba(110,86,207,.1),rgba(39,215,150,.05))}.app-logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);border-radius:12px;color:white}.app-details h4{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.app-details p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.app-credit{margin-top:8px!important;font-size:11px!important;color:var(--accent-primary)!important;opacity:.8}.add-error{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding:10px 12px;background:rgba(255,79,94,.1);border:1px solid rgba(255,79,94,.2);border-radius:var(--radius-sm);font-size:12px;color:var(--accent-danger)}.add-error .error-hint{width:100%;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,79,94,.2);font-size:11px;color:var(--text-secondary)}.add-hint{margin-top:12px;padding:10px 12px;background:rgba(110,86,207,.1);border:1px solid rgba(110,86,207,.2);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary)}.pwa-install-banner{position:fixed;bottom:90px;left:16px;right:16px;max-width:400px;margin:0 auto;padding:16px;background:rgba(15,20,30,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 10px 40px rgba(0,0,0,.5);z-index:200;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-install-content{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pwa-install-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-success));border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;flex-shrink:0}.pwa-install-text h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.pwa-install-text p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.pwa-install-actions{display:flex;gap:8px}.pwa-install-actions .btn{flex:1 1;justify-content:center;font-size:13px}.notification-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;background:linear-gradient(135deg,rgba(110,86,207,.15),rgba(39,215,150,.1));border:1px solid rgba(110,86,207,.3);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.notification-banner:hover{background:linear-gradient(135deg,rgba(110,86,207,.2),rgba(39,215,150,.15))}.notification-banner-icon{width:36px;height:36px;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white}.notification-banner-text{flex:1 1}.notification-banner-text h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.notification-banner-text p{margin:2px 0 0;font-size:11px;color:var(--text-secondary)}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4)!important}.quick-stats-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6)!important;text-align:center}.quick-stats-empty p{margin:0;font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-tertiary)}.quick-stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);background:rgba(0,0,0,.2);border-radius:var(--radius-sm)}.quick-stat-value{font-size:var(--text-lg);font-weight:var(--font-bold);font-family:var(--font-mono)}.quick-stat-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.price-targets{display:flex;flex-direction:column;gap:var(--space-2)}.price-target-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:rgba(0,0,0,.2);border-radius:var(--radius-sm);border-left:3px solid var(--glass-border)}.price-target-item.buy{border-left-color:var(--accent-success)}.price-target-item.sell{border-left-color:var(--accent-danger)}.target-symbol{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-base)}.target-arrow.buy{color:var(--accent-success)}.target-arrow.sell{color:var(--accent-danger)}.target-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.target-price{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium)}.target-distance{font-size:11px;color:var(--text-secondary)}.target-distance.near{color:var(--accent-warning);font-weight:600}.skeleton{background:linear-gradient(90deg,var(--glass-surface) 25%,var(--glass-highlight) 50%,var(--glass-surface) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{flex-direction:column;padding:40px 20px;text-align:center}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{width:64px;height:64px;background:var(--glass-surface);border-radius:50%;margin-bottom:16px;color:var(--text-tertiary)}.empty-state h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.empty-state p{margin:0;font-size:13px;color:var(--text-secondary)}.connection-status{position:fixed;top:16px;right:16px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,79,94,.9);border-radius:100px;font-size:12px;font-weight:500;color:white;z-index:300;animation:slideIn .3s ease}.connection-status.online{background:rgba(39,215,150,.9)}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@media (max-width:480px){.quick-stats{grid-template-columns:repeat(2,1fr)}.language-toggle{flex-direction:column}.settings-actions{gap:8px}}.loading-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-main);background-image:var(--bg-page);z-index:1000;gap:16px}.loading-logo{animation:logo-pulse 2s ease-in-out infinite}@keyframes logo-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.loading-title{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.loading-subtitle{font-size:12px;color:var(--accent-primary);text-transform:uppercase;letter-spacing:2px;font-weight:600;margin-top:-8px}.loading-bar{width:200px;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;margin-top:24px}.loading-bar-fill{height:100%;width:30%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-success));border-radius:2px;animation:loading-progress 1.5s ease-in-out infinite}@keyframes loading-progress{0%{transform:translateX(-100%);width:30%}50%{width:50%}to{transform:translateX(400%);width:30%}}.loading-status{font-size:12px;color:var(--text-tertiary);margin-top:8px}.error-boundary{flex-direction:column;padding:40px 20px;text-align:center;min-height:300px}.error-boundary,.error-icon{display:flex;align-items:center;justify-content:center}.error-icon{width:72px;height:72px;background:rgba(255,79,94,.1);border-radius:50%;margin-bottom:20px;color:var(--accent-danger)}.error-boundary h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.error-boundary p{margin:0 0 20px;font-size:14px;color:var(--text-secondary);max-width:300px}.skeleton-card{min-height:150px}.last-updated{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary);margin-top:12px}.last-updated-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-success);animation:blink 2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.pull-indicator{position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(-100%);padding:12px 20px;background:var(--accent-primary);color:white;border-radius:0 0 16px 16px;font-size:13px;font-weight:500;z-index:200;transition:transform .3s ease}.pull-indicator.visible{transform:translateX(-50%) translateY(0)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(120px,auto);grid-gap:16px;gap:16px}@media (max-width:960px){.bento-grid{grid-template-columns:repeat(2,1fr)}.col-span-2{grid-column:span 2}}@media (max-width:600px){.bento-grid{grid-template-columns:1fr}.col-span-2{grid-column:span 1}.app-wrapper{padding:16px 16px 100px}}.swipe-container{position:relative;overflow:hidden}.swipe-actions{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;transform:translateX(100%);transition:transform .2s ease}.swipe-container.swiped .swipe-actions{transform:translateX(0)}.swipe-action-btn{height:100%;padding:0 20px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer}.swipe-action-btn.delete{background:var(--accent-danger);color:white}.alerts-page{display:flex;flex-direction:column;gap:16px}.alerts-header{display:flex;gap:12px}.alerts-stat{flex:1 1;display:flex;align-items:center;gap:10px;padding:16px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.alerts-stat-value{font-size:24px;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--text-primary)}.alerts-stat-label{font-size:12px;color:var(--text-secondary)}.alerts-filters{display:flex;gap:8px;padding:4px;background:var(--glass-surface);border-radius:var(--radius-md);margin-bottom:16px}@media (min-width:768px){.alerts-filters{width:-moz-fit-content;width:fit-content}.filter-btn{flex:none;padding:10px 20px}}.filter-btn{flex:1 1;padding:10px 16px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:rgba(255,255,255,.05);color:var(--text-primary)}.filter-btn.active{background:var(--glass-highlight);color:var(--text-primary)}.filter-btn.buy.active{background:rgba(39,215,150,.15);color:var(--accent-success)}.filter-btn.sell.active{background:rgba(255,79,94,.15);color:var(--accent-danger)}.alerts-list{display:flex;flex-direction:column;gap:8px}.alert-item{display:flex;align-items:center;gap:12px;padding:14px;background:rgba(0,0,0,.2);border-radius:var(--radius-md);border-left:3px solid var(--glass-border);transition:all .2s ease}.alert-item:hover{background:rgba(0,0,0,.3)}.alert-item.buy{border-left-color:var(--accent-success)}.alert-item.sell{border-left-color:var(--accent-danger)}.alert-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--glass-surface);border-radius:50%;flex-shrink:0}.alert-item.buy .alert-icon{color:var(--accent-success);background:rgba(39,215,150,.1)}.alert-item.sell .alert-icon{color:var(--accent-danger);background:rgba(255,79,94,.1)}.alert-content{flex:1 1;min-width:0}.alert-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.alert-symbol{font-weight:700;font-size:15px;color:var(--text-primary)}.alert-distance{font-size:11px;color:var(--text-secondary);padding:2px 6px;background:var(--glass-surface);border-radius:4px}.alert-distance.near{color:var(--accent-warning);background:rgba(255,178,36,.15)}.alert-message{margin:0;font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-quality{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.quality-stars{font-size:12px;letter-spacing:1px}.quality-label{font-size:11px;font-weight:500}.quality-badges{display:flex;gap:4px}.quality-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;padding:2px 5px;border-radius:3px;background:var(--glass-surface);color:var(--text-tertiary);text-transform:uppercase;font-weight:500}.quality-badge.confirmed{background:rgba(39,215,150,.15);color:var(--accent-success)}.alert-item.entry{background:rgba(110,86,207,.1);border-left-width:4px}.alert-item.entry.buy{background:rgba(39,215,150,.08)}.alert-item.entry.sell{background:rgba(255,79,94,.08)}.watchlist-page{display:flex;flex-direction:column;gap:12px}.watchlist-toolbar{gap:12px}.search-box,.watchlist-toolbar{display:flex;align-items:center}.search-box{flex:1 1;gap:10px;padding:12px 16px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary)}.search-box input{flex:1 1;background:none;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:inherit}.search-box input::placeholder{color:var(--text-tertiary)}.sort-buttons{display:flex;gap:4px;padding:4px;background:var(--glass-surface);border-radius:var(--radius-sm)}.sort-btn{padding:8px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.sort-btn:hover{background:rgba(255,255,255,.05)}.sort-btn.active{background:var(--accent-primary);color:white}.watchlist-stats{font-size:12px;color:var(--text-secondary);padding:0 4px}.watchlist-items{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}@media (min-width:768px){.watchlist-items{grid-template-columns:repeat(2,1fr);gap:12px}}.watchlist-item{display:flex;align-items:center;justify-content:space-between;padding:14px;background:rgba(0,0,0,.2);border-radius:var(--radius-md);transition:all .2s ease}.watchlist-item:hover{background:rgba(0,0,0,.3)}.watchlist-item-left{display:flex;align-items:center;gap:12px}.stock-logo{object-fit:contain;background:white;padding:4px}.stock-logo,.stock-logo-fallback{width:40px;height:40px;border-radius:50%}.stock-logo-fallback{display:none;background:var(--glass-highlight);align-items:center;justify-content:center;font-weight:700;font-size:12px;color:var(--text-primary)}.watchlist-item-info{display:flex;flex-direction:column;gap:4px}.watchlist-item-header,.watchlist-item-meta{display:flex;align-items:center;gap:8px}.zone-count{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--glass-surface);color:var(--text-secondary)}.zone-count.buy{color:var(--accent-success);background:rgba(39,215,150,.1)}.zone-count.sell{color:var(--accent-danger);background:rgba(255,79,94,.1)}.alert-badge{font-size:11px;padding:2px 6px;border-radius:4px;background:rgba(255,178,36,.15);color:var(--accent-warning);font-weight:600}.watchlist-item-right{display:flex;align-items:center;gap:12px}.remove-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease}.remove-btn:hover{background:rgba(255,79,94,.15);color:var(--accent-danger)}.sentiment-indicators{margin-top:auto;padding-top:16px}.indicator-item{padding:10px 6px;text-align:center}.indicator-header{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.indicator-value{font-size:18px}.indicator-label{font-size:10px}.yield-warning{display:flex;align-items:center;gap:8px;background:rgba(255,79,94,.1);border:1px solid rgba(255,79,94,.2);color:var(--accent-danger)}.sentiment-message,.yield-warning{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);font-size:12px}.sentiment-message{background:rgba(110,86,207,.1);color:var(--text-secondary);text-align:center}@media (max-width:480px){.sentiment-indicators{grid-template-columns:repeat(2,1fr)}}.sentiment-card{display:flex;flex-direction:column;height:100%;min-height:340px;gap:16px;overflow:hidden;position:relative}.sentiment-title{display:flex;align-items:center;gap:6px;font-weight:600}.sentiment-grid{flex:1 1;display:grid;grid-template-columns:38% 62%;grid-gap:20px;gap:20px;align-items:center;min-height:0}.sentiment-visual{display:flex;align-items:center;justify-content:center;height:100%}.visual-stack{display:flex;flex-direction:column;align-items:center;gap:0;position:relative}.ai-robot-wrapper{width:75px;height:75px;filter:drop-shadow(0 0 20px rgba(110,86,207,.3));transition:transform .3s ease;flex-shrink:0;z-index:2;margin-bottom:-12px}.ai-robot-wrapper:hover{transform:scale(1.08) rotate(-3deg)}.ai-mascot-svg{width:100%;height:100%}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.antenna-blink{animation:antenna-blink 1.5s ease-in-out infinite}@keyframes antenna-blink{0%,to{opacity:1}50%{opacity:.3}}.ai-gauge-container{position:relative;width:150px;height:85px;display:flex;align-items:flex-end;justify-content:center}.ai-gauge-svg{width:100%;height:auto;overflow:visible}.ai-gauge-content{position:absolute;bottom:5px;left:0;right:0;display:flex;flex-direction:column;align-items:center}.ai-score-number{font-size:38px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1;text-shadow:0 0 30px currentColor}.sentiment-analysis{display:flex;flex-direction:column;justify-content:center;gap:12px;height:100%;padding-left:16px;border-left:1px solid var(--glass-border)}.analysis-headline{font-size:17px;font-weight:700;color:var(--text-primary);line-height:1.2;margin:0}.analysis-text{font-size:12px;color:var(--text-secondary);line-height:1.7;margin:0}.highlight-bullish{color:var(--accent-success);font-weight:600}.highlight-bearish{color:var(--accent-danger);font-weight:600}.highlight-warning{color:var(--accent-warning);font-weight:600}.highlight-neutral{color:var(--accent-primary);font-weight:600}.highlight-score{font-weight:700}.highlight-number,.highlight-score{color:var(--text-primary);font-family:JetBrains Mono,monospace}.highlight-number{font-weight:600}.analysis-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:100px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;width:-moz-fit-content;width:fit-content;cursor:pointer;transition:all .2s ease;background:transparent}.analysis-action-btn.buy{color:var(--accent-success);border:1px solid rgba(39,215,150,.4)}.analysis-action-btn.buy:hover{background:rgba(39,215,150,.1);border-color:var(--accent-success)}.analysis-action-btn.hold{color:var(--accent-warning);border:1px solid rgba(255,178,36,.4)}.analysis-action-btn.hold:hover{background:rgba(255,178,36,.1);border-color:var(--accent-warning)}.analysis-action-btn.avoid{color:var(--accent-danger);border:1px solid rgba(255,79,94,.4)}.analysis-action-btn.avoid:hover{background:rgba(255,79,94,.1);border-color:var(--accent-danger)}.sentiment-indicators{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;padding:12px;background:rgba(0,0,0,.25);border-radius:var(--radius-md);border:1px solid var(--glass-border)}.ai-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;background:rgba(255,255,255,.02);border-radius:var(--radius-sm);transition:all .2s ease}.ai-indicator:hover{background:rgba(255,255,255,.05);transform:translateY(-2px)}.indicator-label{font-size:9px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.indicator-value{font-size:16px;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--text-primary);display:flex;align-items:baseline;gap:1px}.indicator-value.has-success{color:var(--accent-success)}.ai-yield-warning,.indicator-value.has-danger{color:var(--accent-danger)}.ai-yield-warning{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:linear-gradient(90deg,rgba(255,79,94,.1),rgba(255,79,94,.05),rgba(255,79,94,.1));border:1px solid rgba(255,79,94,.2);border-radius:var(--radius-sm);font-size:11px;font-weight:500}@media (max-width:768px){.sentiment-grid{grid-template-columns:1fr;gap:16px}.sentiment-visual{padding:8px 0}.visual-stack{flex-direction:row;gap:16px;align-items:center}.ai-robot-wrapper{width:55px;height:55px;margin-bottom:0}.ai-gauge-container{width:130px;height:75px}.ai-score-number{font-size:32px}.sentiment-analysis{padding-left:0;border-left:none;padding-top:12px;border-top:1px solid var(--glass-border)}.analysis-headline{font-size:15px}.analysis-text{font-size:11px}}@media (max-width:480px){.app-header{text-align:center;align-items:center}.brand{align-items:center;width:100%}.header-controls{display:none}.sentiment-card{min-height:auto}.sentiment-card .card-title{flex-wrap:wrap;gap:8px}.sentiment-card .badge{font-size:12px;padding:6px 12px}.sentiment-grid{display:flex;flex-direction:column;gap:12px}.sentiment-visual{order:1}.visual-stack{flex-direction:row;justify-content:center;align-items:center;gap:20px}.ai-robot-wrapper{width:60px;height:60px}.ai-gauge-container{width:120px;height:70px}.ai-score-number{font-size:28px}.sentiment-analysis{order:2;text-align:center;border-top:1px solid var(--glass-border);padding-top:12px}.analysis-headline{font-size:16px}.analysis-text{font-size:12px;text-align:left}.analysis-action-btn{width:100%;justify-content:center}.sentiment-indicators{order:3;grid-template-columns:repeat(2,1fr);gap:8px}.indicator-value{font-size:16px}}.loading-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);animation:loading-pulse 1s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.no-data-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;background:linear-gradient(135deg,rgba(255,178,36,.1),rgba(255,178,36,.05));border:1px solid rgba(255,178,36,.2);border-radius:var(--radius-md)}.no-data-banner-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,178,36,.2);border-radius:50%;color:var(--accent-warning);flex-shrink:0}.no-data-banner-text{flex:1 1}.no-data-banner-text h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.no-data-banner-text p{margin:2px 0 0;font-size:11px;color:var(--text-secondary)}.no-data-banner code{background:rgba(0,0,0,.3);padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:10px}.watchlist-card{padding:var(--space-4)!important}.watchlist-card .card-title{margin-bottom:var(--space-3)}.refresh-btn{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.refresh-btn:hover{background:var(--glass-highlight);color:var(--text-primary)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.watchlist-count{font-size:var(--text-xs);font-weight:var(--font-medium);display:flex;align-items:center;gap:var(--space-1)}.watchlist-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:260px;overflow-y:auto}.watchlist-empty{text-align:center;padding:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-normal)}.watchlist-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(0,0,0,.15);border-radius:var(--radius-sm);transition:background .2s}.watchlist-row:hover{background:rgba(0,0,0,.25)}.watchlist-logo{width:24px;height:24px;border-radius:50%;object-fit:contain;background:white;padding:2px;flex-shrink:0}.watchlist-symbol{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary);min-width:44px}.watchlist-tag{font-size:8px;padding:2px 5px;border-radius:var(--radius-xs);font-weight:var(--font-semibold);text-transform:uppercase;flex-shrink:0}.watchlist-tag.smc{background:rgba(39,215,150,.12);color:var(--accent-success)}.watchlist-tag.live{background:rgba(110,86,207,.12);color:var(--accent-primary)}.watchlist-price{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-left:auto;text-align:right}.watchlist-change{display:flex;align-items:center;gap:2px;font-size:var(--text-xs);font-family:var(--font-mono);font-weight:var(--font-medium);min-width:54px;justify-content:flex-end}.watchlist-change.up{color:var(--accent-success)}.watchlist-change.down{color:var(--accent-danger)}.watchlist-change.flat,.watchlist-change.neutral{color:var(--text-secondary)}.watchlist-remove{border:none;background:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-xs);transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:var(--space-1)}.watchlist-remove:hover{background:rgba(255,79,94,.15);color:var(--accent-danger)}.page-transition{opacity:0;transform:translateY(12px);transition:opacity .35s ease-out,transform .35s ease-out}.page-transition.visible{opacity:1;transform:translateY(0)}.fade-in{animation:fadeIn .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bento-grid .card{opacity:0;transform:translateY(30px) scale(.95)}.bento-grid.animate-in .card{animation:cardEnter .6s cubic-bezier(.16,1,.3,1) forwards}.bento-grid.animate-in .card:first-child{animation-delay:0s}.bento-grid.animate-in .card:nth-child(2){animation-delay:80ms}.bento-grid.animate-in .card:nth-child(3){animation-delay:.16s}.bento-grid.animate-in .card:nth-child(4){animation-delay:.24s}.bento-grid.animate-in .card:nth-child(5){animation-delay:.32s}.bento-grid.animate-in .card:nth-child(6){animation-delay:.4s}.bento-grid.animate-in .card:nth-child(7){animation-delay:.48s}.bento-grid.animate-in .card:nth-child(8){animation-delay:.56s}@keyframes cardEnter{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.alerts-list .alert-item,.settings-page .settings-card,.watchlist-items .watchlist-item,.watchlist-list .watchlist-row{opacity:0;transform:translateX(-12px);animation:listItemEnter .4s ease-out forwards}.alerts-list .alert-item:first-child,.settings-page .settings-card:first-child,.watchlist-items .watchlist-item:first-child,.watchlist-list .watchlist-row:first-child{animation-delay:0s}.alerts-list .alert-item:nth-child(2),.settings-page .settings-card:nth-child(2),.watchlist-items .watchlist-item:nth-child(2),.watchlist-list .watchlist-row:nth-child(2){animation-delay:50ms}.alerts-list .alert-item:nth-child(3),.settings-page .settings-card:nth-child(3),.watchlist-items .watchlist-item:nth-child(3),.watchlist-list .watchlist-row:nth-child(3){animation-delay:.1s}.alerts-list .alert-item:nth-child(4),.settings-page .settings-card:nth-child(4),.watchlist-items .watchlist-item:nth-child(4),.watchlist-list .watchlist-row:nth-child(4){animation-delay:.15s}.alerts-list .alert-item:nth-child(5),.settings-page .settings-card:nth-child(5),.watchlist-items .watchlist-item:nth-child(5),.watchlist-list .watchlist-row:nth-child(5){animation-delay:.2s}.alerts-list .alert-item:nth-child(6),.watchlist-items .watchlist-item:nth-child(6),.watchlist-list .watchlist-row:nth-child(6){animation-delay:.25s}.alerts-list .alert-item:nth-child(7),.watchlist-items .watchlist-item:nth-child(7),.watchlist-list .watchlist-row:nth-child(7){animation-delay:.3s}.alerts-list .alert-item:nth-child(8),.watchlist-items .watchlist-item:nth-child(8),.watchlist-list .watchlist-row:nth-child(8){animation-delay:.35s}.alerts-list .alert-item:nth-child(n+9),.watchlist-items .watchlist-item:nth-child(n+9),.watchlist-list .watchlist-row:nth-child(n+9){animation-delay:.4s}@keyframes listItemEnter{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.quick-stats .quick-stat-item{opacity:0;transform:scale(.9);animation:statPop .4s ease-out forwards}.quick-stats .quick-stat-item:first-child{animation-delay:.1s}.quick-stats .quick-stat-item:nth-child(2){animation-delay:.15s}.quick-stats .quick-stat-item:nth-child(3){animation-delay:.2s}.quick-stats .quick-stat-item:nth-child(4){animation-delay:.25s}@keyframes statPop{0%{opacity:0;transform:scale(.9)}70%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.price-targets .price-target-item{opacity:0;transform:translateY(10px);animation:targetSlide .35s ease-out forwards}.price-targets .price-target-item:first-child{animation-delay:80ms}.price-targets .price-target-item:nth-child(2){animation-delay:.14s}.price-targets .price-target-item:nth-child(3){animation-delay:.2s}.price-targets .price-target-item:nth-child(4){animation-delay:.26s}@keyframes targetSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-header{opacity:0;transform:translateY(-10px);animation:headerEnter .5s ease-out .1s forwards}@keyframes headerEnter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{animation:navEnter .4s ease-out .3s forwards}@keyframes navEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nav-item{transition:color .25s ease,transform .15s ease-out}.nav-item:active{transform:scale(.88)}.sentiment-card .ai-score-number{animation:scoreCount .8s ease-out .3s forwards;opacity:0}@keyframes scoreCount{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.sentiment-indicators .ai-indicator{opacity:0;transform:translateY(8px);animation:indicatorEnter .35s ease-out forwards}.sentiment-indicators .ai-indicator:first-child{animation-delay:.4s}.sentiment-indicators .ai-indicator:nth-child(2){animation-delay:.45s}.sentiment-indicators .ai-indicator:nth-child(3){animation-delay:.5s}.sentiment-indicators .ai-indicator:nth-child(4){animation-delay:.55s}.sentiment-indicators .ai-indicator:nth-child(5){animation-delay:.6s}.sentiment-indicators .ai-indicator:nth-child(6){animation-delay:.65s}@keyframes indicatorEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn{transition:all .2s ease-out,transform .15s ease-out}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(110,86,207,.4)}.card{transition:transform .3s ease-out,border-color .3s ease-out,box-shadow .3s ease-out}.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(0,0,0,.4)}.empty-state{animation:emptyFade .5s ease-out forwards}.empty-state-icon{animation:emptyIconBounce .6s ease-out .2s forwards;opacity:0}@keyframes emptyFade{0%{opacity:0}to{opacity:1}}@keyframes emptyIconBounce{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.watchlist-card .watchlist-row-v2{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:rgba(0,0,0,.2);border-radius:var(--radius-md);transition:background .2s ease;gap:var(--space-3)}.watchlist-card .watchlist-row-v2:hover{background:rgba(0,0,0,.35)}.wl-left{display:flex;align-items:center;gap:var(--space-3);flex:1 1;min-width:0}.wl-logo-wrap{position:relative;flex-shrink:0}.wl-logo{object-fit:contain;background:white;padding:3px}.wl-logo,.wl-logo-fallback{width:36px;height:36px;border-radius:50%}.wl-logo-fallback{display:none;background:linear-gradient(135deg,var(--accent-primary),var(--accent-success));align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:11px;color:white}.wl-info{display:flex;flex-direction:column;gap:2px;min-width:0}.wl-symbol-row{display:flex;align-items:center;gap:var(--space-2)}.wl-symbol{font-size:var(--text-base);color:var(--text-primary)}.wl-badge,.wl-symbol{font-weight:var(--font-bold)}.wl-badge{font-size:8px;padding:2px 5px;border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.5px}.wl-badge.smc{background:rgba(39,215,150,.15);color:var(--accent-success)}.wl-badge.live{background:rgba(110,86,207,.15);color:var(--accent-primary)}.wl-badge.loading{background:rgba(255,193,7,.15);color:#ffc107}.wl-badge .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wl-meta{display:flex;align-items:center;gap:var(--space-2)}.wl-name{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.wl-exchange{font-size:9px;padding:1px 4px;border-radius:3px;background:rgba(255,255,255,.08);color:var(--text-tertiary);font-weight:var(--font-medium)}.wl-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.wl-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.wl-price{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.wl-change,.wl-price{font-family:var(--font-mono)}.wl-change{display:flex;align-items:center;gap:3px;font-size:var(--text-sm);font-weight:var(--font-semibold)}.wl-change.bullish,.wl-change.up{color:var(--accent-success)}.wl-change.bearish,.wl-change.down{color:var(--accent-danger)}.wl-change.flat,.wl-change.neutral{color:var(--text-secondary)}.wl-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.wl-remove:hover{background:rgba(255,79,94,.15);color:var(--accent-danger)}.watchlist-list .watchlist-row-v2{animation:listItemEnter .4s ease-out forwards}@media (max-width:480px){.wl-name{max-width:80px}.wl-price{font-size:var(--text-base)}.wl-change{font-size:var(--text-xs)}.wl-left{gap:var(--space-2)}.wl-logo,.wl-logo-fallback{width:32px;height:32px}.wl-logo-fallback{font-size:10px}.wl-symbol{font-size:var(--text-sm)}.wl-meta{flex-wrap:wrap}.watchlist-card .watchlist-row-v2{padding:var(--space-2) var(--space-3);gap:var(--space-2)}}.wl-view-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:rgba(0,0,0,.2);border-radius:var(--radius-md);transition:background .2s ease;gap:var(--space-4)}.wl-view-item:hover{background:rgba(0,0,0,.35)}.wl-view-left{display:flex;align-items:center;gap:var(--space-4);flex:1 1;min-width:0}.wl-view-logo-wrap{position:relative;flex-shrink:0}.wl-view-logo{object-fit:contain;background:white;padding:4px}.wl-view-logo,.wl-view-logo-fallback{width:44px;height:44px;border-radius:50%}.wl-view-logo-fallback{display:none;background:linear-gradient(135deg,var(--accent-primary),var(--accent-success));align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:13px;color:white}.wl-view-info{display:flex;flex-direction:column;gap:3px;min-width:0}.wl-view-top{display:flex;align-items:center;gap:var(--space-2)}.wl-view-symbol{font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--text-primary)}.wl-view-name{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-view-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.wl-view-exchange{font-size:9px;padding:2px 5px;border-radius:3px;background:rgba(255,255,255,.08);color:var(--text-tertiary)}.wl-view-exchange,.wl-view-zone{font-weight:var(--font-semibold)}.wl-view-zone{font-size:10px;padding:2px 6px;border-radius:4px}.wl-view-zone.buy{background:rgba(39,215,150,.12);color:var(--accent-success)}.wl-view-zone.sell{background:rgba(255,79,94,.12);color:var(--accent-danger)}.wl-view-alert{font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(255,178,36,.15);color:var(--accent-warning);font-weight:var(--font-semibold)}.wl-view-badge{font-size:9px;padding:2px 5px;border-radius:3px;background:rgba(110,86,207,.15);color:var(--accent-primary);font-weight:var(--font-bold)}.wl-view-right{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.wl-view-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:90px}.wl-view-price{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.wl-view-change{display:flex;align-items:center;gap:3px;font-size:var(--text-sm);font-family:var(--font-mono);font-weight:var(--font-semibold)}.wl-view-change.up{color:var(--accent-success)}.wl-view-change.down{color:var(--accent-danger)}.wl-view-change.flat{color:var(--text-secondary)}@media (min-width:768px){.wl-view-change{font-size:var(--text-base)}.wl-view-price{font-size:20px}}.wl-view-trend-badge{font-size:10px;padding:3px 8px;border-radius:4px;font-weight:var(--font-bold);text-transform:uppercase}.wl-view-trend-badge.bullish{background:rgba(39,215,150,.15);color:var(--accent-success)}.wl-view-trend-badge.bearish{background:rgba(255,79,94,.15);color:var(--accent-danger)}.wl-view-trend-badge.neutral{background:rgba(255,255,255,.08);color:var(--text-secondary)}.wl-view-remove{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease}.wl-view-remove:hover{background:rgba(255,79,94,.15);color:var(--accent-danger)}.watchlist-items .wl-view-item{opacity:0;transform:translateX(-12px);animation:listItemEnter .4s ease-out forwards}@media (max-width:480px){.wl-view-item{padding:var(--space-3)}.wl-view-item,.wl-view-left{gap:var(--space-3)}.wl-view-logo{width:36px;height:36px}.wl-view-logo-fallback{width:36px;height:36px;font-size:11px}.wl-view-symbol{font-size:var(--text-base)}.wl-view-name{font-size:11px;max-width:100px}.wl-view-meta{display:none}.wl-view-right{gap:var(--space-2)}.wl-view-price{font-size:var(--text-base)}.wl-view-price-block{min-width:auto}.wl-view-change{font-size:11px}.wl-view-remove{width:28px;height:28px;flex-shrink:0}}.skeleton-price{display:inline-block;width:60px;height:18px;background:linear-gradient(90deg,var(--glass-surface) 25%,var(--glass-highlight) 50%,var(--glass-surface) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.wl-loading-text,.wl-price-loading{display:flex;align-items:center}.wl-loading-text{gap:4px;font-size:10px!important;color:var(--text-tertiary)!important}.wl-retry-text{font-size:10px!important;color:var(--accent-warning)!important}.wl-unavailable{font-size:10px!important;color:var(--text-tertiary)!important}.smc-update-info{padding:var(--space-3) var(--space-4);margin-top:var(--space-4);background:rgba(0,0,0,.2);border-radius:var(--radius-md);font-size:11px;color:var(--text-secondary)}.smc-update-info,.smc-update-time{display:flex;align-items:center;justify-content:center}.smc-update-time{gap:8px;flex-wrap:wrap}.smc-update-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-success);display:flex;align-items:center;justify-content:center;position:relative}.smc-update-dot.fresh{background:var(--accent-success);animation:pulse-fresh 2s ease-in-out infinite}.smc-update-dot.fresh:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:var(--accent-success);animation:pulse-ring 2s ease-out infinite}@keyframes pulse-fresh{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(2.5);opacity:0}}.smc-update-dot.stale{background:var(--accent-warning);animation:blink-warning 1s ease-in-out infinite}@keyframes blink-warning{0%,to{opacity:1}50%{opacity:.4}}.smc-update-info.loading{opacity:.7}.smc-update-info.loading .smc-update-dot{background:var(--accent-primary)}.smc-separator{opacity:.3}.smc-next-text{display:flex;align-items:center;gap:4px;color:var(--text-tertiary)}.connection-indicator{display:flex;align-items:center;margin-left:8px;padding:2px 6px;border-radius:4px;font-size:10px}.connection-indicator.offline{background:rgba(255,79,94,.2);color:var(--accent-danger);animation:blink-warning 1s ease-in-out infinite}.connection-indicator.online{background:rgba(39,215,150,.2);color:var(--accent-success)}@media (max-width:480px){.smc-update-info{padding:var(--space-2) var(--space-3);font-size:10px}.smc-update-time{gap:6px}}@media (min-width:768px) and (max-width:1024px){.app-wrapper{padding:var(--space-5);padding-bottom:100px}.bento-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.col-span-2,.col-span-3{grid-column:span 2}.sentiment-grid{gap:var(--space-4)}.quick-stats{grid-template-columns:repeat(4,1fr)}}@media (min-width:414px) and (max-width:480px){.app-wrapper{padding:var(--space-4);padding-bottom:100px}.bento-grid{grid-template-columns:1fr;gap:var(--space-3)}.col-span-2,.col-span-3{grid-column:span 1}.card{padding:var(--space-4);border-radius:var(--radius-md)}.watchlist-card .watchlist-row-v2{padding:var(--space-3)}.wl-price{font-size:var(--text-base)!important}.quick-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}}@media (max-width:414px){.app-wrapper{padding:8px 8px 80px}.bento-grid{grid-template-columns:1fr;gap:8px}.col-span-2,.col-span-3{grid-column:span 1}.card{padding:var(--space-4);border-radius:var(--radius-md)}.card-title{font-size:11px}.app-header{flex-direction:column;gap:var(--space-2);align-items:flex-start;margin-bottom:var(--space-3)}.header-controls{width:100%}.brand h1{font-size:var(--text-xl)}.header-controls .btn{flex:1 1;justify-content:center;font-size:12px;padding:0 var(--space-3)}.watchlist-card .watchlist-row-v2{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.wl-logo{width:32px;height:32px}.wl-symbol{font-size:13px}.wl-name{max-width:80px;font-size:10px}.wl-price{font-size:14px!important}.wl-change{font-size:11px!important}.wl-badge{font-size:7px;padding:1px 4px}.wl-exchange{font-size:8px}.wl-remove{width:24px;height:24px}.quick-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-2);padding:var(--space-3)!important}.quick-stat-value{font-size:var(--text-base)}.quick-stat-label{font-size:9px}.sentiment-grid{grid-template-columns:1fr;gap:var(--space-3)}.sentiment-visual{order:2}.sentiment-analysis{order:1}.ai-gauge-container{transform:scale(.8)}.analysis-headline{font-size:var(--text-base)}.analysis-text{font-size:12px}.sentiment-indicators{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.bottom-nav{bottom:16px;padding:6px;gap:2px}.nav-indicator,.nav-item{width:40px;height:40px}.nav-indicator{top:6px;left:6px}.alerts-header{flex-direction:column;gap:var(--space-2)}.alert-item,.alerts-stat{padding:var(--space-3)}.language-toggle{flex-direction:column}.lang-btn{padding:var(--space-3)}}@media (max-height:500px) and (orientation:landscape){.app-wrapper{padding:var(--space-3);padding-bottom:80px}.bottom-nav{bottom:8px;padding:4px}.nav-item{width:36px;height:36px}.nav-indicator{top:4px;left:4px;width:36px;height:36px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.app-wrapper{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:calc(90px + env(safe-area-inset-bottom))}.bottom-nav{bottom:calc(12px + env(safe-area-inset-bottom))}}@media (max-width:375px){.app-wrapper{padding:6px 6px 80px}.bento-grid{gap:6px}.card{padding:var(--space-3);border-radius:var(--radius-sm)}.brand h1{font-size:var(--text-lg)}.header-controls .btn{padding:6px 10px;font-size:11px}}@media (max-width:480px){.app-wrapper{padding-left:6px;padding-right:6px}.card{border-radius:var(--radius-md)}.btn,button{min-height:44px}.wl-symbol{font-size:15px}.wl-price{font-size:16px}.stat-value{font-size:20px}.indicator-value{font-size:13px}.watchlist-header-right{display:flex;align-items:center;gap:8px}.mobile-actions{display:flex;gap:4px}.mobile-action-btn{width:36px;height:36px;border-radius:50%;background:var(--glass-surface);border:1px solid var(--glass-border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.mobile-action-btn:active{background:var(--accent-primary);color:white;transform:scale(.95)}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-main);background-image:var(--bg-page)}.auth-container{width:100%;max-width:400px;padding:var(--space-6);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-logo{text-align:center;margin-bottom:var(--space-6)}.auth-logo-icon{width:64px;height:64px;margin:0 auto var(--space-3);color:var(--accent-primary)}.auth-logo-icon svg{width:100%;height:100%}.auth-logo h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-1)}.auth-logo p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-tabs{padding:var(--space-1);background:rgba(0,0,0,.2);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.auth-tab,.auth-tabs{display:flex;gap:var(--space-2)}.auth-tab{flex:1 1;align-items:center;justify-content:center;padding:var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{background:var(--accent-primary);color:white}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-error{align-items:center;padding:var(--space-3);background:rgba(255,79,94,.1);border:1px solid rgba(255,79,94,.2);border-radius:var(--radius-sm);color:var(--accent-danger);font-size:var(--text-sm)}.auth-error,.auth-field{display:flex;gap:var(--space-2)}.auth-field{flex-direction:column}.auth-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.auth-input-wrapper{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:rgba(0,0,0,.2);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:border-color .2s ease}.auth-input-wrapper:focus-within{border-color:var(--accent-primary)}.auth-input-wrapper svg{color:var(--text-tertiary);flex-shrink:0}.auth-input-wrapper input{flex:1 1;background:none;border:none;outline:none;color:var(--text-primary);font-size:var(--text-base);font-family:inherit}.auth-input-wrapper input::placeholder{color:var(--text-tertiary)}.auth-toggle-password{background:none;border:none;padding:0;color:var(--text-tertiary);cursor:pointer;transition:color .2s ease}.auth-toggle-password:hover{color:var(--text-secondary)}.auth-submit{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:white;font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;margin-top:var(--space-2)}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(110,86,207,.4)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-loading{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.auth-footer{text-align:center;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--text-secondary)}.auth-footer button{background:none;border:none;color:var(--accent-primary);font-weight:var(--font-medium);cursor:pointer;transition:color .2s ease}.auth-footer button:hover{color:var(--text-primary)}.user-menu{position:relative;z-index:1001}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all .2s ease}.user-menu-trigger:hover{background:var(--glass-highlight)}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;color:white;font-weight:var(--font-semibold);font-size:var(--text-sm)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;padding:var(--space-2);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease}.user-menu.open .user-menu-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all .2s ease}.user-menu-item:hover{background:rgba(255,255,255,.05);color:var(--text-primary)}.user-menu-item.danger:hover{background:rgba(255,79,94,.1);color:var(--accent-danger)}@media (max-width:480px){.auth-container{padding:var(--space-5);border-radius:var(--radius-md)}.auth-logo-icon{width:56px;height:56px}.auth-logo h1{font-size:var(--text-xl)}}.add-input-wrapper{position:relative}.suggestions-dropdown{position:fixed;background:rgba(15,20,30,.98);border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:9999;max-height:280px;overflow-y:auto;overflow-x:hidden;box-shadow:0 10px 40px rgba(0,0,0,.6);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.suggestion-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background .15s ease;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.suggestion-item.selected,.suggestion-item:hover{background:rgba(255,255,255,.1)}.suggestion-item:active{background:rgba(110,86,207,.3)}.suggestion-logo-wrap{width:28px;height:28px;flex-shrink:0;position:relative}.suggestion-logo{width:28px;height:28px;border-radius:6px;object-fit:cover;background:rgba(255,255,255,.05)}.suggestion-logo-fallback{display:none;width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-success));color:white;font-size:10px;font-weight:700;align-items:center;justify-content:center}.suggestion-symbol{font-family:var(--font-mono);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary);min-width:70px}.suggestion-name{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-critical{animation:pulse-glow 2s ease-in-out infinite;border-left:3px solid var(--accent-success)!important}.signal-critical.sell{border-left-color:var(--accent-danger)!important}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px rgba(39,215,150,.3)}50%{box-shadow:0 0 15px rgba(39,215,150,.6)}}.signal-critical.sell{animation:pulse-glow-sell 2s ease-in-out infinite}@keyframes pulse-glow-sell{0%,to{box-shadow:0 0 5px rgba(255,79,94,.3)}50%{box-shadow:0 0 15px rgba(255,79,94,.6)}}.signal-badge-critical{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:linear-gradient(135deg,rgba(39,215,150,.2),rgba(39,215,150,.1));border:1px solid rgba(39,215,150,.4);border-radius:100px;font-size:11px;font-weight:600;color:var(--accent-success);animation:badge-pulse 1.5s ease-in-out infinite}.signal-badge-critical.sell{background:linear-gradient(135deg,rgba(255,79,94,.2),rgba(255,79,94,.1));border-color:rgba(255,79,94,.4);color:var(--accent-danger)}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.ob-entry-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,rgba(39,215,150,.15),rgba(39,215,150,.05));border:1px solid rgba(39,215,150,.3);border-radius:var(--radius-md);margin-bottom:var(--space-2);animation:slide-in-highlight .3s ease}.ob-entry-alert.sell{background:linear-gradient(135deg,rgba(255,79,94,.15),rgba(255,79,94,.05));border-color:rgba(255,79,94,.3)}@keyframes slide-in-highlight{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.ob-entry-icon{font-size:20px;animation:bounce-icon 1s ease infinite}@keyframes bounce-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.ob-entry-text{flex:1 1}.ob-entry-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.ob-entry-subtitle{font-size:var(--text-xs);color:var(--text-secondary);display:flex;align-items:center;gap:6px}.signal-quality-badges{display:inline-flex;gap:3px;margin-left:4px}.sq-badge{display:inline-flex;width:14px;height:14px;background:rgba(39,215,150,.2);color:var(--accent-success);border-radius:3px}.confirm-overlay,.sq-badge{align-items:center;justify-content:center}.confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;z-index:2000;animation:fade-in .2s ease;padding:var(--space-4)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{position:relative;width:100%;max-width:340px;background:rgba(20,25,35,.98);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;animation:scale-in .2s ease}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-close{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all .2s}.confirm-close:hover{background:var(--glass-surface);color:var(--text-primary)}.confirm-icon{width:56px;height:56px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,79,94,.1);color:var(--accent-danger)}.confirm-icon.warning{background:rgba(255,178,36,.1);color:var(--accent-warning)}.confirm-icon.default{background:rgba(110,86,207,.1);color:var(--accent-primary)}.confirm-title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.confirm-message{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.confirm-actions{display:flex;gap:var(--space-3)}.confirm-cancel{flex:1 1;background:var(--glass-surface);border:1px solid var(--glass-border)}.confirm-btn{flex:1 1;background:var(--accent-danger);color:white;border:none}.confirm-btn.warning{background:var(--accent-warning);color:#000}.confirm-btn.default{background:var(--accent-primary)}.confirm-btn:hover{filter:brightness(1.1)}.skeleton-text{height:14px;background:linear-gradient(90deg,var(--glass-surface) 25%,var(--glass-highlight) 50%,var(--glass-surface) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-xs)}.skeleton-text.sm{height:12px;width:60%}.skeleton-text.md{height:16px;width:80%}.skeleton-text.lg{height:20px;width:50%}.skeleton-circle{border-radius:50%}.skeleton-box,.skeleton-circle{background:linear-gradient(90deg,var(--glass-surface) 25%,var(--glass-highlight) 50%,var(--glass-surface) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-box{border-radius:var(--radius-sm)}.wl-skeleton-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--glass-border)}.wl-skeleton-item:last-child{border-bottom:none}.wl-skeleton-logo{width:40px;height:40px}.wl-skeleton-info{flex:1 1;display:flex;flex-direction:column;gap:var(--space-2)}.wl-skeleton-price{width:60px;height:20px}.alert-settings-card{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-5)}.alert-settings-card.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.alert-settings-card .settings-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--glass-border)}.alert-settings-card .settings-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.alert-settings-card .settings-section{margin-bottom:var(--space-5)}.alert-settings-card .settings-section h4{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.5px}.alert-settings-card .preset-buttons{display:flex;flex-direction:column;gap:var(--space-2)}.alert-settings-card .preset-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left}.alert-settings-card .preset-btn:hover{background:var(--glass-highlight);border-color:var(--accent-primary)}.alert-settings-card .preset-btn.active{background:rgba(110,86,207,.15);border-color:var(--accent-primary)}.alert-settings-card .preset-btn svg{color:var(--accent-primary);flex-shrink:0}.alert-settings-card .preset-info{display:flex;flex-direction:column;gap:2px}.alert-settings-card .preset-name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary)}.alert-settings-card .preset-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.alert-settings-card .toggle-row-wrapper{display:flex;align-items:flex-start;gap:var(--space-2)}.alert-settings-card .toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;cursor:pointer;position:relative;flex:1 1}.alert-settings-card .toggle-row-wrapper:not(:last-child){border-bottom:1px solid var(--glass-border);padding-bottom:var(--space-3);margin-bottom:var(--space-2)}.alert-settings-card .toggle-info{display:flex;align-items:flex-start;gap:var(--space-3)}.alert-settings-card .toggle-text{display:flex;flex-direction:column;gap:2px}.alert-settings-card .toggle-label{font-size:var(--text-base);color:var(--text-primary)}.alert-settings-card .toggle-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.alert-settings-card .toggle-info .icon-buy{color:var(--accent-success)}.alert-settings-card .toggle-info .icon-sell{color:var(--accent-danger)}.alert-settings-card .toggle-info .icon-critical{color:var(--accent-warning)}.alert-settings-card .info-btn{padding:var(--space-2);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);margin-top:var(--space-3)}.alert-settings-card .info-btn:hover{background:var(--glass-highlight);color:var(--accent-primary)}.alert-settings-card .info-box{background:rgba(110,86,207,.1);border:1px solid rgba(110,86,207,.2);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-3)}.alert-settings-card .info-box p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.alert-settings-card .toggle-row input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.alert-settings-card .toggle-switch{width:44px;height:24px;background:var(--glass-border);border-radius:12px;position:relative;transition:background .2s;flex-shrink:0}.alert-settings-card .toggle-switch:after{content:"";position:absolute;width:18px;height:18px;background:var(--text-secondary);border-radius:50%;top:3px;left:3px;transition:transform .2s,background .2s}.alert-settings-card .toggle-row input:checked+.toggle-switch{background:var(--accent-primary)}.alert-settings-card .toggle-row input:checked+.toggle-switch:after{transform:translateX(20px);background:white}.alert-settings-card .slider-row{padding:var(--space-4) 0}.alert-settings-card .slider-label{display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.alert-settings-card .slider-label span{font-size:var(--text-base);color:var(--text-primary)}.alert-settings-card .slider-value{font-weight:var(--font-semibold);color:var(--accent-primary)}.alert-settings-card input[type=range]{width:100%;height:6px;background:var(--glass-border);border-radius:3px;outline:none;-webkit-appearance:none}.alert-settings-card input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--accent-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(110,86,207,.4)}.alert-settings-card .slider-labels{display:flex;justify-content:space-between;margin-top:var(--space-2)}.alert-settings-card .slider-labels span{font-size:var(--text-xs);color:var(--text-tertiary)}.alert-settings-card .saving-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--glass-highlight);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary)}.alert-settings-content{padding:var(--space-4);padding-top:0}.alert-settings-content .settings-hint{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-4)}.preset-cards{flex-direction:column}.preset-card,.preset-cards{display:flex;gap:var(--space-3)}.preset-card{align-items:center;padding:var(--space-4);background:var(--glass-surface);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:left}.preset-card.active,.preset-card:hover{background:var(--glass-highlight)}.preset-card-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.preset-card-content{flex:1 1;min-width:0}.preset-card-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px}.preset-card-desc{font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.4}.mobile-refresh-fab{position:fixed;bottom:90px;right:16px;z-index:99;transition:all .2s ease}.mobile-refresh-fab:hover{box-shadow:0 6px 24px rgba(110,86,207,.5);filter:brightness(1.1)}.mobile-refresh-fab:active{filter:brightness(.9)}.mobile-refresh-fab.refreshing{background:var(--accent-success);pointer-events:none}.mobile-refresh-fab:disabled{opacity:.7}.show-more-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-top:4px;background:rgba(255,255,255,.03);border:1px dashed var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s ease}.show-more-btn:hover{background:rgba(255,255,255,.06);color:var(--text-primary)}.settings-advanced-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4);background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.settings-advanced-toggle:hover{background:rgba(255,255,255,.05);color:var(--text-primary)}.settings-advanced-toggle svg:first-child{margin-right:var(--space-2)}.settings-advanced-toggle span{flex:1 1;text-align:left}@media (max-width:480px){.card{padding:var(--space-3)}.card-title{font-size:10px;margin-bottom:var(--space-3)}.watchlist-row-v2{padding:var(--space-2) var(--space-3)}.wl-logo{width:28px;height:28px}.wl-price,.wl-symbol{font-size:13px}.ob-entry-alert{padding:var(--space-2) var(--space-3)}.ob-entry-icon{font-size:14px}.ob-entry-title{font-size:12px}.ob-entry-subtitle{font-size:10px}.price-target-item{padding:var(--space-2)}.target-symbol{font-size:13px}.target-price{font-size:12px}.quick-stat-item{padding:var(--space-1)}.quick-stat-value{font-size:var(--text-base)}.quick-stat-label{font-size:9px}.score-big{font-size:42px}.ai-gauge-wrapper{height:130px}.smc-next-text,.smc-separator{display:none}.smc-update-info{font-size:10px;padding:var(--space-2)}}@media (max-width:375px){.app-wrapper{padding:8px 8px 90px}.card{padding:var(--space-2);border-radius:var(--radius-md)}.bento-grid{gap:10px}.score-big{font-size:36px}.ai-gauge-wrapper{height:110px}.quick-stats{grid-template-columns:repeat(2,1fr);gap:6px}.mobile-refresh-fab{width:42px;height:42px;bottom:85px;right:12px}}.alert-settings-header-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:none;border:none;cursor:pointer;color:var(--text-primary)}.alert-settings-header-toggle .settings-header{margin-bottom:0}.alert-settings-summary{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.preset-badge{font-size:11px;padding:4px 8px;border-radius:12px;font-weight:500}.mobile-refresh-fab,.preset-badge{background:var(--accent-primary);color:white}.mobile-refresh-fab{position:fixed!important;bottom:90px!important;right:16px!important;width:48px;height:48px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(110,86,207,.4);z-index:150!important;transition:background .2s ease,box-shadow .2s ease;transform:none!important;will-change:auto}.alerts-page{max-width:1000px;margin:0 auto}.alerts-summary-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:12px}.alerts-highlight{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--accent-success)}.alerts-highlight.muted{color:var(--text-secondary)}.alerts-counts{display:flex;gap:8px}.count-badge{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--font-mono)}.count-badge.buy{background:rgba(39,215,150,.15);color:var(--accent-success)}.count-badge.sell{background:rgba(255,79,94,.15);color:var(--accent-danger)}.count-badge.mixed,.filter-btn.mixed.active{background:rgba(245,158,11,.15);color:var(--accent-warning)}.alert-card-v2.mixed{border-left-color:var(--accent-warning)}.alert-card-v2.hold{border-left-color:var(--text-tertiary)}.consensus-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase}.alert-card-summary{font-size:12px;color:var(--text-secondary);margin-bottom:2px}.alert-primary-preview{font-size:13px;font-weight:500}.signals-list{margin-bottom:12px}.signals-list-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.signal-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);margin-bottom:6px;font-size:13px}.signal-label{flex:1 1;color:var(--text-primary)}.signal-direction{font-size:11px;font-weight:700;padding:2px 6px;border-radius:3px}.signal-direction.buy{background:rgba(16,185,129,.2);color:var(--accent-success)}.signal-direction.sell{background:rgba(239,68,68,.2);color:var(--accent-danger)}.signal-quality{font-size:11px;color:var(--accent-warning)}.indicators-grid{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.indicator-item{gap:6px;font-size:12px;padding:6px 10px;background:rgba(0,0,0,.15)}.indicator-item span.oversold{color:var(--accent-success)}.indicator-item span.overbought{color:var(--accent-danger)}.indicator-item span.bullish{color:var(--accent-success)}.indicator-item span.bearish{color:var(--accent-danger)}.indicator-item span.high{color:var(--accent-warning)}.alerts-list-v2{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.alerts-list-v2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;align-items:start}.alerts-list-v2>.alert-card-v2.expanded{grid-column:1/-1}}@media (min-width:1200px){.alerts-list-v2{grid-template-columns:repeat(2,1fr)}}.alert-card-v2{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease}.alert-card-v2:hover{border-color:var(--glass-highlight);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3)}.alert-card-v2.buy{border-left:4px solid var(--accent-success)}.alert-card-v2.sell{border-left:4px solid var(--accent-danger)}.alert-card-v2.entry{background:linear-gradient(135deg,rgba(110,86,207,.1) 0,var(--glass-surface) 100%)}.alert-card-v2.entry.buy{background:linear-gradient(135deg,rgba(39,215,150,.12) 0,var(--glass-surface) 100%)}.alert-card-v2.entry.sell{background:linear-gradient(135deg,rgba(255,79,94,.12) 0,var(--glass-surface) 100%)}.alert-card-main{justify-content:space-between;padding:16px}.alert-card-left,.alert-card-main{display:flex;align-items:center;gap:12px}.alert-card-left{flex:1 1;min-width:0}.alert-logo{width:40px;height:40px;border-radius:50%;background:var(--glass-surface);object-fit:contain;flex-shrink:0}.alert-card-info{flex:1 1;min-width:0}.alert-card-symbol{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.signal-tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.signal-tag.buy{background:var(--accent-success);color:#000}.signal-tag.sell{background:var(--accent-danger);color:#fff}.alert-card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.alert-card-subtitle{font-size:12px;color:var(--text-secondary)}.alert-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.confidence-meter{display:flex;align-items:center;gap:8px}.confidence-bar{width:50px;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.confidence-fill{height:100%;border-radius:3px;transition:width .5s ease}.confidence-label{font-size:12px;font-weight:700;font-family:var(--font-mono)}.alert-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.alert-price{font-size:18px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.alert-price-change{font-size:13px;font-weight:600;font-family:var(--font-mono);color:var(--text-tertiary)}.alert-price-change.up{color:var(--accent-success)}.alert-price-change.down{color:var(--accent-danger)}.alert-reasons{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}.reason-tag{font-size:11px;padding:4px 8px;background:rgba(110,86,207,.15);color:var(--accent-primary);border-radius:4px;font-weight:500}.alert-expand-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:rgba(0,0,0,.2);border:none;border-top:1px solid var(--glass-border);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.alert-expand-btn:hover{background:rgba(0,0,0,.3);color:var(--text-primary)}.alert-details{padding:14px;background:rgba(0,0,0,.15);border-top:1px solid var(--glass-border);display:flex;flex-direction:column;gap:10px}.detail-row{justify-content:space-between;font-size:13px}.detail-label,.detail-row{display:flex;align-items:center}.detail-label{gap:6px;color:var(--text-secondary)}.detail-value{font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.detail-value.oversold{color:var(--accent-success)}.detail-value.overbought{color:var(--accent-danger)}.detail-value.bullish{color:var(--accent-success)}.detail-value.bearish{color:var(--accent-danger)}.detail-value.high{color:var(--accent-warning)}.detail-confirmations{display:flex;gap:8px;margin-top:4px}.confirm-badge{display:flex;align-items:center;gap:4px;font-size:11px;padding:4px 8px;border-radius:4px;font-weight:500}.confirm-badge.confirmed{background:rgba(39,215,150,.15);color:var(--accent-success)}.confirm-badge.not{background:rgba(255,255,255,.05);color:var(--text-tertiary);text-decoration:line-through;opacity:.6}.alert-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(255,178,36,.1);border:1px solid rgba(255,178,36,.3);border-radius:var(--radius-sm);color:var(--accent-warning);font-size:12px;margin-top:4px}@media (max-width:600px){.alerts-summary-header{flex-direction:column;gap:12px;align-items:flex-start}.alerts-counts{width:100%;justify-content:space-between}.count-badge{flex:1 1;justify-content:center}.alert-card-main{flex-direction:column;align-items:flex-start;gap:10px}.alert-card-right{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.confidence-bar{width:80px}}.trend-icon.bullish{color:var(--accent-success)}.trend-icon.bearish{color:var(--accent-danger)}.trend-icon.neutral{color:var(--text-tertiary)}.trend-value{font-weight:600;font-size:12px}.trend-value.bullish{color:var(--accent-success)}.trend-value.bearish{color:var(--accent-danger)}.trend-value.neutral{color:var(--text-tertiary)}@supports (padding-top:env(safe-area-inset-top)){.app-wrapper{padding-top:calc(var(--space-6) + env(safe-area-inset-top));padding-left:calc(var(--space-6) + env(safe-area-inset-left));padding-right:calc(var(--space-6) + env(safe-area-inset-right))}.bottom-nav{bottom:calc(24px + env(safe-area-inset-bottom))}.floating-refresh-btn{bottom:calc(100px + env(safe-area-inset-bottom));right:calc(16px + env(safe-area-inset-right))}}@media (display-mode:standalone){body{-webkit-user-select:none;-moz-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}body,html{overscroll-behavior:none}}.alert-card-v2.mixed{border-left:4px solid var(--accent-warning);background:linear-gradient(135deg,rgba(255,178,36,.08) 0,var(--glass-surface) 100%)}.alert-card-v2.mixed .consensus-tag{animation:pulse-warning 2s ease-in-out infinite}.indicators-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:8px}.indicator-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary)}.indicator-item span:last-child{font-weight:600;font-family:var(--font-mono);color:var(--text-primary);font-size:13px}.indicator-item .oversold{color:var(--accent-success)!important}.indicator-item .overbought{color:var(--accent-danger)!important}.indicator-item .high{color:var(--accent-warning)!important}.position-score-box{padding:12px;background:rgba(0,0,0,.3);border-radius:var(--radius-sm);border-left:3px solid var(--text-tertiary);margin-bottom:10px}.position-score-box.strong-buy{border-left-color:var(--accent-success);background:rgba(39,215,150,.1)}.position-score-box.buy{border-left-color:#4ade80;background:rgba(74,222,128,.08)}.position-score-box.strong-sell{border-left-color:var(--accent-danger);background:rgba(255,79,94,.1)}.position-score-box.sell{border-left-color:#f87171;background:rgba(248,113,113,.08)}.position-score-box.hold{border-left-color:var(--text-tertiary)}.position-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.position-score-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.position-score-value{font-size:16px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.position-score-action{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.position-score-box.buy .position-score-action,.position-score-box.strong-buy .position-score-action{color:var(--accent-success)}.position-score-box.sell .position-score-action,.position-score-box.strong-sell .position-score-action{color:var(--accent-danger)}.position-score-summary{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.position-score-reasons{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--glass-border)}.reason-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.reason-dot{flex-shrink:0}.reason-item.buy .reason-dot{background:var(--accent-success)}.reason-item.sell .reason-dot{background:var(--accent-danger)}.zone-badge{font-size:10px;padding:2px 6px;border-radius:4px;margin-left:8px}.zone-badge.discount{background:rgba(39,215,150,.15);color:var(--accent-success)}.zone-badge.premium{background:rgba(255,79,94,.15);color:var(--accent-danger)}.alert-primary-preview{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.alert-card-v2.expanded{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary),0 8px 24px rgba(110,86,207,.2)}.alert-card-v2.expanded.buy{border-color:var(--accent-success);box-shadow:0 0 0 1px var(--accent-success),0 8px 24px rgba(39,215,150,.15)}.alert-card-v2.expanded.sell{border-color:var(--accent-danger);box-shadow:0 0 0 1px var(--accent-danger),0 8px 24px rgba(255,79,94,.15)}.alerts-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}@media (min-width:600px){.alerts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.alerts-grid{grid-template-columns:repeat(3,1fr);gap:12px}}.alert-card-compact{background:var(--glass-surface);border-left:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;transition:all .2s ease;border:1px solid var(--glass-border);border-left-width:3px}.alert-card-compact:hover{border-color:var(--glass-highlight);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.alert-card-compact:hover .acc-arrow{opacity:1;transform:translateX(2px)}.alert-card-compact.buy{border-left-color:var(--accent-success)}.alert-card-compact.sell{border-left-color:var(--accent-danger)}.alert-card-compact.mixed{border-left-color:var(--accent-warning)}.alert-card-compact.entry{background:linear-gradient(135deg,rgba(110,86,207,.08) 0,var(--glass-surface) 100%)}.acc-row{display:flex;align-items:center;gap:10px}.acc-logo{width:36px;height:36px;border-radius:50%;background:var(--glass-surface);object-fit:contain;flex-shrink:0}.acc-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.acc-header{display:flex;align-items:center;gap:8px}.acc-symbol{font-size:14px;font-weight:700;color:var(--text-primary)}.acc-tag{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:600;padding:2px 5px;border-radius:4px}.acc-signal-row{gap:4px;font-size:11px;font-weight:500}.acc-signal-row,.zone-mini{display:flex;align-items:center}.zone-mini{justify-content:center;width:16px;height:16px;border-radius:3px;background:rgba(255,255,255,.05);margin-left:4px}.zone-mini.discount{color:var(--accent-success)}.zone-mini.premium{color:var(--accent-danger)}.acc-data{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.acc-score{font-size:13px;font-weight:700}.acc-price,.acc-score{font-family:var(--font-mono)}.acc-price{font-size:12px;font-weight:600;color:var(--text-primary)}.acc-change{font-size:10px;font-family:var(--font-mono);color:var(--text-tertiary)}.acc-change.up{color:var(--accent-success)}.acc-change.down{color:var(--accent-danger)}@media (min-width:768px){.acc-score{font-size:16px}.acc-price{font-size:14px}.acc-change{font-size:12px}.acc-symbol{font-size:15px}.acc-tag{font-size:10px;padding:3px 6px}.acc-signal-row{font-size:12px}.acc-logo{width:40px;height:40px}.alert-card-compact{padding:12px 14px}}.acc-arrow{color:var(--text-tertiary);opacity:.4;transition:all .2s ease;flex-shrink:0}.alert-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.alert-modal{background:var(--bg-main);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:80vh;overflow-y:auto;animation:modalSlideUp .2s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--glass-border);position:-webkit-sticky;position:sticky;top:0;background:var(--bg-main)}.alert-modal-title{display:flex;align-items:center;gap:12px}.alert-modal-logo{width:40px;height:40px;border-radius:50%;background:var(--glass-surface)}.alert-modal-symbol{font-size:18px;font-weight:700;color:var(--text-primary)}.alert-modal-price{font-size:14px;font-family:var(--font-mono);color:var(--text-secondary);display:flex;align-items:center;gap:6px}.alert-modal-price .up{color:var(--accent-success)}.alert-modal-price .down{color:var(--accent-danger)}.alert-modal-close{width:32px;height:32px;border-radius:50%;background:var(--glass-surface);border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.alert-modal-close:hover{background:var(--glass-highlight);color:var(--text-primary)}.position-score-compact{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(0,0,0,.2);border-left:3px solid var(--text-tertiary)}.position-score-compact.buy,.position-score-compact.strong-buy{border-left-color:var(--accent-success);background:rgba(39,215,150,.08)}.position-score-compact.sell,.position-score-compact.strong-sell{border-left-color:var(--accent-danger);background:rgba(255,79,94,.08)}.psc-action{font-size:14px;font-weight:600;color:var(--text-primary)}.position-score-compact.buy .psc-action,.position-score-compact.strong-buy .psc-action{color:var(--accent-success)}.position-score-compact.sell .psc-action,.position-score-compact.strong-sell .psc-action{color:var(--accent-danger)}.psc-summary{font-size:12px;color:var(--text-secondary);margin-top:2px}.psc-score{font-size:24px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.psc-score span{font-size:12px;color:var(--text-tertiary)}.alert-modal-section{padding:12px 16px}.alert-modal-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px}.signal-list-compact{display:flex;flex-direction:column;gap:6px}.signal-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm)}.signal-icon{font-size:14px}.signal-name{flex:1 1;font-size:13px;color:var(--text-primary)}.signal-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px}.signal-badge.buy{background:rgba(39,215,150,.15);color:var(--accent-success)}.signal-badge.sell{background:rgba(255,79,94,.15);color:var(--accent-danger)}.alert-modal-indicators{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:0 16px 12px}.ind-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary)}.ind-item span:last-child{font-weight:600;font-family:var(--font-mono);color:var(--text-primary);font-size:13px}.ind-item .bullish{color:var(--accent-success)}.ind-item .bearish{color:var(--accent-danger)}.ind-item .oversold{color:var(--accent-success)!important}.ind-item .overbought{color:var(--accent-danger)!important}.ind-item .high{color:var(--accent-warning)!important}.alert-modal-reasons{padding:0 16px 12px;display:flex;flex-direction:column;gap:4px}.reason-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.reason-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary)}.reason-row.buy .reason-dot{background:var(--accent-success)}.reason-row.sell .reason-dot{background:var(--accent-danger)}.alert-modal-warning{display:flex;align-items:center;gap:8px;margin:0 16px 16px;padding:10px 12px;background:rgba(255,178,36,.1);border:1px solid rgba(255,178,36,.3);border-radius:var(--radius-sm);color:var(--accent-warning);font-size:12px}.quick-signal-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-4);padding:12px 16px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.quick-signal-banner.muted{opacity:.7;justify-content:center}.quick-signal-banner.muted svg{color:var(--text-tertiary)}.quick-signal-banner.has-entry{border-color:var(--accent-success);background:linear-gradient(135deg,rgba(39,215,150,.08),var(--glass-surface))}.qsb-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qsb-main .entry-icon{color:var(--accent-success);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.qsb-text{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.qsb-counts{display:flex;gap:8px}.qsb-count{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:4px 8px;border-radius:100px}.qsb-count.buy{background:rgba(39,215,150,.15);color:var(--accent-success)}.qsb-count.sell{background:rgba(255,79,94,.15);color:var(--accent-danger)}.qsb-preview{display:flex;gap:8px;flex-wrap:wrap}.qsb-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:100px;font-size:var(--text-sm);font-weight:var(--font-semibold);background:rgba(255,255,255,.05);border:1px solid var(--glass-border)}.qsb-chip.buy{border-color:rgba(39,215,150,.4);color:var(--accent-success)}.qsb-chip.sell{border-color:rgba(255,79,94,.4);color:var(--accent-danger)}.qsb-chip.hold{color:var(--text-secondary)}.qsb-confidence{font-family:var(--font-mono);font-size:11px;opacity:.8}.wl-signal-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:100px;font-size:10px;font-weight:var(--font-bold);text-transform:uppercase}.wl-signal-badge.buy{background:rgba(39,215,150,.2);color:var(--accent-success)}.wl-signal-badge.sell{background:rgba(255,79,94,.2);color:var(--accent-danger)}.wl-signal-badge.hold{background:rgba(107,114,128,.2);color:var(--text-secondary)}@media (max-width:600px){.quick-signal-banner{flex-direction:column;align-items:flex-start;padding:14px}.qsb-preview{width:100%;padding-top:8px;border-top:1px solid var(--glass-border)}}.ios-pwa-guide{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 14px;background:linear-gradient(135deg,rgba(110,86,207,.15),rgba(0,144,255,.1));border:1px solid rgba(110,86,207,.3);border-radius:var(--radius-md)}.ios-pwa-guide svg{color:var(--accent-primary);flex-shrink:0;margin-top:2px}.ios-pwa-guide strong{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:4px}.ios-pwa-guide p{margin:0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.trend-prediction-card{background:var(--glass-surface)}.tp-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--glass-border)}.tp-score{text-align:center;padding:var(--space-3);background:rgba(0,0,0,.2);border-radius:var(--radius-md);min-width:60px}.tp-score-number{font-family:var(--font-mono);font-size:28px;font-weight:var(--font-bold);color:var(--score-color,var(--text-primary));line-height:1}.tp-score-label{font-size:var(--text-xs);color:var(--text-secondary);margin-top:4px}.tp-verdict{display:flex;align-items:center;gap:8px;font-size:var(--text-base)}.tp-counts{display:flex;gap:var(--space-3);margin-left:auto;flex-wrap:wrap}.tp-count{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);padding:4px 10px;border-radius:100px;background:rgba(255,255,255,.05)}.tp-count.bullish{color:var(--accent-success)}.tp-count.bearish{color:var(--accent-danger)}.tp-count.neutral{color:var(--text-secondary)}.tp-warnings{background:linear-gradient(135deg,rgba(255,79,94,.1),rgba(255,178,36,.05));border:1px solid rgba(255,79,94,.2);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4)}.tp-warning-title{align-items:center;gap:6px;font-weight:var(--font-semibold);color:var(--accent-danger);margin-bottom:8px}.tp-warning-item,.tp-warning-title{display:flex;font-size:var(--text-sm)}.tp-warning-item{gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.tp-warning-item:last-child{border-bottom:none}.tp-warning-symbol{font-weight:var(--font-bold);color:var(--text-primary);min-width:50px}.tp-warning-msg{color:var(--text-secondary);flex:1 1}.tp-bearish-section{margin-top:var(--space-3)}.tp-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:8px}.tp-stock-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);margin-bottom:6px}.tp-stock-item.bearish{border-left:3px solid var(--accent-danger)}.tp-stock-item.bullish{border-left:3px solid var(--accent-success)}.tp-stock-symbol{font-weight:var(--font-bold);font-size:var(--text-base)}.tp-stock-prediction{font-size:var(--text-sm);color:var(--text-secondary)}.tp-stock-score{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-tertiary)}.tp-expanded{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--glass-border)}.tp-detail-item{padding:var(--space-3);background:rgba(0,0,0,.15);border-radius:var(--radius-md);margin-bottom:var(--space-3);border-left:3px solid var(--glass-border)}.tp-detail-item.bullish,.tp-detail-item.strong_bullish{border-left-color:var(--accent-success);background:rgba(39,215,150,.05)}.tp-detail-item.bearish,.tp-detail-item.strong_bearish{border-left-color:var(--accent-danger);background:rgba(255,79,94,.05)}.tp-detail-item.neutral{border-left-color:var(--accent-warning)}.tp-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tp-badge{padding:3px 8px;border-radius:100px;font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase}.tp-badge.bullish,.tp-badge.strong_bullish{background:rgba(39,215,150,.2);color:var(--accent-success)}.tp-badge.bearish,.tp-badge.strong_bearish{background:rgba(255,79,94,.2);color:var(--accent-danger)}.tp-badge.neutral{background:rgba(255,178,36,.2);color:var(--accent-warning)}.tp-detail-outlook{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:8px}.tp-factors{font-size:var(--text-xs)}.tp-factors.bullish{color:var(--accent-success)}.tp-factors.bearish{color:var(--accent-danger)}.tp-factor{padding:2px 0;opacity:.9}@media (max-width:600px){.tp-summary{flex-direction:column;align-items:flex-start}.tp-counts{margin-left:0;width:100%;justify-content:space-between}.tp-verdict{width:100%;justify-content:center;padding:var(--space-2) 0}}.wl-trend-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:var(--font-bold);border:1px solid;background:rgba(0,0,0,.2);margin-left:4px}.wl-warning-dot{margin-left:4px;font-size:10px;animation:pulse-warning 1.5s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.5}}.watchlist-row-v2.has-warning{border-left:2px solid var(--accent-danger);background:linear-gradient(90deg,rgba(255,79,94,.05),transparent)}.quick-signal-banner.has-warning{border-color:rgba(255,178,36,.4);background:linear-gradient(135deg,rgba(255,178,36,.1),rgba(15,20,30,.95))}.qsb-warning-text{color:var(--accent-warning)!important}.warning-icon{color:var(--accent-warning);animation:pulse-warning 1.5s infinite}.qsb-count.warning{color:var(--accent-warning);background:rgba(255,178,36,.1);border:1px solid rgba(255,178,36,.3)}.qsb-trend-summary{display:flex;align-items:center;gap:6px;padding-left:12px;border-left:1px solid var(--glass-border);margin-left:8px}.qsb-trend-label{font-size:var(--text-xs);color:var(--text-tertiary)}.qsb-trend{font-size:var(--text-sm);font-weight:var(--font-semibold)}.qsb-trend.bullish{color:var(--accent-success)}.qsb-trend.bearish{color:var(--accent-danger)}.signal-warning-alert{display:flex;align-items:flex-start;gap:12px;padding:12px;background:linear-gradient(135deg,rgba(255,79,94,.1),rgba(255,178,36,.05));border:1px solid rgba(255,79,94,.3);border-radius:var(--radius-md);margin-bottom:8px}.signal-warning-icon{font-size:18px;flex-shrink:0}.signal-warning-text{flex:1 1}.signal-warning-symbol{font-weight:var(--font-bold);color:var(--text-primary);margin-right:6px}.signal-warning-message{font-size:var(--text-sm);color:var(--text-secondary)}.signal-warning-badge{padding:4px 8px;border-radius:4px;font-size:var(--text-xs);font-weight:var(--font-bold);background:rgba(255,79,94,.2);color:var(--accent-danger)}@media (max-width:600px){.qsb-trend-summary{display:none}}.settings-card-header{border-bottom:none!important;margin-bottom:var(--space-4)!important;padding-bottom:0!important}