/* DBREX 인트로 — 오늘의 법률뉴스 티커 (DBREX-INTRO-TICKER-01)
   A안(뉴스 티커)이 기본. .dn-ticker.led 를 붙이면 B안(전광판). */
.dn-ticker{
  --dn-bg:rgba(6,14,32,.92); --dn-line:rgba(255,255,255,.12); --dn-ink:#e6edf7; --dn-muted:#8fa3c4;
  --dn-blue:#3b82f6; --dn-gold:#f5b942; --dn-up:#22c55e; --dn-down:#ef4444;
  --dn-dur:60s;
  position:relative;display:flex;align-items:stretch;height:44px;margin:0 auto 18px;
  border:1px solid var(--dn-line);border-radius:10px;overflow:hidden;background:var(--dn-bg);
  font-size:14px;color:var(--dn-ink);
}
.dn-ticker[hidden]{display:none}
.dn-ticker .dn-label{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 16px;background:linear-gradient(90deg,#173a86,#1e4fb8);font-weight:700;font-size:13px;white-space:nowrap;z-index:2;box-shadow:8px 0 16px rgba(6,14,32,.7)}
.dn-ticker .dn-dot{width:8px;height:8px;border-radius:50%;background:var(--dn-down);animation:dn-pulse 1.6s infinite}
@keyframes dn-pulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.6)}70%{box-shadow:0 0 0 8px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.dn-ticker .dn-label small{font-weight:500;color:#cfe0ff;opacity:.9}
.dn-ticker .dn-track{flex:1;overflow:hidden;position:relative}
.dn-ticker .dn-track::after{content:"";position:absolute;top:0;bottom:0;right:0;width:40px;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,var(--dn-bg))}
.dn-ticker .dn-rail{display:flex;align-items:center;height:44px;width:max-content;animation:dn-scroll var(--dn-dur) linear infinite;will-change:transform}
.dn-ticker:hover .dn-rail,
.dn-ticker:focus-within .dn-rail,
.dn-ticker.is-paused .dn-rail{animation-play-state:paused}
@keyframes dn-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.dn-ticker .dn-item{display:flex;align-items:center;gap:10px;height:100%;padding:0 26px;white-space:nowrap;color:var(--dn-ink);text-decoration:none;border-right:1px solid var(--dn-line)}
.dn-ticker .dn-item:hover{background:rgba(255,255,255,.05)}
.dn-ticker .dn-item:focus-visible{outline:2px solid var(--dn-gold);outline-offset:-2px}
.dn-ticker .dn-tag{font-size:11px;font-weight:700;padding:3px 7px;border-radius:4px;letter-spacing:.02em}
.dn-ticker .dn-tag.court{background:rgba(76,156,255,.18);color:#8cc0ff}
.dn-ticker .dn-tag.law{background:rgba(245,185,66,.18);color:var(--dn-gold)}
.dn-ticker .dn-tag.reg{background:rgba(34,197,94,.18);color:#6fe09a}
.dn-ticker .dn-tag.case{background:rgba(192,132,252,.18);color:#d3aaff}
.dn-ticker .dn-tag.notice{background:rgba(239,68,68,.18);color:#ff9a9a}
.dn-ticker .dn-mark{font-size:12px;font-weight:700}
.dn-ticker .dn-mark.up{color:var(--dn-up)}.dn-ticker .dn-mark.down{color:var(--dn-down)}.dn-ticker .dn-mark.new{color:var(--dn-gold)}
.dn-ticker .dn-time{font-variant-numeric:tabular-nums;color:var(--dn-muted);font-size:12px}
.dn-ticker .dn-ctl{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:0 10px;border-left:1px solid var(--dn-line);z-index:2;background:var(--dn-bg)}
.dn-ticker .dn-ctl button,.dn-ticker .dn-ctl a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--dn-line);color:var(--dn-muted);border-radius:6px;cursor:pointer;font-size:12px;text-decoration:none;font:inherit}
.dn-ticker .dn-ctl button:hover,.dn-ticker .dn-ctl a:hover,.dn-ticker .dn-ctl button:focus-visible,.dn-ticker .dn-ctl a:focus-visible{color:#fff;border-color:#fff;outline:none}
.dn-ticker .dn-ctl button[aria-pressed="true"]{color:var(--dn-gold);border-color:var(--dn-gold)}

/* B안: 전광판(LED) */
.dn-ticker.led{--dn-bg:#050a14;border-color:#1e2a44;border-radius:6px}
.dn-ticker.led .dn-label{background:#0b1730;color:var(--dn-gold);font-family:"Consolas","D2Coding","Noto Sans Mono CJK KR",monospace;letter-spacing:.06em;box-shadow:none}
.dn-ticker.led .dn-rail{font-family:"Consolas","D2Coding","Noto Sans Mono CJK KR",monospace}
.dn-ticker.led .dn-item{color:#ffc857;text-shadow:0 0 6px rgba(255,200,87,.55);border-right:1px dotted #2a3a5c}
.dn-ticker.led .dn-tag{background:transparent;border:1px solid currentColor;padding:1px 6px}
.dn-ticker.led .dn-time{color:#7f8fb0}
.dn-ticker.led .dn-track{background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.25) 2px 3px)}

/* 모션 최소화: 애니메이션 끄고 가로 스크롤 목록 (JS 가 목록을 한 번만 렌더) */
@media (prefers-reduced-motion:reduce){
  .dn-ticker .dn-rail{animation:none}
  .dn-ticker .dn-track{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dn-ticker .dn-dot{animation:none}
}
@media (max-width:640px){
  .dn-ticker .dn-label small{display:none}
  .dn-ticker .dn-item{font-size:13px;padding:0 16px}
}
