/* CHEELAI responsive UI. These are product choices, not Apple/Android mandated sizes.
   Widths are CSS viewport widths, never device resolution or user-agent names.
   rem preserves browser text preferences; the Safari probe only enlarges the base. */
html {
  font-size:max(106.25%,var(--owner-system-body-size,0px));
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
}
:root {
  /* Native regular-script families only; absent fonts fall back to system UI.
     No web font files, font downloads, or runtime font enumeration. */
  --font-native-kai:"Kaiti SC","STKaiti","KaiTi","KaiTi_GB2312","Kaiti TC","楷体",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  --ui-size-class:compact;
  --type-brand-tagline:1.117647rem;        /* Brand promise: readable, below headline */
  --type-body:1.058824rem;                 /* 17 at the default browser setting */
  --type-subhead:.941176rem;        /* 15 */
  --type-footnote:var(--type-subhead);
  --type-caption:.823529rem;        /* 13, incidental labels only */
  --type-menu:1.058824rem;           /* 18 */
  --type-large-title:1.764706rem;    /* 30 */
  --type-title-1:1.411765rem;
  --type-title-2:1.294118rem;
  --type-title-3:1.176471rem;
  --control-min:2.588236rem;         /* at least 44 CSS px */
  --menu-row-min:3.294118rem;
  --menu-row-padding:.823529rem;
  --page-gutter:1.058824rem;
  --page-section-gap:1.823529rem;
  --sidebar-width:17rem;
  --reading-width:42em;
  /* Spacing rhythm; values scale with the reader's text setting. */
  --space-1:.235294rem; --space-2:.470588rem; --space-3:.705882rem;
  --space-4:.941176rem; --space-6:1.411765rem; --space-8:1.882353rem;
  --space-12:2.823529rem; --space-16:3.764706rem;
}
/* Roomier phone windows; a narrow desktop window uses this same class. */
@media (min-width:23.75em) {
  :root {
    --ui-size-class:phone;
    --type-brand-tagline:1.176471rem;
    --type-body:1.117647rem; --type-menu:1.117647rem;
    --type-large-title:2rem; --type-title-1:1.529412rem;
    --page-gutter:1.411765rem;
  }
}
/* Tablet / unfolded / split-window space, independent of the hardware brand. */
@media (min-width:37.5em) {
  :root {
    --ui-size-class:medium;
    --type-brand-tagline:1.058824rem;
    --type-body:1.058824rem; --type-subhead:.941176rem;
    --type-caption:.823529rem; --type-menu:1.176471rem;
    --type-large-title:2.352941rem; --type-title-1:1.647059rem;
    --type-title-2:1.411765rem; --type-title-3:1.235294rem;
    --menu-row-min:3.529412rem; --menu-row-padding:.941176rem;
    --page-gutter:1.882353rem; --page-section-gap:2.352941rem;
  }
}
/* Persistent directory begins only when both it and the content fit. */
@media (min-width:64em) {
  :root {
    --ui-size-class:wide;
    --type-brand-tagline:1.117647rem;
    --type-large-title:2.588235rem; --type-title-1:1.764706rem;
    --page-gutter:2.352941rem; --page-section-gap:2.823529rem;
  }
}
@media (min-width:90em) {
  :root {
    --ui-size-class:large;
    --type-brand-tagline:1.176471rem;
    --type-body:1.117647rem; --type-subhead:1rem;
    --type-caption:.882353rem; --type-menu:1.235294rem;
    --type-large-title:2.823529rem; --type-title-1:1.882353rem;
    --type-title-2:1.529412rem; --type-title-3:1.294118rem;
    --sidebar-width:18rem;
    --page-gutter:3.294118rem; --page-section-gap:3.294118rem;
  }
}
/* Hybrid laptops retain touch affordances even when a mouse is connected. */
@media (any-pointer:coarse) {
  :root { --control-min:max(48px,2.823530rem); }
}
