/* BuoyUp · Tideglass. Self-hosted Vietnamese fonts, shared with the legacy DS. */
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/bvp-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: 400; font-display: swap; src: url("../vendor/fonts/bvp-latin-ext-400.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/bvp-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: 500; font-display: swap; src: url("../vendor/fonts/bvp-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: 500; font-display: swap; src: url("../vendor/fonts/bvp-latin-ext-500.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/fonts/bvp-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: 700; font-display: swap; src: url("../vendor/fonts/bvp-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; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 700; font-display: swap; src: url("../vendor/fonts/bvp-latin-ext-700.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 700; font-display: swap; src: url("../vendor/fonts/bvp-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: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/jbm-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: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/jbm-latin-ext-400.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../vendor/fonts/jbm-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: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/fonts/jbm-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: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../vendor/fonts/jbm-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; }
:root {
 /* Palette from the home hero ("Vốn cho mùa bán hàng / Từng số đều có căn cứ"): lavender sky, blush glow,
    peach horizon, plum hills. Sampled from the hero video. */
 --bu-lavender: #8f5a7e; --bu-lavender-soft: #ecc6dd; --bu-blush: #efc3d3; --bu-rose: #d19ba6; --bu-peach: #f3c6ae; --bu-plum: #673b48; --bu-night: #1f1617;
 --bu-gradient: linear-gradient(120deg, #ecc6dd 0%, #efc3d3 55%, #f3c6ae 100%);
 --bu-gradient-strong: linear-gradient(120deg, #8f5a7e 0%, #b06f81 60%, #ab5948 100%);
 --bu-dim: #84717e; --bu-border-strong: #d4c4d0; --bu-surface-raised: var(--bu-surface);
 --bu-success-bg: #f7ebf3; --bu-warning-bg: #fcece3; --bu-danger-bg: #fdebef; --bu-info: #7d4a78; --bu-info-bg: #f7ebf3;
 --bu-shadow-1: 0 1px 2px rgb(43 29 38 / .05), 0 4px 12px rgb(43 29 38 / .04);
 --bu-shadow-2: 0 2px 4px rgb(43 29 38 / .06), 0 16px 36px -20px rgb(43 29 38 / .22);
 --bu-page-gutter: clamp(16px,2.4vw,32px); --bu-numeric: lining-nums tabular-nums; --bu-tracking-tight: -.025em;
 --bu-font: "Be Vietnam Pro", "Noto Sans SC", sans-serif; --bu-font-display: "Be Vietnam Pro", "Noto Sans SC", sans-serif; --bu-mono: "JetBrains Mono", monospace;
 --bu-text-xs: .75rem; --bu-text-sm: .875rem; --bu-text-md: 1rem; --bu-text-lg: 1.25rem; --bu-text-xl: 1.5rem; --bu-text-2xl: 2rem; --bu-display: clamp(2.5rem, 5vw, 4rem);
 --bu-space-1: 4px; --bu-space-2: 8px; --bu-space-3: 12px; --bu-space-4: 16px; --bu-space-5: 20px; --bu-space-6: 24px; --bu-space-8: 32px; --bu-space-10: 40px; --bu-space-12: 48px; --bu-space-16: 64px; --bu-space-24: 96px;
 --bu-radius-sm: 10px; --bu-radius: 18px; --bu-radius-lg: 28px; --bu-radius-pill: 999px;
 --bu-shadow: 0 2px 3px #2b1d2605, 0 12px 32px -16px #2b1d2629;
 --bu-shadow-lg: 0 4px 8px #2b1d2608, 0 32px 80px -28px #2b1d2640;
 --bu-ease: cubic-bezier(.22,1,.36,1); --bu-fast: 160ms; --bu-panel: 280ms; --bu-reveal: 600ms;
 --bu-perspective: 1100px; --bu-sidebar-width: 248px; --bu-topbar-height: 80px;
}
:root, [data-theme="light"] {
 color-scheme: light; --bu-bg: #f8f4f7; --bu-surface: #fff; --bu-surface-soft: #f3ecf2; --bu-text: #2b1d26; --bu-muted: #6f5d6a; --bu-border: #eadfe7; --bu-primary: #9b4d6b; --bu-primary-ink: #fff; --bu-accent: #efc3d3; --bu-accent-ink: #2b1d26; --bu-glass: rgb(255 255 255 / .83); --bu-glass-edge: rgb(255 255 255 / .85); --bu-danger: #b42345; --bu-success: #7d4a78; --bu-warning: #9a4f2e; --bu-focus: #9b4d6b;
 --bu-gradient-wash: radial-gradient(ellipse at 15% -10%, rgb(236 198 221 / .55), transparent 55%), radial-gradient(ellipse at 90% 0%, rgb(239 195 211 / .45), transparent 50%), radial-gradient(ellipse at 60% 110%, rgb(243 198 174 / .35), transparent 55%);
}
[data-theme="dark"] {
 --bu-dim: #9d8a97; --bu-border-strong: #4d3a45; --bu-surface-raised: #1b1418;
 --bu-success-bg: #36202f; --bu-warning-bg: #3a2219; --bu-danger-bg: #3b1b22; --bu-info: #f2bfd1; --bu-info-bg: #33202c;
 --bu-shadow-1: 0 1px 2px #0004, 0 5px 16px #0003; --bu-shadow-2: 0 3px 6px #0005, 0 18px 42px -20px #000b;
 color-scheme: dark; --bu-bg: #0c090b; --bu-surface: #161114; --bu-surface-soft: #201820; --bu-text: #f5edf2; --bu-muted: #c4b3bf; --bu-border: #35272f; --bu-primary: #f2bfd1; --bu-primary-ink: #161114; --bu-accent: #efc3d3; --bu-accent-ink: #2b1d26; --bu-glass: rgb(22 17 20 / .88); --bu-glass-edge: rgb(226 192 205 / .14); --bu-danger: #ff9bb0; --bu-success: #f2bfd1; --bu-warning: #f3c6ae; --bu-focus: #f2bfd1; --bu-shadow: 0 12px 32px -16px #0008; --bu-shadow-lg: 0 32px 80px -28px #000b;
 --bu-gradient-wash: radial-gradient(ellipse at 15% -10%, rgb(143 90 126 / .16), transparent 55%), radial-gradient(ellipse at 90% 0%, rgb(209 155 166 / .10), transparent 50%);
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
 --bu-dim: #9d8a97; --bu-border-strong: #4d3a45; --bu-surface-raised: #1b1418;
 --bu-success-bg: #36202f; --bu-warning-bg: #3a2219; --bu-danger-bg: #3b1b22; --bu-info: #f2bfd1; --bu-info-bg: #33202c;
 --bu-shadow-1: 0 1px 2px #0004, 0 5px 16px #0003; --bu-shadow-2: 0 3px 6px #0005, 0 18px 42px -20px #000b;
 color-scheme: dark; --bu-bg: #0c090b; --bu-surface: #161114; --bu-surface-soft: #201820; --bu-text: #f5edf2; --bu-muted: #c4b3bf; --bu-border: #35272f; --bu-primary: #f2bfd1; --bu-primary-ink: #161114; --bu-accent: #efc3d3; --bu-accent-ink: #2b1d26; --bu-glass: rgb(22 17 20 / .88); --bu-glass-edge: rgb(226 192 205 / .14); --bu-danger: #ff9bb0; --bu-success: #f2bfd1; --bu-warning: #f3c6ae; --bu-focus: #f2bfd1; --bu-shadow: 0 12px 32px -16px #0008; --bu-shadow-lg: 0 32px 80px -28px #000b;
 --bu-gradient-wash: radial-gradient(ellipse at 15% -10%, rgb(143 90 126 / .16), transparent 55%), radial-gradient(ellipse at 90% 0%, rgb(209 155 166 / .10), transparent 50%);
} }
@media (prefers-reduced-motion: reduce) { :root { --bu-fast: 0ms; --bu-panel: 0ms; --bu-reveal: 0ms; } }
