:root {
  --hue-rotate: 0deg;
  --pos-offset: 0;
  --move-1: linear-gradient(45deg, #6bffff, #cd4e57 25%, #d15f45 50%, #703dc9 75%, #6bffff);
  --move-2: linear-gradient(135deg, #8cffe6, #ff8585 30%, #ffa98c 60%, #a57cff 90%);
  --move-3: linear-gradient(225deg, #6bffff, #cd4e57 25%, #d15f45 50%, #703dc9 75%);
}

/* 🔴 ANIMATIONS */
@keyframes flashRed {
    0% { background-color: #8b0000; }
    50% { background-color: #ff0000; }
    100% { background-color: #8b0000; }
}

@keyframes scrollLeft {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}

@keyframes glow {
    0% { box-shadow: 0 0 5px red; }
    50% { box-shadow: 0 0 15px red; }
    100% { box-shadow: 0 0 5px red; }
}

@keyframes pulseBlue {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes glowBorder {
    0%   { box-shadow: 0 0 2px gold; }
    50%  { box-shadow: 0 0 16px gold; }
    100% { box-shadow: 0 0 2px gold; }
}

/* 🔵 BASE */
html, body {
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: #000;
}

.wrapper {
  width: 1280px;
  height: 720px;
  transform: scale(calc(min(100vw / 1280, 100vh / 720)));
  transform-origin: top left;
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
}
body::-webkit-scrollbar {
  display: none;
}

/* 🔶 TOP FLASH STRIP */
.flash-strip {
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    height: 45px;
    background: linear-gradient(90deg, #001f4d, #003366, #004080, #003366, #001f4d);
    background-size: 400% 400%;
    animation: pulseBlue 6s ease infinite;
    display: flex;
    align-items: center;
    padding: 0 15px;
    box-sizing: border-box;
    border-top: 2px solid gold;
    border-bottom: 2px solid gold;
    z-index: 20;
}

.flash-label {
    background-color: #ffcc00;
    color: #b30000;
    font-weight: bold;
    font-size: 18px;
    padding: 6px 18px;
    border-radius: 4px;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
}
/* Shimmer line animation */
.flash-label::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.5) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    animation: shimmer 2.5s infinite;
}
/* 🔁 Flash Rotator */
.flash-rotator {
    flex: 1;
    margin-left: 15px;
    height: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
}

.flash-item {
    position: absolute;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    font-size: 20px;
    font-weight: bold;
    color: gold;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.flash-item.active {
    opacity: 1;
}

/* ✅ LOGO (91x91 around 90x90) */
.logo-wrapper {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
}

.logo-border {
    width: 90px;
    height: 90px;
    border-radius: 10px;
    animation: glowBorder 1.5s infinite;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
}

.logo-border img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 10px;
}

/* 🟡 BOTTOM SCROLLER */
.bottom-strip-container {
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 10;
}

.bottom-strip-1 {
    position: relative;
    height: 25px;
    width: 100%;
    background-color: #0a1b3c;
    border-top: 2px solid gold;
    border-bottom: 2px solid gold;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.breaking-label {
    position: absolute;
    left: 10px;
    background-color: red;
    color: gold;
    font-size: 20px;
    font-weight: bold;
    padding: 0 10px;
    border-radius: 3px;
    animation: flashRed 1s infinite;
    display: flex;
    align-items: center;
    height: 100%;
    z-index: 2;
}

.news-scroll {
    margin-left: 180px;
    height: 100%;
    width: calc(100% - 180px);
    overflow: hidden;
    display: flex;
    align-items: center;
}

.bottom-scrolling-track {
    display: inline-block;
    white-space: nowrap;
    animation: scrollLeft 150s linear infinite;
}

.bottom-scrolling-track span {
    color: gold;
    font-size: 16px;
    padding-right: 100px;
    word-spacing: 10px;
}

/* Extra Bottom Line */
.gap {
    height: 2px;
}

.bottom-strip-2 {
    height: 25px;
    width: 100%;
    background-color: #0a1b3c;
}



@keyframes gradientFlowFast {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.right-panel-tv {
    position: absolute;
    top: 75px;
    bottom: 80px;
    right: 25px;
    width: 350px;
    background: linear-gradient(-45deg, red, blue, green, orange);
    background-size: 500% 500%;
    animation: gradientFlowFast 6s ease-in-out infinite;
    border-left: 2px solid gold;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
    z-index: 5;
}

.buzzing-heading {
    background-color: #06402B; /* Very dark green */
    color: white;
    font-weight: 700;
    font-size: 28px;
    text-align: center;
    padding: 12px 0;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-top: 2px solid #ffffff22;
    border-bottom: 2px solid #ffffff22;
    box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.2);
}
.stock-strip-container {
    background-color: #8B0000; /* dark red */
    overflow: hidden;
    height: 40px;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 10px;
}

.ticker-track {
    display: flex;
    gap: 50px;
    white-space: nowrap;
    animation: scrollStocks 40s linear infinite;
}

.ticker-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: bold;
    color: white;
}

.stock-name {
    text-transform: uppercase;
}

.stock-arrow.arrow-up {
    color: #00ff00;
}

.stock-arrow.arrow-down {
    color: #ff0000;
}

@keyframes scrollStocks {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}



.flash-panel-badge {
    background-color: #111;
    color: #ffd700;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    padding: 10px 8px;
    border-radius: 6px;
    border: 2px solid #ffd700;
    margin: 10px;
    box-shadow: 0 0 8px gold;
    animation: glowBadge 1.8s ease-in-out infinite alternate;
}

@keyframes scrollLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

@keyframes glowBadge {
    from { box-shadow: 0 0 4px gold; }
    to { box-shadow: 0 0 12px gold; }
}
.time-panel {
    background: linear-gradient(to right, #ffffff, #f2f2f2);
    color: #111;
    font-family: 'Segoe UI', sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    padding: 10px 16px;
    margin: 15px auto;
    width: 85%;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    border: 2px solid #ffc107;
    letter-spacing: 1px;
}
.stock-bull-image {
    display: flex;
    justify-content: center;
    margin: 1px auto 0;
    padding: 0 10px;
}

.stock-bull-image img {
    max-width: 99%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    transition: transform 0.3s ease-in-out;
}

.stock-bull-image img:hover {
    transform: scale(1.03);
}
.left-panel-tv {
    position: absolute;
    top: 75px;
    bottom: 80px;
    left: 25px; /* ✅ This places it on the LEFT */
    width: 350px;
    background: linear-gradient(
        to bottom,
        #001f4d 10%,
        #003366 20%,
        #ffd700 40%,
        #e74c3c 60%,
        #f39c12 80%,
        #001f4d 100%
    );
    border-right: 2px solid gold;
    box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.1);
    z-index: 5;
    border-radius: 6px;
    overflow: hidden;
}
.buy-stock-strip {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    padding: 10px 15px;
    background-color: #0a1b3c;
    border-top: 2px solid gold;
    border-bottom: 2px solid gold;
}

.buy-stock-box {
    background: linear-gradient(to right, #003366, #001f4d);
    border: 1px solid gold;
    border-radius: 6px;
    color: gold;
    padding: 8px 15px;
    margin-right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 0 8px rgba(255,255,255,0.1);
    min-width: 180px;
}

.stock-info {
    flex-grow: 1;
}

.stock-name {
    font-weight: bold;
    font-size: 16px;
    margin-right: 5px;
}

.stock-arrow.arrow-up {
    color: #00ff00;
}

.stock-arrow.arrow-down {
    color: #ff0000;
}

.stock-change {
    font-size: 14px;
    margin-left: 4px;
}

.buy-button {
    background-color: gold;
    color: #000;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
}

.buy-button:hover {
    background-color: #ffd700;
}
@keyframes greenPulse {
    0%   { background-color: #006400; }
    50%  { background-color: #00c853; }
    100% { background-color: #006400; }
}

.buy-stock-strip-container {
    position: absolute;
    bottom: 85px; /* Right above bottom strip with 5px gap */
    left: 5px;
    right: 390px; /* right panel width + spacing */
    height: 45px;
    background-color: #ffeb3b;
    border: 2px solid #c8a600;
    display: flex;
    align-items: center;
    overflow-x: auto;
    padding: 0 10px;
    z-index: 10;
    border-radius: 6px;
    gap: 10px;
}

.buy-main-button {
    background-color: #004d00;
    color: #fff;
    border: none;
    font-weight: bold;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

.buy-stock-strip-content {
    display: flex;
    gap: 10px;
    align-items: center;
}

.buy-stock-box {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #ffd600;
    padding: 5px 10px;
    border-radius: 4px;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
}

.buy-stock-box .stock-name {
    font-weight: bold;
    margin-right: 6px;
    color: #000;
}

.buy-stock-box .stock-arrow.arrow-up {
    color: green;
}

.buy-stock-box .stock-arrow.arrow-down {
    color: red;
}

.buy-stock-box .stock-change {
    margin-left: 4px;
    font-weight: bold;
    color: #333;
}

.buy-glow-button {
    margin-left: 10px;
    padding: 3px 8px;
    border: none;
    border-radius: 4px;
    color: #fff;
    font-weight: bold;
    animation: greenPulse 1.4s infinite;
    cursor: pointer;
}
@keyframes orangeBlink {
    0%   { background-color: #ff9800; }
    50%  { background-color: #ffc107; }
    100% { background-color: #ff9800; }
}

.sell-stock-strip-container {
    position: absolute;
    bottom: 130px; /* Adjust as needed to sit above breaking news */
    left: 5px;
    right: 390px;
    height: 45px;
    background-color: #ff1744;
    border: 2px solid #b71c1c;
    display: flex;
    align-items: center;
    overflow-x: auto;
    padding: 0 10px;
    z-index: 10;
    border-radius: 6px;
    gap: 10px;
}

.sell-main-button {
    background-color: #0d47a1; /* Dark Blue */
    color: #fff;
    border: none;
    font-weight: bold;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    height: 32px;
    line-height: 16px;
}

.sell-stock-strip-content {
    display: flex;
    gap: 10px;
    align-items: center;
}

.sell-stock-box {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #f8bbd0;
    padding: 5px 10px;
    border-radius: 4px;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
}

.sell-stock-box .stock-name {
    font-weight: bold;
    margin-right: 6px;
    color: #000;
}

.sell-stock-box .stock-arrow.arrow-up {
    color: green;
}

.sell-stock-box .stock-arrow.arrow-down {
    color: red;
}

.sell-stock-box .stock-change {
    margin-left: 4px;
    font-weight: bold;
    color: #333;
}

.sell-glow-button {
    margin-left: 10px;
    padding: 3px 8px;
    border: none;
    border-radius: 4px;
    color: #fff;
    font-weight: bold;
    animation: orangeBlink 1.3s infinite;
    cursor: pointer;
    font-size: 13px;
    height: 30px;
}

.flash-news-slider {
    position: absolute;
    bottom: 180px;
    left: 5px;
    right: 390px;
    height: 150px;
    background: linear-gradient(45deg, #ff6f61, #ffe082, #ff6f61);
    background-size: 200% 200%;
    animation: flashBG 4s linear infinite;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 12px rgba(0,0,0,0.3);
    padding: 8px;
    margin-bottom: 4px; /* ✅ Add this line */
}

@keyframes flashBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.flash-news-heading {
    font-weight: bold;
    font-size: 18px;
    color: #fff;
    text-align: left;
    padding: 5px 10px;
    background: #b71c1c;
    width: fit-content;
    border-radius: 4px;
    margin-bottom: 6px;
    animation: flashBlink 1s infinite alternate;
}

@keyframes flashBlink {
    from { opacity: 1; }
    to { opacity: 0.5; }
}

.flash-slide-container {
    position: relative;
    height: 100%;
}

.flash-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    opacity: 0;
    transition: opacity 1s ease;
}

.flash-slide.active {
    opacity: 1;
    z-index: 2;
}

.flash-image {
    flex: 0 0 30%;
    height: 100%;
    padding-right: 10px;
}

.flash-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.flash-text {
    flex: 1;
    font-size: 16px;
    color: #222;
    background-color: #fff6e0;
    padding: 10px;
    border-radius: 6px;
    overflow: auto;
}
/* Base Strip Container */
.strip-container {
    position: absolute;
    left: 5px;
    right: 385px; /* Right Panel = 350px + 35px gap */
    border-radius: 6px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    overflow: hidden;
    font-family: Arial, sans-serif;
}

/* SELL STRIP (Bottom-most) */
.sell-strip {
    top: calc(100vh - 85px);
    height: 40px;
    background-color: #0B2545; /* Dark Blue */
    z-index: 8;
}

.sell-strip .sell-stock-box {
    background-color: red;
    color: white;
    font-weight: bold;
    padding: 6px 12px;
    border-radius: 6px;
    animation: blinkRed 1s linear infinite;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sell-strip .sell-stock-box .sell-button {
    background-color: darkblue;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
}

/* FLASH NEWS STRIP (Middle) */
.flash-news-strip {
    top: calc(100vh - 129px); /* 85 + 40 + 4px gap */
    height: 60px;
    background: linear-gradient(to right, #1a1a1a, #660000);
    color: gold;
    font-weight: bold;
    z-index: 9;
    animation: blinkFlash 2s infinite;
}

.flash-news-strip .flash-icon {
    font-size: 22px;
}

.flash-news-strip .flash-text {
    font-size: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* EXPERT STRIP (Top-most) */
.expert-strip {
    margin: 5px;
    width: calc(96.5% - 370px); /* ⬅️ reduced width by 3px */
    background-color: #014421;
    padding: 8px 15px;
    border-radius: 10px; /* ⬅️ rounded corners */
    animation: expertFlash 3s linear infinite;
    position: relative;
    top: 305px;
    z-index: 1;
}

.expert-bar {
    position: relative;
    height: 40px; /* or try 35px or 30px */
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 12px;
}

.expert-item {
    display: flex;
    align-items: center; /* ⬅️ align all elements in one line */
    gap: 12px;
}

.expert-main-button {
    background: red;
    color: white;
    border: none;
    padding: 6px 16px;
    font-weight: bold;
    border-radius: 5px;
    font-size: 15px;
    line-height: 1;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.expert-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid gold;
    box-shadow: 0 0 6px rgba(255,255,255,0.3);
}

.expert-text {
    color: white;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal; /* ✅ allow line break */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* ✅ show max 2 lines */
    -webkit-box-orient: vertical;
}



/* Background blinking */
@keyframes expertFlash {
    0%   { background-color: #014421; }
    50%  { background-color: #026f3a; }
    100% { background-color: #014421; }
}
.expert-main-button {
    background-color: red;
    color: white;
    border: none;
    padding: 8px 18px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 15px;
    cursor: default;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
    animation: expertGlow 1.5s infinite alternate;
}
@keyframes expertGlow {
    0%   { background-color: #cc0000; box-shadow: 0 0 8px rgba(255,0,0,0.4); }
    100% { background-color: red;      box-shadow: 0 0 15px rgba(255,0,0,0.9); }
}

.flash-slide-container {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.flash-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    opacity: 0;
    transition: opacity 0.6s ease;
    z-index: 1;
}

.flash-slide.active {
    opacity: 1;
    z-index: 2;
}
.expert-bar {
    position: relative;
    height: 50px;
    overflow: hidden;
}

.expert-slide {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 15px;
    opacity: 0;
    transition: opacity 0.5s ease;
    width: 100%;
}

.expert-slide.active {
    opacity: 1;
    z-index: 2;
}
.video-text-strip {
    position: absolute;
    top: 80px; /* Adjust as needed */
    left: 5px;
    right: 390px;
    height: 220px;
    display: flex;
    border-radius: 8px;
    overflow: hidden;
    z-index: 8;
    background-color: yellow; /* 🔶 Set to yellow */
    border: 2px solid gold;
}


.video-box {
    flex: 0 0 23.5%;/* Fixed video width */
    height: 100%;
    background: black;
}

.video-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.scrolling-text1 {
    flex: 1;
    background: #03227b;
    display: flex;
    align-items: flex-start;    /* start at top instead of centered */
    justify-content: center;     /* center horizontally if you like */
    padding: 10px;               /* some breathing room */
    overflow: hidden;
    position: relative;
    font-size: 18px;
    font-weight: bold;
    color: white;
    white-space: normal;         /* allow wrapping */
    word-wrap: break-word;       /* break long words */
    line-height: 1.4;            /* nice paragraph spacing */
    text-align: left;            /* paragraph alignment */
    max-height: 100%;            /* fit container */
}

@keyframes scroll-left {
    0%   { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}


@keyframes flow {
  0% {
    background-position: calc(100% * var(--pos-offset)) calc(50% * var(--pos-offset)),
                         calc(50% * var(--pos-offset)) calc(100% * var(--pos-offset)),
                         0% 100%;
  }
  33% {
    background-position: 100% 50%, 50% 100%, 100% 0%;
  }
  66% {
    background-position: 50% 100%, 100% 50%, 0% 0%;
  }
  100% {
    background-position: calc(100% * var(--pos-offset)) calc(50% * var(--pos-offset)),
                         calc(50% * var(--pos-offset)) calc(100% * var(--pos-offset)),
                         100% 100%;
  }
}

@keyframes hueShift {
  0% {
    filter: hue-rotate(var(--hue-rotate));
  }
  100% {
    filter: hue-rotate(calc(360deg + var(--hue-rotate)));
  }
}

@keyframes jitter {
  0% {
    background-size: 400% 400%, 380% 420%, 420% 380%;
  }
  100% {
    background-size: 420% 380%, 400% 400%, 380% 420%;
  }
}
.animated-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
  background: var(--move-1), var(--move-2), var(--move-3);
  background-blend-mode: multiply;
  background-size: 400% 400%;
  animation: flow 55s cubic-bezier(0.4, 0.2, 0.3, 1) infinite,
             jitter 15s -7.5s ease-in-out infinite alternate,
             hueShift 120s linear infinite;
}
