/* Shared shell: navigation, footer, accessible base (Scholar tokens). */
.td-shell { margin: 0; color: var(--sc-ink, #1a1a1a); background: var(--sc-bg, #fff); font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.td-shell *, .td-shell *::before, .td-shell *::after { box-sizing: border-box; }

.td-shell .ss-skip-link { position: fixed; inset: .5rem auto auto .5rem; z-index: 100; padding: .7rem 1rem; color: #fff; background: #1a1a1a; transform: translateY(-160%); }
.td-shell .ss-skip-link:focus { transform: translateY(0); }

.td-site-nav { border-bottom: 1px solid var(--sc-rule, #e5e5e5); background: var(--sc-bg, #fff); }
.td-site-nav__inner { display: grid; grid-template-columns: minmax(10rem, 1fr) auto auto; align-items: center; gap: 1.25rem; width: min(calc(100% - 2.5rem), var(--sc-max, 880px)); min-height: 60px; margin: 0 auto; }
.td-site-nav__brand { color: var(--sc-ink, #1a1a1a); font-weight: 700; text-decoration: none; }
.td-site-nav__links { display: flex; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.td-site-nav .nav-link, .td-site-nav .language-option { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .6rem; color: var(--sc-muted, #555); text-decoration: none; }
.td-site-nav .nav-link:hover, .td-site-nav .language-option:hover { color: var(--sc-ink, #1a1a1a); text-decoration: underline; text-underline-offset: .25rem; }
.td-site-nav .nav-link[aria-current="page"], .td-site-nav .nav-link[aria-current="location"], .td-site-nav .language-option[aria-current="page"] { color: var(--sc-ink, #1a1a1a); font-weight: 600; }
.td-site-nav .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.td-site-nav .language-switch { display: flex; align-items: center; gap: .15rem; color: var(--sc-muted, #555); white-space: nowrap; }
.td-site-nav a:focus-visible { outline: 2px solid var(--sc-link, #1a56db); outline-offset: 2px; }

.td-site-footer { margin-top: 3rem; border-top: 1px solid var(--sc-rule, #e5e5e5); }
.td-site-footer__inner { display: grid; grid-template-columns: 1fr auto; gap: .75rem 2rem; width: min(calc(100% - 2.5rem), var(--sc-max, 880px)); margin: 0 auto; padding: 1.5rem 0 2rem; color: var(--sc-muted, #555); font-size: .95rem; }
.td-site-footer__inner p { margin: .2rem 0 0; }
.td-site-footer__links { display: flex; gap: 1rem; align-items: flex-start; }
.td-site-footer__links a { color: var(--sc-link, #1a56db); }
.td-site-footer__meta { grid-column: 1 / -1; }

@media (max-width: 700px) {
  .td-site-nav__inner { grid-template-columns: 1fr auto; gap: 0 .5rem; padding: .3rem 0; }
  .td-site-nav__links { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; border-top: 1px solid var(--sc-rule, #e5e5e5); }
  .td-site-nav .nav-link { padding: .5rem .35rem; }
  .td-site-footer__inner { grid-template-columns: 1fr; }
}
