/* ── Skylark News Carousel v4 — shared across all tier pages ─────────────── */
/* Owns: carousel cards, navigation, modal, skeleton states, responsive rules. */
/* Mounted on: /flp-suite, /command-center, /institutional via data-tier attribute. */

.snc-outer{max-width:1200px;margin:0 auto 0;padding:20px 48px 0;position:relative;z-index:1}
.snc-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}
.snc-title-group{display:flex;align-items:baseline;gap:12px}
.snc-eyebrow{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent,#febc2e);opacity:0.9}
.snc-subtitle{font-size:12px;color:var(--text-muted,#565b73)}
.snc-disclaimer{font-size:10px;color:var(--text-muted,#565b73);opacity:0.6}
.snc-viewport{overflow:hidden;border-radius:12px;position:relative}
.snc-track{display:flex;transition:transform 0.4s cubic-bezier(.4,0,.2,1);will-change:transform}
.snc-card{
  flex:0 0 100%;min-width:0;
  background:rgba(15,17,24,0.6);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;
  padding:16px 20px 14px;
  display:flex;flex-direction:column;gap:6px;
  position:relative;overflow:hidden;
  cursor:pointer;
  transition:border-color 0.2s,background 0.2s;
}
.snc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent,#febc2e) 0%,transparent 80%);opacity:0.7}
.snc-card:hover{border-color:rgba(245,184,46,0.28);background:rgba(15,17,24,0.8)}
.snc-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.snc-source{font-family:'DM Mono',monospace;font-size:10px;color:var(--accent,#febc2e);letter-spacing:1px;text-transform:uppercase;opacity:0.85}
.snc-category{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted,#565b73);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);border-radius:4px;padding:2px 7px}
.snc-time{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-muted,#565b73);margin-left:auto}
.snc-headline{font-size:14px;font-weight:600;color:var(--text-primary,#e8eaf0);line-height:1.4;letter-spacing:-0.1px}
.snc-expand-hint{font-family:'DM Mono',monospace;font-size:9px;color:var(--accent,#febc2e);opacity:0.55;margin-top:2px;letter-spacing:0.5px}
.snc-summary{font-size:12px;color:var(--text-secondary,#8a8fa8);line-height:1.6}
/* skeleton cards */
.snc-skeleton{pointer-events:none}
.snc-skel-line{height:10px;border-radius:4px;background:rgba(255,255,255,0.05);animation:snc-pulse 1.6s ease-in-out infinite}
.snc-skel-line.wide{width:70%}
.snc-skel-line.short{width:40%}
.snc-skel-line.full{width:95%}
@keyframes snc-pulse{0%,100%{opacity:0.4}50%{opacity:0.8}}
/* nav controls */
.snc-controls{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.snc-dots{display:flex;gap:6px;align-items:center}
.snc-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.12);transition:background 0.2s,transform 0.2s;cursor:pointer;border:none;padding:0}
.snc-dot.active{background:var(--accent,#febc2e);transform:scale(1.25)}
.snc-arrows{display:flex;gap:6px}
.snc-arrow{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:6px;color:var(--text-secondary,#8a8fa8);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;transition:background 0.15s,color 0.15s;line-height:1}
.snc-arrow:hover{background:rgba(255,255,255,0.1);color:var(--text-primary,#e8eaf0)}
.snc-arrow:disabled{opacity:0.3;cursor:default}
/* error / empty state */
.snc-empty{padding:12px 0;font-family:'DM Mono',monospace;font-size:11px;color:var(--text-muted,#565b73);text-align:center;letter-spacing:1px}

/* ── Article Digest Modal ────────────────────────────────────────────────── */
/* z-index 100100 — above nav (10000), ticker (9990), status (9980) */
.snc-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:100100;
  background:var(--sk-bg-overlay, rgba(4,5,10,0.86));
  align-items:flex-start;
  justify-content:center;
  padding:calc(var(--sky-fixed-top,116px) + 16px) 20px 24px;
  overflow-y:auto;
  overscroll-behavior:contain;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.snc-modal-overlay.open{display:flex}
.snc-modal{
  background:var(--sk-bg-card, #0d0f18);
  border:1px solid var(--sk-border-gold, rgba(245,184,46,0.18));
  border-radius:16px;
  max-width:680px;
  width:100%;
  max-height:calc(100vh - var(--sky-fixed-top,116px) - 48px);
  overflow-y:auto;
  position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,0.7);
  margin:0 auto;
}
.snc-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f5b82e 0%,#00bcd4 60%,transparent 100%);border-radius:16px 16px 0 0}
.snc-modal-body{padding:32px 32px 28px}
.snc-modal-close{position:absolute;top:18px;right:18px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:var(--sk-text-secondary, #8a8fa8);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;transition:background 0.15s,color 0.15s;z-index:1}
.snc-modal-close:hover{background:rgba(255,255,255,0.12);color:var(--sk-text-primary, #e8eaf0)}
.snc-modal-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.snc-modal-source{font-family:'DM Mono',monospace;font-size:10px;color:var(--sk-gold, #f5b82e);letter-spacing:1.5px;text-transform:uppercase;opacity:0.9}
.snc-modal-cat{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--sk-text-muted, #565b73);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:4px;padding:2px 8px}
.snc-modal-time{font-family:'DM Mono',monospace;font-size:9px;color:#565b73;margin-left:auto}
.snc-modal-headline{font-size:18px;font-weight:700;color:var(--sk-text-primary, #f0f4fc);line-height:1.35;letter-spacing:-0.3px;margin-bottom:16px}
.snc-modal-section-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#f5b82e;opacity:0.7;margin:20px 0 8px}
.snc-modal-summary{font-size:13px;color:var(--sk-text-secondary, #b0b8cc);line-height:1.7}
.snc-modal-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.snc-modal-points li{font-size:12.5px;color:var(--sk-text-secondary, #9aa3bb);line-height:1.6;padding-left:16px;position:relative}
.snc-modal-points li::before{content:'\25B8';position:absolute;left:0;color:#f5b82e;opacity:0.7;font-size:10px;top:3px}
.snc-modal-why{font-size:13px;color:#b0b8cc;line-height:1.7}
.snc-modal-framework{font-size:12px;color:var(--sk-blue-soft, #7c93ee);line-height:1.65;font-style:italic}
.snc-modal-citation{font-family:'DM Mono',monospace;font-size:10px;color:var(--sk-text-muted, #3d4260);line-height:1.5;border-top:1px solid rgba(255,255,255,0.06);padding-top:16px;margin-top:20px}
/* body scroll lock when modal open */
body.snc-modal-open{overflow:hidden}

/* ── Light mode overrides ──────────────────────────────────────────────────── */
/* data-color-mode="light" is set by the theme toggle; these beat inline styles */
[data-color-mode="light"] .snc-card {
  background: rgba(15, 23, 42, 0.72) !important;
  border-color: rgba(245, 184, 46, 0.22) !important;
}
[data-color-mode="light"] .snc-headline {
  color: rgba(248, 250, 252, 0.96) !important;
}
[data-color-mode="light"] .snc-summary {
  color: rgba(226, 232, 240, 0.78) !important;
}
[data-color-mode="light"] .snc-category,
[data-color-mode="light"] .snc-time {
  color: rgba(203, 213, 225, 0.75) !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media(max-width:768px){
  .snc-outer{padding:16px 20px 0}
  .snc-card{padding:14px 16px 12px}
  .snc-headline{font-size:13px}
  .snc-modal-overlay{padding:96px 14px 18px}
  .snc-modal{max-height:calc(100vh - 120px)}
  .snc-modal-body{padding:24px 20px 20px}
  .snc-modal-headline{font-size:16px}
}
