/* [next]/internal/font/google/be_vietnam_pro_28bf601f.module.css [app-client] (css) */
@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/77d9a04c69f7b11b-s.1uklb5el4zgvl.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/d81b50f8e1aba043-s.05i4gb4p0piv4.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, 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("../media/dd018b41519c2d93-s.p.2g-0we2o5_ngd.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, 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("../media/b4fb5dfe9580f890-s.1zvg0ggiaivzo.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1f6c95fdd7b08cc8-s.0jaqhc1tb-5xm.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, 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("../media/7f1976624c2b6255-s.p.1hvvd1t-trplq.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, 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("../media/6ac706d910f2bd04-s.25pbmqxk8u2s7.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/3c61b7007b1b2764-s.0n_ln9vqskgts.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/25d341d5876d8ede-s.p.2wu4yy186g04j.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, 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("../media/6bf0d8dd0c866b9f-s.10uaeld2xxvpt.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/341181aba0db3eca-s.2bbpeapf-lbjw.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, 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("../media/83940f62350fcaa7-s.p.13y-iz2lazqtb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, 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 Fallback;
  src: local(Arial);
  ascent-override: 90.61%;
  descent-override: 24.01%;
  line-gap-override: 0.0%;
  size-adjust: 110.36%;
}

.be_vietnam_pro_28bf601f-module__V85U7q__className {
  font-family: Be Vietnam Pro, Be Vietnam Pro Fallback;
  font-style: normal;
}

.be_vietnam_pro_28bf601f-module__V85U7q__variable {
  --font-vietnam: "Be Vietnam Pro", "Be Vietnam Pro Fallback";
}

/* [next]/internal/font/google/jetbrains_mono_d31d76e0.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/c64053b510252f55-s.1kd-r_s9smv5m.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/733da6bd8dac84c8-s.3hlisc-pwq13z.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/784318cea1dfcfa4-s.0-oo9_1x_xmvg.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/7e114457660b62ed-s.36fqqi66-3tjb.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, 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("../media/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, 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("../media/c64053b510252f55-s.1kd-r_s9smv5m.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/733da6bd8dac84c8-s.3hlisc-pwq13z.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/784318cea1dfcfa4-s.0-oo9_1x_xmvg.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/7e114457660b62ed-s.36fqqi66-3tjb.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, 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: 600;
  font-display: swap;
  src: url("../media/c64053b510252f55-s.1kd-r_s9smv5m.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/733da6bd8dac84c8-s.3hlisc-pwq13z.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/784318cea1dfcfa4-s.0-oo9_1x_xmvg.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/7e114457660b62ed-s.36fqqi66-3tjb.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, 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 Fallback;
  src: local(Arial);
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.jetbrains_mono_d31d76e0-module__JCj13G__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_d31d76e0-module__JCj13G__variable {
  --font-jetbrains: "JetBrains Mono", "JetBrains Mono Fallback";
}

/* [project]/src/styles/tokens.css [app-client] (css) */
:root, :root[data-theme="dark"], :root[data-theme="light"] .ground-well {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --page: #15171c;
  --surface-1: #1a1d23;
  --surface-2: #252a33;
  --surface-3: #2b313b;
  --well: #0c0d10;
  --band: #1b1e25;
  --panel: #1a1d23;
  --card: #252a33;
  --hairline: #333a45;
  --edge-soft: #333a45;
  --edge: #747d8a;
  --panel-line: #ffc83d29;
  --ink-2: #c9ced6;
  --ink-3: #a6aeb8;
  --ink-4: #959ea9;
  --ink-dim: #959ea9;
  --neo: #ffc83d;
  --neo-2: #ffa928;
  --neo-ink: #1c2029;
  --neo-tint: 255 200 61;
  --neo-deep: #ffc83d;
  --neo-2-tint: 255 169 40;
  --ambient-k: 1.5;
  --ambient-k-hero: 1;
  --ambient-k-home: 2.4;
  --accent: #ffc83d;
  --accent-edge: #c8952a;
  --accent-soft: #3a3018;
  --accent-faint: #241f12;
  --accent-wash: #ffc83d1f;
  --accent-glow: #ffc83d38;
  --accent-blue: #ffa928;
  --accent-blue-wash: #ffa92824;
  --cta: #ffc83d;
  --cta-2: #ffd466;
  --cta-ink: #1c2029;
  --cta-edge: transparent;
  --nav: #ffc83d;
  --warn: #9aa3ae;
  --warn-soft: #2b313b;
  --warn-ink: #c9ced6;
  --caution: #ff8a3d;
  --money: #ffd666;
  --money-2: #ffe08a;
  --money-ink: #1c2029;
  --up: #ffd666;
  --down: #ff5c70;
  --alert: #ff5c70;
  --info: #7cc0ff;
  --shade: #000;
  --elev-1: inset 0 1px 0 0 #eaecef0d, 0 1px 2px -1px #00000080;
  --elev-2: inset 0 1px 0 0 #eaecef14, 0 10px 26px -10px #000000b3;
  --elev-cta: 0 6px 20px -8px #ffc83d73;
  --glow-accent: 0 0 0 1px #ffc83d4d, 0 14px 36px -14px #ffc83d73;
  --glow-money: 0 0 0 1px #ffd6664d, 0 14px 36px -14px #ffd66673;
  --glass: #1a1d23c7;
  --icon-idle: #a6aeb8;
  --glow-cta: inset 0 1px 0 0 #ffffff6b, 0 0 0 1px #ffc83d59,
    0 8px 26px -8px #ffc83d99, 0 0 42px -10px #ffa92866;
  --glow-cta-hover: inset 0 1px 0 0 #ffffff94, 0 0 0 1px #ffd66699,
    0 10px 32px -8px #ffc83dc7, 0 0 60px -8px #ffa9288c;
  --glow-money-text: drop-shadow(0 0 12px #ffd66673);
  --bg: #15171c;
  --bg-hi: #1a1d23;
  --surface: #252a33;
  --step: #2b313b;
  --card-line: #ffffff14;
  --card-shadow: 0 1px 2px #0000004d;
  --ink: #eaecef;
  --muted: #a6aeb8;
  --brand: #ffc83d;
  --brand-strong: #ffd466;
  --brand-ink: #1c2029;
  --brand-soft: #3a3018;
  --reward: #9aa3ae;
  --reward-soft: #2b313b;
  --reward-ink: #c9ced6;
  --positive: #ffd666;
  --night: #0c0d10;
  --night-ink: #eaecef;
  --night-step: #252a33;
  --silk-a: #ffc83d14;
  --silk-b: #ffa9280f;
  --field-edge: #eaecef4d;
  --scrim: #0000008c;
  --shadow: 0 1px 2px #0006, 0 12px 32px #00000059;
  --shadow-lift: 0 30px 60px #00000080, 0 8px 18px #0000004d;
  --google-btn-bg: #131314;
  --google-btn-edge: #8e918f;
  --google-btn-ink: #e3e3e3;
  --auth-card: #1a1d23;
  --auth-card-edge: #333a45;
  --auth-card-shadow: 0 20px 45px -15px #0009, 0 0 1px 1px #ffffff0d;
  --auth-input: #252a33;
  --auth-hairline: #ffffff0f;
  --auth-line-tint: #ffc83d66;
  --auth-ambient-a: #ffc83d12;
  --auth-ambient-b: #ffa9280d;
  --auth-cta-a: #ffc83d;
  --auth-cta-b: #ffd466;
  --auth-cta-c: #ffa928;
  --auth-cta-ink: #1c2029;
  --auth-glow: 0 0 25px -4px #ffc83d59;
  --auth-glow-hover: 0 0 32px -2px #ffc83d73;
  --auth-lead: #ffc83d;
  --auth-panel: #1a1d2399;
  --auth-chip: #252a33b3;
  --auth-pill-bg: #ffc83d1a;
  --auth-pill-edge: #ffc83d3d;
  --auth-pill-ink: #ffc83d;
  --auth-tile-green-bg: #ffc83d1f;
  --auth-tile-green-ink: #ffc83d;
  --auth-tile-blue-bg: #ffa9281f;
  --auth-tile-blue-ink: #ffa928;
  --green-neon: #ffc83d;
  --green-mint: #ffd466;
  --green-glow: 0 0 16px #ffc83d4d;
  --green-badge-bg: #ffc83d1f;
  --green-badge-edge: #ffc83d47;
  --green-badge-ink: #ffc83d;
}

:root[data-theme="light"] {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --page: #f6f6f3;
  --surface-1: #fafaf8;
  --surface-2: #fff;
  --surface-3: #e9e9e3;
  --well: #e7e7e1;
  --band: #eeeee8;
  --panel: #fff;
  --card: #fff;
  --hairline: #dcdcd5;
  --edge-soft: #c3c3bb;
  --edge: #6e737b;
  --panel-line: #8a5a002e;
  --ink-2: #2b313b;
  --ink-3: #3d444f;
  --ink-4: #4f5763;
  --ink-dim: #5c6470;
  --neo: #ffc83d;
  --neo-2: #ffa928;
  --neo-ink: #1c2029;
  --neo-tint: 255 200 61;
  --neo-deep: #8a5a00;
  --neo-2-tint: 255 169 40;
  --ambient-k: 2.1;
  --ambient-k-hero: 1.4;
  --ambient-k-home: 3.36;
  --accent: #8a5a00;
  --accent-edge: #8a5a00;
  --accent-soft: #fff1cc;
  --accent-faint: #fff8e6;
  --accent-wash: #8a5a001a;
  --accent-glow: #8a5a0038;
  --accent-blue: #9a4500;
  --accent-blue-wash: #9a45001a;
  --cta: #ffc83d;
  --cta-2: #ffd466;
  --cta-ink: #1c2029;
  --cta-edge: #8a5a00;
  --nav: #8a5a00;
  --warn: #6e737b;
  --warn-soft: #ebebe5;
  --warn-ink: #2b313b;
  --caution: #b54708;
  --money: #7a4f00;
  --money-2: #8a5a00;
  --money-ink: #fff;
  --up: #7a4f00;
  --down: #c8283f;
  --alert: #c8283f;
  --info: #1a5fa8;
  --shade: #6e737b;
  --elev-1: 0 1px 2px -1px #1c202924, 0 6px 16px -6px #1c20291a;
  --elev-2: 0 2px 4px -1px #1c20291f, 0 18px 34px -10px #1c202933;
  --elev-cta: 0 6px 18px -8px #8a5a0073;
  --glow-accent: 0 0 0 1px #8a5a003d, 0 14px 32px -14px #8a5a005c;
  --glow-money: 0 0 0 1px #7a4f003d, 0 14px 32px -14px #7a4f005c;
  --glass: #ffffffc2;
  --icon-idle: #4f5763;
  --glow-cta: inset 0 1px 0 0 #ffffff8c, 0 0 0 1px #8a5a00,
    0 8px 22px -8px #8a5a0073, 0 0 34px -12px #ffa9288c;
  --glow-cta-hover: inset 0 1px 0 0 #ffffffb3, 0 0 0 1px #8a5a00,
    0 10px 28px -8px #8a5a008c, 0 0 48px -10px #ffa928b3;
  --glow-money-text: drop-shadow(0 0 10px #ffc83d8c);
  --bg: #f6f6f3;
  --bg-hi: #fafaf8;
  --surface: #fff;
  --step: #e9e9e3;
  --card-line: #1c202914;
  --card-shadow: 0 1px 2px #1c20290d;
  --ink: #1c2029;
  --muted: #3d444f;
  --brand: #8a5a00;
  --brand-strong: #7a4f00;
  --brand-ink: #fff;
  --brand-soft: #fff1cc;
  --reward: #6e737b;
  --reward-soft: #ebebe5;
  --reward-ink: #2b313b;
  --positive: #7a4f00;
  --night: #15171c;
  --night-ink: #eaecef;
  --night-step: #252a33;
  --silk-a: #ffc83d29;
  --silk-b: #ffa9281a;
  --field-edge: #1c202947;
  --scrim: #1c202966;
  --shadow: 0 1px 2px #1c20290f, 0 10px 30px #1c202914;
  --shadow-lift: 0 30px 60px #1c202938, 0 8px 18px #1c20291a;
  --google-btn-bg: #fff;
  --google-btn-edge: #747775;
  --google-btn-ink: #1f1f1f;
  --auth-card: #fff;
  --auth-card-edge: #dcdcd5;
  --auth-card-shadow: 0 20px 45px -20px #1c202938, 0 0 0 1px #1c202908;
  --auth-input: #fafaf8;
  --auth-hairline: #e9e9e3;
  --auth-line-tint: #8a5a0066;
  --auth-ambient-a: #ffc83d1f;
  --auth-ambient-b: #ffa92814;
  --auth-cta-a: #ffc83d;
  --auth-cta-b: #ffd466;
  --auth-cta-c: #ffa928;
  --auth-cta-ink: #1c2029;
  --auth-glow: 0 0 0 1px #8a5a00, 0 8px 22px -8px #8a5a0073;
  --auth-glow-hover: 0 0 0 1px #8a5a00, 0 10px 28px -8px #8a5a008c;
  --auth-lead: #8a5a00;
  --auth-panel: #ffffffb8;
  --auth-chip: #fff;
  --auth-pill-bg: #fff1cc;
  --auth-pill-edge: #8a5a003d;
  --auth-pill-ink: #7a4f00;
  --auth-tile-green-bg: #fff1cc;
  --auth-tile-green-ink: #7a4f00;
  --auth-tile-blue-bg: #ffe8cc;
  --auth-tile-blue-ink: #9a4500;
  --green-neon: #8a5a00;
  --green-mint: #9a6400;
  --green-glow: 0 1px 2px #8a5a0040;
  --green-badge-bg: #fff1cc;
  --green-badge-edge: #f2d27e;
  --green-badge-ink: #7a4f00;
}

:root[data-theme="light"] .ground-well {
  --well: #15171c;
  --night: #15171c;
}

:root, .ground-well {
  --cta-fill: linear-gradient(100deg, var(--cta), var(--neo-2));
  --grad-accent: linear-gradient(100deg, var(--accent), var(--accent-blue));
  --grad-accent-soft: linear-gradient(100deg, var(--accent-wash), var(--accent-blue-wash));
}

:root {
  --logo-brand-on-light: #8a5a00;
  --logo-ink-on-light: #1c2029;
  --logo-brand-on-dark: #ffc83d;
  --logo-ink-on-dark: #fff;
  --logo-plate: #fff;
  --google-g-blue: #4285f4;
  --google-g-green: #34a853;
  --google-g-yellow: #fbbc05;
  --google-g-red: #ea4335;
  --auth-line: linear-gradient(90deg, transparent, var(--auth-line-tint), transparent);
  --auth-ambient: radial-gradient(at 10% 15%, var(--auth-ambient-a) 0, transparent 40%), radial-gradient(at 90% 85%, var(--auth-ambient-b) 0, transparent 45%);
  --auth-cta: linear-gradient(90deg, var(--auth-cta-a), var(--auth-cta-b), var(--auth-cta-c));
  --font: var(--font-vietnam), "Be Vietnam Pro", system-ui, sans-serif;
  --font-mono: var(--font-jetbrains), "JetBrains Mono", ui-monospace, monospace;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-head: 600;
  --fit: 1;
  --step-display: calc(clamp(2.75rem, 1.3rem + 6vw, 5.25rem) * var(--fit));
  --step-h1: calc(clamp(1.875rem, 1.45rem + 1.7vw, 3rem) * var(--fit));
  --step-head: calc(clamp(1.75rem, 1.56rem + .76vw, 2.25rem) * var(--fit));
  --step-h3: clamp(1.5rem, 1.36rem + .57vw, 1.875rem);
  --step-title: 1.125rem;
  --step-lead: 1.125rem;
  --step-body: 1rem;
  --step-ui: .9375rem;
  --step-small: .875rem;
  --step-caption: .8125rem;
  --leading-tight: 1.08;
  --leading-head: 1.12;
  --leading-body: 1.625;
  --tracking-display: -.045em;
  --tracking-head: -.04em;
  --tracking-title: -.025em;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --margin: clamp(1rem, 2.2vw, 2rem);
  --gutter: clamp(1rem, 2vw, 2rem);
  --wrap: 80rem;
  --measure: 68ch;
  --section-gap: clamp(4rem, 3rem + 4vw, 7.5rem);
  --tap: 44px;
  --header-h: 64px;
  --header-h-compact: 56px;
  --header-top: 12px;
  --r-s: 4px;
  --r-xs: 6px;
  --r-m: 8px;
  --r-ctl: 12px;
  --r-tile: 12px;
  --r-l: 16px;
  --r-card: 16px;
  --r-xl: 24px;
  --r-panel: 18px;
  --r-full: 999px;
  --ease-expo: cubic-bezier(.16, 1, .3, 1);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-in-out: cubic-bezier(.76, 0, .24, 1);
  --ease-spring: cubic-bezier(.34, 1.06, .64, 1);
  --ease-bounce: linear(0, .42 13%, .78 26%, .98 37%, 1.06 47%, 1.03 62%, .99 78%, 1);
  --t-press: 90ms;
  --t-hover: .18s;
  --t-menu: .26s;
  --t-theme: .38s;
  --t-reveal: .8s;
  --t-reveal-move: .9s;
  --t-odometer: 1.1s;
  --stagger: 80ms;
  --stagger-word: 55ms;
  --stagger-digit: 60ms;
  --rise: 20px;
  --lift: -2px;
  --beam-speed: 4.5s;
}

@media (min-width: 48rem) {
  :root {
    --r-panel: var(--r-xl);
  }
}

:root:lang(vi) {
  --fit: .94;
}

/* [project]/src/styles/base.css [app-client] (css) */
*, :before, :after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-family: var(--font);
  background-color: var(--bg);
  color: var(--ink);
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  overflow-x: clip;
}

body {
  min-height: 100svh;
  font-size: var(--step-body);
  line-height: var(--leading-body);
  font-weight: var(--weight-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--bg);
  color: var(--ink);
  overflow-x: clip;
}

::selection {
  background-color: var(--cta);
  color: var(--cta-ink);
}

:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
  font-weight: var(--weight-head);
  letter-spacing: var(--tracking-head);
  line-height: var(--leading-head);
  color: var(--ink);
}

h1 {
  font-size: var(--step-display);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-display);
}

h2 {
  font-size: var(--step-head);
}

h3 {
  font-size: var(--step-title);
  letter-spacing: var(--tracking-title);
  line-height: 1.4;
}

code, kbd, samp, .num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

p {
  color: var(--ink);
  max-width: var(--measure);
  line-height: var(--leading-body);
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

button, a.btn, input[type="submit"], input[type="button"], select {
  min-height: var(--tap);
}

[data-money], [data-odometer] {
  direction: ltr;
  unicode-bidi: isolate;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.skip-link {
  top: -100px;
  background: var(--cta);
  color: var(--cta-ink);
  padding: var(--space-2) var(--space-4);
  z-index: 100;
  font-weight: var(--weight-semibold);
  border-radius: var(--r-s);
  position: absolute;
  inset-inline-start: var(--margin);
}

.skip-link:focus {
  top: var(--space-2);
}

@media (prefers-reduced-motion: no-preference) {
  html:not(.lenis) {
    scroll-behavior: smooth;
  }
}

::view-transition-old(root) {
  mix-blend-mode: normal;
  animation: none;
}

::view-transition-new(root) {
  mix-blend-mode: normal;
  animation: none;
}

::view-transition-new(root) {
  animation: rfx-theme-reveal .56s var(--ease-out);
}

@keyframes rfx-theme-reveal {
  from {
    clip-path: circle(0 at var(--vt-x, 90%) var(--vt-y, 40px));
  }

  to {
    clip-path: circle(150% at var(--vt-x, 90%) var(--vt-y, 40px));
  }
}

html.theme-fade, html.theme-fade * {
  transition: background-color var(--t-theme) var(--ease-out),
    color var(--t-theme) var(--ease-out),
    border-color var(--t-theme) var(--ease-out),
    fill var(--t-theme) var(--ease-out) !important;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-new(root) {
    animation: none;
  }
}

/* [project]/src/styles/grounds.css [app-client] (css) */
.ground-plain {
  background: var(--page);
}

.ground-band {
  --band-fade: 48px;
  --band-solid: 86%;
  --band-fill: color-mix(in srgb, var(--band) var(--band-solid), transparent);
  background: var(--ground-glow, none), linear-gradient(to bottom, transparent, var(--band-fill) var(--band-fade), var(--band-fill) calc(100% - var(--band-fade)), transparent);
}

.ground-well {
  background: var(--ground-glow, none), var(--well);
  color: var(--ink);
}

.ground-panel {
  --panel-glow-at: 0% 0%;
  --panel-glow-size: 70% 80%;
  --panel-glow: .15;
  isolation: isolate;
  border: 1px solid var(--panel-line);
  border-radius: var(--r-panel);
  background: radial-gradient(var(--panel-glow-size) at var(--panel-glow-at), rgb(var(--neo-tint) / var(--panel-glow)), transparent 70%), var(--panel);
  position: relative;
}

.ground-panel--glow-right {
  --panel-glow-at: 100% 0%;
}

/* [project]/src/styles/motion.css [app-client] (css) */
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal]:not([data-reveal-group]), .js [data-reveal-group] > * {
    opacity: 0;
    transform: translateY(var(--rise));
    transition: opacity var(--t-reveal) var(--ease-expo),
      transform var(--t-reveal-move) var(--ease-expo);
    transition-delay: var(--d, 0s);
  }

  .js [data-reveal].is-in:not([data-reveal-group]), .js [data-reveal-group].is-in > * {
    opacity: 1;
    transform: none;
  }

  .js .split-words__in {
    animation: rfx-word-rise 1.1s var(--ease-expo) forwards;
    animation-delay: calc(80ms + var(--wi, 0) * var(--stagger-word));
    transform: translateY(110%);
  }

  .odo__strip {
    transition: transform var(--t-odometer) var(--ease-expo);
    transition-delay: calc(var(--i, 0) * var(--stagger-digit));
  }

  button:active, a.btn:active {
    transition: transform var(--t-press) var(--ease-out);
    transform: scale(.97);
  }
}

@keyframes rfx-word-rise {
  to {
    transform: none;
  }
}

.split-words__w {
  vertical-align: top;
  margin-block: -.16em -.08em;
  padding-block: .16em .08em;
  display: inline-block;
  overflow: clip;
}

.split-words__in {
  display: inline-block;
}

.split-words__w:nth-child(2) {
  --wi: 1;
}

.split-words__w:nth-child(3) {
  --wi: 2;
}

.split-words__w:nth-child(4) {
  --wi: 3;
}

.split-words__w:nth-child(5) {
  --wi: 4;
}

.split-words__w:nth-child(6) {
  --wi: 5;
}

.split-words__w:nth-child(7) {
  --wi: 6;
}

.split-words__w:nth-child(8) {
  --wi: 7;
}

.split-words__w:nth-child(9) {
  --wi: 8;
}

.split-words__w:nth-child(10) {
  --wi: 9;
}

.split-words__w:nth-child(11) {
  --wi: 10;
}

.split-words__w:nth-child(n+12) {
  --wi: 11;
}

.odo {
  align-items: baseline;
  display: inline-flex;
}

.odo__col {
  height: 1.1em;
  line-height: 1.1;
  display: inline-block;
  overflow: clip;
}

.odo__strip {
  transform: translateY(calc(var(--d, 0) * -1.1em));
  display: block;
}

.odo__strip:before {
  content: "0\a 1\a 2\a 3\a 4\a 5\a 6\a 7\a 8\a 9";
  white-space: pre;
  line-height: 1.1em;
  display: block;
}

/* [project]/src/styles/ui.css [app-client] (css) */
[data-ui] {
  box-sizing: border-box;
  color: var(--ink);
  font-family: var(--font);
}

[data-ui] * {
  box-sizing: border-box;
}

[data-ui].ui-panel, [data-ui] .ui-panel {
  background-color: var(--surface);
  border-radius: var(--r-m);
  padding: var(--space-6);
}

[data-ui] .ui-panel-header {
  margin-bottom: var(--space-4);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

[data-ui] .ui-panel-title {
  font-size: var(--step-body);
  color: var(--ink);
  font-weight: 600;
}

[data-ui] .ui-badge {
  font-size: var(--step-small);
  border-radius: var(--r-m);
  background-color: var(--step);
  color: var(--muted);
  align-items: center;
  padding: .2rem .5rem;
  font-weight: 600;
  display: inline-flex;
}

[data-ui] .ui-badge[data-badge="sample"] {
  background-color: var(--step);
  color: var(--muted);
}

[data-ui] .ui-field {
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  flex-direction: column;
  display: flex;
}

[data-ui] .ui-label {
  font-size: var(--step-small);
  color: var(--muted);
  font-weight: 600;
}

[data-ui] .ui-input, [data-ui] .ui-select {
  width: 100%;
  min-height: var(--tap);
  padding: var(--space-2) var(--space-3);
  font-size: var(--step-body);
  font-variant-numeric: tabular-nums;
  background-color: var(--bg);
  border: 1px solid var(--field-edge);
  border-radius: var(--r-m);
  color: var(--ink);
}

[data-ui] .ui-input:focus, [data-ui] .ui-select:focus {
  outline: 2px solid var(--brand);
  outline-offset: 1px;
  border-color: var(--brand);
}

[data-ui] .ui-segmented {
  gap: var(--space-1);
  padding: var(--space-1);
  background-color: var(--bg);
  border-radius: var(--r-m);
  display: flex;
}

[data-ui] .ui-segmented-item {
  min-height: calc(var(--tap) - 8px);
  padding: var(--space-1) var(--space-3);
  font-size: var(--step-small);
  text-align: center;
  border-radius: var(--r-m);
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: none;
  flex: 1;
  font-weight: 600;
}

[data-ui] .ui-segmented-item[aria-pressed="true"], [data-ui] .ui-segmented-item.active {
  background-color: var(--surface);
  color: var(--ink);
}

[data-ui] .ui-table-wrap {
  border-radius: var(--r-m);
  background-color: var(--surface);
  width: 100%;
  overflow-x: auto;
}

[data-ui] .ui-table {
  border-collapse: collapse;
  text-align: left;
  width: 100%;
  font-size: var(--step-body);
}

[data-ui] .ui-table th {
  padding: var(--space-3) var(--space-4);
  font-size: var(--step-small);
  color: var(--muted);
  background-color: var(--step);
  font-weight: 600;
}

[data-ui] .ui-table td {
  padding: var(--space-3) var(--space-4);
  font-variant-numeric: tabular-nums;
  border-bottom: 1px solid var(--step);
}

[data-ui] .ui-table tr:last-child td {
  border-bottom: none;
}

[data-ui] .ui-table .num-cell {
  text-align: right;
}

[data-ui] .ui-btn {
  min-height: var(--tap);
  padding: var(--space-2) var(--space-5);
  font-size: var(--step-body);
  border-radius: var(--r-m);
  cursor: pointer;
  border: none;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  display: inline-flex;
}

[data-ui] .ui-btn-primary {
  background-color: var(--cta);
  color: var(--cta-ink);
}

[data-ui] .ui-btn-secondary {
  background-color: var(--step);
  color: var(--ink);
}

[data-ui] .ui-term-hint {
  cursor: help;
  color: var(--muted);
  -webkit-text-decoration: underline dotted var(--muted);
  text-decoration: underline dotted var(--muted);
  text-underline-offset: 3px;
  align-items: center;
  display: inline-flex;
}

.tag {
  border-radius: var(--r-s);
  background: var(--step);
  color: var(--muted);
  font-size: .8125rem;
  font-weight: var(--weight-semibold);
  white-space: nowrap;
  padding: 3px 8px;
  line-height: 1.35;
  display: inline-block;
}

.sheet {
  border-radius: var(--r-l);
  background: var(--surface);
  color: var(--ink);
  font-size: var(--step-ui);
  box-shadow: var(--shadow);
  padding: 22px 26px 20px;
  line-height: 1.35;
}

.sheet__head {
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-3);
  margin-block-end: var(--space-3);
  display: flex;
}

.sheet__title {
  font-size: 1.125rem;
  font-weight: var(--weight-semibold);
  margin: 0;
}

.sheet__label {
  color: var(--muted);
  font-size: var(--step-small);
  margin: 0;
}

.sheet__label-row {
  justify-content: space-between;
  align-items: center;
  gap: 0 var(--space-3);
  flex-wrap: wrap;
  margin-block-end: 6px;
  display: flex;
}

.seg {
  border-radius: var(--r-m);
  background: var(--step);
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  gap: 4px;
  margin-block-end: var(--space-3);
  padding: 4px;
  display: grid;
}

.seg button {
  min-block-size: var(--tap);
  color: var(--ink);
  font-size: var(--step-small);
  font-weight: var(--weight-semibold);
  cursor: pointer;
  transition: background-color var(--t-hover) ease,
    color var(--t-hover) ease,
    transform var(--t-press) var(--ease-out);
  background: none;
  border: 0;
  border-radius: 6px;
  padding-inline: 4px;
}

.seg button:active {
  transform: scale(.96);
}

.seg button[aria-pressed="true"] {
  background: var(--cta);
  color: var(--cta-ink);
}

.seg--preset button {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1px;
  min-block-size: 52px;
  display: flex;
}

.seg--preset small {
  font-size: .8125rem;
  font-weight: var(--weight-regular);
}

@media (hover: hover) and (pointer: fine) {
  .seg button:not([aria-pressed="true"]):hover {
    background: color-mix(in oklab, var(--step) 60%, var(--surface));
  }
}

@media (prefers-reduced-motion: no-preference) {
  .seg button[aria-pressed="true"] {
    animation: rfx-press-in .24s var(--ease-out);
  }
}

@keyframes rfx-press-in {
  from {
    transform: scale(.97);
  }
}

@media (max-width: 400px) {
  .seg--brokers button {
    font-size: .8125rem;
  }
}

.sheet__own {
  align-items: end;
  gap: var(--space-2) var(--space-4);
  flex-wrap: wrap;
  margin-block-end: var(--space-2);
  display: flex;
}

.sheet__own[hidden] {
  display: none;
}

.sheet__own-toggle {
  min-block-size: 32px;
  color: var(--ink);
  font-size: var(--step-small);
  font-weight: var(--weight-semibold);
  text-underline-offset: .22em;
  text-decoration: underline;
  -webkit-text-decoration-color: color-mix(in oklab, currentColor 40%, transparent);
  text-decoration-color: color-mix(in oklab, currentColor 40%, transparent);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  position: relative;
}

.sheet__own-toggle:before {
  content: "";
  position: absolute;
  inset: -6px -4px;
}

.sheet__own-field {
  color: var(--muted);
  font-size: var(--step-small);
  flex: 10rem;
  gap: 4px;
  display: grid;
}

.sheet__own-field input, .sheet__own-field select {
  inline-size: 100%;
  min-block-size: var(--tap);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--field-edge);
  border-radius: var(--r-m);
  background: var(--bg);
  color: var(--ink);
  font-size: var(--step-ui);
}

.sheet .rows {
  margin: 6px 0 0;
}

.sheet .row {
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-4);
  padding-block: 10px;
  display: flex;
}

.sheet .row:nth-child(2n):not(.row--back) {
  border-radius: var(--r-m);
  background: var(--step);
  margin-inline: -10px;
  padding-inline: 10px;
}

.sheet .row dt {
  color: var(--muted);
}

.sheet .row dd {
  font-weight: var(--weight-semibold);
  margin: 0;
}

.sheet .row--back {
  border-radius: var(--r-m);
  background: var(--reward-soft);
  align-items: center;
  margin-block-start: var(--space-2);
  padding: 12px 16px;
}

.sheet .row--back dt {
  align-items: center;
  gap: var(--space-2);
  color: var(--reward-ink);
  font-weight: var(--weight-semibold);
  display: flex;
}

.sheet .row--back dt:before {
  content: "";
  background: var(--reward);
  border-radius: 50%;
  block-size: 12px;
  inline-size: 12px;
}

.sheet .row--back dd {
  color: var(--positive);
  font-size: 2.25rem;
  font-weight: var(--weight-bold);
  letter-spacing: -.03em;
  line-height: 1.1;
}

.sheet__say {
  margin: var(--space-3) 0 0;
}

.sheet__meta {
  color: var(--muted);
  font-size: var(--step-small);
  white-space: nowrap;
}

.sheet__foot {
  align-items: center;
  gap: var(--space-2);
  color: var(--muted);
  font-size: var(--step-small);
  flex-wrap: wrap;
  margin-block-start: var(--space-3);
  display: flex;
}

.sheet__partner {
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 6px;
  display: inline-flex;
}

.sheet__code-hint {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.sheet__code {
  color: var(--ink);
  font-weight: var(--weight-semibold);
  overflow-wrap: anywhere;
}

.sheet__actions {
  align-items: center;
  gap: var(--space-3) 22px;
  flex-wrap: wrap;
  margin-block-start: var(--space-5);
  display: flex;
}

.sheet__cta {
  border-radius: var(--r-s);
  background: var(--cta);
  min-block-size: 48px;
  color: var(--cta-ink);
  font-weight: var(--weight-semibold);
  cursor: pointer;
  border: 0;
  padding-inline: 22px;
}

.sheet__link {
  min-block-size: var(--tap);
  color: var(--ink);
  font-weight: var(--weight-semibold);
  text-underline-offset: .22em;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
}

@media (max-width: 860px) {
  .sheet {
    padding: 18px 16px 16px;
  }

  .sheet .row--back dd {
    font-size: 1.75rem;
  }
}

.term-hint {
  background: var(--step);
  block-size: 28px;
  min-block-size: 28px;
  inline-size: 28px;
  color: var(--ink);
  font-size: var(--step-small);
  font-weight: var(--weight-semibold);
  vertical-align: .05em;
  cursor: pointer;
  transition: transform var(--t-press) var(--ease-out);
  border: 0;
  border-radius: 50%;
  place-items: center;
  margin-inline-start: 6px;
  padding: 0;
  line-height: 1;
  text-decoration: none;
  display: inline-grid;
  position: relative;
}

.term-hint:before {
  content: "";
  position: absolute;
  inset: -8px;
}

.term-hint:active {
  transform: scale(.92);
}

.term-hint__pop {
  border-radius: var(--r-m);
  background: var(--surface);
  max-inline-size: min(340px, 100vw - 32px);
  color: var(--ink);
  font-size: var(--step-ui);
  font-weight: var(--weight-regular);
  text-align: start;
  box-shadow: var(--shadow);
  border: 0;
  margin: auto;
  padding: 18px 20px;
  line-height: 1.45;
}

.term-hint__pop:popover-open {
  gap: var(--space-2);
  display: grid;
}

.term-hint__pop::backdrop {
  background: var(--scrim);
}

.term-hint__title {
  font-weight: var(--weight-bold);
}

.term-hint__example {
  color: var(--muted);
}

.term-hint__more {
  color: var(--brand-strong);
  font-weight: var(--weight-semibold);
  text-underline-offset: .22em;
  text-decoration: underline;
}

/* [project]/node_modules/lenis/dist/lenis.css [app-client] (css) */
html.lenis, html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch], .lenis [data-lenis-prevent-vertical], .lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-behavior: allow-discrete;
  transition-property: overflow;
  transition-duration: 1ms;
}

/* [project]/src/components/theme/theme-toggle.css [app-client] (css) */
.theme-toggle {
  min-width: var(--tap);
  min-height: var(--tap);
  border-radius: var(--r-s);
  color: var(--ink);
  cursor: pointer;
  transition: background-color var(--t-hover) var(--ease-out);
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.theme-toggle svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  width: 20px;
  height: 20px;
}

.theme-toggle__moon, :root[data-theme="dark"] .theme-toggle__sun {
  display: none;
}

:root[data-theme="dark"] .theme-toggle__moon {
  display: block;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .theme-toggle__sun {
    display: none;
  }

  :root:not([data-theme]) .theme-toggle__moon {
    display: block;
  }
}

@media (hover: hover) and (pointer: fine) {
  .theme-toggle:hover {
    background: var(--step);
  }
}

/* [project]/src/styles/motion-fx.css [app-client] (css) */
@property --beam-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

:where(.fx-beam, .fx-spot, .fx-lift) {
  isolation: isolate;
  position: relative;
}

.fx-beam:before {
  content: "";
  padding: var(--beam-width, 1px);
  border-radius: inherit;
  background: conic-gradient(from var(--beam-angle), transparent 0 62%, var(--beam-from, var(--accent)) 80%, var(--beam-to, var(--accent-blue)) 92%, transparent);
  -webkit-mask-composite: xor;
  pointer-events: none;
  position: absolute;
  inset: 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor, source-over;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}

@media (prefers-reduced-motion: no-preference) {
  .fx-beam:before {
    animation: fx-beam-turn var(--beam-speed) linear infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fx-beam:before {
    background: var(--grad-accent);
    opacity: .55;
  }
}

@keyframes fx-beam-turn {
  to {
    --beam-angle: 360deg;
  }
}

.fx-lift:after {
  content: "";
  z-index: -1;
  border-radius: inherit;
  box-shadow: var(--fx-glow, var(--glow-accent));
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-hover) var(--ease-out);
  position: absolute;
  inset: 0;
}

.fx-lift:focus-visible:after {
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .fx-spot:after {
    content: "";
    z-index: -1;
    border-radius: inherit;
    background: radial-gradient(var(--spot-size, 20rem) circle at var(--mx, 50%) var(--my, 50%), var(--fx-tint, var(--accent-wash)), transparent 70%);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-hover) var(--ease-out);
    position: absolute;
    inset: 0;
  }

  .fx-spot:hover:after, .fx-lift:hover:after {
    opacity: 1;
  }
}

.fx-tint-neutral {
  --fx-tint: color-mix(in srgb, var(--ink) 9%, transparent);
  --fx-glow: 0 0 0 1px color-mix(in srgb, var(--ink) 16%, transparent);
}

@media (prefers-reduced-motion: no-preference) {
  .fx-lift {
    transition: translate var(--t-hover) var(--ease-out);
  }

  .fx-lift:focus-visible {
    translate: 0 var(--lift);
  }
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .fx-lift:hover {
    translate: 0 var(--lift);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .js [data-draw] [pathLength="1"] {
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset var(--t-reveal-move) var(--ease-out);
    transition-delay: calc(var(--d, 0s) + var(--draw-delay, .16s));
  }

  .js [data-reveal]:not(.is-in) [data-draw] [pathLength="1"], .js [data-reveal][data-draw]:not(.is-in) [pathLength="1"] {
    stroke-dashoffset: 1px;
  }
}

.fx-live:not([data-live]), .fx-live:not([data-live]):before, .fx-live:not([data-live]):after, .fx-live:not([data-live]) *, .fx-live:not([data-live]) :before, .fx-live:not([data-live]) :after, html[data-hidden] *, html[data-hidden] :before, html[data-hidden] :after {
  animation-play-state: paused !important;
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__1dcexmqjkvm53._.css.map*/