@font-face {
  font-family: "JijiCat SC";
  src: url("/assets/fonts/jijicat-sc-regular.woff2?v=5.11") format("woff2");
  font-style: normal;
  font-weight: 100 500;
  font-display: swap;
  unicode-range: U+2E80-9FFF, U+F900-FAFF, U+FF00-FFEF;
}
@font-face {
  font-family: "JijiCat SC";
  src: url("/assets/fonts/jijicat-sc-bold.woff2?v=5.11") format("woff2");
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
  unicode-range: U+2E80-9FFF, U+F900-FAFF, U+FF00-FFEF;
}
body {font-family: "Onest", "JijiCat SC", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;}
.language-switch {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 2px;
  padding: 3px;
  margin-left: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(var(--surface-rgb), .66);
}
.language-switch > svg {width: 17px; height: 17px; margin-inline: 7px 3px; fill:none; stroke:var(--ink-soft); stroke-width:1.6;}
.language-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 35px;
  min-height: 36px;
  padding-inline: 7px;
  border-radius: 999px;
  color: var(--ink-soft);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.language-switch a:hover {color:var(--ink);background:rgba(var(--peach-rgb), .62);}
.language-switch a[aria-current="true"] {background:var(--ink);color:var(--bg);}
@media (max-width:1100px) {.primary-nav .theme-toggle::before {content: attr(data-theme-label);}}
:lang(zh) h1, :lang(zh) h2, :lang(zh) h3 {letter-spacing: -.025em; line-height: 1.15; word-break: normal; overflow-wrap: break-word;}
:lang(zh) .eyebrow {letter-spacing: .06em;}
:lang(zh) .hero h1 {max-width: 5.3em;line-height:1.12;}
:lang(zh) .hero h1 em {display:inline;}
:lang(zh) .legal-hero h1 {line-height:1.2;letter-spacing:0;}
:lang(zh) .legal-document {line-break:strict;}
:lang(en) .hero h1 {max-width: 8.5ch;}
.error-main {min-height:calc(100svh - var(--header-height));display:grid;align-items:center;padding-block:80px;}
.error-layout {display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;}
.error-copy h1 {font-size:clamp(3rem,6.4vw,6rem);max-width:11ch;}
.error-copy > p:not(.eyebrow) {max-width:480px;margin:25px 0 30px;font-size:1.05rem;}
.error-art {position:relative;min-height:390px;display:grid;place-items:center;isolation:isolate;}
.error-art::before {content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(var(--peach-rgb),.9),transparent 70%);z-index:-1;}
.error-art .error-number {position:absolute;top:0;left:0;right:0;text-align:center;font-size:clamp(8rem,19vw,16rem);font-weight:850;letter-spacing:-.075em;line-height:1;color:rgba(var(--ink-rgb),.10);}
.error-art img {width:190px;height:190px;margin-top:110px;filter:drop-shadow(0 25px 22px rgba(30,20,20,.16));transform:rotate(-8deg);}
.error-art small {position:absolute;bottom:0;letter-spacing:.2em;font-weight:600;font-size:.66rem;color:var(--ink-soft);}
:lang(zh) .error-copy h1 {max-width:6em;}
@media (max-width:1100px) {
  .language-switch {margin:4px 0 0;padding:4px 9px;justify-content:space-between;border-radius:12px;}
  .language-switch a {min-height:44px;flex:1;border-radius:9px;}
  .language-switch > svg {margin-inline:7px 12px;}
}
@media (max-width:700px) {
  .error-main {padding-block:45px 60px;}
  .error-layout {grid-template-columns:1fr;gap:38px;}
  .error-art {grid-row:1;min-height:210px;}
  .error-art img {width:115px;height:115px;margin-top:75px;}
  .error-art .error-number {font-size:clamp(8rem,43vw,11rem);}
  .error-copy h1 {font-size:clamp(2.8rem,13vw,4rem);max-width:13ch;}
  .error-copy .button {min-height:52px;}
  :lang(zh) .hero h1 {max-width:5.1em;}
}
@media print {.language-switch {display:none;}}
/* Spoken language-change feedback, without moving the visible layout. */
.language-status {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.language-switch[aria-busy="true"] {cursor:progress;}
