/* desk-polish.css — additive editorial polish for the news desks.
   Keeps the warm "ezine" light theme of the Alaska reference desk and brings
   the same carded, editorial treatment to every other desk. Scoped to
   [data-sios-root] so it only touches the desk surface — never the shell.
   Pure CSS, no JS. Fully revertible by removing this one <link>.
   Gentle on purpose: Alaska already looks great, so these are harmonious
   enhancements, not a re-theme. */

/* ── Masthead presence ─────────────────────────────────────────────────── */
[data-sios-root] h1{ color:var(--sv-ink); letter-spacing:-0.01em; }

/* ── Story cards: cohesive editorial cards with a quiet hover lift ──────── */
[data-sios-root] .sv-story{
  background:var(--sv-surface);
  border:1px solid var(--sv-line);
  border-radius:var(--sv-r-lg);
  box-shadow:var(--sv-shadow);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
[data-sios-root] .sv-story:hover{
  transform:translateY(-2px);
  border-color:var(--sv-line-strong);
  box-shadow:0 2px 6px rgba(20,20,20,.08), 0 16px 40px rgba(20,20,20,.12);
}
[data-sios-root] .sv-story-img{ aspect-ratio:16/9; }

/* Section kickers / eyebrows (WORLD, etc.) in warm gold — editorial signature. */
[data-sios-root] .sv-story-eyebrow,
[data-sios-root] .sv-kicker,
[data-sios-root] .sv-story-kicker,
[data-sios-root] .sv-section-eyebrow,
[data-sios-root] .sv-eyebrow{
  color:#8A6A12;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
  font-size:var(--sv-fs-xs);
}

/* ── DESK PULSE — a real card, centered, never floating in dead space ───── */
[data-sios-root] .sv-intel-track,
[data-sios-root] .sv-module-strip{
  background:var(--sv-surface);
  border:1px solid var(--sv-line);
  border-radius:var(--sv-r-lg);
  padding:var(--sv-4);
  box-shadow:var(--sv-shadow);
  max-width:var(--sv-maxw);
  margin-left:auto;
  margin-right:auto;
}
[data-sios-root] .sv-track-heading{
  font-family:var(--sv-sans);
  font-size:var(--sv-fs-xs);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8A6A12;
  margin-bottom:var(--sv-3);
}
[data-sios-root] .sv-track-line{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-top:1px solid var(--sv-line);
}
[data-sios-root] .sv-track-line:first-of-type{ border-top:0; }
[data-sios-root] .sv-track-label{ color:var(--sv-faint); }
[data-sios-root] .sv-track-value{ color:var(--sv-ink); font-weight:500; }

/* ── Category "home" cover cards (Alaska-style) for any desk that shows them ─ */
[data-sios-root] .sv-desk-card--cover{
  position:relative;
  min-height:190px;
  border-radius:var(--sv-r-lg);
  overflow:hidden;
  background-size:cover;
  background-position:center;
  border:1px solid var(--sv-line);
  box-shadow:var(--sv-shadow);
  transition:transform .15s ease, box-shadow .15s ease;
}
[data-sios-root] .sv-desk-card--cover::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.72) 100%);
}
[data-sios-root] .sv-desk-card--cover:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(20,20,20,.18);
}
[data-sios-root] .sv-desk-card-label{
  position:relative; z-index:1;
  font-family:var(--sv-serif);
  font-size:20px;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.6);
}
[data-sios-root] .sv-desk-card-count{
  position:relative; z-index:1;
  color:#fff;
  background:rgba(0,0,0,.45);
  border-radius:var(--sv-r-pill);
}

/* ── States directory: full brightness, no haze ────────────────────────── */
/* The "soon" state cards were dimmed to 72% opacity, which hazed the cover
   art and made the baked-in titles look faint. State covers carry their own
   titles, so we let them read at full brightness — the SOON chip still marks
   them as not-yet-live. */
.sv-desk-card--soon.sv-desk-card--cover{ opacity:1; }

/* ── Beat home cards without per-beat cover art (label fallback) ───────── */
[data-sios-root] .sv-cat-cover:not(:has(.sv-cat-cover-img)){
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px 16px;
  min-height:140px;
  background:linear-gradient(145deg, #8A6A12 0%, #5C4510 48%, #3D2E0B 100%);
}
[data-sios-root] .sv-cat-cover:not(:has(.sv-cat-cover-img)) .sv-cat-cover-fallback{
  font-size:1.2rem;
  line-height:1.2;
  max-width:92%;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}
[data-sios-root] .sv-cat-card:hover .sv-cat-cover:not(:has(.sv-cat-cover-img)){
  background:linear-gradient(145deg, #9A7818 0%, #6B5214 48%, #4A390F 100%);
}

/* ── Curated category home grid — uniform hub-style cards (state + topic desks) ─ */
[data-sios-root] .sv-cat-index .sv-cat-grid,
[data-topic-desk-root] .sv-cat-index .sv-cat-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:18px 0 36px;
  align-items:stretch;
}
@media (min-width:720px){
  [data-sios-root] .sv-cat-index .sv-cat-grid,
  [data-topic-desk-root] .sv-cat-index .sv-cat-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
}
@media (min-width:1040px){
  [data-sios-root] .sv-cat-index .sv-cat-grid,
  [data-topic-desk-root] .sv-cat-index .sv-cat-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
}
[data-sios-root] .sv-cat-index .sv-cat-card,
[data-topic-desk-root] .sv-cat-index .sv-cat-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  height:100%;
  min-height:0;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--sv-line);
  box-shadow:var(--sv-shadow);
  text-decoration:none;
  color:inherit;
}
[data-sios-root] .sv-cat-index .sv-cat-cover,
[data-topic-desk-root] .sv-cat-index .sv-cat-cover{
  position:relative;
  flex:0 0 auto;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  display:block;
  background:var(--sv-surface-2, #1e2226);
}
[data-sios-root] .sv-cat-index .sv-cat-cover-img,
[data-topic-desk-root] .sv-cat-index .sv-cat-cover-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
[data-sios-root] .sv-cat-index .sv-cat-cover--photo::after,
[data-topic-desk-root] .sv-cat-index .sv-cat-cover--photo::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,10,14,.05) 0%, rgba(8,10,14,.55) 100%);
  z-index:1;
  pointer-events:none;
}
[data-sios-root] .sv-cat-index .sv-cat-cover-fallback,
[data-topic-desk-root] .sv-cat-index .sv-cat-cover-fallback{
  display:none;
}
[data-sios-root] .sv-cat-index .sv-cat-cover--typographic,
[data-topic-desk-root] .sv-cat-index .sv-cat-cover--typographic{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px 16px;
  background:linear-gradient(145deg, #8A6A12 0%, #5C4510 48%, #3D2E0B 100%);
}
[data-sios-root] .sv-cat-index .sv-cat-cover--typographic .sv-cat-cover-fallback,
[data-topic-desk-root] .sv-cat-index .sv-cat-cover--typographic .sv-cat-cover-fallback{
  display:block;
  position:relative;
  z-index:2;
  font-family:var(--sv-serif);
  font-size:1.05rem;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  padding:0 12px;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}
[data-sios-root] .sv-cat-index .sv-cat-meta,
[data-topic-desk-root] .sv-cat-index .sv-cat-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex:1 1 auto;
  padding:10px 12px;
  background:var(--sv-surface);
  border-top:1px solid var(--sv-line);
  min-height:44px;
}
[data-sios-root] .sv-cat-index .sv-cat-label,
[data-topic-desk-root] .sv-cat-index .sv-cat-label{
  font-size:.9rem;
  font-weight:600;
  line-height:1.25;
  color:var(--sv-text, #f2f4f6);
}
[data-sios-root] .sv-cat-index .sv-cat-count,
[data-topic-desk-root] .sv-cat-index .sv-cat-count{
  flex:0 0 auto;
  font-size:.8rem;
  color:var(--sv-muted);
}
[data-sios-root] .sv-cat-index .sv-cat-card:hover,
[data-topic-desk-root] .sv-cat-index .sv-cat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(20,20,20,.13);
}
[data-sios-root] .sv-cat-index .sv-cat-card:hover .sv-cat-cover--typographic,
[data-topic-desk-root] .sv-cat-index .sv-cat-card:hover .sv-cat-cover--typographic{
  background:linear-gradient(145deg, #9A7818 0%, #6B5214 48%, #4A390F 100%);
}
[data-sios-root] .sv-cat-card--loading .sv-cat-cover--loading{
  min-height:120px;
  background:linear-gradient(110deg, var(--sv-surface-2) 8%, var(--sv-surface) 18%, var(--sv-surface-2) 33%);
  background-size:200% 100%;
  animation:sv-cat-shimmer 1.2s linear infinite;
}
@keyframes sv-cat-shimmer{ to{ background-position-x:-200%; } }
[data-sios-root] .sv-state-desk-line{
  font-size:.95rem;
  color:var(--sv-muted);
  margin:0 0 8px;
}

[data-sios-root] .sv-cat-cover--state-desk{
  align-items:flex-end;
  justify-content:flex-start;
  text-align:left;
  padding:14px;
  min-height:140px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
[data-sios-root] .sv-cat-cover--state-desk .sv-cat-cover-tint{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,10,14,.15) 0%, rgba(8,10,14,.72) 100%);
  z-index:0;
}
[data-sios-root] .sv-cat-cover--state-desk .sv-cat-cover-fallback{
  position:relative;
  z-index:1;
  font-size:1.2rem;
  line-height:1.2;
  max-width:92%;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
[data-sios-root] .sv-cat-card:hover .sv-cat-cover--state-desk .sv-cat-cover-tint{
  background:linear-gradient(180deg, rgba(8,10,14,.1) 0%, rgba(8,10,14,.62) 100%);
}
[data-sios-root] .sv-ak-masthead--state-desk{
  position:relative;
  overflow:hidden;
  border-bottom:none;
  padding:0;
  min-height:clamp(120px, 22vw, 200px);
  align-items:stretch;
}
[data-sios-root] .sv-ak-masthead--state-desk .sv-ak-masthead-inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex:1;
  width:100%;
  padding:var(--sv-4) var(--sv-4) var(--sv-4);
  gap:10px;
}
[data-sios-root] .sv-ak-masthead-hero{
  position:absolute;
  inset:0;
  z-index:0;
}
[data-sios-root] .sv-ak-masthead-hero-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
[data-sios-root] .sv-ak-masthead-hero-scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,10,14,.45) 0%, rgba(8,10,14,.78) 100%);
  pointer-events:none;
}
[data-sios-root] .sv-ak-masthead--state-desk .sv-ak-masthead-brandline,
[data-sios-root] .sv-ak-masthead--state-desk .sv-ak-masthead-state,
[data-sios-root] .sv-ak-masthead--state-desk .sv-ak-last-updated{
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}
[data-sios-root] .sv-ak-masthead--state-desk .sv-ak-masthead-slash{
  color:rgba(255,255,255,.72);
}
[data-sios-root] .sv-ak-masthead--placeholder .sv-ak-masthead-hero-img{
  opacity:.85;
}
[data-sios-root] .sv-desk-tool-card-grid{
  display:grid;
  gap:var(--sv-3);
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
}
[data-sios-root] .sv-desk-tool-card{
  display:block;
  padding:var(--sv-4);
  border:1px solid var(--sv-border);
  border-radius:var(--sv-r-md);
  background:var(--sv-surface);
  text-decoration:none;
  color:inherit;
  transition:border-color .15s ease, box-shadow .15s ease;
}
[data-sios-root] .sv-desk-tool-card:hover{
  border-color:var(--sv-accent);
  box-shadow:0 4px 16px rgba(0,0,0,.08);
}
[data-sios-root] .sv-desk-tool-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--sv-2);
  margin-bottom:var(--sv-2);
}
[data-sios-root] .sv-desk-tool-card-name{
  margin:0;
  font-size:var(--sv-fs-body);
  font-weight:600;
  line-height:1.25;
  color:var(--sv-ink);
}
[data-sios-root] .sv-desk-tool-card:hover .sv-desk-tool-card-name{ color:var(--sv-accent-ink); }
[data-sios-root] .sv-desk-tool-cat-title{ color:var(--sv-ink); font-weight:600; }
[data-sios-root] .ak-res-cat{ color:var(--sv-ink); font-weight:600; }
[data-sios-root] .ak-res-link{ color:var(--sv-ink); font-weight:600; }
[data-sios-root] .ak-res-link:hover,
[data-sios-root] .ak-res-link:focus-visible{ color:var(--sv-accent-ink); }
[data-sios-root] .ak-res-verified{ color:var(--sv-accent-ink); background:var(--sv-accent-soft); }
[data-sios-root] .sv-desk-tool-live-badge{
  flex-shrink:0;
  font-size:var(--sv-fs-xs);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--sv-accent-ink);
  background:rgba(212,168,83,.22);
  border-radius:var(--sv-r-pill);
  padding:2px 8px;
}
[data-sios-root] .sv-desk-tool-wow{
  margin:0;
  font-size:var(--sv-fs-sm);
  color:var(--sv-muted);
  line-height:1.45;
}
[data-sios-root] .sv-affiliate-strip{ margin:0 0 var(--sv-4); }
[data-sios-root] .sv-affiliate-slot-grid{
  display:grid;
  gap:var(--sv-3);
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
}
[data-sios-root] .sv-affiliate-slot{
  display:block;
  padding:var(--sv-3);
  border:1px dashed var(--sv-line);
  border-radius:var(--sv-r-md);
  text-decoration:none;
  color:inherit;
  background:var(--sv-surface);
}
[data-sios-root] .sv-affiliate-slot-img{
  display:block;
  width:100%;
  max-height:72px;
  object-fit:contain;
  margin-bottom:var(--sv-2);
}
[data-sios-root] .sv-affiliate-slot-label{
  font-size:var(--sv-fs-sm);
  font-weight:600;
}
[data-sios-root] .sv-cat-meta .sv-cat-label{
  color:var(--sv-ink);
  line-height:1.25;
}

/* Desk chrome — lane nav, network back, subdesk tabs (editorial tokens, not bare white) */
[data-sios-root] .sv-desk-lane-nav,
.nd-sios-root .sv-desk-lane-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--sv-2);
  padding:var(--sv-2) 0 var(--sv-3);
  margin-bottom:var(--sv-2);
  border-bottom:1px solid var(--sv-line);
}
[data-sios-root] .sv-desk-lane-link,
.nd-sios-root .sv-desk-lane-link{
  appearance:none;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:6px 14px;
  border:1px solid var(--sv-line);
  border-radius:var(--sv-r-pill);
  background:var(--sv-surface-2);
  font:inherit;
  font-size:var(--sv-fs-sm);
  font-weight:500;
  color:var(--sv-muted);
  cursor:pointer;
  transition:color .15s, border-color .15s, background .15s;
}
[data-sios-root] .sv-desk-lane-link:hover,
.nd-sios-root .sv-desk-lane-link:hover{
  color:var(--sv-ink);
  border-color:var(--sv-line-strong);
}
[data-sios-root] .sv-desk-lane-link--on,
.nd-sios-root .sv-desk-lane-link--on{
  color:var(--sv-ink);
  border-color:var(--sv-accent);
  background:var(--sv-accent-soft);
}
[data-sios-root] .sv-nd-network-back,
[data-sios-root] .sv-nd-back,
.nd-sios-root .sv-nd-network-back,
.nd-sios-root .sv-nd-back{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  color:var(--sv-accent);
  font:inherit;
  font-weight:600;
  font-size:var(--sv-fs-sm);
  padding:0;
  margin:0 0 var(--sv-3);
}
[data-sios-root] .sv-nd-network-back:hover,
[data-sios-root] .sv-nd-back:hover,
.nd-sios-root .sv-nd-network-back:hover,
.nd-sios-root .sv-nd-back:hover{
  text-decoration:underline;
}
[data-sios-root] .sv-subdesk-head,
.nd-sios-root .sv-subdesk-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:8px;
}
[data-sios-root] .sv-subdesk-head .sv-btn-ghost,
.nd-sios-root .sv-subdesk-head .sv-btn-ghost{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--sv-accent);
  font:inherit;
  font-weight:600;
  font-size:var(--sv-fs-sm);
  padding:0;
  min-height:44px;
  cursor:pointer;
}
[data-sios-root] .sv-subdesk-tabs,
.nd-sios-root .sv-subdesk-tabs{
  display:flex;
  gap:8px;
  border-bottom:1px solid var(--sv-line);
  margin:6px 0 16px;
}
[data-sios-root] .sv-subdesk-tab,
.nd-sios-root .sv-subdesk-tab{
  appearance:none;
  background:none;
  border:0;
  padding:10px 4px;
  margin-right:14px;
  font:inherit;
  font-size:.95rem;
  font-weight:600;
  color:var(--sv-muted);
  cursor:pointer;
  border-bottom:2px solid transparent;
}
[data-sios-root] .sv-subdesk-tab.is-on,
.nd-sios-root .sv-subdesk-tab.is-on{
  color:var(--sv-ink);
  border-bottom-color:var(--sv-accent);
}
[data-sios-root] .sv-subdesk-tab:hover,
.nd-sios-root .sv-subdesk-tab:hover{
  color:var(--sv-ink);
}

/* In-app reader on light desk surface */
[data-sios-root] .sv-inapp-reader .nd-read-body,
[data-sios-root] .sv-inapp-reader .nd-article-editorial,
.nd-sios-root .sv-inapp-reader .nd-read-body,
.nd-sios-root .sv-inapp-reader .nd-article-editorial{
  font-size:17px;
  line-height:1.7;
  color:var(--sv-ink);
}
[data-sios-root] .sv-inapp-reader .nd-read-progress-msg,
[data-sios-root] .sv-inapp-reader .nd-muted,
.nd-sios-root .sv-inapp-reader .nd-read-progress-msg,
.nd-sios-root .sv-inapp-reader .nd-muted{
  color:var(--sv-muted);
}
[data-sios-root] .sv-inapp-reader .nd-article-meta,
.nd-sios-root .sv-inapp-reader .nd-article-meta{
  color:var(--sv-muted);
}
[data-sios-root] .sv-inapp-reader .nd-section-title,
.nd-sios-root .sv-inapp-reader .nd-section-title{
  font-size:var(--sv-fs-xs);
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--sv-faint);
  margin:0 0 8px;
}
[data-sios-root] .sv-inapp-reader .nd-compose-btn,
.nd-sios-root .sv-inapp-reader .nd-compose-btn{
  min-height:44px;
}
[data-sios-root] .sv-inapp-reader .nd-article-source-link a,
.nd-sios-root .sv-inapp-reader .nd-article-source-link a{
  color:var(--sv-accent);
}
