/* Adaptation of Tailark OSS (MIT). See HOME-NOTICES.txt for copyright and licence. */
:root {
  color-scheme: light;
  --home-ink: #111318;
  --home-muted: #606774;
  --home-brand: #005BFF;
  --home-brand-hover: #004BD1;
  --home-brand-pressed: #003DAA;
  --home-brand-soft: #edf3ff;
  --home-brand-line: #cbdcff;
  --home-bg: #ffffff;
  --home-soft: #f6f7f9;
  --home-line: #dde1e7;
  --home-focus: var(--home-brand);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-block-start: 1.5rem; }
body { margin: 0; background: var(--home-bg); color: var(--home-ink); font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", system-ui, sans-serif; font-size: 1rem; line-height: 1.6; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button, summary { cursor: pointer; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--home-brand); }
::selection { background: var(--home-brand-soft); color: var(--home-ink); }
:focus-visible { outline: 3px solid var(--home-focus); outline-offset: 4px; }
[tabindex="-1"]:focus { outline: 3px solid var(--home-focus); outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(100% - 3rem, 68rem); margin-inline: auto; }
.skip-link { position: absolute; inset-block-start: .5rem; inset-inline-start: 1rem; z-index: 20; padding: .75rem 1rem; border-radius: .5rem; background: white; color: var(--home-ink); transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.home-header { width: min(100% - 3rem, 72rem); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 1rem; }
.brand { display: inline-flex; align-items: center; min-height: 44px; flex: 0 0 auto; }
.brand img { width: 8.75rem; height: auto; }
.home-nav { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; }
.home-nav > a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .35rem; font-size: .875rem; font-weight: 500; text-decoration: none; border-radius: .35rem; }
.home-nav > a:not(.button):hover { background: var(--home-soft); }
.home-nav > a:not(.button):active { background: #e9ecf1; }
.menu-toggle { min-height: 44px; min-width: 44px; padding: .5rem .9rem; color: var(--home-ink); background: white; border: 1px solid #bec4ce; border-radius: .5rem; }
.menu-toggle:hover { background: var(--home-soft); }
.menu-toggle:active { background: #e9ecf1; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .7rem 1.3rem; gap: .5rem; font-size: .9375rem; line-height: 1.5; font-weight: 600; text-align: center; text-decoration: none; border: 1px solid transparent; border-radius: .6rem; transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease; }
.button-primary { color: white; background: var(--home-brand); border-color: var(--home-brand); }
.button-primary:hover { color: white; background: var(--home-brand-hover); border-color: var(--home-brand-hover); }
.button-primary:active { color: white; background: var(--home-brand-pressed); border-color: var(--home-brand-pressed); }
.button-secondary { color: var(--home-ink); background: white; border-color: #b8bfca; }
.button-secondary:hover { color: var(--home-ink); background: var(--home-soft); border-color: #8f98a7; }
.button-secondary:active { background: #e9ecf1; }
.button[aria-disabled="true"], button:disabled { cursor: not-allowed; opacity: .6; }
details > summary { min-height: 48px; padding-block: .8rem; }
@media (max-width: 760px) {
  .container, .home-header { width: min(100% - 2rem, 68rem); }
  .home-header { gap: .75rem; }
  .home-nav { flex-basis: 100%; align-items: stretch; gap: .5rem; padding-block: .5rem; border-block-start: 1px solid var(--home-line); }
  .home-nav > a { flex: 1 1 9rem; min-height: 48px; padding: .65rem .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
