/* Bộ biến giao diện (font, cỡ chữ, màu sáng/tối) cho Random bản độc lập.
   Tách từ bộ chuẩn ADCODE. Muốn đổi màu chủ đạo cho hợp web mới: sửa --a-primary / --a-accent bên dưới.
   Chế độ tối bật khi <html data-theme="dark">. */

@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/be-vietnam-pro-latin-400.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; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/be-vietnam-pro-vietnamese-400.woff2") format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/be-vietnam-pro-latin-500.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; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/be-vietnam-pro-vietnamese-500.woff2") format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/be-vietnam-pro-latin-600.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; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/be-vietnam-pro-vietnamese-600.woff2") format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 700 900; font-display: swap; src: url("fonts/be-vietnam-pro-latin-700.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; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 700 900; font-display: swap; src: url("fonts/be-vietnam-pro-vietnamese-700.woff2") format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }

:root {
    /* Phông chữ */
    --a-font: "Be Vietnam Pro", "Segoe UI", Arial, sans-serif;
    /* Font code không có chữ ghép: "Cascadia Code"/"JetBrains Mono"/"Fira Code" vẽ != thành ≠, >= thành ≥ (Windows 11 có sẵn Cascadia Code),
       nên dùng "Cascadia Mono" — cùng kiểu chữ, cũng có sẵn trên Windows 11, nhưng giữ nguyên từng ký tự (26/10/2026). */
    --a-mono: ui-monospace, Menlo, "Cascadia Mono", Consolas, monospace;

    /* Thang cỡ chữ (8 bậc) */
    --a-fs-2xs: 11px;   /* nhãn chữ in hoa, huy hiệu */
    --a-fs-xs: 12px;    /* chú thích */
    --a-fs-sm: 13px;    /* chữ phụ */
    --a-fs-md: 14px;    /* chữ nhỏ, nút */
    --a-fs-base: 16px;  /* thân bài */
    --a-fs-lg: 18px;    /* tiêu đề nhỏ */
    --a-fs-xl: 22px;    /* tiêu đề mục */
    --a-fs-2xl: 28px;   /* tiêu đề trang */
    --a-fs-3xl: clamp(28px, 3.4vw, 36px); /* tiêu đề lớn */

    /* Màu — nền sáng */
    --a-bg: #f6f7fa;
    --a-surface: #ffffff;
    --a-surface-2: #f1f4f9;
    --a-line: #e2e6ef;
    --a-text: #172335;
    --a-muted: #64718a;
    --a-primary: #3264ea;        /* nền nút chính (cả sáng lẫn tối) */
    --a-primary-hover: #2451c7;
    --a-on-primary: #ffffff;
    --a-accent: #3264ea;         /* chữ / liên kết / viền nhấn */
    --a-accent-soft: #eaf0ff;
    --a-good: #15803d;
    --a-good-soft: #dcfce7;
    --a-bad: #c62f3b;
    --a-bad-soft: #fdecee;
    --a-warn: #b45309;
    --a-warn-soft: #fff4dc;
    --a-zone: var(--a-accent);   /* màu nhấn phụ theo khu */
    --a-zone-soft: var(--a-accent-soft);

    /* Hình khối */
    --a-radius-sm: 8px;
    --a-radius: 12px;
    --a-radius-lg: 16px;
    --a-radius-xl: 20px;
    --a-shadow-sm: 0 2px 8px rgba(23, 35, 53, 0.06);
    --a-shadow: 0 12px 44px rgba(23, 35, 53, 0.08);
    --a-shadow-lg: 0 18px 50px rgba(23, 35, 53, 0.14);
}

/* Màu — nền tối */
html[data-theme="dark"] {
    --a-bg: #101827;
    --a-surface: #172234;
    --a-surface-2: #1d2a40;
    --a-line: #2b3950;
    --a-text: #e4eafa;
    --a-muted: #a2aec3;
    --a-accent: #86a7ff;
    --a-accent-soft: #263955;
    --a-good: #7fd4a8;
    --a-good-soft: rgba(127, 212, 168, 0.14);
    --a-bad: #f08a7a;
    --a-bad-soft: rgba(240, 138, 122, 0.14);
    --a-warn: #f4c06a;
    --a-warn-soft: rgba(244, 192, 106, 0.14);
    --a-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
    --a-shadow: 0 12px 44px rgba(0, 0, 0, 0.25);
    --a-shadow-lg: 0 18px 50px rgba(0, 0, 0, 0.35);
}

/* Nút đổi sáng/tối góc dưới trái */
.random-theme{position:fixed;left:16px;bottom:16px;z-index:6;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--a-line);border-radius:50%;background:var(--a-surface);color:var(--a-text);box-shadow:var(--a-shadow-sm);cursor:pointer}
.random-theme:hover{transform:scale(1.06)}
.random-theme svg{width:20px;height:20px}
body:has(.random-decision[open]) .random-theme{display:none}
