/* 리셋 · 서체 · 링크 · 포커스 */
*{box-sizing:border-box}
body{margin:0;font-family:Pretendard,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:var(--text-base);line-height:var(--leading-normal)}
a{color:inherit;text-decoration:none}
h1{font-size:var(--text-2xl);margin:var(--space-1) 0 var(--space-4)}
h1,h2,h3{text-wrap:balance}
button,.btn,a{touch-action:manipulation}
code{font-size:var(--text-sm)}
/* 키보드 포커스 — 마우스로 누를 때는 안 보이고 Tab 으로 올 때만 */
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}

/* 본문 바로가기 — Tab 을 처음 누르면 보인다 */
.skip-link{position:absolute;left:var(--space-2);top:-100px;z-index:50;background:var(--card);color:var(--brand);padding:var(--space-2) var(--space-3);border-radius:var(--r);font-weight:700}
.skip-link:focus{top:var(--space-2)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* 최소 유틸 */
.mut{color:var(--mut)}.neg{color:var(--neg-ink)}.pos{color:var(--pos-ink)}
.sp{flex:1}
.m-0{margin:0}.mb-0{margin-bottom:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}
.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}
.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}
.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-2xl{font-size:var(--text-2xl)}
.fw-normal{font-weight:400}.fw-medium{font-weight:500}
.ta-c{text-align:center}.ta-r{text-align:right}.nowrap{white-space:nowrap}
.lh-loose{line-height:var(--leading-loose)}
.w-full{width:100%}
.inline{display:inline}
.link{color:var(--brand);font-weight:600}
.is-hidden{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
