/* --- Market Maven Live Feed --- */

/* Custom properties (theme tokens) */
:root {
    --mmf-bg:#080c10;
    --mmf-bg-raised:#0e1318;
    --mmf-bg-card:#111820;
    --mmf-border:#1e2830;
    --mmf-border-light:#263040;

    --mmf-text:#c8d6e0;
    --mmf-text-dim:#5a7080;
    --mmf-text-faint:#2e3e4a;

    --mmf-accent:#e8a020; /* gold / amber — headlines */
    --mmf-green:#00cc66;
    --mmf-red:#ff3348;
    --mmf-blue:#3a9fff;
    --mmf-purple:#9b7aff;

    --mmf-label-gr:#3a9fff;
    --mmf-label-intl:#00cc80;

    --mmf-ticker-speed:38px; /* px per second — change to taste */

    --mmf-font:system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --mmf-mono:'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
}

/* Reset / base */
*,
*::before,
*::after {box-sizing:border-box;margin:0;padding:0;}
html,
body {background:var(--mmf-bg);color:var(--mmf-text);font-family:var(--mmf-font);font-size:12px;line-height:1.4;-webkit-font-smoothing:antialiased;}

/* Widget shell */
#mmf-widget {width:300px;height:800px;display:flex;flex-direction:column;overflow:hidden;background:var(--mmf-bg);border:1px solid var(--mmf-border);margin:0 auto;}



/* --- HEADER --- */
#mmf-header {display:flex;align-items:center;gap:10px;padding:8px 10px 7px;background:var(--mmf-bg-raised);border-bottom:1px solid var(--mmf-border);flex-shrink:0;height:52px;}
#mmf-logo-wrap {flex-shrink:0;width:76px;display:flex;align-items:center;}
#mmf-logo {width:76px;height:auto;display:block;}
#mmf-title-wrap {display:flex;flex-direction:column;gap:2px;overflow:hidden;}
#mmf-title {font-size:10.5px;font-weight:700;letter-spacing:0.04em;color:var(--mmf-accent);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#mmf-subtitle {font-size:9px;color:var(--mmf-text-dim);letter-spacing:0.06em;text-transform:uppercase;}



/* --- TICKER ROWS --- */
.mmf-ticker-row {display:flex;align-items:center;height:26px;flex-shrink:0;border-bottom:1px solid var(--mmf-border);overflow:hidden;background:var(--mmf-bg-raised);}
.mmf-ticker-label {flex-shrink:0;width:36px;text-align:center;font-size:8.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:0 2px;border-right:1px solid var(--mmf-border);height:100%;display:flex;align-items:center;justify-content:center;}
.mmf-label-greek {color:var(--mmf-label-gr);}
.mmf-label-intl {color:var(--mmf-label-intl);}
.mmf-ticker-viewport {flex:1;overflow:hidden;height:100%;position:relative;}

/* Fade-out on both edges */
.mmf-ticker-viewport::before,
.mmf-ticker-viewport::after {content:'';position:absolute;top:0;bottom:0;width:18px;z-index:2;pointer-events:none;}
.mmf-ticker-viewport::before {left:0;background:linear-gradient(to right, var(--mmf-bg-raised), transparent);}
.mmf-ticker-viewport::after {right:0;background:linear-gradient(to left, var(--mmf-bg-raised), transparent);}
.mmf-ticker-track {display:inline-flex;white-space:nowrap;height:100%;will-change:transform;} /* Duration & animation set dynamically by JS */
.mmf-ticker-track.is-animating {animation:mmf-scroll linear infinite;}
.mmf-ticker-track.is-paused {animation-play-state:paused;}
@keyframes mmf-scroll {
    from {transform:translateX(0);}
    to {transform:translateX(-50%);} /* track duplicated so 50% = one full copy */
}
.mmf-ticker-item {display:inline-flex;align-items:center;gap:0;color:var(--mmf-text);font-size:11px;padding:0 4px;}
.mmf-ticker-item a {color:inherit;text-decoration:none;}
.mmf-ticker-item a:hover {color:var(--mmf-accent);}
.mmf-ticker-sep {display:inline-flex;align-items:center;color:var(--mmf-text-faint);padding:0 6px;font-size:10px;user-select:none;}
.mmf-ticker-loading {color:var(--mmf-text-dim);font-size:10px;padding-left:8px;font-style:italic;}



/* --- STOCKS SECTION --- */
#mmf-stocks {flex-shrink:0;border-bottom:1px solid var(--mmf-border);background:var(--mmf-bg);}

/* Tab bar */
#mmf-stock-tabs {display:flex;overflow-x:auto;scrollbar-width:none;gap:1px;padding:4px 4px 0;background:var(--mmf-bg-raised);}
#mmf-stock-tabs::-webkit-scrollbar {display:none;}
.mmf-tab {flex-shrink:0;padding:4px 7px;font-size:9.5px;font-family:var(--mmf-mono);font-weight:600;letter-spacing:0.04em;color:var(--mmf-text-dim);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:3px 3px 0 0;cursor:pointer;transition:color 0.15s, background 0.15s, border-color 0.15s;white-space:nowrap;line-height:1.6;}
.mmf-tab:hover {color:var(--mmf-text);background:var(--mmf-bg-card);}
.mmf-tab.is-active {color:var(--mmf-accent);background:var(--mmf-bg);border-color:var(--mmf-border-light);border-bottom-color:var(--mmf-bg);position:relative;z-index:1;}

/* Price info bar */
#mmf-stock-info {display:flex;align-items:baseline;gap:6px;padding:5px 8px 4px;min-height:24px;border-top:1px solid var(--mmf-border);margin-top:-1px;}
#mmf-stock-name {font-family:var(--mmf-mono);font-size:11px;font-weight:700;color:var(--mmf-text);letter-spacing:0.03em;}
#mmf-stock-name a {color:inherit;text-decoration:none;}
#mmf-stock-name a:hover {color:var(--mmf-accent);text-decoration:underline;}
#mmf-stock-exchange {font-family:var(--mmf-mono);font-size:9px;font-weight:600;color:var(--mmf-text-dim);background:rgba(255, 255, 255, 0.06);border:1px solid rgba(255, 255, 255, 0.12);border-radius:3px;padding:1px 4px;letter-spacing:0.05em;text-transform:uppercase;align-self:center;}
#mmf-stock-price {font-family:var(--mmf-mono);font-size:14px;font-weight:700;color:var(--mmf-text);}
#mmf-stock-change {font-family:var(--mmf-mono);font-size:11px;font-weight:600;}
#mmf-stock-change.up {color:var(--mmf-green);}
#mmf-stock-change.down {color:var(--mmf-red);}
#mmf-stock-change.flat {color:var(--mmf-text-dim);}

/* Chart */
#mmf-chart-wrap {padding:0 4px;background:var(--mmf-bg);}
#mmf-chart {display:block;width:100%;}

/* Timestamp */
#mmf-stock-timestamp {padding:4px 8px 5px;font-size:9px;color:var(--mmf-text-dim);font-family:var(--mmf-mono);letter-spacing:0.04em;border-top:1px solid var(--mmf-border);min-height:20px;text-align:center;}



/* --- Vertical Feed SECTION --- */
#mmf-vertical {flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.mmf-section-header {display:flex;align-items:center;gap:5px;padding:5px 8px;font-size:9px;font-weight:700;letter-spacing:0.1em;
color:var(--mmf-text-dim);background:var(--mmf-bg-raised);border-bottom:1px solid var(--mmf-border);flex-shrink:0;}
.mmf-dot-live {color:var(--mmf-red);font-size:8px;animation:mmf-blink 1.8s ease-in-out infinite;}
@keyframes mmf-blink {
    0%,
    100% {opacity:1;}
    50% {opacity:0.2;}
}
#mmf-vertical-feed {flex:1;overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:var(--mmf-border) transparent;}
#mmf-vertical-feed::-webkit-scrollbar {width:4px;}
#mmf-vertical-feed::-webkit-scrollbar-track {background:transparent;}
#mmf-vertical-feed::-webkit-scrollbar-thumb {background:var(--mmf-border);border-radius:2px;}
.mmf-feed-loading {padding:12px 8px;color:var(--mmf-text-dim);font-style:italic;font-size:11px;}

/* Vertical feed items */
.mmf-news-item {display:block;padding:7px 8px 8px;border-bottom:1px solid var(--mmf-border);text-decoration:none;color:inherit;transition:background 0.12s;}
.mmf-news-item:hover {background:var(--mmf-bg-card);}
.mmf-news-meta {display:flex;align-items:center;gap:5px;margin-bottom:3px;}
.mmf-news-date {font-size:10px;font-family:var(--mmf-mono);color:var(--mmf-text-dim);}
.mmf-news-source {font-size:9px;font-family:var(--mmf-mono);font-weight:600;color:var(--mmf-text-dim);background:rgba(255, 255, 255, 0.06);border:1px solid rgba(255, 255, 255, 0.10);border-radius:3px;padding:1px 4px;letter-spacing:0.04em;white-space:nowrap;}
.mmf-news-title {font-size:13px;font-weight:600;color:var(--mmf-text);line-height:1.35;margin-bottom:3px;/*display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;*/}
.mmf-news-item:hover .mmf-news-title {color:var(--mmf-accent);}
.mmf-news-desc {font-size:10px;color:var(--mmf-text-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;display:none;}
.mmf-news-readmore {margin-top:3px;font-size:9px;color:var(--mmf-blue);letter-spacing:0.04em;display:none;/*inline-block*/}



/* --- ERROR / EMPTY STATES --- */
.mmf-error {padding:8px;font-size:10px;color:var(--mmf-red);font-style:italic;}
.mmf-no-data {padding:8px;font-size:10px;color:var(--mmf-text-dim);font-style:italic;}



/* --- UTILITIES --- */
.mmf-sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;}
