/* bookteam.kr 공개 정적 페이지 공용 스타일.
   색상은 앱(frontend/src/index.css)의 라이트 테마 토큰과 같은 값을 쓴다 — 소개 페이지에서
   앱으로 넘어갈 때 색이 튀지 않게. 앱 CSS 를 그대로 가져오지 않는 이유: 그건 Tailwind
   빌드 산출물이라 해시 파일명이 배포마다 바뀌고 용량도 크다. 여기 필요한 건 몇 KB 뿐이다. */
:root{
  --bg:#e6ebf2; --panel:#f7f9fc; --panel2:#eef2f8; --border:#c6d1e0;
  --fg:#16202e; --dim:#465364; --muted:#586677; --accent:#1e56c0; --accent-tint:#e2ecfb;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
     font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
     line-height:1.75;-webkit-text-size-adjust:100%}
a{color:var(--accent)}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
.wrap.wide{max-width:880px}

header.site{border-bottom:1px solid var(--border);background:var(--panel)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{font-weight:700;font-size:18px;color:var(--fg);text-decoration:none;letter-spacing:-0.01em}
.brand span{color:var(--muted);font-weight:400;font-size:14px;margin-left:8px}
/* 메뉴 항목이 9개라 inline + margin-left 로는 좁은 화면에서 들쭉날쭉해진다.
   flex + gap 으로 바꿔 줄바꿈될 때도 간격이 일정하게 유지되도록 한다. */
nav.site{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;justify-content:flex-end}
nav.site a{font-size:14px;text-decoration:none;color:var(--dim);white-space:nowrap}
nav.site a:hover{color:var(--accent);text-decoration:underline}
nav.site a.start{color:var(--accent);font-weight:600}
.navsep{width:1px;height:13px;background:var(--border)}
@media (max-width:640px){ .navsep{display:none} nav.site{justify-content:flex-start;gap:6px 12px} }

.crumb{font-size:14px;color:var(--muted);padding:20px 0 0}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{text-decoration:underline}

h1{font-size:clamp(25px,4.3vw,36px);line-height:1.32;margin:12px 0 14px;letter-spacing:-0.02em}
p.lead{font-size:17px;color:var(--dim);margin:0 0 10px;max-width:64ch}
h2{font-size:clamp(19px,2.9vw,24px);margin:0 0 12px;letter-spacing:-0.01em;scroll-margin-top:16px}
h2 + p.sub{color:var(--muted);margin:-4px 0 22px;font-size:15px}
h3{font-size:16px;margin:22px 0 4px}
p{margin:0 0 14px}
section{padding:34px 0;border-top:1px solid var(--border);margin-top:14px}
.hero{padding:52px 0 40px}
.hero h1{font-size:clamp(26px,4.6vw,40px)}
.hero p.lead{font-size:clamp(16px,2.2vw,19px);margin-bottom:26px}

.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.btn{display:inline-block;padding:12px 22px;border-radius:8px;text-decoration:none;font-weight:600;font-size:15px}
.btn-primary{background:var(--accent);color:#fff}
.btn-secondary{background:var(--panel);color:var(--accent);border:1px solid var(--border)}

table{width:100%;border-collapse:collapse;font-size:15px;background:var(--panel);
      border:1px solid var(--border);border-radius:8px;overflow:hidden}
caption{text-align:left;color:var(--muted);font-size:14px;padding-bottom:10px}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:top}
thead th{background:var(--panel2);font-size:14px;color:var(--dim)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
tbody th{white-space:nowrap;font-weight:600;width:34%}
.tablescroll{overflow-x:auto}

ul.plain{margin:0 0 14px;padding-left:20px}
ul.plain li{margin:6px 0}
.steps{list-style:none;counter-reset:s;margin:0;padding:0}
.steps li{counter-increment:s;position:relative;padding:0 0 22px 46px;margin:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:30px;height:30px;
  border-radius:50%;background:var(--accent-tint);color:var(--accent);font-weight:700;font-size:14px;
  display:flex;align-items:center;justify-content:center}
.steps li p{margin:2px 0 0;color:var(--dim);font-size:15px}
.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));padding:0;margin:0;list-style:none}
.cards li{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px 18px}
.cards li p{margin:4px 0 0;color:var(--dim);font-size:15px}
.cards li h3{margin-top:0}

dl.faq{margin:0}
dl.faq dt{font-weight:600;margin-top:20px}
dl.faq dd{margin:4px 0 0;color:var(--dim)}

.toc{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px 22px;margin:28px 0 8px}
.toc h2{font-size:15px;margin:0 0 10px;color:var(--muted)}
.toc ol{margin:0;padding-left:20px}
.toc li{margin:5px 0;font-size:15px}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

.note{background:var(--accent-tint);border-left:3px solid var(--accent);padding:12px 16px;
  border-radius:0 6px 6px 0;font-size:15px;color:var(--dim);margin:16px 0}

.related{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 0;padding:0;list-style:none}
.related li{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:7px 16px;font-size:14px}
.related a{text-decoration:none}
.related a:hover{text-decoration:underline}

footer.site{border-top:1px solid var(--border);background:var(--panel);padding:28px 0 40px;
  margin-top:24px;font-size:14px;color:var(--muted)}
footer.site a{color:var(--dim);text-decoration:none;margin-right:16px;display:inline-block}
footer.site a:hover{text-decoration:underline}
footer.site .legal{margin-top:14px;line-height:1.8}
footer.site .legal a{margin-right:0}

@media (max-width:560px){
  tbody th{width:auto;white-space:normal}
  .hero{padding:38px 0 30px}
}
