:root { color-scheme: dark; --bg: #101014; --fg: #f3f1f6; --muted: #b4afbd; --accent: #bb91f5; --surface: #19181f; --border: #333039; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 16px/1.65 system-ui, sans-serif; }
.navigation, main, footer { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
.navigation { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 88px; border-bottom: 1px solid var(--border); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--fg); font-weight: 750; font-size: 1.15rem; text-decoration: none; }
.brand img { width: 32px; height: 32px; border-radius: 6px; }
nav { display: flex; flex-wrap: wrap; gap: 24px; font-size: .9rem; }
nav a { text-decoration: none; color: var(--muted); }
a { color: var(--accent); text-underline-offset: 4px; }
a:hover { color: var(--fg); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
section { padding: 64px 0; border-bottom: 1px solid var(--border); }
.hero { padding: 96px 0 72px; }
h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.08; letter-spacing: -.055em; margin: 0 0 28px; max-width: 850px; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 28px; }
h3 { font-size: 1.15rem; line-height: 1.4; margin: 0 0 12px; }
p { color: var(--muted); max-width: 800px; }
.lead { font-size: 1.25rem; max-width: 730px; }
.promise { color: var(--fg); font-weight: 650; }
.small { font-size: .9rem; max-width: 680px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.button { background: var(--accent); color: #18121f; padding: 11px 22px; border: 1px solid var(--accent); border-radius: 7px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.button:hover { background: var(--fg); color: #18121f; }
.secondary { color: var(--fg); background: transparent; border-color: var(--border); }
code { background: var(--surface); padding: 2px 5px; border-radius: 4px; font-size: .88em; overflow-wrap: anywhere; }
pre { background: var(--surface); padding: 22px; border: 1px solid var(--border); border-radius: 8px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
pre code { padding: 0; background: none; }
.steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 32px; }
.steps li { max-width: 870px; }
.features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.features article { background: var(--surface); border: 1px solid var(--border); padding: 26px; border-radius: 8px; }
.features p { margin-bottom: 0; }
.capacity { margin: 32px 0; }
.capacity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.capacity-grid div { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 18px 22px; }
.capacity-grid dt { color: var(--muted); font-size: .9rem; }
.capacity-grid dd { margin: 4px 0 0; font-size: 1.8rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.methods { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 20px 0; max-width: 870px; }
.methods article { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 22px; min-width: 0; }
.methods pre { background: var(--bg); margin-bottom: 0; }
h4 { font-size: 1rem; margin: 0 0 8px; }
.notice { border: 1px solid var(--accent); border-radius: 8px; padding: 18px 22px; margin: 20px 0 0; max-width: 870px; }
.notice p { margin-bottom: 0; }
.has-copy { position: relative; padding-top: 44px; }
.copy-button { position: absolute; top: 10px; right: 10px; background: transparent; color: var(--muted); border: 1px solid var(--border); border-radius: 6px; padding: 3px 12px; font: inherit; font-size: .8rem; cursor: pointer; }
.copy-button:hover { color: var(--fg); border-color: var(--muted); }
.copy-buffer { position: fixed; top: -100px; opacity: 0; }
.tok-comment { color: #7f7a88; }
.tok-string { color: #a6e3a1; }
.tok-variable { color: #f9c97a; }
.tok-flag { color: #89b4fa; }
.tok-command, .tok-keyword { color: var(--accent); font-weight: 600; }
.tok-url { color: #94e2d5; }
.tok-operator { color: var(--muted); }
.tok-type { color: #f9c97a; }
.tok-method { color: #89b4fa; }
.tok-number { color: #fab387; }
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 28px 0 8px; }
.gallery figure { margin: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.gallery img { display: block; width: 100%; height: auto; }
.gallery figcaption { padding: 12px 16px; font-size: .88rem; color: var(--muted); }
.lightbox { display: none; position: fixed; inset: 0; z-index: 50; align-items: center; justify-content: center; flex-direction: column; gap: 16px; background: rgba(0, 0, 0, .92); padding: 32px; }
.lightbox:target { display: flex; }
.lightbox img { max-width: min(1200px, 100%); max-height: 82vh; border: 1px solid var(--border); border-radius: 8px; }
.lightbox-close { color: var(--fg); font-size: .9rem; }
footer { display: flex; flex-wrap: wrap; gap: 24px; padding-top: 32px; padding-bottom: 40px; font-size: .9rem; }
footer span { margin-right: auto; color: var(--muted); }
@media (max-width: 640px) {
  .navigation, main, footer { padding-left: 20px; padding-right: 20px; }
  .navigation { align-items: flex-start; flex-direction: column; gap: 12px; padding-top: 20px; padding-bottom: 20px; }
  nav { gap: 16px; }
  .hero { padding-top: 56px; }
  section { padding: 44px 0; }
  .features { grid-template-columns: 1fr; }
  .gallery { grid-template-columns: 1fr; }
  pre { padding: 16px; font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
