/* ─────────────────────────────────────────────────────────────
   Kardunas — shared styles for legal and support pages.
   No external requests: system font stack only, so no visitor
   IP is disclosed to a third-party font host.
   ───────────────────────────────────────────────────────────── */

:root{
  --bg:#06070a; --bg-soft:#0c0e14;
  --fg:#f2f4f8; --muted:#8b95a5;
  --line:rgba(255,255,255,.09); --line-strong:rgba(255,255,255,.16);
  --card:rgba(255,255,255,.025);
  --i1:#6366f1; --i2:#22d3ee; --i3:#a855f7;
  --wrap:min(1160px, 90vw);
  --prose:68ch;
  --ease:cubic-bezier(.22,1,.36,1);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",
         "Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;
}
html[data-theme="light"]{
  --bg:#fbfbfd; --bg-soft:#f2f3f7;
  --fg:#0b0d12; --muted:#5d6675;
  --line:rgba(10,12,20,.10); --line-strong:rgba(10,12,20,.18);
  --card:rgba(255,255,255,.7);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--sans); line-height:1.7; letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  transition:background .4s var(--ease), color .4s var(--ease);
}
.wrap{width:var(--wrap); margin-inline:auto}
a{color:var(--i2)}
html[data-theme="light"] a{color:#3549c9}
::selection{background:var(--i1); color:#fff}

/* ambient */
.aurora{position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden}
.aurora span{position:absolute; display:block; border-radius:50%; filter:blur(110px); opacity:.32}
.aurora .a{width:46vw;height:46vw; left:-16vw; top:-22vw; background:var(--i1)}
.aurora .b{width:38vw;height:38vw; right:-14vw; top:2vh; background:var(--i3)}
html[data-theme="light"] .aurora span{opacity:.2}
.vignette{position:fixed; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(120% 80% at 50% 0%, transparent 30%, var(--bg) 100%)}
main,header,footer{position:relative; z-index:2}

/* header */
header{position:sticky; top:0; z-index:50; border-bottom:1px solid transparent;
  transition:border-color .35s var(--ease), background .35s var(--ease)}
header.stuck{background:color-mix(in srgb, var(--bg) 74%, transparent);
  backdrop-filter:blur(16px) saturate(180%); border-bottom-color:var(--line)}
header .wrap{display:flex; align-items:center; gap:1rem; height:72px}
.brand{display:flex; align-items:center; gap:.6rem; text-decoration:none; font-weight:700;
  letter-spacing:-.03em; font-size:1.05rem; color:var(--fg)}
.mark{width:28px; height:28px; display:block; flex:none}
.mark svg{width:100%; height:100%; display:block}
/* Scoped to the header: a bare `nav` selector would also catch <nav class="toc">. */
header nav{margin-left:auto; display:flex; align-items:center; gap:.3rem}
header nav a.navlink{text-decoration:none; color:var(--muted); font-size:.88rem; font-weight:500;
  padding:.45rem .8rem; border-radius:8px; transition:color .2s, background .2s}
header nav a.navlink:hover{color:var(--fg); background:var(--card)}
header nav a.navlink[aria-current]{color:var(--fg)}
.iconbtn{border:1px solid var(--line); background:transparent; color:var(--muted);
  border-radius:999px; padding:.4rem .8rem; font:inherit; font-size:.78rem; font-weight:600;
  cursor:pointer; transition:.2s; margin-left:.4rem}
.iconbtn:hover{color:var(--fg); border-color:var(--line-strong); background:var(--card)}
@media (max-width:760px){ nav a.navlink{display:none} }

/* document */
.doc{padding:clamp(3rem,7vw,5.5rem) 0 clamp(4rem,9vw,7rem)}
.doc-head{margin-bottom:clamp(2.5rem,5vw,3.5rem); max-width:var(--prose)}
.kicker{font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--i2); display:block; margin-bottom:1rem}
h1{font-size:clamp(2rem,5vw,3.1rem); font-weight:800; letter-spacing:-.04em;
  line-height:1.1; margin:0 0 1.1rem}
.standfirst{font-size:1.06rem; color:var(--muted); margin:0}
.meta{margin-top:1.6rem; font-size:.82rem; color:var(--muted);
  border-top:1px solid var(--line); padding-top:1.1rem}
.meta b{color:var(--fg); font-weight:600}

.doc-body{max-width:var(--prose)}
.doc-body section{margin-bottom:2.8rem; scroll-margin-top:90px}
h2{font-size:1.25rem; font-weight:700; letter-spacing:-.025em; line-height:1.3; margin:0 0 .9rem}
h2 .n{color:var(--muted); font-weight:600; margin-right:.55rem; font-variant-numeric:tabular-nums}
h3{font-size:1rem; font-weight:700; letter-spacing:-.02em; margin:1.6rem 0 .5rem}
p{margin:0 0 1rem}
.doc-body ul, .doc-body ol{margin:0 0 1rem; padding-left:1.25rem}
.doc-body li{margin-bottom:.5rem}
.doc-body li::marker{color:var(--muted)}
strong{font-weight:600}

dl.facts{display:grid; grid-template-columns:max-content 1fr; gap:.7rem 1.8rem;
  margin:0 0 1rem; font-size:.95rem}
dl.facts dt{color:var(--muted); font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:700; padding-top:.3rem}
dl.facts dd{margin:0}
@media (max-width:560px){ dl.facts{grid-template-columns:1fr; gap:.15rem}
  dl.facts dd{margin-bottom:.9rem} }

.callout{border:1px solid var(--line); border-left:3px solid var(--i1);
  border-radius:0 12px 12px 0; padding:1.2rem 1.4rem; background:var(--card); margin:0 0 1.2rem}
.callout p:last-child{margin-bottom:0}

/* table of contents */
.toc{border:1px solid var(--line); border-radius:14px; background:var(--card);
  padding:1.3rem 1.5rem; margin-bottom:3rem; max-width:var(--prose)}
.toc h2{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin-bottom:.8rem}
.toc ol{margin:0; padding-left:1.2rem; columns:2; column-gap:2rem}
.toc li{margin-bottom:.35rem; font-size:.9rem; break-inside:avoid}
.toc a{color:var(--fg); text-decoration:none; opacity:.8}
.toc a:hover{opacity:1; text-decoration:underline}
@media (max-width:620px){ .toc ol{columns:1} }

/* footer */
footer{border-top:1px solid var(--line); padding:3rem 0 4rem; font-size:.85rem; color:var(--muted)}
.foot-top{display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; margin-bottom:2rem}
.foot-nav{display:flex; flex-wrap:wrap; gap:1.5rem; margin-left:auto}
.foot-nav a{text-decoration:none; color:var(--muted); transition:color .2s}
.foot-nav a:hover{color:var(--fg)}
@media (max-width:560px){ .foot-nav{margin-left:0; width:100%} }
.legal{line-height:1.95; max-width:80ch}
.legal strong{color:var(--fg); font-weight:600}
.legal a{color:inherit}
.sep{opacity:.35; margin-inline:.55rem}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important; transition-duration:.01ms !important}
}
