/* ============================================================
   DSE Stock Ticker — Stylesheet
   ============================================================ */

/* ---- Scrolling Ticker ---- */
.dse-ticker-wrap {
    display: flex;
    align-items: center;
    background: #0d1117;
    color: #e6edf3;
    overflow: hidden;
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    height: 38px;
    border-radius: 4px;
    user-select: none;
}

.dse-ticker-label {
    flex-shrink: 0;
    background: #c0392b;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 1.5px;
    padding: 0 14px;
    height: 100%;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    z-index: 1;
}

.dse-ticker-viewport {
    flex: 1;
    overflow: hidden;
    position: relative;
}

/* Fade edges */
.dse-ticker-viewport::before,
.dse-ticker-viewport::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 30px;
    z-index: 1;
    pointer-events: none;
}
.dse-ticker-viewport::before { left: 0;  background: linear-gradient(to right, #0d1117, transparent); }
.dse-ticker-viewport::after  { right: 0; background: linear-gradient(to left,  #0d1117, transparent); }

.dse-ticker-track {
    display: inline-flex;
    animation: dse-scroll linear infinite;
    white-space: nowrap;
}

/* Pause on hover */
.dse-ticker-wrap:hover .dse-ticker-track {
    animation-play-state: paused;
}

@keyframes dse-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.dse-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 18px;
    border-right: 1px solid rgba(255,255,255,0.08);
}

.dse-sym   { color: #e6edf3; font-weight: 700; }
.dse-price { color: #8b949e; }

/* Direction colours */
.dse-up   .dse-arrow,
.dse-up   .dse-pct  { color: #3fb950; }

.dse-down .dse-arrow,
.dse-down .dse-pct  { color: #f85149; }

.dse-flat .dse-arrow,
.dse-flat .dse-pct  { color: #8b949e; }


/* ---- Data Table ---- */
.dse-table-wrap {
    overflow-x: auto;
    margin: 16px 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.dse-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 500px;
}

.dse-table thead th {
    background: #0d1117;
    color: #e6edf3;
    padding: 11px 16px;
    text-align: left;
    font-weight: 600;
    letter-spacing: 0.4px;
    white-space: nowrap;
}

.dse-table tbody td {
    padding: 10px 16px;
    border-bottom: 1px solid #e8e8e8;
    vertical-align: middle;
}

.dse-table tbody tr:last-child td { border-bottom: none; }
.dse-table tbody tr:hover { background: #f6f8fa; }

.dse-up   { color: #1a7f37; font-weight: 600; }
.dse-down { color: #cf222e; font-weight: 600; }
.dse-flat { color: #6e7781; }

.dse-row-up   td:first-child { border-left: 3px solid #3fb950; }
.dse-row-down td:first-child { border-left: 3px solid #f85149; }
.dse-row-flat td:first-child { border-left: 3px solid #8b949e; }

.dse-meta {
    font-size: 11px;
    color: #8b949e;
    text-align: right;
    margin-top: 6px;
}
.dse-meta a { color: #8b949e; }

/* ---- Notice ---- */
.dse-notice {
    background: #fff8c5;
    border: 1px solid #d4a72c;
    color: #633c01;
    padding: 10px 16px;
    border-radius: 4px;
    font-size: 14px;
}
