:root{
  color-scheme:light;
  --sa-canvas:#ffffff;
  --sa-canvas-subtle:#f6f8fa;
  --sa-canvas-inset:#f6f8fa;
  --sa-border:#d0d7de;
  --sa-border-muted:#d8dee4;
  --sa-text:#1f2328;
  --sa-muted:#59636e;
  --sa-link:#0969da;
  --sa-accent:#0969da;
  --sa-danger:#cf222e;
  --sa-success:#1a7f37;
  --sa-button:#f6f8fa;
  --sa-button-hover:#f3f4f6;
  --sa-button-active:#ebecf0;
  --sa-shadow:0 1px 0 rgba(31,35,40,.04),0 1px 3px rgba(31,35,40,.08);
  --sa-new-bg:#dafbe1;
  --sa-new-border:#aceebb;
  --sa-new-text:#1a7f37;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --sa-canvas:#0d1117;
  --sa-canvas-subtle:#161b22;
  --sa-canvas-inset:#010409;
  --sa-border:#30363d;
  --sa-border-muted:#21262d;
  --sa-text:#e6edf3;
  --sa-muted:#8b949e;
  --sa-link:#58a6ff;
  --sa-accent:#58a6ff;
  --sa-danger:#ff7b72;
  --sa-success:#3fb950;
  --sa-button:#21262d;
  --sa-button-hover:#30363d;
  --sa-button-active:#3b434b;
  --sa-shadow:0 0 transparent;
  --sa-new-bg:rgba(46,160,67,.15);
  --sa-new-border:rgba(46,160,67,.4);
  --sa-new-text:#56d364;
}
html,body{background:var(--sa-canvas)!important;color:var(--sa-text)!important}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:14px;line-height:1.5}
main{max-width:1440px!important;padding:20px 24px 32px!important}
h1,h2,h3,strong,summary{color:var(--sa-text)}
a,.article a,.admin-links a{color:var(--sa-link)!important}
.muted,.small,.num,.sort-indicator,.category-row .count,.feed-row small{color:var(--sa-muted)!important}
.title-row{
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  margin-bottom:16px!important;
  background:var(--sa-canvas-subtle);
  border:1px solid var(--sa-border);
  border-radius:6px;
  box-shadow:var(--sa-shadow);
}
.title-row h1{letter-spacing:-.01em}.public-auto{color:var(--sa-danger)!important}
.theme-switch{display:inline-flex;gap:0;align-items:center;border:1px solid var(--sa-border);border-radius:6px;overflow:hidden;background:var(--sa-canvas);flex:0 0 auto}
.theme-switch button{border:0!important;border-right:1px solid var(--sa-border)!important;border-radius:0!important;box-shadow:none!important;background:var(--sa-canvas)!important;color:var(--sa-muted)!important;padding:6px 10px!important;min-height:32px!important;font-size:12px!important;font-weight:600!important}
.theme-switch button:last-child{border-right:0!important}.theme-switch button:hover{background:var(--sa-canvas-subtle)!important;color:var(--sa-text)!important}.theme-switch button.is-active{background:var(--sa-button-active)!important;color:var(--sa-text)!important}
.refresh-summary{color:var(--sa-accent)!important;font-weight:700!important}
.bar,.filters,.export-box,.export-tools,.new-items-bar,.panel,.visitor-panel,.saved-detail,.login-gate{
  border-color:var(--sa-border)!important;
}
.filters,.export-box,.export-tools,.new-items-bar,.panel,.visitor-panel,.login-gate{
  background:var(--sa-canvas-subtle)!important;
  border:1px solid var(--sa-border)!important;
  border-radius:6px;
  box-shadow:var(--sa-shadow);
}
.filters{padding:12px!important}.categories-filter{border-color:var(--sa-border-muted)!important}
button,input,select,textarea{
  color:var(--sa-text)!important;
  background:var(--sa-canvas)!important;
  border:1px solid var(--sa-border)!important;
  border-radius:6px!important;
  transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease;
}
button{background:var(--sa-button)!important;font-weight:600;box-shadow:0 1px 0 rgba(31,35,40,.04)}
button:hover{background:var(--sa-button-hover)!important;border-color:var(--sa-border)!important}
button:active{background:var(--sa-button-active)!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--sa-accent);outline-offset:2px}
.sort-btn{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--sa-text)!important}.sort-btn:hover{background:transparent!important;color:var(--sa-link)!important}
.danger{border-color:var(--sa-danger)!important;color:var(--sa-danger)!important}.danger-solid{background:var(--sa-danger)!important;color:#fff!important;border-color:var(--sa-danger)!important}.danger-solid:hover{background:var(--sa-danger)!important;filter:brightness(.9)}
.status{color:var(--sa-muted)}
.login-error{color:var(--sa-danger)!important}
table{border:1px solid var(--sa-border);border-radius:6px;border-collapse:separate!important;border-spacing:0;overflow:hidden;background:var(--sa-canvas)}
th,td{border-bottom:1px solid var(--sa-border-muted)!important;padding:9px 10px!important}th{background:var(--sa-canvas-subtle)!important;color:var(--sa-text);font-weight:600}tbody tr:last-child td{border-bottom:0!important}tbody tr:hover{background:color-mix(in srgb,var(--sa-accent) 4%,transparent)}
.current{border-color:var(--sa-text)!important;background:var(--sa-button-active)!important}
.new-badge{color:var(--sa-new-text)!important;background:var(--sa-new-bg)!important;border-color:var(--sa-new-border)!important;border-radius:999px!important;padding:1px 7px!important}
.new-article .article a{font-weight:700!important}
details#management,.section,.category-row,.feed-list,.feed-row,.visitor-last{border-color:var(--sa-border-muted)!important}
.visitor-card{background:var(--sa-canvas)!important;border-color:var(--sa-border)!important;border-radius:6px}.visitor-online{color:var(--sa-success)!important}
textarea{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,"Liberation Mono",monospace!important}
input[type="checkbox"]{accent-color:var(--sa-accent)}
.login-gate{box-shadow:var(--sa-shadow);position:relative}.login-theme{display:flex;justify-content:flex-end;margin-bottom:12px}
::selection{background:color-mix(in srgb,var(--sa-accent) 28%,transparent)}
@media(max-width:760px){
  main{padding:10px 10px 24px!important}
  .title-row{padding:11px 12px;border-radius:6px}
  .title-row>h1{flex:1 1 100%;font-size:19px!important}
  .theme-switch{width:100%}.theme-switch button{flex:1 1 50%;min-height:40px!important;font-size:13px!important}
  .filters,.export-box,.export-tools,.new-items-bar,.panel,.visitor-panel{padding:10px!important}
  table{border:0!important;background:transparent!important;overflow:visible}
  tr{background:var(--sa-canvas)!important;border:1px solid var(--sa-border)!important;border-radius:6px!important;box-shadow:var(--sa-shadow)}
  td{border:0!important}.article a{font-size:15px}
  .admin-links{align-items:center}.admin-links .theme-switch{order:10}
}

/* SpeakArray visitor countdown: RED capsule like the NEW badge, not plain text. */
.public-auto{display:inline-flex;align-items:center;padding:3px 10px;margin-left:8px;border:1px solid var(--sa-danger)!important;border-radius:999px;background:color-mix(in srgb,var(--sa-danger) 12%,var(--sa-canvas))!important;color:var(--sa-danger)!important;font-size:12px!important;font-weight:750!important;line-height:1.6;vertical-align:middle}
@media(max-width:760px){.public-auto{margin-left:0;margin-top:5px;padding:4px 9px;font-size:12px!important;max-width:100%}}

/* v4.4.6 — permanent dark SpeakArray header in BOTH light and dark themes.
   The rest of the interface still follows the selected theme. No sticky/fixed
   positioning is introduced and the server-shared countdown is untouched. */
:root {
  --sa-header-bg:#161b22;
  --sa-header-border:#30363d;
  --sa-header-text:#f0f6fc;
  --sa-header-muted:#aab7c6;
  --sa-header-switch-bg:#0d1117;
  --sa-header-switch-active:#30363d;
}
body .title-row,
body .content-header {
  background:var(--sa-header-bg)!important;
  border-color:var(--sa-header-border)!important;
  color:var(--sa-header-text)!important;
  box-shadow:none!important;
}
body .title-row h1,
body .title-row h1 strong,
body .title-row .top-refresh strong,
body .title-row .top-refresh label,
body .content-header .brand-link {
  color:var(--sa-header-text)!important;
}
body .title-row .top-refresh .muted,
body .title-row .top-refresh .small {
  color:var(--sa-header-muted)!important;
}
body .title-row .admin-links a {
  color:#79c0ff!important;
}
body .title-row .theme-switch,
body .content-header .theme-switch {
  background:var(--sa-header-switch-bg)!important;
  border-color:var(--sa-header-border)!important;
}
body .title-row .theme-switch button,
body .content-header .theme-switch button {
  background:var(--sa-header-switch-bg)!important;
  color:var(--sa-header-muted)!important;
  border-color:var(--sa-header-border)!important;
}
body .title-row .theme-switch button:hover,
body .content-header .theme-switch button:hover {
  background:#21262d!important;
  color:var(--sa-header-text)!important;
}
body .title-row .theme-switch button.is-active,
body .content-header .theme-switch button.is-active {
  background:var(--sa-header-switch-active)!important;
  color:var(--sa-header-text)!important;
}
/* Admin controls embedded in the heading need contrast in Light Mode too. */
body .title-row .top-refresh select,
body .title-row .top-refresh input,
body .title-row .top-refresh button {
  background:var(--sa-header-switch-bg)!important;
  color:var(--sa-header-text)!important;
  border-color:var(--sa-header-border)!important;
}
body .title-row .top-refresh button:hover {background:#21262d!important}
/* Keep the refresh pill red on the permanent dark header in either theme. */
:root body .title-row .public-auto {
  color:#ff7b72!important;
  border-color:#f85149!important;
  background:rgba(248,81,73,.11)!important;
}
