/* 법률·안내 페이지 공용 스타일 — 토큰은 랜딩/앱과 동일하다 */
:root{
  --canvas:#e9ebee; --card:#fdfdfe; --inner:#f2f3f5;
  --ink:#1e2126; --sub:#6a7078; --faint:#a2a8b0; --hair:#e7e9ec;
  --red:#e8543f; --red-soft:#fdeeec; --text:#3d434b; --line:#c9cdd3;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --r:18px;
  --fs-xs:11px; --fs-sm:13px; --fs-md:14px;
  --fs-base:16px; --fs-lg:19px; --fs-xl:24px; --fs-h1:30px;
  --shadow:0 1px 2px rgba(23,26,31,.03), 0 14px 40px -12px rgba(23,26,31,.10);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;overflow-y:scroll}
html,body{overflow-x:hidden}
body{font-family:'Inter Tight','Apple SD Gothic Neo',-apple-system,sans-serif;
     background:var(--canvas);color:var(--ink);font-size:var(--fs-base);line-height:1.62;
     -webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:6px}

.wrap{max-width:760px;margin:0 auto;padding:0 24px}

/* 헤더 — 랜딩과 같은 마크 */
header{position:sticky;top:0;z-index:50;background:rgba(233,235,238,.88);
       -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.hd{display:flex;align-items:center;gap:12px;padding:14px 0;max-width:760px;margin:0 auto;padding-left:24px;padding-right:24px}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.mark{width:30px;height:30px;border-radius:10px;background:var(--ink);display:flex;
      align-items:center;justify-content:center;gap:3px;flex-shrink:0}
.mark i{display:block;width:3px;background:#fff;border-radius:2px}
.mark i:nth-child(1){height:7px}.mark i:nth-child(2){height:14px}.mark i:nth-child(3){height:10px}
.logo b{font-size:var(--fs-md);font-weight:600;letter-spacing:-.3px}
.hd .sp{margin-left:auto}
.hd a.back{font-size:var(--fs-sm);color:var(--sub);text-decoration:none;font-weight:500}
.hd a.back:hover{color:var(--ink)}

/* 본문 */
main{padding:56px 0 96px}
h1{font-size:var(--fs-h1);font-weight:700;letter-spacing:-.8px;line-height:1.15;text-wrap:balance}
.updated{font-family:var(--mono);font-size:var(--fs-xs);color:var(--faint);
         letter-spacing:.1em;text-transform:uppercase;margin-top:14px}
.lede{font-size:var(--fs-lg);color:var(--text);margin-top:24px;line-height:1.5}

h2{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.4px;margin:52px 0 4px;
   display:flex;align-items:baseline;gap:12px;text-wrap:balance}
h2 em{font-family:var(--mono);font-size:var(--fs-sm);font-style:normal;color:var(--faint);
      font-weight:500;flex-shrink:0}
h3{font-size:var(--fs-base);font-weight:600;margin:28px 0 2px;letter-spacing:-.2px}
p{color:var(--text);margin-top:12px}
ul{color:var(--text);margin:12px 0 0;padding-left:20px}
li{margin-top:7px}
strong{color:var(--ink);font-weight:600}
code{font-family:var(--mono);font-size:.88em;background:var(--inner);
     padding:2px 6px;border-radius:5px;color:var(--ink)}
a.lnk{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);
      text-underline-offset:3px}
a.lnk:hover{text-decoration-color:var(--red)}

hr{border:0;border-top:1px solid var(--hair);margin:52px 0 0}

/* 강조 박스 */
.note{background:var(--card);border:1px solid var(--hair);border-radius:var(--r);
      padding:20px 22px;margin-top:22px;box-shadow:var(--shadow)}
.note.hot{background:var(--red-soft);border-color:#f6d8d3}
.note h3{margin-top:0}
.note p:first-child{margin-top:0}

/* 표 */
.tblwrap{overflow-x:auto;margin-top:20px;border:1px solid var(--hair);
         border-radius:var(--r);background:var(--card);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:var(--fs-md)}
th,td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--hair);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
th{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;
   color:var(--faint);font-weight:500;background:var(--inner)}
td{color:var(--text)}
td:first-child{color:var(--ink);font-weight:500;white-space:nowrap}

/* 푸터 */
footer{border-top:1px solid var(--hair);padding:26px 0 44px}
.ft{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
    font-size:var(--fs-sm);color:var(--faint)}
.ft a{text-decoration:none}
.ft a:hover{color:var(--ink)}
.ft .sp{margin-left:auto}

@media (max-width:640px){
  :root{--fs-h1:26px; --fs-xl:20px}
  main{padding:40px 0 72px}
  .wrap,.hd{padding-left:18px;padding-right:18px}
  h2{gap:9px}
  .ft .sp{display:none}
  .ft{gap:12px}
}
