/* Layout and palette adapted from AstroPaper (MIT);
see ASTROPAPER-LICENSE.txt. */
@font-face {
  font-family:"Google Sans Code";
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url("./fonts/google-sans-code-latin.woff2") format("woff2");
  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
}
:root {
  color-scheme:light;
  --background:#fdfdfd;
  --foreground:#282728;
  --accent:#006cac;
  --accent-foreground:#fff;
  --muted:#e6e6e6;
  --muted-foreground:#6b7280;
  --border:#ece9e9
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --background:#212737;
  --foreground:#eaedf3;
  --accent:#ff6b01;
  --muted:#343f60;
  --muted-foreground:#afb9ca;
  --border:#ab4b08
}
* {
  box-sizing:border-box;
  scrollbar-color:var(--muted) transparent
}
html {
  background:var(--background);
  color:var(--foreground);
  font-family:"Google Sans Code",ui-monospace,"SFMono-Regular",Menlo,Consolas,"PingFang SC","Microsoft YaHei",monospace;
  font-size:16px;
  line-height:1.5;
  -webkit-text-size-adjust:100%
}
body {
  margin:0;
  min-height:100svh;
  display:flex;
  flex-direction:column
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit;
  color:inherit;
  background:none;
  border:0;
  cursor:pointer;
  padding:0
}
svg {
  display:block;
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
p,h1,h2,h3,h4,ul {
  margin:0
}
ul {
  padding:0;
  list-style:none
}
code,pre {
  font:inherit
}
button:disabled {
  cursor:wait
}
a:hover,button:hover {
  color:var(--accent)
}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:2px dashed var(--accent);
  outline-offset:2px;
  text-decoration:none
}
:target {
  scroll-margin-top:1rem
}
.app-layout {
  width:100%;
  max-width:768px;
  margin-inline:auto;
  padding-inline:16px
}
.skip-link {
  position:absolute;
  left:16px;
  top:-100px;
  z-index:10;
  background:var(--background);
  padding:8px 12px;
  color:var(--accent)
}
.skip-link:focus {
  top:16px
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  border-bottom:1px solid var(--border);
  padding-block:24px;
  gap:16px
}
.wordmark {
  font-size:24px;
  font-weight:600;
  line-height:1;
  white-space:nowrap
}
.site-nav {
  margin-left:8px
}
.menu-items {
  display:flex;
  align-items:center;
  gap:20px
}
.menu-items>li>a {
  display:block;
  padding:4px 8px;
  font-weight:500
}
.menu-items a[aria-current="page"] {
  text-decoration:underline wavy 2px;
  text-underline-offset:8px
}
.language-switch {
  display:flex;
  align-items:center;
  gap:3px;
  font-size:13px;
  white-space:nowrap
}
.language-switch button {
  padding:5px 2px
}
.language-switch button[aria-pressed="true"] {
  text-decoration:underline;
  text-underline-offset:4px
}
.language-switch span {
  color:var(--muted-foreground)
}
.icon-button {
  position:relative;
  width:32px;
  height:32px;
  display:grid;
  place-items:center
}
.menu-button {
  display:none
}
.sun-icon,:root[data-theme="dark"] .moon-icon {
  display:none
}
:root[data-theme="dark"] .sun-icon {
  display:block
}
.home-main {
  margin-block:4px
}
.home-intro {
  padding-top:32px;
  padding-bottom:24px;
  border-bottom:1px solid var(--border)
}
.home-intro h1 {
  display:inline-block;
  margin-block:32px;
  font-size:48px;
  line-height:1;
  font-weight:700;
  letter-spacing:0
}
.intro-more {
  margin-top:8px
}
.intro-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:16px
}
.inline-link {
  text-decoration:underline dashed;
  text-underline-offset:4px
}
.home-section {
  padding-top:48px;
  padding-bottom:24px;
  border-bottom:1px solid var(--border)
}
.home-section h2 {
  font-size:24px;
  line-height:32px;
  font-weight:600;
  letter-spacing:.025em
}
.entry {
  margin-block:24px
}
.entry h3 {
  font-size:18px;
  line-height:28px;
  font-weight:500;
  color:var(--accent)
}
.entry h3 a:hover {
  text-decoration:underline dashed;
  text-underline-offset:4px
}
.entry-meta {
  font-size:14px;
  line-height:20px;
  color:var(--muted-foreground);
  margin-block:4px
}
.entry-meta span[aria-hidden] {
  padding-inline:4px
}
.entry p:not(.entry-meta):not(.copy-feedback) {
  margin-top:4px
}
.resources {
  border:0
}
.all-docs {
  text-align:center;
  margin-block:32px
}
.all-docs a:hover {
  text-decoration:underline dashed;
  text-underline-offset:4px
}
.command-line {
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--muted);
  margin-top:12px;
  padding:12px 16px;
  border-radius:4px;
  font-size:14px;
  line-height:24px
}
.command-line code {
  flex:1;
  min-width:0;
  overflow-x:auto;
  white-space:nowrap
}
.copy-button {
  font-size:12px;
  flex-shrink:0
}
.copy-feedback {
  font-size:12px;
  color:var(--muted-foreground);
  min-height:0
}
.copy-feedback:not(:empty) {
  margin-top:8px
}
.site-footer {
  margin-top:auto
}
.footer-inner {
  border-top:1px solid var(--border);
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:space-between;
  padding-block:16px;
  gap:16px
}
.footer-inner p {
  margin-block:8px;
  font-size:14px
}
.footer-links {
  display:flex;
  align-items:center;
  gap:16px
}
.footer-links a {
  padding:4px
}
.footer-links svg {
  width:22px;
  height:22px
}
@media(max-width:639px) {
  .header-inner {
    align-items:baseline;
    padding-block:16px;
    min-height:65px
  }
  .wordmark {
    position:absolute;
    top:21px;
    font-size:20px;
    line-height:28px
  }
  .site-nav {
    width:100%;
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center
  }
  .menu-button {
    display:grid;
    align-self:flex-end;
    width:32px;
    height:32px
  }
  .close-icon {
    display:none
  }
  .menu-button[aria-expanded="true"] .menu-icon {
    display:none
  }
  .menu-button[aria-expanded="true"] .close-icon {
    display:block
  }
  .menu-items {
    display:none;
    grid-template-columns:1fr 1fr;
    width:176px;
    gap:8px;
    margin-top:16px
  }
  .menu-button[aria-expanded="true"]+.menu-items {
    display:grid
  }
  .nav-page {
    grid-column:span 2
  }
  .menu-items>li>a {
    text-align:center;
    padding:12px 16px
  }
  .language-switch,.theme-control {
    justify-self:center;
    align-self:center
  }
  .theme-control .icon-button {
    width:48px;
    height:48px
  }
  .home-intro h1 {
    font-size:36px;
    line-height:40px;
    margin-block:16px
  }
  .footer-inner {
    flex-direction:column;
    padding-block:24px;
    gap:0
  }
  .footer-inner p {
    text-align:center
  }
  .command-line {
    padding:12px;
    gap:8px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important
  }
}
