    :root {
        color-scheme: light;

        --font-bn: "Noto Sans Bengali", "Hind Siliguri", "SolaimanLipi",
            "Nirmala UI", "Vrinda", system-ui, -apple-system, "Segoe UI", sans-serif;
        --font-en: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

        --bg: #eef3ef;
        --surface: #ffffff;
        --surface-2: #f5f9f6;
        --text: #0f231b;
        --text-muted: #5d7a6c;
        --border: #dce7e0;

        --green: #006a4e;
        --green-soft: #e2f1ea;
        --red: #d61b33;
        --red-soft: #fdeaed;

        --shadow-sm: 0 1px 2px rgba(15, 35, 27, .06), 0 1px 3px rgba(15, 35, 27, .05);
        --shadow-md: 0 6px 20px rgba(15, 35, 27, .08);
        --ring: 0 0 0 3px rgba(0, 106, 78, .3);

        --radius: 16px;
    }

    @media (prefers-color-scheme: dark) {
        :root {
            color-scheme: dark;

            --bg: #0b1310;
            --surface: #131d18;
            --surface-2: #18241e;
            --text: #e9f4ee;
            --text-muted: #8fa79a;
            --border: #24352c;

            --green: #35c493;
            --green-soft: #17281f;
            --red: #ff6072;
            --red-soft: #2a171b;

            --shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);
            --shadow-md: 0 8px 26px rgba(0, 0, 0, .5);
            --ring: 0 0 0 3px rgba(53, 196, 147, .36);
        }
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        margin: 0;
        padding: 0;
        background: var(--bg);
        color: var(--text);
        font-family: var(--font-bn);
        font-size: 16px;
        line-height: 1.75;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
    }

    .page {
        max-width: 820px;
        margin: 0 auto;
        padding: 0 22px 80px;
    }

    /* ---------------- header ---------------- */

    .site-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
        padding: 32px 0 22px;
    }

    .brand {
        display: flex;
        align-items: center;
        gap: 14px;
        text-decoration: none;
        color: inherit;
    }

    .brand-mark {
        width: 46px;
        height: 46px;
        flex: 0 0 auto;
        display: inline-flex;
    }

    .brand-mark svg {
        width: 100%;
        height: 100%;
    }

    .brand-text h1 {
        margin: 0;
        font-size: 20px;
        font-weight: 700;
        letter-spacing: .2px;
        line-height: 1.2;
    }

    .brand-text p {
        margin: 2px 0 0;
        font-size: 12.5px;
        color: var(--text-muted);
        line-height: 1.4;
    }

    .lang-switch {
        display: inline-flex;
        gap: 3px;
        padding: 4px;
        background: var(--green-soft);
        border-radius: 999px;
    }

    .lang-switch button {
        border: none;
        background: transparent;
        color: var(--text-muted);
        font-family: inherit;
        font-size: 13px;
        font-weight: 600;
        padding: 7px 18px;
        border-radius: 999px;
        cursor: pointer;
        transition: background-color .16s ease, color .16s ease;
    }

    .lang-switch button[aria-pressed="true"] {
        background: var(--surface);
        color: var(--green);
        box-shadow: var(--shadow-sm);
    }

    .lang-switch button:focus-visible {
        outline: none;
        box-shadow: var(--ring);
    }

    /* ---------------- hero ---------------- */

    .hero {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 26px 28px 24px;
        box-shadow: var(--shadow-md);
        margin-bottom: 22px;
    }

    .hero-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .5px;
        color: var(--green);
        background: var(--green-soft);
        padding: 5px 14px;
        border-radius: 999px;
        text-transform: uppercase;
    }

    .hero-badge::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--red);
        flex: 0 0 auto;
    }

    .hero h2 {
        margin: 14px 0 6px;
        font-size: 27px;
        font-weight: 700;
        letter-spacing: .2px;
        line-height: 1.3;
    }

    .hero p {
        margin: 0;
        font-size: 15px;
        color: var(--text-muted);
    }

    .hero .updated {
        display: block;
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid var(--border);
        font-size: 13px;
        color: var(--text-muted);
    }

    .hero .updated b {
        color: var(--text);
        font-weight: 700;
    }

    /* ---------------- summary card ---------------- */

    .tldr {
        background: var(--green-soft);
        border: 1px solid transparent;
        border-radius: var(--radius);
        padding: 20px 24px;
        margin-bottom: 22px;
    }

    .tldr h3 {
        margin: 0 0 10px;
        font-size: 15px;
        font-weight: 700;
        color: var(--green);
        display: flex;
        align-items: center;
        gap: 9px;
    }

    .tldr h3::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--red);
    }

    .tldr ul {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .tldr li {
        font-size: 14.5px;
        line-height: 1.7;
        padding-right: 2px;
        color: var(--text);
    }

    .tldr li strong {
        color: var(--green);
        font-weight: 700;
    }

    /* ---------------- sections ---------------- */

    .card {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 22px 26px 6px;
        margin-bottom: 18px;
        box-shadow: var(--shadow-sm);
    }

    .card h3 {
        margin: 0 0 12px;
        font-size: 17px;
        font-weight: 700;
        letter-spacing: .1px;
        display: flex;
        align-items: center;
        gap: 11px;
    }

    .card h3 .num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 8px;
        background: var(--green-soft);
        color: var(--green);
        font-size: 13px;
        font-weight: 800;
        flex: 0 0 auto;
    }

    .card p {
        margin: 0 0 14px;
        font-size: 15px;
        line-height: 1.8;
        color: var(--text);
    }

    .card p:last-child {
        margin-bottom: 18px;
    }

    .card ul,
    .card ol {
        margin: 0 0 16px;
        padding-right: 20px;
        padding-left: 20px;
    }

    .card li {
        margin-bottom: 8px;
        font-size: 15px;
        line-height: 1.75;
    }

    .card a {
        color: var(--green);
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
        font-weight: 600;
    }

    .card a:hover {
        color: var(--red);
    }

    .card code {
        font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
        font-size: 13.5px;
        background: var(--surface-2);
        border: 1px solid var(--border);
        border-radius: 6px;
        padding: 1px 7px;
        color: var(--text);
    }

    /* permission table */

    .perm-table {
        width: 100%;
        border-collapse: collapse;
        margin: 0 0 18px;
        font-size: 14px;
    }

    .perm-table th {
        text-align: left;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: .3px;
        color: var(--green);
        padding: 9px 12px;
        background: var(--green-soft);
        border-bottom: 1px solid var(--border);
    }

    .perm-table th:first-child {
        border-top-left-radius: 10px;
    }

    .perm-table th:last-child {
        border-top-right-radius: 10px;
    }

    .perm-table td {
        padding: 10px 12px;
        border-bottom: 1px solid var(--border);
        vertical-align: top;
        line-height: 1.65;
    }

    .perm-table tr:last-child td {
        border-bottom: none;
    }

    .perm-table td:first-child {
        font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
        font-size: 13px;
        font-weight: 600;
        color: var(--green);
        white-space: nowrap;
    }

    /* contact box */

    .contact {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 22px 26px;
        margin-bottom: 18px;
        box-shadow: var(--shadow-sm);
    }

    .contact h3 {
        margin: 0 0 8px;
        font-size: 17px;
        font-weight: 700;
    }

    .contact p {
        margin: 0 0 8px;
        font-size: 15px;
        color: var(--text-muted);
    }

    .contact a {
        color: var(--green);
        font-weight: 600;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .contact a:hover {
        color: var(--red);
    }

    /* footer */

    .site-footer {
        margin-top: 32px;
        padding-top: 22px;
        border-top: 1px solid var(--border);
        text-align: center;
        font-size: 13px;
        color: var(--text-muted);
        line-height: 1.7;
    }

    .site-footer .heart {
        display: inline-block;
        color: var(--red);
        transform: translateY(1px);
    }

    .small-brand-mark {
        display: inline-flex;
        align-items: center;
        vertical-align: middle;
        margin-right: 0.5em;
        /* Adjust spacing as needed */
        height: 1.2em;
        /* Matches text line height */
    }

    .small-brand-mark svg {
        width: 2em;
        height: 2em;
        min-width: 2em;
        /* Ensures consistent sizing */
    }

    /* Optional: Add subtle shadow for depth */
    .small-brand-mark svg {
        filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
    }


    /* language visibility */

    [data-lang] {
        display: none;
    }

    html[data-active-lang="bn"] [data-lang="bn"] {
        display: block;
    }

    html[data-active-lang="en"] [data-lang="en"] {
        display: block;
    }

    html[data-active-lang="bn"] li[data-lang="bn"],
    html[data-active-lang="en"] li[data-lang="en"] {
        display: list-item;
    }

    html[data-active-lang="bn"] tr[data-lang="bn"],
    html[data-active-lang="en"] tr[data-lang="en"] {
        display: table-row;
    }

    @media (max-width: 560px) {
        .page {
            padding: 0 16px 60px;
        }

        .hero {
            padding: 22px 20px 20px;
        }

        .hero h2 {
            font-size: 22px;
        }

        .card {
            padding: 20px 20px 4px;
        }

        .card h3 {
            font-size: 16px;
        }

        .contact {
            padding: 20px;
        }

        .perm-table {
            font-size: 13px;
        }

        .perm-table td:first-child {
            white-space: normal;
        }
    }