/* RnR soft — 디자인팀 최종 시안(.dc.html) 기준 공통 토큰
   출처: design-src/2026-07-27_brand-rnr-blue/*.dc.html (루트 파일 = 최종본) */

:root {
  --bg:        #0b1220;
  --surface:   #141f33;
  --border:    rgba(255,255,255,0.10);

  --accent:      #2b86f5;
  --accent-deep: #1f56dc;
  --accent-hi:   #38c8f0;
  --link:        #5aa9ff;
  --link-hover:  #7fc4ff;

  --text-h:    #f2f6fc;
  --text:      #eef2f8;
  --text-body: #98a4b6;
  --text-2:    #aab5c6;
  --text-dim:  #7f8b9d;
  --text-menu: #c6cfdb;
  --text-tag:  #7d8ba0;
}

* { box-sizing: border-box; }

html, body { background: #0b1220; }

body {
  margin: 0;
  background: #0b1220;
  color: #eef2f8;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.012em;
}

a { color: #5aa9ff; text-decoration: none; }
a:hover { color: #7fc4ff; }
::selection { background: rgba(43,134,245,0.3); }

/* ---- 시안 keyframes (원문 그대로) ---- */
@keyframes rs-rise  { from{opacity:0; transform:translateY(18px)} to{opacity:1; transform:none} }
@keyframes rs-drift { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-22px,16px)} }
@keyframes rs-dash  { to { stroke-dashoffset:-260; } }
@keyframes rs-tick  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes rs-scan  { from{transform:translateY(-100%)} to{transform:translateY(100%)} }
@keyframes rs-flick { 0%,100%{opacity:0.5} 50%{opacity:0.85} }

.rs-track { display:inline-flex; white-space:nowrap; animation:rs-tick 36s linear infinite; }
.rs-tickwrap:hover .rs-track { animation-play-state:paused; }

.rs-grid-bg { position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(90,169,255,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(90,169,255,0.07) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 78%);
  mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 78%); }

.rs-scanline { position:absolute; left:0; right:0; height:180px; pointer-events:none;
  background:linear-gradient(180deg,rgba(92,196,245,0) 0%,rgba(92,196,245,0.055) 50%,rgba(92,196,245,0) 100%);
  animation:rs-scan 7.5s linear infinite; }

.rs-mono { font-family:'JetBrains Mono',monospace; }

/* 시안 원문의 reduced-motion 처리 — 스캔라인/티커만 정지 (전역 차단 아님) */
@media (prefers-reduced-motion:reduce){ .rs-scanline,.rs-track{ animation:none !important } }

/* ---- 공통 반응형 (시안 원문) ---- */
@media (max-width:640px){
  .rs-bar { padding-left:18px !important; padding-right:18px !important; }
  .rs-logo { height:30px !important; }
  .rs-nav { gap:2px !important; }
  .rs-nav a { padding:8px 10px !important; font-size:13.5px !important; }
  .rs-nav button { margin-left:2px !important; padding:7px 10px !important; font-size:11.5px !important; }
  .rs-wrap { padding-left:18px !important; padding-right:18px !important; }
  .rs-grid { grid-template-columns:1fr !important; }
  .rs-appwide { flex-direction:column !important; gap:20px !important; padding:24px !important; }
  .rs-shot { flex:0 0 auto !important; width:100% !important; min-height:150px !important; }
}
@media (max-width:420px){
  .rs-logo { height:22px !important; }
  .rs-nav a { padding:7px 8px !important; font-size:13px !important; }
  .rs-tag { display:none !important; }
}
