/* R57 answer-2: optional + an identical preload URL prevents late font swaps.
 * Local Latin faces use per-platform metrics; CJK/Persian stay native/unscaled. */
@font-face {
  font-family: "Sky Inter Latin";
  src: url("/src/font/inter/sky-inter-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-display: optional;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Sky Inter Mac";
  src: local("HelveticaNeue"), local("Helvetica Neue");
  font-weight: 100 499;
  size-adjust: 105.215%;
  ascent-override: 92.0734%;
  descent-override: 22.9255%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Sky Inter Mac";
  src: local("HelveticaNeue-Bold"), local("Helvetica Neue Bold");
  font-weight: 500 900;
  size-adjust: 102.1891%;
  ascent-override: 94.7997%;
  descent-override: 23.6044%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Sky Inter Windows";
  src: local("ArialMT"), local("Arial");
  font-weight: 100 499;
  size-adjust: 105.4233%;
  ascent-override: 91.8915%;
  descent-override: 22.8802%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Sky Inter Windows";
  src: local("Arial-BoldMT"), local("Arial Bold");
  font-weight: 500 900;
  size-adjust: 102.101%;
  ascent-override: 94.8815%;
  descent-override: 23.6247%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Sky Inter Android";
  src: local("Roboto-Regular"), local("Roboto");
  font-weight: 100 499;
  size-adjust: 106.9936%;
  ascent-override: 90.5428%;
  descent-override: 22.5444%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Sky Inter Android";
  src: local("Roboto-Bold"), local("Roboto Bold");
  font-weight: 500 900;
  size-adjust: 108.1073%;
  ascent-override: 89.6101%;
  descent-override: 22.3122%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:where(.sky-ds) {
  --sky-font-family: "Sky Inter Latin", "Sky Inter Mac", "Sky Inter Windows", "Sky Inter Android", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans", sans-serif;
}
:where(.sky-ds), :where(.sky-ds) * { box-sizing: border-box; }
:where(.sky-ds) body {
  margin: 0;
  color: var(--sky-text);
  background: var(--sky-bg);
  font-family: var(--sky-font-family);
  font-size: var(--sky-font-md);
  font-weight: var(--sky-weight-regular);
  line-height: var(--sky-line-md);
}
:where(.sky-ds) :is(button, input, select, textarea) { font: inherit; }
:where(.sky-ds) :is(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,figure) { margin: 0; }
:where(.sky-ds) :is(h1,h2,h3,h4,h5,h6) { color: var(--sky-text-strong); }
:where(.sky-ds) h1 { font-size: var(--sky-font-3xl); line-height: var(--sky-line-3xl); font-weight: var(--sky-weight-semibold); }
:where(.sky-ds) h2 { font-size: var(--sky-font-2xl); line-height: var(--sky-line-2xl); font-weight: var(--sky-weight-semibold); }
:where(.sky-ds) h3 { font-size: var(--sky-font-lg); line-height: var(--sky-line-lg); font-weight: var(--sky-weight-semibold); }
:where(.sky-ds) :is(h4,h5,h6) { font-size: var(--sky-font-md); line-height: var(--sky-line-md); font-weight: var(--sky-weight-semibold); }
:where(.sky-ds) :is(small,.sky-caption) { font-size: var(--sky-font-sm); line-height: var(--sky-line-sm); color: var(--sky-text-2); }
:where(.sky-ds) a { color: var(--sky-link); text-decoration: none; }
:where(.sky-ds) a:hover { text-decoration: underline; }
:where(.sky-ds) :is(button,[role="button"],a,input,select,textarea,summary):focus-visible,
:where(.sky-ds) .is-focus {
  outline: 2px solid var(--sky-focus-color);
  outline-offset: 2px;
  box-shadow: var(--sky-focus-ring);
}
:where(.sky-ds) .sky-tabular { font-variant-numeric: tabular-nums; }
:where(.sky-ds) .sky-prose { max-width: 42em; overflow-wrap: anywhere; }
:where(.sky-ds) .sky-muted { color: var(--sky-text-2); }
:where(.sky-ds) .sky-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
:where(.sky-ds) [hidden] { display: none; }
:where(.sky-ds) .sky-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--sky-icon-md); height: var(--sky-icon-md); font-size: var(--sky-font-lg); line-height: var(--sky-line-lg); }
:where(.sky-ds)[dir="rtl"] .sky-directional { transform: scaleX(-1); }
/* SPEC §1.6: suppress every transition for the one-frame theme handover. */
:where(.sky-ds).sky-theme-changing *, :where(.sky-ds).sky-theme-changing *::before,
:where(.sky-ds).sky-theme-changing *::after { transition-duration: var(--sky-duration-zero); animation-duration: var(--sky-duration-zero); }
:where(.sky-ds)[data-reduced-motion="true"] *,
:where(.sky-ds)[data-reduced-motion="true"] *::before,
:where(.sky-ds)[data-reduced-motion="true"] *::after {
  transition-property: opacity, color, background-color, border-color;
  transition-duration: var(--sky-duration-reduced);
  animation: none;
  scroll-behavior: auto;
}
@media (prefers-reduced-motion: reduce) {
  :where(.sky-ds) *, :where(.sky-ds) *::before, :where(.sky-ds) *::after {
    transition-property: opacity, color, background-color, border-color;
    transition-duration: var(--sky-duration-reduced);
    animation: none;
    scroll-behavior: auto;
  }
}
