@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/assets/jbm.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 { --sl-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --sl-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; --sl-content-width: 54rem; --sl-sidebar-width: 18.5rem; --sl-color-accent-low: #123c37; --sl-color-accent: #42cabb; --sl-color-accent-high: #d9fff8; --sl-color-white: #f8fbff; --sl-color-gray-1: #e8edf2; --sl-color-gray-2: #c7d0d9; --sl-color-gray-3: #93a0ad; --sl-color-gray-4: #62707f; --sl-color-gray-5: #34404c; --sl-color-gray-6: #202833; --sl-color-black: #10151c; --sl-color-bg: #10151c; --sl-color-bg-nav: #151b23; --sl-color-bg-sidebar: #151b23; --sl-color-bg-inline-code: #202833; --sl-color-hairline: #25303b; --sl-color-hairline-light: #34404c; } :root[data-theme="light"] { --sl-color-accent-low: #d7f1ed; --sl-color-accent: #1f6f68; --sl-color-accent-high: #0f3f3b; --sl-color-white: #151a21; --sl-color-gray-1: #26313c; --sl-color-gray-2: #40505d; --sl-color-gray-3: #687381; --sl-color-gray-4: #8d989f; --sl-color-gray-5: #d4cabd; --sl-color-gray-6: #eee7dc; --sl-color-gray-7: #f7f3ea; --sl-color-black: #fffdf8; --sl-color-bg: #f7f3ea; --sl-color-bg-nav: #fffdf8; --sl-color-bg-sidebar: #fffdf8; --sl-color-bg-inline-code: #eee7dc; --sl-color-hairline: #ded6c8; --sl-color-hairline-light: #c9bdad; } .site-title { font-family: var(--sl-font-mono); font-weight: 800; letter-spacing: -0.04em; } .sl-markdown-content { font-size: 1rem; line-height: 1.75; } .sl-markdown-content h1, .hero h1 { letter-spacing: -0.055em; line-height: 0.98; font-size: clamp(2.4rem, 5vw, 4.2rem); } .sl-markdown-content h2 { margin-top: 2.6rem; letter-spacing: -0.035em; } .sl-markdown-content h3 { letter-spacing: -0.025em; } .sl-markdown-content > p:first-child { font-size: 1.08rem; color: var(--sl-color-gray-1); } #starlight__sidebar a[aria-current="page"] { background: color-mix(in srgb, var(--sl-color-accent) 13%, transparent); color: var(--sl-color-accent-high); box-shadow: inset 2px 0 0 var(--sl-color-accent); } :root[data-theme="light"] #starlight__sidebar a[aria-current="page"] { color: var(--sl-color-accent-high); } .mobile-doc-shots { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; margin: 1.25rem 0; } .mobile-doc-shots figure { margin: 0; } .mobile-doc-shots img { display: block; width: 100%; border: 1px solid var(--sl-color-hairline); border-radius: 1rem; } .mobile-doc-shots figcaption { margin-top: 0.45rem; color: var(--sl-color-gray-3); font-size: var(--sl-text-sm); text-align: center; } .sl-markdown-content a:not(:where(.not-content *)) { text-decoration-thickness: 1px; text-underline-offset: 0.18em; } .sl-markdown-content code:not(:where(.not-content *)) { border: 1px solid var(--sl-color-hairline); border-radius: 0.35rem; font-size: 0.88em; } .sl-markdown-content pre { border: 1px solid var(--sl-color-hairline); border-radius: 0.85rem; } .expressive-code { margin: 1rem 0 1.35rem; } .expressive-code .frame { border: 1px solid var(--sl-color-hairline) !important; border-radius: 0.85rem !important; box-shadow: none !important; overflow: hidden; } .expressive-code .frame.is-terminal { --button-spacing: 0.4rem; } .expressive-code .frame.is-terminal .header { display: none; } .expressive-code .frame pre { border: 0 !important; border-radius: 0 !important; } .expressive-code .frame.has-title:not(.is-terminal) .header { background: var(--sl-color-bg-nav) !important; border-color: var(--sl-color-hairline) !important; } .sl-markdown-content .card { border-color: var(--sl-color-hairline); background: linear-gradient(180deg, color-mix(in srgb, var(--sl-color-accent) 5%, transparent), transparent 58%), var(--sl-color-black); } .sl-markdown-content .card .title { color: var(--sl-color-white); } .hero img { image-rendering: auto; filter: drop-shadow(0 20px 50px rgb(31 111 104 / 0.18)); }