/* Self-contained sizing: the page reset loads only after the first cinematic. */
.site-language, .site-language *, .site-language *::before, .site-language *::after { box-sizing: border-box; }
.site-language { position: relative; color: inherit; flex: 0 0 auto; font: 500 12px/20px 'IBM Plex Mono', sans-serif; }
.site-language summary { cursor: pointer; list-style: none; min-width: 40px; min-height: 44px; display: grid; place-items: center; }
.site-language summary::-webkit-details-marker { display: none; }
.site-language summary:focus-visible, .site-language a:focus-visible { outline: 2px solid #67d0e2; outline-offset: 2px; }
.site-language nav { position: absolute; top: 100%; right: 0; display: grid; min-width: 140px; padding: 8px; background: #f7fafb; border: 1px solid #c6d3d8; box-shadow: 0 10px 24px #0002; z-index: 120; }
.site-language nav a { display: block; min-height: 44px; padding: 12px; color: #0f172a !important; font-family: 'IBM Plex Sans', 'Noto Sans KR', 'Noto Sans SC', sans-serif; text-decoration: none; white-space: nowrap; }
.site-language nav a[aria-current] { background: #deebed; }
#intro-language { color: #eef3f3; }
#intro-language summary { font: 500 12px/20px 'IBM Plex Mono', monospace; padding: 0; }
body[data-gate="open"] #intro-language { display: none; }
.nav-shell > .site-language { margin-left: 12px; }
html:lang(ko) { --font-display: 'Noto Sans KR', sans-serif; --font-sans: 'Noto Sans KR', sans-serif; --font-mono: 'Noto Sans KR', monospace; word-break: keep-all; }
html:lang(zh) { --font-display: 'Noto Sans SC', sans-serif; --font-sans: 'Noto Sans SC', sans-serif; --font-mono: 'Noto Sans SC', monospace; }
html:lang(ko) h1, html:lang(ko) h2, html:lang(zh) h1, html:lang(zh) h2 { letter-spacing: -.035em; line-height: 1.15; }
html:lang(ko) .iceberg-underwater .layer-name, html:lang(zh) .iceberg-underwater .layer-name { font-size: 16px; }
html:lang(ko) .td-run-grid, html:lang(zh) .td-run-grid { font-family: var(--font-sans); }
@media (max-width: 960px) {
  .nav-shell > .site-language { margin-left: auto; margin-right: 8px; }
  .nav-shell .menu-toggle { margin-left: 0; }
}
@media (max-width: 680px) {
  html:lang(ko) .iceberg-underwater .layer-name, html:lang(zh) .iceberg-underwater .layer-name { font-size: 12px; }
  html:lang(es) .iceberg-underwater .layer-name { font-size: 12px; }
  html:lang(ko) .td-status p, html:lang(zh) .td-status p { flex-wrap: wrap; gap: 4px; }
}
