/* 0.2: language is a primary navigation choice, including on touch screens. */
.language-menu { position: relative; flex-shrink: 0; z-index: 30; }
.language-menu summary { list-style: none; min-height: 44px; display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; font-size: 12px; }
.language-menu summary::-webkit-details-marker { display: none; }
.language-menu nav { position: absolute; inset-inline-end: 0; top: calc(100% + 7px); min-width: 165px; padding: 6px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 26px #13241b25; }
.language-menu nav a { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 10px; border-radius: 6px; font-size: 13px; }
.language-menu nav a:hover, .language-menu nav a[aria-current] { color: var(--blue); background: #e9edfb; }
.translation-notice, .notice { background: #f1e9d5; color: #6d5120; border-radius: 9px; padding: 12px 16px; font-size: 13px; margin-block: 14px; }
.notice { width: min(var(--width), calc(100% - 32px)); margin-inline: auto; }
html[lang="zh-CN"], html[lang="ja"] { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans CJK SC", "Noto Sans CJK JP", "PingFang SC", "Hiragino Kaku Gothic ProN", "Microsoft YaHei", sans-serif; }
html:not([lang="en"]) h1, html:not([lang="en"]) h2, html:not([lang="en"]) h3 { letter-spacing: -.025em; line-height: 1.3; text-wrap: balance; }
html:not([lang="en"]) em { font-family: inherit; font-style: normal; font-weight: 500; letter-spacing: -.025em; }
html:not([lang="en"]) .hero h1 { font-size: clamp(42px, 4.8vw, 66px); }
html[lang="ja"] .hero h1 { font-size: clamp(36px, 4.2vw, 57px); }
html:not([lang="en"]) .hero h1 em { letter-spacing: -.025em; }
html:not([lang="en"]) .hero-description { font-size: 16px; }
html:not([lang="en"]) .eyebrow { letter-spacing: 1px; }
html:not([lang="en"]) .features h3 { font-size: 22px; }
html:not([lang="en"]) .screen-text { font-size: 18px; line-height: 1.3; }
html:not([lang="en"]) .together h2 { font-size: 38px; }
html:not([lang="en"]) .card-meta { text-transform: none; letter-spacing: 0; }
.snapshot-row > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.playing-page .language-menu summary { border-color: #566550; color: #edf1e7; }
.playing-page .language-menu nav a { color: var(--ink); }
@media (max-width: 950px) {
  .site-header { height: auto; min-height: 105px; display: grid; grid-template-columns: 1fr auto auto; gap: 10px 12px; padding-block: 16px 10px; }
  .site-header .main-nav { display: flex; grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; gap: 8px 24px; }
  .main-nav a { display: inline-flex; align-items: center; min-height: 40px; font-size: 13px; }
  .site-header .collection-link { grid-column: 2; grid-row: 1; }
  .site-header .language-menu { grid-column: 3; grid-row: 1; }
}
@media (max-width: 480px) {
  .site-header { gap: 4px 8px; }
  .site-header .collection-link { padding: 9px 10px; min-width: 42px; min-height: 44px; }
  .collection-link > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .language-menu summary { font-size: 11px; padding-inline: 8px; }
  .brand { font-size: 22px; gap: 6px; }
  .brand img { width: 27px; height: 27px; }
  .hero-points { flex-wrap: wrap; font-size: 10px; }
  html:not([lang="en"]) .hero h1 { font-size: 43px; }
  html[lang="ja"] .hero h1 { font-size: 35px; }
  html:not([lang="en"]) .prose h1 { font-size: 38px; }
  .player-header { flex-wrap: wrap; }
  #gamepad-status { order: 3; flex-basis: 100%; }
}
