/* streambanana-ticker.css — dark theme + overlay safe */

/* Tokens */
:root{
  --sb-accent:#ffd600;
  --sb-accent-foreground:#000;
  --sb-bg:#0f1720;
  --sb-panel:rgba(255,255,255,.05);
  --sb-text:#e6eef8;
  --sb-muted:#9fb0cd;
  --sb-border:rgba(255,255,255,.12);

  --sb-ticker-font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  --sb-ticker-font-size:24px;
  --sb-ticker-color:#fff;

  --sb-radius:12px;
  --sb-gap:12px;
}

/* Global */
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--sb-bg);color:var(--sb-text);font-family:var(--sb-ticker-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.wrap{max-width:980px;margin:0 auto;padding:24px}

/* Cards */
.card{background:var(--sb-panel);border-radius:var(--sb-radius);padding:16px;margin-bottom:16px}
h1{margin:0 0 8px;font-size:20px}
p.lead{margin:0 0 16px;color:var(--sb-muted)}
h2{margin:0 0 12px;font-size:16px}

/* Form controls — DARK */
label{display:block;font-size:13px;color:var(--sb-muted);margin-bottom:6px}
textarea,input[type=text],input[type=color],select{
  width:100%;
  color:var(--sb-text);
  background:rgba(255,255,255,.06);
  border:1px solid var(--sb-border);
  border-radius:10px;
  padding:10px;
  -webkit-appearance:none; appearance:none;
}
textarea{min-height:120px;resize:vertical}
input[type=color]{padding:0;height:38px;border-radius:8px}
input[type=range]{width:100%}
select{
  background-image: linear-gradient(45deg,transparent 50%,var(--sb-text) 50%),linear-gradient(135deg,var(--sb-text) 50%,transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 4px), calc(100% - 12px) calc(50% - 4px);
  background-size: 6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:28px;
}
/* file input button */
input[type=file]::file-selector-button{
  background:var(--sb-accent);
  color:var(--sb-accent-foreground);
  border:0;border-radius:8px;
  padding:6px 10px;margin-right:10px;cursor:pointer
}

/* Layout helpers */
.row{display:flex;gap:var(--sb-gap);align-items:center;flex-wrap:wrap}
.col{flex:1 1 220px}
.controls{display:flex;gap:10px;flex-wrap:wrap}
.small{font-size:12px;color:var(--sb-muted)}
.output{display:flex;gap:8px;align-items:center}
.output-field{flex:1;padding:10px;border-radius:10px;border:1px solid var(--sb-border);background:rgba(255,255,255,.06);color:var(--sb-text)}
button{background:var(--sb-accent);color:var(--sb-accent-foreground);border:0;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600}
button.secondary{background:transparent;border:1px solid var(--sb-border);color:var(--sb-text)}

/* Ticker / Preview shared */
.ticker-stage{position:relative;width:100%;height:100%;background:transparent;overflow:hidden;display:flex}
.pin-top{align-items:flex-start}.pin-center{align-items:center}.pin-bottom{align-items:flex-end}
.bar{width:100%;height:var(--bar-height,60px);display:flex;align-items:center;overflow:hidden;background:transparent;padding:0 var(--bar-pad-x,16px);box-sizing:border-box}
.ticker{display:flex;align-items:center;white-space:nowrap;font-family:var(--sb-ticker-font-family);font-size:var(--sb-ticker-font-size);color:var(--sb-ticker-color);will-change:transform}
.copy{display:inline-flex;align-items:center;gap:24px}
.sep{opacity:.6;padding:0 24px}
@keyframes sb-slide{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--slide-distance,100%)))}}
.animate{animation-name:sb-slide;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:var(--slide-duration,15s)}
.centered{margin:0 auto;white-space:nowrap}

/* --- DARK SELECT DROPDOWNS (control + open menu + options) --- */

/* Hint browsers to render built-in form controls in dark mode */
:root { color-scheme: dark; }

/* The closed control */
select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #15202b;           /* darker than panel for contrast */
  color: var(--sb-text);
  border: 1px solid var(--sb-border);
  border-radius: 10px;
  padding: 10px 28px 10px 10px;        /* room for arrow */
  line-height: 1.2;
}

/* The dropdown menu + options (when opened) */
select option,
select optgroup {
  background-color: #0f1720;           /* same as page bg */
  color: var(--sb-text);
}

/* Hover/selected states inside the menu (Firefox/Chromium respect this) */
select option:hover { background-color: #1b2633; }
select option:checked { background-color: #233242; }

/* Replace the arrow with a simple chevron drawn in CSS */
select{
  background-image:
    linear-gradient(45deg, transparent 50%, var(--sb-text) 50%),
    linear-gradient(135deg, var(--sb-text) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 4px),
                       calc(100% - 12px) calc(50% - 4px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* Focus ring for accessibility */
select:focus{ outline: 2px solid rgba(255,255,255,0.18); outline-offset: 2px; }

/* (Optional) hide the old arrow in legacy Edge/IE */
select::-ms-expand { display: none; }

