.language-select { position:absolute; z-index:46; top:20px; left:16px; max-width:135px; padding:7px 10px; border:1px solid var(--card-edge,#bdb6a7); border-radius:20px; background:var(--card,#fff); color:var(--text,#252f2b); font:12px/1.4 system-ui,sans-serif; }
/* 语言与外观共用右下角尺寸和边距，保持原生语言选择交互。 */
body:has(#theme-fab) { --utility-edge:24px; --utility-height:44px; }
body:has(#theme-fab) .language-select,
body:has(#theme-fab) .home-fab,
body:has(#theme-fab) .theme-fab {
  position:fixed; box-sizing:border-box; width:86px; max-width:none;
  height:var(--utility-height); right:max(var(--utility-edge), env(safe-area-inset-right));
  left:auto; top:auto; transform:none; padding:0 12px; border-radius:24px;
  box-shadow:0 6px 24px #0001; z-index:40;
}
body:has(#theme-fab) .theme-fab { bottom:max(var(--utility-edge), env(safe-area-inset-bottom)); justify-content:center; }
body:has(#theme-fab) .language-select { bottom:calc(max(var(--utility-edge), env(safe-area-inset-bottom)) + var(--utility-height) + 10px); cursor:pointer; }
body:has(#theme-fab) .home-fab { bottom:calc(max(var(--utility-edge), env(safe-area-inset-bottom)) + 2 * (var(--utility-height) + 10px)); display:flex; align-items:center; justify-content:center; border:1px solid var(--card-edge); background:var(--card); color:var(--text); font:12px/1.4 system-ui,sans-serif; text-decoration:none; white-space:nowrap; }
.home-fab:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
html:not([lang^="zh"]) { --font:system-ui,-apple-system,"Noto Sans",sans-serif; --display-font:Georgia,"Yu Mincho","Malgun Gothic",serif; }
html[lang^="ja"] { --font:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
html[lang^="ko"] { --font:"Apple SD Gothic Neo","Malgun Gothic",sans-serif; --display-font:var(--font); }
html:not([lang^="zh"]) .hero-intro h2 { letter-spacing:0; font-size:clamp(30px,3.4vw,48px); }
html:not([lang^="zh"]) .app-header h1 { letter-spacing:1px; }
html:not([lang^="zh"]) .theme-family { grid-template-columns:minmax(90px,1fr) minmax(0,1fr) minmax(0,1fr); }
html:not([lang^="zh"]) .family-label b { overflow-wrap:anywhere; }
.source-notice { font-size:12px; color:var(--muted); margin:8px 0; line-height:1.6; }
html[lang^="en"] .hex-row { gap:12px; }
html[lang^="en"] .hex-block { min-width:0; overflow-wrap:anywhere; }
html[lang^="en"] .hex-block h2 { font-size:clamp(17px,2.4vw,22px); line-height:1.4; }
html[lang^="en"] .hex-block .tag { font-size:12px; }
.account-nav #btn-login { max-width: min(180px, calc(100vw - 200px)); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html:not([lang^="zh"]) .quota-grid > div { flex-wrap:wrap; }
html:not([lang^="zh"]) .auth-tabs { gap:4px; }
html:not([lang^="zh"]) .auth-tab { white-space:normal; }
html:not([lang^="zh"]) .tag { display:block; margin-left:0; line-height:1.6; }
.ai-history-list button { overflow-wrap:anywhere; white-space:normal; }
#detail-source-notice { flex-shrink:0; margin:0 0 14px; font-size:12px; line-height:1.5; opacity:.72; }
@media(max-width:600px) {
  body:has(#theme-fab) { --utility-edge:16px; }
  body:has(.family) main { padding-top:120px; }
  html:not([lang^="zh"]) .quota-grid { grid-template-columns:1fr; }
  html:not([lang^="zh"]) .quota-grid > div { display:flex; flex-wrap:nowrap; justify-content:space-between; gap:8px; }
  .language-select { top:62px; left:50%; transform:translateX(-50%); }
  .screen { padding-top:100px; }
  html:not([lang^="zh"]) .screen { padding-left:16px; padding-right:16px; }
  html:not([lang^="zh"]) .hero-intro > p { width:70%; }
  html:not([lang^="zh"]) .theme-sheet .modal-box { padding:24px 16px; }
  html:not([lang^="zh"]) .theme-swatch { width:20px; }
  html:not([lang^="zh"]) .step-note { max-width:45%; text-align:right; }
}
