/* ── 문서 페이지 공통 (about / glossary) ── */
/* styles.css의 body 기본값(height:100vh; overflow:hidden; display:flex;)이 문서 페이지에선 스크롤을 막으므로 override */
html,body.docs-body{height:auto; overflow:auto; display:block}
.docs-body{
  margin:0; padding:0;
  background:
    radial-gradient(1200px 600px at -10% -20%, rgba(99,102,241,.08), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(37,99,235,.07), transparent 60%),
    #fafbff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Pretendard","Noto Sans KR","Noto Sans JP",sans-serif;
  color:#1e293b; line-height:1.65;
}

/* Top navigation */
.docs-nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 28px; background:rgba(255,255,255,.85);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(99,102,241,.14);
}
.docs-brand{display:inline-flex; align-items:center; text-decoration:none; color:#0f172a; line-height:1.05}
.docs-brand-pillar{flex-shrink:0; opacity:.9; margin-right:9px}
.docs-brand-name{font-size:18px; font-weight:800; color:#0f172a; letter-spacing:-.5px; white-space:nowrap}
.docs-brand-name em{color:#2563eb; font-style:normal}
.docs-brand-sub{color:#94a3b8; font-weight:600; font-size:15px; letter-spacing:-.1px; white-space:nowrap; flex-shrink:0; margin-left:6px}
.docs-nav-links{display:flex; gap:6px}
.docs-nav-links a{
  padding:7px 13px; border-radius:8px;
  font-size:13px; font-weight:500; color:#64748b; text-decoration:none;
  transition:background .12s, color .12s;
}
.docs-nav-links a:hover{background:rgba(99,102,241,.08); color:#4338ca}
.docs-nav-links a.active{background:rgba(99,102,241,.12); color:#3730a3; font-weight:600}

/* Main container */
.docs-main{max-width:880px; margin:0 auto; padding:48px 28px 80px}

/* Hero */
.docs-hero{margin-bottom:48px}
.docs-hero h1{
  margin:0 0 14px; font-size:34px; font-weight:800; letter-spacing:-.5px;
  background:linear-gradient(120deg,#1e40af 0%,#4338ca 45%,#6366f1 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.docs-lead{font-size:16px; color:#475569; line-height:1.65; margin:0}

/* Section */
.docs-section{margin-bottom:40px}
.docs-section h2{
  margin:0 0 16px; font-size:20px; font-weight:700;
  color:#1e3a8a;
  padding-bottom:8px;
  border-bottom:1px solid rgba(99,102,241,.18);
  position:relative;
}
.docs-section h2::after{
  content:""; position:absolute; left:0; bottom:-1px; height:2px; width:48px;
  background:linear-gradient(90deg,#2563eb,#4f46e5);
  border-radius:2px;
}
.docs-section p{margin:0 0 12px; color:#334155; font-size:14.5px}

.docs-list{margin:0 0 12px; padding-left:22px; color:#334155; font-size:14.5px}
.docs-list li{margin-bottom:6px}
.docs-list li::marker{color:#6366f1}
/* overview 5단계 step 리스트 — 항목 간 간격 늘리고 번호 강조 */
.docs-steps{padding-left:28px; counter-reset:step}
.docs-steps li{margin-bottom:14px; line-height:1.7}
.docs-steps li::marker{font-weight:700; color:#2563eb}
.docs-steps li code{background:rgba(99,102,241,.08); color:#3730a3; padding:1px 5px; border-radius:4px; font-size:.92em}

/* Feature cards */
.docs-cards{
  display:grid; gap:14px; margin-top:8px;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}
.docs-card{
  padding:18px 18px; background:#fff;
  border:1px solid rgba(99,102,241,.18); border-radius:12px;
  transition:border-color .15s, box-shadow .15s, transform .15s;
  position:relative; overflow:hidden;
}
.docs-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,#2563eb,#4f46e5);
  opacity:.55; transition:opacity .15s, width .15s;
}
.docs-card:hover{border-color:rgba(79,70,229,.45); box-shadow:0 6px 18px rgba(79,70,229,.10); transform:translateY(-1px)}
.docs-card:hover::before{opacity:1; width:4px}
.docs-card h3{
  margin:0 0 6px; font-size:14px; font-weight:700;
  color:#3730a3;
}
.docs-card p{margin:0; font-size:13px; color:#475569; line-height:1.6}

/* Highlight box (data policy) */
.docs-highlight{
  padding:24px 26px;
  background:linear-gradient(135deg, rgba(219,234,254,.55) 0%, rgba(224,231,255,.55) 100%);
  border:1px solid rgba(99,102,241,.28);
  border-radius:14px;
  box-shadow:0 1px 0 rgba(99,102,241,.04) inset;
}
.docs-highlight h2{
  border:none; padding:0; margin:0 0 12px;
  color:#1e3a8a; font-size:18px;
}
.docs-highlight h2::after{display:none}
.docs-highlight p{color:#1e3a8a; font-size:14px; margin:0 0 8px; line-height:1.7}
.docs-highlight p:last-child{margin-bottom:0}
.docs-highlight strong{color:#3730a3}

/* CTA section */
.docs-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:48px; padding-top:32px; border-top:1px solid rgba(99,102,241,.18)}
.docs-btn{
  display:inline-flex; align-items:center; padding:11px 22px; border-radius:9px;
  font-size:14px; font-weight:600; text-decoration:none;
  transition:background .15s, color .15s, transform .15s, box-shadow .15s;
}
.docs-btn.primary{
  background:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);
  color:#fff;
  box-shadow:0 2px 8px rgba(79,70,229,.22);
}
.docs-btn.primary:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(79,70,229,.32);
  background:linear-gradient(135deg,#1d4ed8 0%,#4338ca 100%);
}
.docs-btn.ghost{background:transparent; color:#4338ca; border:1.5px solid rgba(99,102,241,.4)}
.docs-btn.ghost:hover{background:rgba(99,102,241,.08); border-color:#4f46e5; color:#3730a3}

/* Footer */
.docs-footer{margin-top:40px; padding:24px 28px; border-top:1px solid rgba(99,102,241,.14); background:rgba(255,255,255,.7)}
.docs-footer-inner{max-width:880px; margin:0 auto; font-size:12px; color:#64748b; text-align:center}
.docs-footer-inner a{color:#64748b; text-decoration:none; transition:color .12s}
.docs-footer-inner a:hover{color:#4338ca}
.docs-footer-sep{margin:0 8px; color:#c7d2fe}

/* Language toggle */
.docs-lang-toggle{
  position:fixed; bottom:18px; right:18px; z-index:60;
  display:flex; gap:4px; padding:4px;
  background:rgba(255,255,255,.92); backdrop-filter:blur(10px);
  border:1px solid rgba(99,102,241,.18); border-radius:99px; box-shadow:0 2px 10px rgba(30,58,138,.08);
}
.docs-lang-btn{
  padding:5px 11px; border:none; border-radius:99px;
  font-size:11.5px; font-weight:500; color:#64748b; cursor:pointer;
  background:transparent; transition:background .12s, color .12s;
  font-family:inherit;
}
.docs-lang-btn:hover{color:#4338ca}
.docs-lang-btn.active{
  background:linear-gradient(135deg,#2563eb,#4f46e5);
  color:#fff;
  box-shadow:0 1px 4px rgba(79,70,229,.28);
}

/* ── Glossary specific ── */
.gloss-toolbar{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px;
  margin:0 0 24px;
  padding:14px 16px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(99,102,241,.18);
  border-radius:12px;
  backdrop-filter:blur(6px);
  position:sticky; top:60px; z-index:30;
}
.gloss-search{
  flex:1 1 220px; min-width:200px;
  padding:9px 14px;
  border:1px solid rgba(99,102,241,.28); border-radius:8px;
  font-size:13.5px; color:#1e293b;
  background:#fff;
  font-family:inherit;
  transition:border-color .12s, box-shadow .12s;
}
.gloss-search:focus{outline:none; border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.12)}
.gloss-cat-tabs{display:flex; flex-wrap:wrap; gap:5px}
.gloss-cat-tab{
  padding:6px 12px; border:1px solid rgba(99,102,241,.22); border-radius:99px;
  background:#fff; color:#475569;
  font-size:12px; font-weight:500; cursor:pointer;
  font-family:inherit;
  transition:background .12s, color .12s, border-color .12s;
}
.gloss-cat-tab:hover{background:rgba(99,102,241,.07); color:#4338ca; border-color:rgba(79,70,229,.36)}
.gloss-cat-tab.active{
  background:linear-gradient(135deg,#2563eb,#4f46e5);
  color:#fff; border-color:transparent;
  box-shadow:0 1px 4px rgba(79,70,229,.22);
}

.gloss-cat-section{margin-bottom:36px}
.gloss-cat-section h2{
  margin:0 0 14px; font-size:18px; font-weight:700;
  color:#1e3a8a;
  padding-bottom:8px; border-bottom:1px solid rgba(99,102,241,.18);
  position:relative;
}
.gloss-cat-section h2::after{
  content:""; position:absolute; left:0; bottom:-1px; height:2px; width:36px;
  background:linear-gradient(90deg,#2563eb,#4f46e5);
  border-radius:2px;
}

.gloss-grid{
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
}
.gloss-card{
  padding:18px 20px; background:#fff;
  border:1px solid rgba(99,102,241,.18); border-radius:12px;
  transition:border-color .15s, box-shadow .15s, transform .15s;
  position:relative; overflow:hidden;
}
.gloss-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,#2563eb,#4f46e5);
  opacity:.55; transition:opacity .15s, width .15s;
}
.gloss-card:hover{border-color:rgba(79,70,229,.42); box-shadow:0 6px 18px rgba(79,70,229,.10); transform:translateY(-1px)}
.gloss-card:hover::before{opacity:1; width:4px}

.gloss-card-h{margin-bottom:10px}
.gloss-en{
  font-size:14px; font-weight:700;
  background:linear-gradient(120deg,#1e40af 0%,#4338ca 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  letter-spacing:-.1px;
}
.gloss-card-tt{
  display:grid; grid-template-columns:auto 1fr; gap:4px 8px;
  margin-bottom:10px; padding:8px 10px;
  background:rgba(238,242,255,.55);
  border-radius:8px;
  font-size:12.5px;
}
.gloss-lang{
  font-size:10.5px; font-weight:700; color:#6366f1;
  background:rgba(99,102,241,.12);
  padding:1px 6px; border-radius:99px;
  align-self:center; justify-self:start;
  letter-spacing:.4px;
}
.gloss-term{color:#1e293b; font-weight:500}
.gloss-def{
  margin:10px 0 10px; font-size:13px; color:#475569; line-height:1.65;
}
.gloss-ref{
  display:inline-block;
  font-size:11px; color:#6366f1; font-weight:500;
  padding:2px 10px;
  background:rgba(99,102,241,.08);
  border-radius:99px;
  letter-spacing:.1px;
}
.gloss-empty{
  text-align:center; color:#94a3b8; font-size:14px;
  padding:40px 0;
}

/* Responsive */
@media (max-width:640px){
  .docs-nav{padding:12px 16px}
  .docs-brand-name, .docs-brand-sub{display:none}
  .docs-main{padding:32px 18px 64px}
  .docs-hero h1{font-size:26px}
  .docs-lead{font-size:14.5px}
  .docs-cta{flex-direction:column}
  .docs-btn{justify-content:center}
  .gloss-toolbar{position:static; padding:12px}
  .gloss-cat-tabs{width:100%}
}
