@font-face{font-family:"Chakra Petch";src:url("../fonts/chakra-petch-latin-600-normal.27489a499469.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;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:"Chakra Petch";src:url("../fonts/chakra-petch-vietnamese-600-normal.e504e1006a06.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+20AB,U+1EA0-1EF9}
@font-face{font-family:"Chakra Petch";src:url("../fonts/chakra-petch-latin-700-normal.56706b63a0f0.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;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:"Chakra Petch";src:url("../fonts/chakra-petch-vietnamese-700-normal.5f6077d733cb.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+20AB,U+1EA0-1EF9}
@font-face{font-family:"Be Vietnam Pro";src:url("../fonts/be-vietnam-pro-latin-400-normal.79141d22ee07.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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";src:url("../fonts/be-vietnam-pro-vietnamese-400-normal.fe6a292550f5.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+20AB,U+1EA0-1EF9}
@font-face{font-family:"Be Vietnam Pro";src:url("../fonts/be-vietnam-pro-latin-500-normal.4ca4b0de939a.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;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";src:url("../fonts/be-vietnam-pro-vietnamese-500-normal.ee80d72b320a.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+20AB,U+1EA0-1EF9}
@font-face{font-family:"Be Vietnam Pro";src:url("../fonts/be-vietnam-pro-latin-600-normal.a4759a77d292.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;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";src:url("../fonts/be-vietnam-pro-vietnamese-600-normal.f08f144d6ee5.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+20AB,U+1EA0-1EF9}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-latin-400-normal.caf0dfde4e44.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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";src:url("../fonts/jetbrains-mono-vietnamese-400-normal.789a43b6ed9a.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+20AB,U+1EA0-1EF9}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-latin-500-normal.a21e038a03f7.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;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";src:url("../fonts/jetbrains-mono-vietnamese-500-normal.a026792141f5.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+20AB,U+1EA0-1EF9}
/* STS POD HUB · Hướng A "Thép" (Claude Design 15/10). Tối là mặc định của selector; người dùng chọn Sáng/Tối trong menu tài khoản (data-theme luôn được đặt). */
:root,[data-theme="dark"]{
/* Task 24 margin bands: main / soft / foreground. */
--band-loss:#FF7B6F;--band-loss-soft:#361614;--band-loss-ink:#0F1722;
--band-0-10:#F5A16B;--band-0-10-soft:#382314;--band-0-10-ink:#0F1722;
--band-10-20:#F5CC55;--band-10-20-soft:#332C13;--band-10-20-ink:#0F1722;
--band-20-30:#B9E8CA;--band-20-30-soft:#1D3028;--band-20-30-ink:#0F1722;
--band-30-40:#94DBAF;--band-30-40-soft:#193126;--band-30-40-ink:#0F1722;
--band-40-50:#70CD99;--band-40-50-soft:#153025;--band-40-50-ink:#0F1722;
--band-50-60:#4DB77F;--band-50-60-soft:#122D21;--band-50-60-ink:#0F1722;
--band-60-up:#37A46D;--band-60-up-soft:#10291D;--band-60-up-ink:#0F1722;

--bg:#0B0F15;--sf:#121821;--sf2:#171F2A;--sf3:#1D2633;--line:#263142;--line2:#5E6E84;
--ink:#E6EAF0;--ink2:#9DA8B8;--ink3:#7F8A9B;
--st-info:#6B93FF;--st-info-s:#172446;--on-st-info:#06102A;
--pri:#6B93FF;--pri-h:#8AABFF;--pri-s:#172446;--on-pri:#06102A;
--side:#0E131B;--side-ink:#8E9AAB;--side-on:#FFFFFF;--side-act:#1A2230;--side-sec:#6F7B8D;--side-line:#232D3C;
--ok:#4ADE95;--ok-s:#0F2A1E;--todo:#F5B544;--todo-s:#2D2210;--pause:#A6B0BE;--pause-s:#1F2631;--err:#FF7B6F;--err-s:#361614;
--sh-pop:0 8px 24px rgba(0,0,0,.5);--backdrop:rgba(5,8,12,.72);
color-scheme:dark}
[data-theme="light"]{
/* Task 24 margin bands: main / soft / foreground. */
--band-loss:#B42318;--band-loss-soft:#D68680;--band-loss-ink:#FFFFFF;
--band-0-10:#D9631E;--band-0-10-soft:#EAA983;--band-0-10-ink:#0F1722;
--band-10-20:#E0A200;--band-10-20-soft:#EECC73;--band-10-20-ink:#0F1722;
--band-20-30:#A7DCB9;--band-20-30-soft:#CFECD8;--band-20-30-ink:#0F1722;
--band-30-40:#7BC79A;--band-30-40-soft:#B6E0C7;--band-30-40-ink:#0F1722;
--band-40-50:#4DAE78;--band-40-50-soft:#9DD2B5;--band-40-50-ink:#0F1722;
--band-50-60:#1E8050;--band-50-60-soft:#83B99F;--band-50-60-ink:#FFFFFF;
--band-60-up:#0B5E37;--band-60-up-soft:#79A691;--band-60-up-ink:#FFFFFF;

--bg:#EDF0F4;--sf:#FFFFFF;--sf2:#F5F7FA;--sf3:#E9EDF2;--line:#D4DAE3;--line2:#8893A3;
--ink:#0F1722;--ink2:#4A5565;--ink3:#667080;
--st-info:#1D4ED8;--st-info-s:#E7EDFD;--on-st-info:#FFFFFF;
--pri:#1D4ED8;--pri-h:#1A43B8;--pri-s:#E7EDFD;--on-pri:#FFFFFF;
--side:#121821;--side-ink:#A7B2C2;--side-on:#FFFFFF;--side-act:#1F2938;--side-sec:#6F7B8D;--side-line:#263142;
--ok:#0E7A47;--ok-s:#E2F3EA;--todo:#995700;--todo-s:#FCEFD8;--pause:#556070;--pause-s:#E9ECF1;--err:#B42318;--err-s:#FDE8E6;
--sh-pop:0 8px 24px rgba(15,23,34,.16);--backdrop:rgba(15,23,34,.5);
color-scheme:light}
:root{
--pri-ink:var(--pri);
--acc:var(--pri);--acc-h:var(--pri-h);--acc-s:var(--pri-s);--acc-ink:var(--pri);--on-acc:var(--on-pri);
--sw-steel:#1D4ED8;--sw-forge:#FF6A1F;--sw-mint:#10C9A0;--sw-spectrum:linear-gradient(135deg,#1F5BFF 25%,#FF5A5F 25% 50%,#06AED4 50% 75%,#12B76A 75%);
--f-d:"Chakra Petch",system-ui,sans-serif;--f-b:"Be Vietnam Pro","Segoe UI",system-ui,sans-serif;--f-m:"JetBrains Mono",ui-monospace,monospace;
--fs-h1:20px;--fs-body:13px;--lh:1.45;
--fs-xs:11.5px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:15px;--fs-2xl:18px;--fs-3xl:20px;
--fw-medium:500;--fw-semibold:600;--fw-bold:700;
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;
--cut:6px;--cut-xs:4px;--cut-sm:6px;--cut-md:8px;--cut-lg:10px;--bw:1px;
--focus:0 0 0 2px var(--sf),0 0 0 4px var(--pri);
--row:36px;--row-head:32px;--ctl:30px;--ctl-sm:24px;
--top-h:46px;--side-w:212px;--rail-w:52px;--panel-w:540px;
--sidebar-w:var(--side-w);--topbar-h:var(--top-h);--statusbar-h:24px;
--ease:cubic-bezier(.2,.8,.2,1);--t-instant:80ms;--t-quick:150ms;--t-smooth:220ms;
/* bí danh tên cũ — listing.css và template cũ vẫn dùng */
--font-display:var(--f-d);--font-sans:var(--f-b);--font-mono:var(--f-m);
--surface:var(--sf);--surface-raised:var(--sf2);--surface-sunken:var(--sf2);--line-strong:var(--line2);
--ink-muted:var(--ink2);--ink-subtle:var(--ink3);
--primary:var(--pri);--on-primary:var(--on-pri);--primary-text:var(--pri-ink);--sheen:var(--pri);
--signal:var(--pri);--on-signal:var(--on-pri);--signal-soft:var(--pri-s);
--success:var(--ok);--success-soft:var(--ok-s);--warning:var(--todo);--warning-soft:var(--todo-s);
--danger:var(--err);--danger-soft:var(--err-s);--neutral:var(--pause);--neutral-soft:var(--pause-s);
--edge:none;--glow-sm:none;--glow-md:none;--glow-drop:none;--logo-glow:none;
--staging-bg:#8A3500;--staging-text:#FFFFFF}
.dense{--row:30px;--row-head:28px;--ctl:28px}
body{--primary:var(--pri);--primary-text:var(--pri-ink);--on-primary:var(--on-pri);--signal:var(--pri);--signal-soft:var(--pri-s);--on-signal:var(--on-pri);--focus:0 0 0 2px var(--sf),0 0 0 4px var(--pri)}
