
  :root {
    --bg: #eae9e0;
    --surface: #f6f5ee;
    --surface-2: #ded9c8;
    --ink: #16212b;
    --ink-soft: #4b5560;
    --ink-faint: #7c8579;
    --line: #c9c6b8;
    --line-strong: #9a9686;
    --accent: #1a2e4a;
    --accent-ink: #0f1b2d;
    --accent-rgb: 26, 46, 74;
    --wordmark-filter: none;
    --trace-line-rgba: rgba(22,33,43,0.22);
    --brand-mark: #1a2e4a;
    --brand-mark-shadow: #dd9d47;
    color-scheme: light;
  }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
      --bg: #10151a; --surface: #171f26; --surface-2: #1e2831;
      --ink: #e8e6dc; --ink-soft: #aab0a3; --ink-faint: #737d72;
      --line: #313a35; --line-strong: #47524b;
      --accent: #dd9d47; --accent-ink: #f0c184; --accent-rgb: 221, 157, 71;
      --wordmark-filter: invert(1) brightness(1.15);
      --trace-line-rgba: rgba(230,228,220,0.22);
      --brand-mark: #dd9d47;
      --brand-mark-shadow: #1e5fd9;
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"] {
    --bg: #10151a; --surface: #171f26; --surface-2: #1e2831;
    --ink: #e8e6dc; --ink-soft: #aab0a3; --ink-faint: #737d72;
    --line: #313a35; --line-strong: #47524b;
    --accent: #dd9d47; --accent-ink: #f0c184; --accent-rgb: 221, 157, 71;
    --wordmark-filter: invert(1) brightness(1.15);
    --trace-line-rgba: rgba(230,228,220,0.22);
      --brand-mark: #dd9d47;
      --brand-mark-shadow: #1e5fd9;
    color-scheme: dark;
  }
  :root[data-theme="light"] {
    --bg: #eae9e0; --surface: #f6f5ee; --surface-2: #ded9c8;
    --ink: #16212b; --ink-soft: #4b5560; --ink-faint: #7c8579;
    --line: #c9c6b8; --line-strong: #9a9686;
    --accent: #1a2e4a; --accent-ink: #0f1b2d; --accent-rgb: 26, 46, 74;
    --wordmark-filter: none;
    --trace-line-rgba: rgba(22,33,43,0.22);
    --brand-mark: #1a2e4a;
    --brand-mark-shadow: #dd9d47;
    color-scheme: light;
  }


:root{--soft:var(--ink-soft)}
nav.top{position:sticky;top:0;z-index:10;display:block;padding:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',-apple-system,sans-serif;line-height:1.7}
nav.top .wrap{max-width:1040px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
nav.top .brand{flex-shrink:0}
nav.top .navlinks{display:flex;flex:1;justify-content:flex-end;gap:1.4rem;list-style:none;margin:0;padding:0;font-size:.88rem}
nav.top .navlinks li{margin:0;padding:0}
nav.top .navlinks a{text-decoration:none;color:var(--ink-soft)}
nav.top .navlinks a:hover{color:var(--ink)}
nav.top .theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-size:1rem;line-height:1;margin:0;transition:border-color .15s,transform .15s}
nav.top .theme-toggle:hover{border-color:var(--accent);transform:translateY(-1px)}
nav.top a:focus-visible,nav.top button:focus-visible,.site-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
footer.site-footer{max-width:none;margin:0;padding:2.5rem 1.5rem;text-align:center;color:var(--ink-faint);font-size:.8rem;line-height:1.7;border:0;font-family:'SF Mono','Consolas','Menlo','D2Coding',ui-monospace,monospace}
footer.site-footer>div{max-width:1040px;margin:0 auto}
#contact{scroll-margin-top:5rem}
@media(max-width:420px){nav.top .wrap{padding:.85rem .8rem;gap:.6rem}nav.top .navlinks{gap:0}}

/* Links to other pages; home is reached through the brand. */
nav.top .navlinks a{white-space:nowrap}@media(max-width:620px){nav.top .wrap{flex-wrap:wrap;row-gap:.6rem}nav.top .theme-toggle{margin-left:auto}nav.top .navlinks{order:3;flex:0 0 100%;gap:1.2rem;justify-content:flex-end}#contact{scroll-margin-top:7.5rem}}

/* Stable primary navigation with current-page indication. */
nav.top .navlinks a{display:inline-block;padding:.2rem 0;border-bottom:2px solid transparent;font-weight:600}nav.top .navlinks a[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent)}
