/* ═══════════════════════════════════════════════════
   TradingStar.io — Design System v2
   Premium fintech 2026: glassmorphism, glow, depth
   ═══════════════════════════════════════════════════ */

@keyframes ts-glow-pulse { 0%,100%{opacity:0.4;} 50%{opacity:0.7;} }
@keyframes ts-gradient-shift { 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }
@keyframes ts-spin { to{transform:rotate(360deg);} }
@keyframes ts-fade-in { from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:translateY(0);} }

:root {
    --ts-bg:#08060F;
    --ts-bg-card:rgba(18,14,35,0.75);
    --ts-bg-elevated:rgba(30,24,55,0.8);
    --ts-bg-glass:rgba(255,255,255,0.03);
    --ts-border:rgba(124,58,237,0.12);
    --ts-border-hover:rgba(124,58,237,0.3);
    --ts-text:#EEEDF5;
    --ts-text-muted:#9B97B0;
    --ts-text-dim:#5E5A72;
    --ts-purple:#7C3AED;
    --ts-purple-light:#A78BFA;
    --ts-purple-glow:rgba(124,58,237,0.2);
    --ts-gradient:linear-gradient(135deg,#7C3AED,#EC4899,#7C3AED);
    --ts-green:#34D399;
    --ts-green-dim:rgba(52,211,153,0.12);
    --ts-red:#F87171;
    --ts-red-dim:rgba(248,113,113,0.12);
    --ts-amber:#FBBF24;
    --ts-blue:#60A5FA;
    --ts-radius:16px;
    --ts-radius-sm:10px;
    --ts-shadow:0 4px 24px rgba(0,0,0,0.3);
    --ts-shadow-glow:0 0 40px rgba(124,58,237,0.1);
}

*{margin:0;padding:0;box-sizing:border-box;}

body {
    font-family:'Inter',-apple-system,sans-serif;
    background:var(--ts-bg);
    color:var(--ts-text);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    background-image:
        radial-gradient(ellipse 80% 60% at 50% 0%,rgba(124,58,237,0.08) 0%,transparent 60%),
        radial-gradient(ellipse 60% 40% at 80% 100%,rgba(236,72,153,0.05) 0%,transparent 50%);
    background-attachment:fixed;
}

.ts-container{max-width:1100px;margin:0 auto;padding:0 1.5rem;}

/* NAV */
.ts-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(8,6,15,0.7);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid var(--ts-border);padding:0.75rem 0;}
.ts-nav-inner{display:flex;justify-content:space-between;align-items:center;}
.ts-logo{display:flex;align-items:center;gap:0.5rem;}
.ts-logo-icon{font-size:1.5rem;background:var(--ts-gradient);background-size:200% 200%;animation:ts-gradient-shift 4s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.ts-logo-text{font-size:1.25rem;font-weight:700;color:var(--ts-text);letter-spacing:-0.02em;}
.ts-nav-links{display:flex;align-items:center;gap:1.25rem;}
.ts-nav-links a{color:var(--ts-text-muted);text-decoration:none;font-size:0.8125rem;font-weight:500;transition:color 0.2s;}
.ts-nav-links a:hover{color:var(--ts-text);}
.ts-lang-toggle{padding:0.25rem 0.625rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-sm);font-size:0.6875rem!important;font-weight:600!important;letter-spacing:0.05em;}

/* BUTTONS */
.ts-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:0.7rem 1.75rem;background:var(--ts-gradient);background-size:200% 200%;animation:ts-gradient-shift 4s ease infinite;color:white!important;border:none;border-radius:var(--ts-radius-sm);font-weight:600;font-size:0.875rem;text-decoration:none;cursor:pointer;transition:all 0.3s;box-shadow:0 4px 20px rgba(124,58,237,0.25);}
.ts-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(124,58,237,0.4);}
.ts-btn-ghost{display:inline-flex;align-items:center;padding:0.625rem 1.5rem;background:transparent;color:var(--ts-text-muted)!important;border:1px solid var(--ts-border);border-radius:var(--ts-radius-sm);font-weight:600;font-size:0.875rem;text-decoration:none;cursor:pointer;transition:all 0.2s;backdrop-filter:blur(8px);}
.ts-btn-ghost:hover{border-color:var(--ts-border-hover);color:var(--ts-text)!important;}
.ts-btn-lg{padding:0.875rem 2rem;font-size:1rem;}

/* HERO */
.ts-hero{padding:10rem 0 6rem;text-align:center;position:relative;overflow:hidden;}
.ts-hero-glow{position:absolute;top:-300px;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(124,58,237,0.15) 0%,rgba(236,72,153,0.05) 40%,transparent 70%);animation:ts-glow-pulse 6s ease-in-out infinite;pointer-events:none;}
.ts-hero-content{position:relative;z-index:1;}
.ts-hero h1{font-size:3.5rem;font-weight:800;line-height:1.1;letter-spacing:-0.03em;margin-bottom:1.5rem;}
.ts-highlight{background:var(--ts-gradient);background-size:200% 200%;animation:ts-gradient-shift 4s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.ts-hero-sub{font-size:1.25rem;color:var(--ts-text-muted);max-width:550px;margin:0 auto 2.5rem;}
.ts-hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.ts-hero-stats{display:flex;gap:3rem;justify-content:center;margin-top:4rem;flex-wrap:wrap;}
.ts-stat{text-align:center;}
.ts-stat-value{font-size:2rem;font-weight:700;color:var(--ts-purple-light);}
.ts-stat-label{font-size:0.75rem;color:var(--ts-text-dim);text-transform:uppercase;letter-spacing:0.05em;font-weight:600;}

/* FEATURES */
.ts-features{padding:6rem 0;}
.ts-section-title{text-align:center;font-size:2.25rem;font-weight:700;margin-bottom:3rem;letter-spacing:-0.02em;}
.ts-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.ts-feature-card{background:var(--ts-bg-card);backdrop-filter:blur(12px);border:1px solid var(--ts-border);border-radius:var(--ts-radius);padding:2rem;transition:all 0.35s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;}
.ts-feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ts-gradient);background-size:200% 200%;opacity:0;transition:opacity 0.3s;}
.ts-feature-card:hover{border-color:var(--ts-border-hover);transform:translateY(-6px);box-shadow:var(--ts-shadow-glow);}
.ts-feature-card:hover::before{opacity:1;}
.ts-feature-emoji{font-size:2.25rem;margin-bottom:1rem;}
.ts-feature-card h3{font-size:1.125rem;font-weight:600;margin-bottom:0.5rem;}
.ts-feature-card p{color:var(--ts-text-muted);font-size:0.9375rem;line-height:1.6;}

/* FOOTER */
.ts-footer{padding:3rem 0 2rem;border-top:1px solid var(--ts-border);}
.ts-footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;}
.ts-footer-tagline{font-size:0.875rem;color:var(--ts-text-dim);}
.ts-footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;}
.ts-footer-links a{color:var(--ts-text-dim);text-decoration:none;font-size:0.8125rem;transition:color 0.2s;}
.ts-footer-links a:hover{color:var(--ts-text-muted);}
.ts-footer-bottom{text-align:center;font-size:0.75rem;color:var(--ts-text-dim);padding-top:1.5rem;border-top:1px solid var(--ts-border);}

/* DASHBOARD */
.ts-app{display:flex;min-height:100vh;padding-top:56px;}
.ts-sidebar{width:240px;background:rgba(12,9,22,0.6);backdrop-filter:blur(20px);border-right:1px solid var(--ts-border);padding:1.25rem 0.875rem;position:fixed;top:56px;bottom:0;overflow-y:auto;z-index:10;}
.ts-sidebar-btn{display:block;width:100%;text-align:left;padding:0.75rem 1rem;margin-bottom:0.25rem;border:none;border-radius:var(--ts-radius-sm);background:transparent;color:var(--ts-text-muted);font-size:0.875rem;font-weight:500;cursor:pointer;transition:all 0.2s;font-family:inherit;position:relative;}
.ts-sidebar-btn:hover{background:var(--ts-bg-glass);color:var(--ts-text);}
.ts-sidebar-active{background:rgba(124,58,237,0.1)!important;color:var(--ts-purple-light)!important;font-weight:600;}
.ts-sidebar-active::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--ts-gradient);border-radius:0 3px 3px 0;}

.ts-main{margin-left:240px;flex:1;padding:2.5rem;max-width:960px;animation:ts-fade-in 0.3s ease;}
.ts-section h2{font-size:1.5rem;font-weight:700;margin-bottom:0.375rem;letter-spacing:-0.02em;}
.ts-section-desc{color:var(--ts-text-dim);font-size:0.875rem;margin-bottom:2rem;line-height:1.6;}

/* SEARCH */
.ts-search-bar{display:flex;gap:0.625rem;margin-bottom:2rem;align-items:center;}
.ts-input{padding:0.75rem 1rem;background:rgba(255,255,255,0.04);border:1px solid var(--ts-border);border-radius:var(--ts-radius-sm);color:var(--ts-text);font-size:0.9375rem;font-family:inherit;flex:1;transition:all 0.25s;backdrop-filter:blur(8px);}
.ts-input:focus{outline:none;border-color:var(--ts-purple);box-shadow:0 0 0 3px rgba(124,58,237,0.12);background:rgba(255,255,255,0.06);}
.ts-input::placeholder{color:var(--ts-text-dim);}
select.ts-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239B97B0' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:2.5rem;}

/* CARDS */
.ts-card{background:var(--ts-bg-card);backdrop-filter:blur(12px);border:1px solid var(--ts-border);border-radius:var(--ts-radius);padding:1.25rem;transition:border-color 0.3s;}
.ts-card:hover{border-color:var(--ts-border-hover);}
.ts-result-card{background:var(--ts-bg-card);backdrop-filter:blur(16px);border:1px solid var(--ts-border);border-radius:var(--ts-radius);padding:2rem;box-shadow:var(--ts-shadow);animation:ts-fade-in 0.4s ease;}

/* GAUGE */
.ts-score-header{display:flex;align-items:center;gap:1.75rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--ts-border);}
.ts-gauge{width:100px;height:100px;border-radius:50%;border:3px solid rgba(255,255,255,0.06);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;position:relative;box-shadow:0 0 30px var(--gauge-color,var(--ts-purple-glow)),inset 0 0 20px rgba(0,0,0,0.2);}
.ts-gauge::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--gauge-color,var(--ts-purple));clip-path:polygon(0 0,100% 0,100% 75%,0 75%);}
.ts-gauge-value{font-size:2rem;font-weight:800;color:var(--ts-text);line-height:1;}
.ts-gauge-label{font-size:0.65rem;color:var(--ts-text-dim);margin-top:2px;}
.ts-ticker-name{font-size:1.375rem;font-weight:700;color:var(--ts-text);letter-spacing:-0.01em;}
.ts-verdict{font-size:1.0625rem;font-weight:700;margin-top:0.25rem;}
.ts-confidence{font-size:0.8125rem;color:var(--ts-text-dim);margin-top:0.25rem;}

/* INSIGHTS */
.ts-insights{margin-bottom:1.75rem;}
.ts-insight{display:flex;align-items:flex-start;gap:0.75rem;padding:0.625rem 0;font-size:0.9375rem;color:var(--ts-text-muted);border-bottom:1px solid rgba(255,255,255,0.03);}
.ts-insight:last-child{border-bottom:none;}
.ts-insight-icon{font-size:1.125rem;flex-shrink:0;line-height:1.4;}

/* HEADLINE */
.ts-headline{font-size:1.125rem;font-weight:600;color:var(--ts-text);margin-bottom:0.625rem;}
.ts-explanation{color:var(--ts-text-muted);font-size:0.9375rem;line-height:1.7;margin-bottom:1.75rem;}

/* FLAGS */
.ts-flags{margin-bottom:1.75rem;}
.ts-flag{display:flex;align-items:center;gap:0.625rem;padding:0.625rem 0.875rem;margin-bottom:0.375rem;background:rgba(255,255,255,0.02);border-radius:var(--ts-radius-sm);font-size:0.875rem;color:var(--ts-text-muted);transition:background 0.2s;}
.ts-flag:hover{background:rgba(255,255,255,0.04);}
.ts-flag-severity{margin-left:auto;font-weight:600;font-size:0.8125rem;}

/* ACTION BOX */
.ts-action-box{background:rgba(124,58,237,0.06);border:1px solid rgba(124,58,237,0.15);border-radius:var(--ts-radius);padding:1.25rem 1.5rem;margin-bottom:1.25rem;position:relative;overflow:hidden;}
.ts-action-box::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ts-gradient);}
.ts-action-title{font-weight:700;font-size:0.9375rem;margin-bottom:0.5rem;color:var(--ts-purple-light);}
.ts-action-box p,.ts-action-box li{color:var(--ts-text-muted);font-size:0.9375rem;line-height:1.7;}
.ts-action-box ul{margin:0;padding-left:1.25rem;}
.ts-action-box li{margin-bottom:0.375rem;}

/* DISCLAIMER */
.ts-disclaimer{text-align:center;font-size:0.7rem;color:var(--ts-text-dim);padding:3rem 0 1rem;border-top:1px solid var(--ts-border);margin-top:3rem;}
.ts-disclaimer-small{font-size:0.675rem;color:var(--ts-text-dim);margin-top:1.25rem;font-style:italic;opacity:0.7;}

/* LOADING */
.ts-loading{text-align:center;padding:4rem 0;}
.ts-spinner{width:44px;height:44px;border:3px solid rgba(124,58,237,0.15);border-top-color:var(--ts-purple);border-radius:50%;animation:ts-spin 0.8s linear infinite;margin:0 auto 1rem;}
.ts-loading p{color:var(--ts-text-dim);font-size:0.875rem;}

.hidden{display:none!important;}

/* RESPONSIVE */
@media(max-width:768px){
    .ts-hero h1{font-size:2.25rem;}
    .ts-hero-sub{font-size:1rem;}
    .ts-features-grid{grid-template-columns:1fr;}
    .ts-nav-links a:not(.ts-btn-primary):not(.ts-lang-toggle){display:none;}
    .ts-hero-stats{gap:1.5rem;}
    .ts-stat-value{font-size:1.5rem;}
    .ts-sidebar{transform:translateX(-100%);transition:transform 0.3s ease;z-index:50;}
    .ts-sidebar.ts-sidebar-open{transform:translateX(0);}
    .ts-main{margin-left:0;padding:1.25rem;}
    .ts-score-header{flex-direction:column;text-align:center;}
    .ts-gauge{margin:0 auto;}
    .ts-hamburger{display:block!important;}
    .ts-sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:40;}
    .ts-sidebar-overlay.active{display:block;}
}

/* Hamburger menu */
.ts-hamburger{background:none;border:none;color:var(--ts-text);font-size:1.5rem;cursor:pointer;padding:0.25rem 0.5rem;font-family:inherit;}
@media(min-width:769px){.ts-hamburger{display:none!important;}}

/* Ticker Autocomplete */
.ticker-autocomplete-container{position:relative;}
.ticker-suggestions{position:absolute;z-index:1000;width:100%;max-height:350px;overflow-y:auto;background:var(--ts-bg-elevated);border:1px solid var(--ts-border-hover);border-radius:var(--ts-radius-sm);margin-top:0.25rem;box-shadow:0 12px 32px rgba(0,0,0,0.4);backdrop-filter:blur(16px);}
.ticker-suggestion-item{padding:0.75rem 1rem;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.04);transition:background 0.15s;}
.ticker-suggestion-item:last-child{border-bottom:none;}
.ticker-suggestion-item:hover,.ticker-suggestion-item.active{background:rgba(124,58,237,0.12);}
.ticker-suggestion-ticker{font-weight:600;color:var(--ts-purple-light);font-size:0.9375rem;}
.ticker-suggestion-name{color:var(--ts-text-muted);font-size:0.8125rem;margin-left:0.5rem;}
.ticker-suggestion-badge{display:inline-block;padding:0.125rem 0.5rem;background:rgba(255,255,255,0.06);color:var(--ts-text-dim);font-size:0.6875rem;border-radius:4px;font-weight:500;}
.ticker-loading,.ticker-no-results{padding:1rem;text-align:center;color:var(--ts-text-dim);font-size:0.875rem;}

/* Select dark theme */
select.ts-input option{background:var(--ts-bg-elevated);color:var(--ts-text);}
select.ts-input optgroup{background:var(--ts-bg);color:var(--ts-purple-light);font-weight:600;}
