    :root {
        --accent: #2b6cb0;
        --accent-d: #1e4e8c;
        --ink: #1a202c;
        --muted: #5a6675;
        --border: #e2e8f0;
        --bg: #fff;
        --bg-soft: #f7fafc;
        --maxw: 1080px;
    }

    @media (prefers-color-scheme: dark) {
        :root:not([data-theme="light"]) {
            --accent: #58a6ff;
            --accent-d: #388bfd;
            --ink: #e6edf3;
            --muted: #8b98a5;
            --border: #30363d;
            --bg: #0d1117;
            --bg-soft: #161b22;
        }
    }

    :root[data-theme="dark"] {
        --accent: #58a6ff;
        --accent-d: #388bfd;
        --ink: #e6edf3;
        --muted: #8b98a5;
        --border: #30363d;
        --bg: #0d1117;
        --bg-soft: #161b22;
    }

    * {
        box-sizing: border-box;
    }

    body {
        margin: 0;
        color: var(--ink);
        background: var(--bg);
        font: 16px/1.6 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    }

    a {
        color: var(--accent);
    }

    .wrap {
        max-width: var(--maxw);
        margin: 0 auto;
        padding: 0 20px;
    }

    /* nav */
    .nav {
        position: sticky;
        top: 0;
        z-index: 20;
        background: var(--bg);
        border-bottom: 1px solid var(--border);
    }

    .iconBtn {
        background: none;
        border: 1px solid var(--border);
        border-radius: 8px;
        width: 34px;
        height: 34px;
        font-size: 16px;
        cursor: pointer;
        color: var(--ink);
    }

    .iconBtn:hover {
        border-color: var(--accent);
    }

    .nav .wrap {
        display: flex;
        align-items: center;
        gap: 20px;
        height: 56px;
    }

    .brand {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: 700;
        text-decoration: none;
        color: var(--ink);
    }

    .brand img {
        height: 28px;
    }

    .nav nav {
        margin-left: auto;
        display: flex;
        gap: 22px;
    }

    .nav nav a {
        text-decoration: none;
        color: var(--muted);
        font-size: 15px;
    }

    .nav nav a:hover {
        color: var(--accent);
    }

    /* hero */
    .hero {
        text-align: center;
        padding: 56px 0 8px;
    }

    .hero h1 {
        font-size: 40px;
        line-height: 1.15;
        margin: 0 0 14px;
        letter-spacing: -.02em;
    }

    .hero p.sub {
        font-size: 19px;
        color: var(--muted);
        max-width: 640px;
        margin: 0 auto 26px;
    }

    .cta {
        display: flex;
        gap: 14px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .btn {
        display: inline-block;
        padding: 11px 22px;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
        font-size: 15px;
        border: 1px solid var(--border);
        color: var(--ink);
    }

    .btn.primary {
        background: var(--accent);
        border-color: var(--accent);
        color: #fff;
    }

    .btn.primary:hover {
        background: var(--accent-d);
    }

    .btn:hover {
        border-color: var(--accent);
    }

    /* live editor */
    .demo {
        padding: 32px 0 8px;
    }

    .demo .frame {
        display: inline-block;
        padding: 10px;
        background: var(--bg-soft);
        border: 1px solid var(--border);
        border-radius: 12px;
    }

    .demo .caption {
        color: var(--muted);
        font-size: 14px;
        margin-top: 10px;
    }

    .center {
        text-align: center;
    }

    /* sections */
    section.block {
        padding: 44px 0;
    }

    section.block h2 {
        font-size: 26px;
        margin: 0 0 18px;
        text-align: center;
    }

    /* quickstart */
    pre.code {
        background: #0f172a;
        color: #e2e8f0;
        padding: 18px 20px;
        border-radius: 10px;
        overflow: auto;
        font: 13px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        max-width: 720px;
        margin: 0 auto;
    }

    /* copy-to-clipboard button on the quickstart code block (shown on hover) */
    .codeWrap {
        position: relative;
        max-width: 720px;
        margin: 0 auto;
    }

    .codeWrap pre.code {
        max-width: none;
        margin: 0;
    }

    .copyBtn {
        position: absolute;
        top: 8px;
        right: 8px;
        opacity: 0;
        background: rgba(148, 163, 184, .18);
        color: #e2e8f0;
        border: 1px solid rgba(148, 163, 184, .32);
        border-radius: 6px;
        padding: 3px 10px;
        font-size: 12px;
        cursor: pointer;
        transition: opacity .15s;
    }

    .codeWrap:hover .copyBtn,
    .copyBtn:focus-visible {
        opacity: 1;
    }

    .copyBtn:hover {
        background: rgba(148, 163, 184, .32);
    }

    .quick .note {
        text-align: center;
        color: var(--muted);
        margin-top: 14px;
        font-size: 14px;
    }

    /* features */
    .features {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .feature {
        border: 1px solid var(--border);
        border-radius: 10px;
        padding: 18px 20px;
    }

    .feature h3 {
        margin: 0 0 6px;
        font-size: 16px;
    }

    .feature p {
        margin: 0;
        color: var(--muted);
        font-size: 14px;
    }

    /* footer */
    footer.site {
        border-top: 1px solid var(--border);
        background: var(--bg-soft);
        color: var(--muted);
        font-size: 14px;
        padding: 28px 0;
    }

    footer.site a {
        color: var(--accent);
    }

    @media (max-width:760px) {
        .hero h1 {
            font-size: 30px;
        }

        .features {
            grid-template-columns: 1fr;
        }

        .nav nav {
            gap: 14px;
        }
    }

    @media print {

        .nav,
        .demo,
        .cta,
        #themeToggle {
            display: none !important;
        }

        .hero {
            min-height: auto;
            padding: 2rem 0;
        }

        body {
            background: white !important;
            color: black !important;
        }

        .block {
            background: white !important;
        }
    }