/* slidekit: thư viện thành phần slide (nền + thành phần dùng chung) */
  #stage, .skTh .in{--navy:#1E2761; --gold:#C9A227; --ink:#2B2F3A; --dim:#5B6272; --line:#DCE1F2; --soft:#F4F6FC; --cream:#FFF6DA; --gr:#15803D; --rd:#C2410C; --head:var(--navy);
     --paper:#fff; --onn:#fff; --ong:var(--onn); --gold-d:#A07C10; --muted:#7A8090; --foot:#8A90A0; --on2:#E8EAF5; --on3:#D3D7EC; --on4:#B5BBDA; --on5:#8D95C4; --card2:#FBFAF6; --line2:#E6E1CF; --code:#EEF1FA; --cream-b:#EADBA6;
     background:var(--paper);}
  .s{padding:72px 120px 96px; display:flex; flex-direction:column; justify-content:flex-start; color:var(--ink); font-family:var(--font); counter-increment:sl;}
  #stage, .skTh .in{counter-reset:sl;}
  .s::before{content:var(--ftx,""); position:absolute; left:120px; bottom:38px; font-size:21px; color:var(--foot);}
  .s::after{content:var(--pg, counter(sl)); position:absolute; right:120px; bottom:38px; font-size:21px; color:var(--foot);}
  .s:not(.sec):not(.cover) > .ov::after{content:""; position:absolute; top:58px; right:110px; width:86px; height:86px; border-radius:50%; background:var(--navy);}
  .ov{font-weight:800; font-size:25px; letter-spacing:.16em; color:var(--gold); margin:0 0 14px; text-transform:uppercase;}
  h1{font-weight:800; font-size:84px; line-height:1.15; margin:0; color:var(--onn); letter-spacing:-.01em;}
  h2{font-weight:800; font-size:54px; line-height:1.22; margin:0; color:var(--head); max-width:1520px; letter-spacing:-.01em;}
  h3{font-weight:800; font-size:34px; line-height:1.25; margin:0; color:var(--head);}
  p{margin:0} i{font-style:italic}
  .mt{margin-top:40px} .mt2{margin-top:24px}
  .g2{display:grid; grid-template-columns:1fr 1fr; gap:40px;} .g3{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  ul.b{margin:0; padding-left:34px; font-size:34px; line-height:1.45;} ul.b li{margin:7px 0;} ul.b a{color:var(--head); font-weight:700;} ul.b li::marker{color:var(--gold);} ul.b b{color:var(--head);}
  ul.b.sm{font-size:31px;} ul.b.w{color:var(--on2);} ul.b.w b{color:var(--onn);}
  .lab{font-weight:800; font-size:22px; letter-spacing:.13em; color:var(--gold); text-transform:uppercase; margin-bottom:12px;} .lab.g{color:var(--gold);} .lab.gr{color:var(--gr);} .lab.rd{color:var(--rd);}
  .box{background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:28px 32px;} .box p{font-size:29px; line-height:1.45; color:var(--dim); margin-top:10px;} .box p b{color:var(--head);} .box.sm p{font-size:26px;}
  .box b.n{display:inline-flex; width:46px; height:46px; border-radius:50%; background:var(--navy); color:var(--onn); font-size:28px; align-items:center; justify-content:center; margin-bottom:12px;}
  .navyb{background:var(--navy); color:var(--on2); border-radius:20px; padding:26px 34px; font-size:30px; line-height:1.5;} .navyb b{color:var(--onn);} .navyb p{margin-top:6px;} .navyb.tall{padding:32px 36px;}
  .ask{margin-top:28px; background:var(--cream); border-left:8px solid var(--gold); border-radius:0 16px 16px 0; padding:20px 28px; font-size:30px; line-height:1.45;} .ask b{color:var(--gold-d); letter-spacing:.06em;}
  .note{font-size:25px; color:var(--muted); margin-top:22px; line-height:1.5;} .note code, code{font-family:var(--mono); font-size:.9em; background:var(--code); color:var(--head); padding:2px 8px; border-radius:6px;}
  .src{font-size:22px; color:var(--muted); margin-top:22px; line-height:1.5;}
  .lead{font-size:34px; color:var(--dim); margin-top:10px;}
  .links{margin-top:20px; display:flex; flex-wrap:wrap; gap:14px;} .links a{font-weight:700; font-size:25px; color:var(--head); background:var(--cream); border:2px solid var(--gold); border-radius:999px; padding:10px 22px; text-decoration:none;}
  /* cover + section */
  .s.cover, .s.sec{background:var(--navy); justify-content:center; padding:96px 150px; overflow:hidden;}
  .s.cover::before, .s.sec::before{color:var(--on5);} .s.cover::after, .s.sec::after{color:var(--on5);}
  .deco{position:absolute; right:-160px; top:-200px; width:760px; height:760px; border-radius:50%; background:rgba(255,255,255,.06);}
  .deco::after{content:""; position:absolute; left:-1180px; top:1020px; width:420px; height:420px; border-radius:50%; background:rgba(255,255,255,.07);}
  .cover .sub{font-size:39px; color:var(--on3); margin-top:30px;} .cover .meta{font-size:30px; color:var(--on4); margin-top:60px;}
  .cover.end h1{font-size:72px;}
  .sec h1{font-size:76px; max-width:1500px;} .sec ul.ar{list-style:none; padding:0; margin:46px 0 0; font-size:37px; line-height:1.5; color:var(--on3);} .sec ul.ar li::before{content:"›  "; color:var(--gold); font-weight:800;}
  /* review */
  .qs{display:grid; gap:20px; margin-top:34px;} .qs > div{display:grid; grid-template-columns:72px 1fr; gap:24px; align-items:start; background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:22px 28px;}
  .qs b{width:60px; height:60px; border-radius:50%; background:var(--gold); color:var(--ong); font-size:34px; display:flex; align-items:center; justify-content:center;} .qs p{font-size:33px; line-height:1.45;} .qs.ans p{font-size:29px;} .qs strong{color:var(--head);}
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px;} .steps > div{border-top:8px solid var(--gold); background:var(--soft); border-radius:0 0 18px 18px; padding:24px 26px;}
  .steps b{font-size:28px; color:var(--gold); font-weight:800;} .steps h3{font-size:36px; margin-top:6px;} .steps p{font-size:26px; color:var(--dim); margin-top:10px; line-height:1.45;}
  .steps + .navyb{margin-top:30px; font-size:28px;}
  .box.big{display:flex; flex-direction:column; justify-content:center; background:var(--cream); border-color:var(--cream-b);} .huge{font-size:44px !important; font-weight:800; color:var(--head) !important; line-height:1.3 !important;} .huge em{font-style:normal; color:var(--gold-d);}
  .quote{margin-top:30px; font-size:37px; line-height:1.45; font-style:italic; color:var(--head); border-left:8px solid var(--gold); padding:8px 0 8px 30px;} .quote span{font-style:normal; color:var(--muted); font-size:28px;}
  /* tables */
  table.tb{width:100%; border-collapse:collapse; margin-top:30px; font-size:28px;} table.tb th{background:var(--navy); color:var(--onn); text-align:left; padding:14px 18px; font-size:25px;}
  table.tb td{padding:10px 18px; border-bottom:1px solid var(--line); vertical-align:top; line-height:1.4;} table.tb tr:nth-child(even) td{background:var(--soft);} table.tb td b{color:var(--head);}
  table.tb td.y{color:var(--gr); font-weight:700;} table.tb td.m{color:var(--gold-d); font-weight:700;} table.tb td.n{color:var(--rd); font-weight:700;}
  table.tb.sm{font-size:25px; margin-top:6px;} table.tb.kw td:first-child{width:24%; font-weight:700; color:var(--head);}
  /* databases */
  .db{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:30px;} .db > div{border-radius:16px; padding:18px 22px; border:1px solid var(--line); border-top:7px solid; background:var(--soft);}
  .db .f{border-top-color:var(--gr);} .db .p{border-top-color:var(--navy);} .db .t{border-top-color:var(--gold);}
  .db h3{font-size:30px;} .db p{font-size:23px; color:var(--dim); margin-top:8px; line-height:1.4; min-height:84px;} .db a{display:block; margin-top:10px; font-family:var(--mono); font-size:18px; color:var(--head);}
  .lgd{margin-top:18px; font-size:23px; color:var(--muted);} .lgd i{display:inline-block; width:22px; height:8px; border-radius:4px; margin:0 8px 2px 18px;} .lgd i.f{background:var(--gr);} .lgd i.p{background:var(--navy);} .lgd i.t{background:var(--gold);}
  /* query builder */
  .qb{margin-top:26px; background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:22px 28px;} .qb .row{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:10px 0;}
  .qb .row > span{width:110px; font-weight:800; color:var(--gold); font-size:23px; letter-spacing:.1em; text-transform:uppercase;}
  .qb button{font:600 22px var(--mono); border:2px solid var(--line); background:var(--paper); color:var(--dim); border-radius:999px; padding:9px 18px; cursor:pointer;} .qb button.on{background:var(--navy); border-color:var(--navy); color:var(--onn);}
  .qb .out{margin-top:16px; display:flex; gap:18px; align-items:center;} .qb .out code{flex:1; font-size:26px; padding:14px 18px; background:var(--paper); border:2px solid var(--gold); line-height:1.4;}
  .qb .out a{font-weight:800; font-size:25px; background:var(--gold); color:var(--ong); padding:14px 24px; border-radius:999px; text-decoration:none; white-space:nowrap;}
  /* snowball */
  .snow{display:grid; grid-template-columns:1fr 420px 1fr; gap:30px; align-items:center; margin-top:40px;} .snow .c{border:2px dashed var(--line); border-radius:20px; padding:26px 30px; font-size:29px; line-height:1.45; color:var(--dim); position:relative;}
  .snow .c b{display:block; color:var(--gold); letter-spacing:.14em; font-size:25px; margin-bottom:8px;} .snow .c p b{display:inline; color:var(--head); letter-spacing:0; font-size:inherit;}
  .snow .back::after{content:"←"; position:absolute; right:-28px; top:50%; transform:translate(50%,-50%); font-size:44px; color:var(--gold);}
  .snow .fwd::after{content:"→"; position:absolute; left:-28px; top:50%; transform:translate(-50%,-50%); font-size:44px; color:var(--gold);}
  .snow .seed{background:var(--navy); color:var(--onn); border-radius:50%; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-size:32px; font-weight:700; padding:40px;} .snow .seed small{color:var(--on4); font-size:25px; font-weight:500;}
  .g3 .box h3{font-size:32px;}
  /* case */
  .cv{display:grid; grid-template-columns:720px 1fr; gap:56px; margin-top:34px; align-items:start;}
  .vis .cap{font-size:20px; color:var(--foot); margin-top:12px; line-height:1.4;} .vis.photo img{width:100%; height:560px; object-fit:cover; object-position:50% 40%; border-radius:16px; display:block;}
  .cv .ask{font-size:28px;}
  .refcard{background:var(--card2); border:1px solid var(--line2); border-radius:16px; padding:32px 34px; position:relative; box-shadow:0 10px 30px rgba(30,39,97,.08); min-height:420px;}
  .refcard .ref{font-family:Georgia, serif; font-size:34px; line-height:1.55; color:#333; margin-top:18px;}
  .refcard .stamp{position:absolute; right:34px; bottom:34px; transform:rotate(-8deg); border:5px solid var(--rd); color:var(--rd); font-weight:900; font-size:36px; letter-spacing:.08em; padding:8px 22px; border-radius:10px;}
  .bigstat{background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:36px 40px;} .bigstat > b{display:block; font-size:96px; line-height:1; font-weight:900; color:var(--head); letter-spacing:-.02em;} .bigstat > b.r{color:var(--rd); margin-top:30px;}
  .bigstat p{font-size:30px; color:var(--dim); margin-top:8px; line-height:1.4;}
  .bars3{background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:30px 34px;} .bars3 .br{display:grid; grid-template-columns:250px 1fr 110px; gap:16px; align-items:center; margin-top:24px; font-size:26px;}
  .bars3 .br i{display:block; height:44px; background:linear-gradient(90deg, var(--rd), #E8794A); border-radius:8px; width:var(--w); min-width:6px;} .bars3 .br b{font-size:32px; color:var(--head);}
  .tl{border-left:5px solid var(--line); padding-left:30px; display:grid; gap:20px;} .tl > div{position:relative;} .tl > div::before{content:""; position:absolute; left:-43px; top:8px; width:20px; height:20px; border-radius:50%; background:var(--navy);}
  .tl b{font-size:30px; color:var(--head);} .tl p{font-size:26px; color:var(--dim); line-height:1.4; margin-top:4px;} .tl .rd::before{background:var(--rd);} .tl .rd b{color:var(--rd);}
  /* flow */
  .flow{display:flex; align-items:stretch; gap:14px; margin-top:40px;} .flow > div{flex:1; background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:22px 22px;} .flow > i{align-self:center; font-style:normal; font-size:40px; color:var(--gold);}
  .flow b{display:inline-flex; width:42px; height:42px; border-radius:50%; background:var(--gold); color:var(--ong); align-items:center; justify-content:center; font-size:25px;} .flow h3{font-size:30px; margin-top:12px;} .flow p{font-size:24px; color:var(--dim); margin-top:8px; line-height:1.4;}
  /* craap */
  .craap{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:32px;} .craap > div{background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:22px 24px;}
  .craap b{font-size:72px; font-weight:900; color:var(--gold); line-height:1;} .craap h3{font-size:28px; margin-top:8px;} .craap p{font-size:25px; color:var(--dim); margin-top:8px; line-height:1.4;}
  /* reveal */
  .rvg{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:30px;} .rv{background:var(--soft); border:2px solid var(--line); border-radius:18px; padding:22px 28px; cursor:pointer; min-height:230px;}
  .rv > p:not(.lab){font-size:29px; line-height:1.45;} .rv .ans{display:none; margin-top:14px; padding-top:14px; border-top:2px dashed var(--line); font-size:26px; line-height:1.45; color:var(--dim);}
  .rv.open{border-color:var(--gold); background:var(--paper);} .rv.open .ans{display:block;} .rv:not(.open)::after{content:"Bấm để xem đáp án"; display:block; margin-top:14px; font-size:22px; color:#A0A6B5;}
  .rvg.r4{grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;} .rvg.r4 .rv{min-height:0; padding:16px 20px;} .rvg.r4 .rv > p:not(.lab){font-size:24px; line-height:1.4;}
  .rvg.r4 .lab{font-size:18px; margin-bottom:8px;} .rvg.r4 .ans{font-size:22px;} .rvg.r4 .rv:not(.open)::after{font-size:18px;}
  .rv p.mono.sm{font-family:var(--font); font-size:25px !important; line-height:1.45; color:var(--ink);}
  table.tb.nk{font-size:29px; margin-top:26px;} table.tb.nk th{font-size:26px;} table.tb.nk td{padding:14px 18px;} table.tb.nk td:first-child{width:15%; white-space:nowrap;} table.tb.nk td.y, table.tb.nk td.n{font-weight:600;}
  .ans b.y{color:var(--gr);} .ans b.n{color:var(--rd);} .ans b.m{color:var(--gold-d);}
  /* folder */
  .folder{background:#FBFBFD; border:1px solid var(--line); border-radius:18px; padding:26px 32px; font-family:var(--mono); font-size:29px; line-height:1.9; color:#3A3F4E;} .folder .dim{color:#9AA0AE;}
  .z5{display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:32px;} .z5 > div{background:var(--soft); border:1px solid var(--line); border-radius:18px; padding:22px;}
  .z5 > div > b{display:inline-flex; width:46px; height:46px; border-radius:50%; background:#CC2936; color:var(--onn); font-size:28px; align-items:center; justify-content:center;} .z5 h3{font-size:30px; margin-top:12px;} .z5 p{font-size:24px; color:var(--dim); margin-top:8px; line-height:1.4;}
  ol.steps2{margin:10px 0 0; padding-left:34px; font-size:29px; line-height:1.45;} ol.steps2 li{margin:10px 0;} ol.steps2 li::marker{color:var(--gold); font-weight:800;}
  /* citation anatomy */
  .anat{font-family:Georgia, serif; font-size:34px; line-height:1.7; background:var(--card2); border:1px solid var(--line2); border-radius:16px; padding:26px 30px;}
  .anat span{border-radius:6px; padding:2px 4px;} .a1{background:#DCE6FF;} .a2{background:#FFE7B8;} .a3{background:#DDF5E4;} .a4{background:#F3DDF7;} .a5{background:#FFDCD3;} .a6{background:#E5E7EB;}
  .lgd2{margin-top:16px; font-size:23px; color:var(--dim); line-height:1.9;} .lgd2 i{display:inline-block; width:26px; height:16px; border-radius:4px; margin:0 8px -2px 16px;} .lgd2 i:first-child{margin-left:0;}
  .ieee p, .pane p{font-family:Georgia, serif; font-size:28px; line-height:1.55; margin-bottom:14px; padding-left:2.2em; text-indent:-2.2em;}
  .ieee{background:var(--card2); border:1px solid var(--line2); border-radius:16px; padding:24px 28px;}
  .tabs{margin-top:28px;} .tbtn{display:flex; gap:12px;} .tbtn button{font:800 26px var(--font); border:2px solid var(--navy); background:var(--paper); color:var(--head); border-radius:999px; padding:10px 30px; cursor:pointer;} .tbtn button.on{background:var(--navy); color:var(--onn);}
  .pane{display:none; margin-top:20px; background:var(--card2); border:1px solid var(--line2); border-radius:16px; padding:26px 30px;} .pane.on{display:block;}
  .mono{font-family:var(--mono); font-size:34px !important; line-height:1.6 !important; color:var(--head) !important;} .mono.rd{color:var(--rd) !important;} .mono.gr{color:var(--gr) !important;}
  .cmp{display:grid; grid-template-columns:1fr 1fr; gap:22px;} .cmp > div{background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:28px 30px;}
  .cmp b{display:block; font-size:96px; font-weight:900; line-height:1;} .cmp b.r{color:var(--rd);} .cmp b.o{color:var(--gold-d); font-size:64px; margin-top:22px;} .cmp p{font-size:25px; color:var(--dim); margin-top:6px; line-height:1.35;}
  .okb{border-top:8px solid var(--gr);} .nob{border-top:8px solid var(--rd);}
  .sum{display:grid; grid-template-columns:1fr 1fr; gap:20px 40px; margin-top:34px;} .sum > div{display:grid; grid-template-columns:64px 1fr; gap:20px; align-items:start;}
  .sum b{width:56px; height:56px; border-radius:50%; background:var(--navy); color:var(--onn); display:flex; align-items:center; justify-content:center; font-size:30px;} .sum p{font-size:30px; line-height:1.45;} .sum p b{display:inline; width:auto; height:auto; background:none; color:var(--head); font-size:inherit; border-radius:0;}
  .grp .lead{font-size:34px;}
  table.tb.kw2{font-size:24px;} table.tb.kw2 td:first-child{width:30%; font-weight:700; color:var(--head);} table.tb.kw2 code{font-size:20px;}
  .w7{display:grid; grid-template-columns:repeat(7,1fr); gap:12px; margin-top:26px;} .w7 > div{background:var(--soft); border:1px solid var(--line); border-top:8px solid var(--gold); border-radius:0 0 14px 14px; padding:16px;}
  .w7 b{font-size:46px; font-weight:900; color:var(--gold); line-height:1;} .w7 p{font-size:21px; line-height:1.4; margin-top:8px; color:var(--ink);} .w7 code{font-size:17px; word-break:break-word;}
  .s.st > .ov::after{display:none;} .s.st h2{max-width:1300px;}
  .trk{position:absolute; top:56px; right:110px; text-align:right;} .trk p{font-weight:800; font-size:21px; letter-spacing:.08em; color:var(--head); margin-bottom:10px;}
  .trk div{display:flex; gap:8px; justify-content:flex-end;} .trk i{width:44px; height:12px; border-radius:6px; background:var(--line);} .trk i.done{background:#9AA6D6;} .trk i.on{background:var(--gold); width:72px;}
  .qt{margin-top:30px;} .grp4{display:grid; grid-template-columns:4fr 1fr 1fr 1fr; gap:14px; margin-bottom:12px;} .grp4 span{background:var(--navy); color:var(--onn); font-weight:800; font-size:20px; letter-spacing:.1em; text-align:center; padding:8px; border-radius:10px;}
  .q7{display:grid; grid-template-columns:repeat(7,1fr); gap:14px;} .q7 > div{background:var(--soft); border:1px solid var(--line); border-top:8px solid var(--gold); border-radius:0 0 16px 16px; padding:18px 18px;}
  .q7 > div{min-height:400px;} .q7 b{font-size:70px; font-weight:900; color:var(--gold); line-height:1;} .q7 h3{font-size:30px; margin-top:10px;} .q7 p{font-size:24px; color:var(--dim); margin-top:12px; line-height:1.4;}
  .ck .mono{font-size:24px !important;} .ck a{display:inline-block; margin-top:10px; font-weight:700; font-size:22px; color:var(--head); border:2px solid var(--gold); background:var(--cream); border-radius:999px; padding:8px 20px; text-decoration:none;}
  .qrw{display:grid; grid-template-columns:560px 1fr; gap:70px; margin-top:40px; align-items:center;}
  .qrbox{width:560px; height:560px; background:var(--paper); border:3px solid var(--navy); border-radius:24px; display:flex; align-items:center; justify-content:center; position:relative;}
  .qrbox .qr img, .qrbox .qr canvas{width:500px !important; height:500px !important; display:block;} .qrbox .noqr{position:absolute; font-size:30px; color:var(--rd); font-weight:700;} .qrbox.ok .noqr{display:none;}
  ol.steps2.big{font-size:32px;} ol.steps2.big li{margin:16px 0;}

  /* video */
  .vw{display:grid; grid-template-columns:1200px 1fr; gap:44px; margin-top:30px; align-items:start;}
  .vid{position:relative; width:1200px; height:675px; border-radius:18px; overflow:hidden; background:#000;}
  .vid img{width:100%; height:100%; object-fit:cover; display:block; opacity:.85;} .vid iframe{width:100%; height:100%; border:0; display:block;}
  .vid .play{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font:800 36px var(--font); background:#CC0000; color:var(--onn); border:0; border-radius:999px; padding:22px 44px; cursor:pointer; box-shadow:0 12px 40px rgba(0,0,0,.45);}
  .vi .ch{font-size:30px; font-weight:800; color:var(--head); line-height:1.3;} .vi .du{font-size:26px; color:var(--gold); font-weight:700; margin-top:14px;}
  .vi .why{font-size:27px; color:var(--dim); line-height:1.5; margin-top:20px;} .vi .yt{display:inline-block; margin-top:26px; font-weight:700; font-size:24px; color:var(--head); border:2px solid var(--gold); background:var(--cream); border-radius:999px; padding:10px 22px; text-decoration:none;}
  .bigstat > b.sm{font-size:76px;}
  /* buổi 5: mô hình, thang đo, đồng hồ */
  .mdl{display:grid; grid-template-columns:1fr 90px 1fr 90px 1fr; align-items:center; margin-top:34px;} .mdl.demo{grid-template-columns:1fr 160px 1fr; max-width:1300px;}
  .mdl.tam{grid-template-columns:1.2fr 80px 1fr 80px 1fr;} .mdl.live{grid-template-columns:1.2fr 80px 1fr 80px 1.1fr;}
  .mdl .col{display:grid; gap:14px;} .mdl .ar2{font-size:60px; color:var(--gold); text-align:center; font-weight:800;}
  .nd{border-radius:18px; padding:18px 22px; font-size:30px; font-weight:800; line-height:1.25; text-align:center; border:3px solid; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:96px;}
  .nd small{display:block; font-size:21px; font-weight:500; margin-top:6px; opacity:.85;}
  .nd.iv{background:#EAF0FF; border-color:#7C93E0; color:var(--head);} .nd.dv{background:var(--navy); border-color:var(--navy); color:var(--onn);} .nd.mid{background:var(--cream); border-color:var(--gold); color:#6C5300;} .nd.ctl{background:#F3F3F5; border-style:dashed; border-color:#9AA0AE; color:var(--dim); font-size:23px; font-weight:600;}
  .lad{display:grid; gap:6px; margin-top:26px; max-width:1500px;} .lad > i{font-style:normal; font-size:34px; color:var(--gold); text-align:center; line-height:1;}
  .lad > div{display:grid; grid-template-columns:230px 330px 1fr; gap:22px; align-items:center; border-radius:16px; padding:14px 26px; background:var(--soft); border:1px solid var(--line);}
  .lad b{font-size:31px; color:var(--head);} .lad p{font-size:24px; color:var(--dim);} .lad span{font-size:27px; font-weight:700; color:var(--ink);}
  .lik{margin:26px 0 8px;} .lik .scale{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;} .lik .scale span{background:var(--soft); border:2px solid var(--line); border-radius:14px; padding:12px 8px; text-align:center; font-size:24px; font-weight:700; color:var(--head); line-height:1.3;}
  .w5{display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:28px;} .w5 > div{background:var(--soft); border:1px solid var(--line); border-top:8px solid var(--gold); border-radius:0 0 16px 16px; padding:18px 20px; min-height:300px;}
  .w5 b{font-size:60px; font-weight:900; color:var(--gold); line-height:1;} .w5 h3{font-size:31px; margin-top:8px;} .w5 p{font-size:24px; color:var(--dim); margin-top:10px; line-height:1.4;}
  .qb4 > div{min-height:260px;} .qb4 p{font-size:25px;}
  table.tb.lich td:first-child{width:200px; font-weight:800; color:var(--head); white-space:nowrap;} table.tb.lich tr.kt td{background:var(--navy) !important; color:var(--onn); font-size:30px;} table.tb.lich tr.kt td:first-child, table.tb.lich tr.kt b{color:var(--gold);}
  table.tb tr.pick td{background:var(--cream) !important; border-bottom:2px solid var(--gold);}
  table.tb.bh td:nth-child(3){font-weight:700; color:var(--head);} table.tb i{color:var(--muted); font-size:.85em;}
  .s.brk h1{font-size:110px;}
  .tmr{text-align:center; margin-top:10px;} .tmr .big{font-family:var(--mono); font-size:330px; font-weight:800; line-height:1; color:var(--head); letter-spacing:.02em;} .tmr .big.w1{color:var(--gold-d);} .tmr .big.w2{color:var(--rd);} .tmr .big.end{color:var(--rd);}
  .tmr .endat{font-size:34px; color:var(--dim); margin-top:10px;} .tmr .ctl{display:flex; gap:20px; justify-content:center; margin-top:30px;} .tmr .ctl button{font:800 28px var(--font); border:3px solid var(--navy); background:var(--paper); color:var(--head); border-radius:999px; padding:14px 38px; cursor:pointer;} .tmr .ctl button#tmrgo{background:var(--navy); color:var(--onn);}
  .tmrs h2{text-align:center; margin-left:auto; margin-right:auto;} .tmrs .note{text-align:center;}

  /* buổi 6: mô phỏng chọn mẫu, Gantt, rvg 3 cột */
  .rvg.r3{grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px;} .rvg.r3 .rv{min-height:300px;} .rvg.r3 .rv > p:not(.lab){font-size:28px;} .rvg.r3 .ans{font-size:25px;}
  .smpw{display:grid; grid-template-columns:1fr 560px; gap:44px; margin-top:26px; align-items:start;}
  .bt{display:flex; flex-wrap:wrap; gap:12px;} .bt button{font:700 22px var(--font); border:2px solid var(--navy); background:var(--paper); color:var(--head); border-radius:999px; padding:9px 16px; cursor:pointer;} .bt button.on{background:var(--navy); color:var(--onn);}
  .pop{display:grid; grid-template-columns:repeat(10,1fr); gap:12px; margin-top:24px; max-width:520px;}
  .pop i{display:block; aspect-ratio:1; border-radius:50%; background:var(--line); border:4px solid transparent; transition:transform .25s;} .pop i.y1{background:#7C93E0;} .pop i.y2{background:#E9B949;} .pop i.y3{background:#6EBB8A;} .pop i.y4{background:#C77B7B;}
  .pop.has i:not(.pk){opacity:.2;} .pop i.pk{transform:scale(1.08); border-color:var(--navy); box-shadow:0 0 0 3px var(--paper), 0 0 0 7px var(--gold);}
  .lgd3{margin-top:20px; font-size:23px; color:var(--dim);} .lgd3 i{display:inline-block; width:22px; height:22px; border-radius:50%; margin:0 8px -4px 22px;} .lgd3 i:first-child{margin-left:0;}
  .lgd3 i.y1{background:#7C93E0;} .lgd3 i.y2{background:#E9B949;} .lgd3 i.y3{background:#6EBB8A;} .lgd3 i.y4{background:#C77B7B;} .lgd3 i.g1{background:var(--navy); border-radius:4px;} .lgd3 i.g2{background:var(--gold); border-radius:4px;}
  .smpr{background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:26px 30px;} .smpr table{width:100%; border-collapse:collapse; font-size:27px; margin-top:6px;} .smpr th{text-align:left; color:var(--dim); font-size:22px; padding:6px 0;} .smpr td{padding:8px 0; border-bottom:1px solid var(--line);} .smpr td.ok{color:var(--gr); font-weight:800;} .smpr td.bad{color:var(--rd); font-weight:800;}
  .smpr button{margin-top:18px; font:700 24px var(--font); border:2px solid var(--gold); background:var(--cream); color:var(--head); border-radius:999px; padding:10px 26px; cursor:pointer;} .smpr .note{font-size:24px; margin-top:16px;}
  .gan{margin-top:26px; font-size:24px;} .gh, .gr{display:grid; grid-template-columns:420px repeat(12,1fr); align-items:center;} .gh i{font-style:normal; text-align:center; color:var(--dim); font-weight:700; padding-bottom:6px;}
  .gr{border-top:1px solid var(--line); height:58px;} .gr > span{padding-right:14px; font-weight:600; color:var(--head);} .gr .gb{display:grid; grid-column-end:auto;} .gr .gb b{display:block; height:30px; background:var(--navy); border-radius:8px;} .gr .gb b.m{background:var(--gold);}

  /* buổi 7: Anscombe, trục cắt cụt */
  .anw{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:20px;} .anw svg{width:100%; display:block; background:var(--soft); border-radius:14px;} .anw .lab{margin-bottom:6px;}
  .axw{margin-top:20px;} .axc{display:flex; gap:80px; align-items:flex-end; height:380px; margin-top:26px; padding:0 40px; border-bottom:4px solid var(--navy);}
  .axb{display:flex; flex-direction:column-reverse; align-items:center; gap:12px; width:220px;} .axb i{display:block; width:100%; background:var(--navy); border-radius:12px 12px 0 0; transition:height .5s;} .axb span{font-size:26px; text-align:center; line-height:1.3;}
  .axb:nth-child(2) i{background:var(--gold);} #axn{font-size:27px; margin-top:20px;}


  /* khối thêm tay trong trình soạn (ed-add): vị trí do edit.js đặt, màu theo biến chủ đề */
  .ed-add{position:absolute; left:0; top:0; box-sizing:border-box; color:var(--ink); font-family:var(--font)}
  .ed-add .tx{font-size:34px; line-height:1.45; color:var(--ink); overflow-wrap:anywhere; outline:none; min-height:1.45em}
  .ed-add.title .tx{font-weight:800; font-size:54px; line-height:1.22; color:var(--head,var(--navy)); letter-spacing:-.01em}
  .s.cover .ed-add .tx, .s.sec .ed-add .tx{color:var(--on3)} .s.cover .ed-add.title .tx, .s.sec .ed-add.title .tx{color:var(--onn)}
  .ed-add ul.b{margin:0} .ed-add .ask{margin-top:0} .ed-add .quote{margin-top:0} .ed-add .rv{min-height:0}
  .ed-add .vid{width:100%; height:auto; aspect-ratio:16/9} .ed-add .tmr{margin-top:0} .ed-add .tmr .big{font-size:240px}
  .ed-add table.tb{margin-top:0} .ed-add .tb th, .ed-add .tb td{outline:none}
  .ed-add .shp{width:100%; background:var(--gold)} .ed-add.circle .shp{aspect-ratio:1; border-radius:50%} .ed-add.band .shp{height:90px; border-radius:14px} .ed-add.rule .shp{height:6px; border-radius:3px}
  .ed-add[data-c=navy] .shp{background:var(--navy)} .ed-add[data-c=gold] .shp{background:var(--gold)} .ed-add[data-c=soft] .shp{background:var(--soft)} .ed-add[data-c=line] .shp{background:var(--line)} .ed-add[data-c=ink] .shp{background:var(--ink)}

  /* chủ đề: nền chuyển sắc và cặp phông (đặt bởi theme.js) */
  #stage[data-g] .s, .skTh .in[data-g] .s{background-image:var(--gl)} #stage[data-g] .s.cover, #stage[data-g] .s.sec, .skTh .in[data-g] .s.cover, .skTh .in[data-g] .s.sec{background-image:var(--gd)}
  #stage[data-f] h1, #stage[data-f] h2, #stage[data-f] h3, #stage[data-f] .ed-add.title .tx, #stage[data-f] .cmp b, .skTh .in[data-f] h1, .skTh .in[data-f] h2, .skTh .in[data-f] h3, .skTh .in[data-f] .cmp b{font-family:var(--fh)}

  /* trang sống nhúng, ảnh nền toàn slide */
  .ifr{position:relative; width:100%; aspect-ratio:var(--ar,16/9); border-radius:18px; overflow:hidden; background:var(--navy); border:1px solid var(--line); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; text-align:center}
  .ifr iframe{position:absolute; inset:0; width:100%; height:100%; border:0; background:#fff} .ifr p{font-size:28px; color:var(--on3)}
  .ifr .play{font:800 34px var(--font); background:var(--gold); color:var(--ong); border:0; border-radius:999px; padding:20px 42px; cursor:pointer}
  .s.full{padding:0 !important} .s.full .ifr{position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; border:0; border-radius:0}
  body.editing .ifr iframe{pointer-events:none}
  .bgimg{position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; pointer-events:none} .bgimg::after{content:''; position:absolute; inset:0; background:rgba(5,8,15,var(--d,.45))}
  .s.hasbg > :not(.bgimg):not(.deco){position:relative; z-index:1} .s.hasbg::before, .s.hasbg::after{z-index:2}

/* ---- Hub làm việc nhóm: đồng hồ gốc (kit.hclock) và nhãn ẩn cho trang nhúng (kit.hub_view) ---- */
.vh{position:absolute !important; left:-9999px; top:0; width:1px; height:1px; overflow:hidden}
.hclk{background:#1E2761; color:#fff; border-radius:22px; padding:20px 26px; text-align:center}
.hclk .hc-t{font-weight:800; letter-spacing:.08em; color:#C9A227; font-size:26px; text-transform:uppercase}
.hclk .hc-d{font:900 150px/1.05 ui-monospace,"SF Mono",Menlo,monospace; font-variant-numeric:tabular-nums}
.hclk.run .hc-d{color:#FFD76A} .hclk.end .hc-d{color:#FF8A8F}
.hclk .hc-b{display:flex; gap:10px; justify-content:center; margin-top:8px; flex-wrap:wrap}
.hclk button{font:700 22px var(--font,system-ui); background:#2E3A7A; color:#fff; border:0; border-radius:12px; padding:8px 18px; cursor:pointer}
.hclk button[data-a=start], .hclk button[data-a=b]{background:#C9A227; color:#0A0F1F}
.hteach{background:#fff; color:#1E2761; border-radius:18px; padding:14px 18px; font-size:22px; line-height:1.35; max-height:100%; overflow:auto}
.hteach .ht-tabs{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:10px}
.hteach button{font:700 20px var(--font,system-ui); background:#2E3A7A; color:#fff; border:0; border-radius:10px; padding:6px 14px; cursor:pointer}
.hteach .ht-tabs button:not(.on){background:#E3E6F5; color:#1E2761}
.hteach .ht-msg{margin-left:auto; font-weight:700; color:#8A6D00}
.hteach .ht-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px 20px}
.hteach .ht-grid > div{background:#F3F4FB; border-radius:12px; padding:10px 14px}
.hteach label{display:block} .hteach .ht-row{display:flex; gap:8px; flex-wrap:wrap}
.hteach .ht-danger{background:#FFECEC !important} .hteach .ht-danger button{background:#B3261E}
.hteach .ht-ppl, .hteach .ht-subs{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; font-size:20px}
.hteach .ht-ppl > div, .hteach .ht-subs > div{background:#F3F4FB; border-radius:10px; padding:8px 12px}
.hteach .ht-doc{font-size:22px} .hteach .ht-src{display:none}
.hteach input[type=number], .hteach input[type=text], .hteach select{font:inherit; padding:2px 6px; border:1px solid #C7CBE6; border-radius:8px}

/* ---- tiện ích bố cục dùng chung (thay style= viết tay trong bài) ---- */
.mt1{margin-top:12px} .mt3{margin-top:14px} .mt4{margin-top:36px}
.logos{display:flex; gap:30px; align-items:center; margin-bottom:30px} .logos img{height:110px; border-radius:12px} .logos img.wh{background:#fff; padding:10px}
.split{display:flex; gap:80px; align-items:center} .split > .grow{flex:1; min-width:0} .split > .fix{flex:none}
.price{font-size:46px; font-weight:800; margin:6px 0}
.lvimg{width:100%; height:230px; object-fit:cover; border-radius:10px; margin-bottom:12px}
.sub.lg{font-size:40px; color:var(--on3); margin-top:24px}
h1.md{font-size:60px} .meta.sm2{font-size:28px; margin-top:24px}
.endcap{font-size:28px; margin-top:14px; color:#fff; text-align:center}
.cover a.lk, .meta a.lk{color:#fff}
.vis.top{align-self:start} .shot{width:100%; border-radius:12px; display:block}
.devs{display:flex; gap:30px; align-items:flex-end} .devs > .tab{flex:1.6} .devs > .ph{flex:.7}
.flush{padding:0; overflow:hidden} .top{align-self:start}

/* ---- khung nhúng GRASP (gm*): iframe nạp lười, video tự chạy ---- */
.gmfr{position:relative;border-radius:22px;overflow:hidden;border:2px solid var(--line);background:#0b1020}
.gmfr iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#0b1020}
.gmfr .ph{position:absolute;inset:0;display:grid;place-items:center;color:#c9d0e6;font-size:30px}
.gmfr .gmlink{position:absolute;right:16px;bottom:12px;z-index:3;font:700 22px var(--font);color:#fff;background:rgba(10,15,31,.78);border-radius:999px;padding:6px 18px;text-decoration:none}
.gmpf{background:#0b1020}.gmpf>img.gmposter{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.gmpf .gmgo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:800 34px var(--font);background:var(--gold);color:var(--onn);border:0;border-radius:999px;padding:20px 44px;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.gmpf.on .gmgo,.gmpf.on>img.gmposter{display:none}
video.gmv{display:block;width:100%;max-height:700px;object-fit:contain;background:#000;border-radius:18px}
.gmcap{font-size:25px;color:var(--dim);margin-top:12px;line-height:1.4}.gmcap .tg{display:inline-block;font-weight:800;font-size:20px;letter-spacing:.1em;color:#fff;background:var(--navy);border-radius:999px;padding:3px 14px;margin-right:10px}
.gmimg{display:block;width:100%;border-radius:16px;object-fit:cover;background:var(--soft)}
.gmimg.fit{object-fit:contain;max-height:720px;width:auto;max-width:100%;margin:0 auto}
.gmfig{margin:0}.gmfig figcaption{font-size:23px;color:var(--muted);margin-top:10px;line-height:1.4}

/* ---- bộ giao diện vin2 ---- */
html[data-deck^="vin2"] .pv{display:grid;grid-template-columns:900px 1fr;gap:48px;margin-top:30px;align-items:start}
html[data-deck^="vin2"] .pv .box{margin-bottom:20px}
html[data-deck^="vin2"] .pv .box p{font-size:27px}
html[data-deck^="vin2"] .pv .box.lim{border-left:8px solid var(--rd)}
html[data-deck^="vin2"] .pv .box.fix{border-left:8px solid var(--gr)}
html[data-deck^="vin2"] .who{display:inline-block;font:800 22px var(--font);letter-spacing:.1em;color:var(--gold-d);margin-top:14px}
html[data-deck^="vin2"] table.tbc{font-size:23px;margin-top:20px}
html[data-deck^="vin2"] table.tbc th{font-size:21px;padding:10px 12px}
html[data-deck^="vin2"] table.tbc td{padding:9px 12px;line-height:1.3}
html[data-deck^="vin2"] table.tbc td:first-child{width:12%;font-weight:800;color:var(--head)}
html[data-deck^="vin2"] table.tbc tr.me td{background:var(--cream)!important;border-top:3px solid var(--gold)}
html[data-deck^="vin2"] table.tbc td.q{color:var(--muted)}
html[data-deck^="vin2"] table.tbp td:first-child{width:7%;font-weight:800;color:var(--gold-d);font-size:30px}
html[data-deck^="vin2"] table.tbp td:nth-child(2){width:20%;font-weight:700;color:var(--head)}
html[data-deck^="vin2"] table.tbp{font-size:24px}
html[data-deck^="vin2"] .g3v{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}
html[data-deck^="vin2"] .cover .aim{font-size:28px;color:var(--on4);margin-top:40px}
html[data-deck^="vin2"] .fml{font:700 56px var(--mono);color:var(--head);background:var(--cream);border-left:8px solid var(--gold);border-radius:0 16px 16px 0;padding:18px 30px;margin:20px 0}
html[data-deck^="vin2"] .sm2{font-size:27px;line-height:1.5;color:var(--dim)}
html[data-deck^="vin2"] .vs{display:flex;gap:30px;align-items:flex-start}
html[data-deck^="vin2"] .vs > *{flex:1}
html[data-deck^="vin2"] table.tbk td:nth-child(1){width:10%;white-space:nowrap}
html[data-deck^="vin2"] table.tbk td:nth-child(2){width:24%;font-weight:700;color:var(--head)}
html[data-deck^="vin2"] table.tbk{font-size:23px}

/* ---- bộ giao diện drone ---- */
html[data-deck^="drone"] .g3 .box,html[data-deck^="drone"] .g2 .box{margin:0}
html[data-deck^="drone"] .box h3{font-size:34px;margin:2px 0 8px;color:var(--head)}
html[data-deck^="drone"] .box.sm p,html[data-deck^="drone"] .box.sm li{font-size:25px}
html[data-deck^="drone"] .box ul.b{font-size:27px;margin-top:6px}
html[data-deck^="drone"] .s .sec-sub{font-size:39px;color:var(--on3);margin-top:30px;max-width:1500px;line-height:1.45}
html[data-deck^="drone"] .dcol figure{margin:0}
html[data-deck^="drone"] .dcol img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top left;border-radius:14px;border:2px solid var(--line);background:#0b1020}
html[data-deck^="drone"] .dcol .n{display:inline-flex;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--onn);font-weight:800;font-size:26px;align-items:center;justify-content:center;margin:14px 0 6px}
html[data-deck^="drone"] .dcol h3{font-size:32px;line-height:1.25;color:var(--head);margin:4px 0 8px}
html[data-deck^="drone"] .dcol p{font-size:26px;line-height:1.42;color:var(--dim)}
html[data-deck^="drone"] .dcol .box p{font-size:26px}
html[data-deck^="drone"] .shot img{display:block;width:100%;border-radius:14px;border:2px solid var(--line);aspect-ratio:16/9;object-fit:cover;object-position:top left}
html[data-deck^="drone"] .shot figcaption{font-size:25px;line-height:1.4;color:var(--dim);margin-top:10px}
html[data-deck^="drone"] .shot figcaption b{color:var(--head)}
html[data-deck^="drone"] .shot.ok img{border-color:var(--gr)}
html[data-deck^="drone"] .shot.bad img{border-color:var(--rd)}
html[data-deck^="drone"] .pvg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
html[data-deck^="drone"] .pvg img{aspect-ratio:2/1;object-fit:cover}
html[data-deck^="drone"] .eqc{background:var(--soft);border:1px solid var(--line);border-radius:18px;overflow:hidden}
html[data-deck^="drone"] .eqc img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
html[data-deck^="drone"] .eqc .in{padding:16px 22px 18px}
html[data-deck^="drone"] .eqc .gt{font:800 20px var(--font);letter-spacing:.1em;color:var(--gold-d);text-transform:uppercase}
html[data-deck^="drone"] .eqc h3{font-size:29px;margin:6px 0 2px;color:var(--head)}
html[data-deck^="drone"] .eqc small{display:block;font-size:21px;color:var(--muted);font-weight:500;margin-top:2px}
html[data-deck^="drone"] .eqc ul{margin:10px 0 0;padding-left:1.1em;font-size:23px;line-height:1.38;color:var(--dim)}
html[data-deck^="drone"] .eqc .ck{font-size:21px;line-height:1.35;margin-top:10px;color:var(--head);border-top:2px dashed var(--line);padding-top:8px}
html[data-deck^="drone"] .kv{display:grid;grid-template-columns:1fr auto;gap:10px 24px;font-size:28px;margin-top:14px}
html[data-deck^="drone"] .kv b{color:var(--head);text-align:right}
html[data-deck^="drone"] .cover .hero{position:absolute;right:90px;bottom:110px;width:700px;margin:0}
html[data-deck^="drone"] .cover .hero img{width:100%;border-radius:20px;border:2px solid rgba(255,255,255,.25);display:block}
html[data-deck^="drone"] .cover .hero figcaption{font-size:22px;color:var(--on4);margin-top:10px}
html[data-deck^="drone"] .cover h1{max-width:760px}
html[data-deck^="drone"] .cover .sub{max-width:760px}
html[data-deck^="drone"] table.tb.dd td.r,html[data-deck^="drone"] table.tb.dd th.r{text-align:right}
html[data-deck^="drone"] table.tb.dd{font-size:27px}
html[data-deck^="drone"] .take{margin-top:20px;padding:16px 26px;font-size:27px;color:var(--ink)}
html[data-deck^="drone"] .take b{color:inherit; letter-spacing:normal}
html[data-deck^="drone"] .nt{font-size:26px;line-height:1.45;color:var(--dim);margin-top:18px}
html[data-deck^="drone"] .qrrow{display:grid;grid-template-columns:1fr 440px;gap:60px;align-items:center;margin-top:20px}
html[data-deck^="drone"] .qrrow .url{font:700 46px var(--mono);color:var(--head);margin:22px 0}

/* ---- bộ giao diện school ---- */
html[data-deck^="grasp-school"] .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
html[data-deck^="grasp-school"] .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
html[data-deck^="grasp-school"] .g3 .box,html[data-deck^="grasp-school"] .g2 .box,html[data-deck^="grasp-school"] .g4 .box{margin:0}
html[data-deck^="grasp-school"] .box h3{font-size:33px;margin:2px 0 8px;color:var(--head);line-height:1.25}
html[data-deck^="grasp-school"] .box.sm p,html[data-deck^="grasp-school"] .box.sm li{font-size:25px}
html[data-deck^="grasp-school"] .box p.p{font-size:26px;line-height:1.45;color:var(--dim);margin-top:6px}
html[data-deck^="grasp-school"] ul.b.sm{font-size:27px}
html[data-deck^="grasp-school"] .strip{display:grid;gap:20px;margin-top:22px}
html[data-deck^="grasp-school"] .strip.n2{grid-template-columns:repeat(2,1fr)}
html[data-deck^="grasp-school"] .strip.n3{grid-template-columns:repeat(3,1fr)}
html[data-deck^="grasp-school"] .strip.n4{grid-template-columns:repeat(4,1fr)}
html[data-deck^="grasp-school"] .strip.n5{grid-template-columns:repeat(5,1fr)}
html[data-deck^="grasp-school"] .strip figure{margin:0}
html[data-deck^="grasp-school"] .strip img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:14px;border:2px solid var(--line)}
html[data-deck^="grasp-school"] .strip.n4 img,html[data-deck^="grasp-school"] .strip.n5 img{aspect-ratio:16/10}
html[data-deck^="grasp-school"] .strip figcaption{font-size:23px;line-height:1.35;color:var(--dim);margin-top:8px}
html[data-deck^="grasp-school"] .hero{margin:0}
html[data-deck^="grasp-school"] .hero img{display:block;width:100%;max-height:700px;object-fit:contain;border-radius:16px;border:2px solid var(--line);background:var(--soft)}
html[data-deck^="grasp-school"] .hero figcaption{font-size:24px;color:var(--muted);margin-top:10px;line-height:1.4}
html[data-deck^="grasp-school"] .fimg{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:12px;margin-bottom:12px;border:2px solid var(--line)}
html[data-deck^="grasp-school"] .take{margin-top:20px;background:var(--cream);border-left:8px solid var(--gold);border-radius:0 16px 16px 0;padding:16px 26px;font-size:27px;line-height:1.45;color:var(--ink)}
html[data-deck^="grasp-school"] .nt{font-size:25px;line-height:1.45;color:var(--dim);margin-top:16px}
html[data-deck^="grasp-school"] .fn{font-size:21px;color:var(--muted);margin-top:14px}
html[data-deck^="grasp-school"] .chips{display:flex;flex-wrap:wrap;gap:12px}
html[data-deck^="grasp-school"] .chips i{font-style:normal;font-weight:700;font-size:26px;color:var(--head);background:var(--soft);border:2px solid var(--line);border-radius:999px;padding:8px 22px}
html[data-deck^="grasp-school"] .five{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:30px}
html[data-deck^="grasp-school"] .five>div{border-top:8px solid var(--gold);background:var(--soft);border-radius:0 0 18px 18px;padding:20px 22px}
html[data-deck^="grasp-school"] .five .st{display:inline-flex;width:62px;height:62px;border-radius:50%;background:var(--gold);color:var(--onn);font:800 36px var(--font);align-items:center;justify-content:center}
html[data-deck^="grasp-school"] .five b{display:block;font-size:30px;color:var(--head);margin-top:10px}
html[data-deck^="grasp-school"] .five h3{font-size:25px;line-height:1.35;font-weight:600;color:var(--dim);margin:8px 0}
html[data-deck^="grasp-school"] .five .ex{font-size:23px;line-height:1.4;color:var(--ink);font-style:italic;border-top:2px dashed var(--line);padding-top:8px}
html[data-deck^="grasp-school"] .statb .num,html[data-deck^="grasp-school"] .pk .num{font:900 74px var(--font);color:var(--head);line-height:1}
html[data-deck^="grasp-school"] .pk .num small{font-size:32px;font-weight:700;margin-left:10px;color:var(--dim)}
html[data-deck^="grasp-school"] .statb p.p{font-size:24px}
html[data-deck^="grasp-school"] .pk .tag{display:inline-block;font:800 22px var(--font);letter-spacing:.08em;color:#fff;background:var(--navy);border-radius:999px;padding:4px 16px;margin-bottom:12px}
html[data-deck^="grasp-school"] .labsg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
html[data-deck^="grasp-school"] .labsg a{position:relative;display:block;text-decoration:none;border-radius:14px;overflow:hidden;border:2px solid var(--line)}
html[data-deck^="grasp-school"] .labsg img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
html[data-deck^="grasp-school"] .labsg span{position:absolute;left:0;right:0;bottom:0;background:rgba(15,23,60,.82);color:#fff;font:700 21px var(--font);padding:6px 12px}
html[data-deck^="grasp-school"] .labsg a.new{border-color:var(--gold);border-width:4px}
html[data-deck^="grasp-school"] .pair2{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:26px}
html[data-deck^="grasp-school"] table.tb.cmpt{font-size:23px;margin-top:14px;table-layout:fixed}
html[data-deck^="grasp-school"] table.tb.cmpt th{font-size:21px;padding:8px 8px;vertical-align:bottom}
html[data-deck^="grasp-school"] .cmpt th small{display:block;font-weight:500;font-size:16px;opacity:.85;margin-top:2px}
html[data-deck^="grasp-school"] table.tb.cmpt td{padding:9px 8px;line-height:1.28;overflow-wrap:anywhere}
html[data-deck^="grasp-school"] .cmpt td:first-child{width:14%;font-weight:700;color:var(--head)}
html[data-deck^="grasp-school"] .cmpt td.us,html[data-deck^="grasp-school"] .cmpt th.us{background:var(--cream)!important;color:var(--head)}
html[data-deck^="grasp-school"] .cmpt th.us{background:var(--gold)!important;color:var(--onn)}
html[data-deck^="grasp-school"] .cmpt tr.price td{border-top:3px solid var(--gold);font-weight:600}
html[data-deck^="grasp-school"] .cover .logo{height:150px;width:auto;display:block;margin-bottom:34px}
html[data-deck^="grasp-school"] .cover .sub2{font-size:48px;color:var(--on3);margin-top:20px}
html[data-deck^="grasp-school"] .cover.end .meta a{color:var(--gold)}
html[data-deck^="grasp-school"] .cover .foot{font-size:23px;color:var(--on4);margin-top:50px;max-width:1500px;line-height:1.5}
html[data-deck^="grasp-school"] .cover .strip{margin-top:44px}
html[data-deck^="grasp-school"] .cover .strip img{border-color:rgba(255,255,255,.25)}
html[data-deck^="grasp-school"] .cover .strip figcaption{color:var(--on4)}
html[data-deck^="grasp-school"] .cover h1{font-size:104px;line-height:1.08}
html[data-deck^="grasp-school"] .cover h1 .g{color:var(--gold)}

/* ---- thay style= tay trong họ GRASP deck (1/11/2026) ---- */
.gmmt20{margin-top:20px} .gmsp20{height:20px} .gmw100{width:100%}
.gmfr.gmh620{height:620px} .gmfr.gmh660{height:660px} .gmfr.gmh700{height:700px}
.gmimg.gmbg-w{background:#fff;padding:10px} .gmimg.gmbg-w0{background:#fff} .gmimg.gmbg-dk{background:#0A0F1F;padding:8px} .gmimg.gmbg-bk{background:#000}
.gmimg.gmmh760{max-height:760px} .gmimg.gmar45{aspect-ratio:4/5}
.g2.mid{align-items:center}
html[data-deck^="vin2"] .pv.r760{grid-template-columns:1fr 760px}
html[data-deck^="vin2"] .g2.g4c{grid-template-columns:repeat(4,1fr);gap:22px}
html[data-deck^="vin2"] svg.vsvg{width:100%;height:560px}
html[data-deck^="drone"] h3.nt.l34{font-size:34px;color:var(--head)}
html[data-deck^="drone"] h3.nt.l30{font-size:30px;color:var(--head)}
html[data-deck^="drone"] table.tb.dd.s24{font-size:24px}
html[data-deck^="drone"] p.nt.s23{font-size:23px}
html[data-deck^="grasp-school"] .meta.mt4{margin-top:36px}
html[data-deck^="grasp-school"] .meta.gmmt20{margin-top:20px}
html[data-deck^="grasp-school"] .meta a.gl{color:var(--gold)}
html[data-deck^="grasp-school"] p.p.s30,html[data-deck^="grasp-school"] p.take.s30{font-size:30px}
html[data-deck^="grasp-school"] .chips.m24{margin:10px 0 24px}
html[data-deck^="grasp-school"] .chips.m18{margin:10px 0 18px}
html[data-deck^="grasp-school"] .box b.bgr{color:var(--gr)}
html[data-deck^="grasp-school"] .strip.r167 img{aspect-ratio:16/7}
html[data-deck^="grasp-school"] .cover h1.big96{font-size:96px;margin:6px 0 0}
html[data-deck^="grasp-school"] h1 .gd{color:var(--gold-d)}

/* ---- ASEAN TechBridge: lớp thay style= viết tay (bài asean-*) ---- */
html[data-deck^="asean"] .tx-s{font-size:21px;line-height:1.35;margin:0}
html[data-deck^="asean"] .pad-l{padding:16px 22px}
html[data-deck^="asean"] .tx-m{font-size:22px;line-height:1.4;margin:0}
html[data-deck^="asean"] .img-h150{width:100%;height:150px;object-fit:cover;display:block}
html[data-deck^="asean"] .pad-m{padding:14px 20px}
html[data-deck^="asean"] .h-28{font-size:28px;margin:0 0 6px}
html[data-deck^="asean"] .h-27{font-size:27px;margin:0 0 6px}
html[data-deck^="asean"] .img-h170{width:100%;height:170px;object-fit:cover;display:block}
html[data-deck^="asean"] .pad-xl{padding:18px 22px}
html[data-deck^="asean"] .pad-s{padding:14px 18px}
html[data-deck^="asean"] .src.src-s{margin-top:10px;font-size:17px}
html[data-deck^="asean"] .stat{font-size:40px;font-weight:800;color:var(--head);margin:0}
html[data-deck^="asean"] .h-32{font-size:32px;margin:0 0 8px}
html[data-deck^="asean"] .h-25{font-size:25px;margin:6px 0}
html[data-deck^="asean"] .tx-l{font-size:23px;line-height:1.4;margin:0}
html[data-deck^="asean"] .tx-m21{font-size:21px;line-height:1.4;margin:0}
html[data-deck^="asean"] .lab.fs-21{font-size:21px}
html[data-deck^="asean"] .lab.fs-19{font-size:19px}
html[data-deck^="asean"] .img-fill{width:100%;height:100%;object-fit:cover;display:block}
html[data-deck^="asean"] .case-row{padding:0;overflow:hidden;display:grid;grid-template-columns:260px 1fr}
html[data-deck^="asean"] .lead{font-size:28px;line-height:1.4;margin:6px 0}
html[data-deck^="asean"] .lab.fs-20{font-size:20px}
html[data-deck^="asean"] .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:14px;align-items:stretch}
html[data-deck^="asean"] .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:14px;align-items:stretch}
html[data-deck^="asean"] .img-globe{width:100%;height:360px;object-fit:cover;object-position:30% 50%;border-radius:12px;display:block}
html[data-deck^="asean"] .img-event{width:100%;height:260px;object-fit:cover;object-position:50% 35%;border-radius:12px;display:block}
html[data-deck^="asean"] .img-sign{width:100%;height:200px;object-fit:cover;border-radius:12px;display:block}
html[data-deck^="asean"] .mt5{margin-top:18px}
html[data-deck^="asean"] .lead-30{font-size:30px;line-height:1.5;margin-bottom:12px}
html[data-deck^="asean"] .meta.meta-26{font-size:26px;line-height:1.5}
html[data-deck^="asean"] .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px;align-items:stretch}
.vid.gmvid{width:100%;height:auto;aspect-ratio:16/9}

/* agent 20261101: bỏ style= tay (soan-sang-che, dna, hs, haui) */

html[data-deck^="soan-sang-che"] .shw.home i:nth-of-type(1){left:21%;top:21%}
html[data-deck^="soan-sang-che"] .shw.home i:nth-of-type(2){left:60%;top:35%}
html[data-deck^="soan-sang-che"] .shw.home i:nth-of-type(3){left:22%;top:92%}
html[data-deck^="soan-sang-che"] .shw.editor i:nth-of-type(1){left:24%;top:58%}
html[data-deck^="soan-sang-che"] .shw.editor i:nth-of-type(2){left:33%;top:18%}
html[data-deck^="soan-sang-che"] .shw.editor i:nth-of-type(3){left:72%;top:54%}
html[data-deck^="soan-sang-che"] .shw.kk i:nth-of-type(1){left:20%;top:62%}
html[data-deck^="soan-sang-che"] .shw.kk i:nth-of-type(2){left:74%;top:44%}
html[data-deck^="soan-sang-che"] .shw.kk i:nth-of-type(3){left:44%;top:12%}
html[data-deck^="soan-sang-che"] .shw.cite i:nth-of-type(1){left:80%;top:52%}
html[data-deck^="soan-sang-che"] .shw.cite i:nth-of-type(2){left:12%;top:88%}
html[data-deck^="soan-sang-che"] .shw.cite i:nth-of-type(3){left:31%;top:79%}
html[data-deck^="soan-sang-che"] .shw.search i:nth-of-type(1){left:6%;top:22%}
html[data-deck^="soan-sang-che"] .shw.search i:nth-of-type(2){left:87%;top:30%}
html[data-deck^="soan-sang-che"] .shw.search i:nth-of-type(3){left:87%;top:37%}
html[data-deck^="soan-sang-che"] .shw.chem i:nth-of-type(1){left:20%;top:32%}
html[data-deck^="soan-sang-che"] .shw.chem i:nth-of-type(2){left:95%;top:22%}
html[data-deck^="soan-sang-che"] .shw.chem i:nth-of-type(3){left:90%;top:88%}
html[data-deck^="soan-sang-che"] .shw.guide i:nth-of-type(1){left:10%;top:25%}
html[data-deck^="soan-sang-che"] .shw.guide i:nth-of-type(2){left:25%;top:37%}
html[data-deck^="soan-sang-che"] .shw.guide i:nth-of-type(3){left:14%;top:53%}
html[data-deck^="soan-sang-che"] .shw.learn i:nth-of-type(1){left:12%;top:30%}
html[data-deck^="soan-sang-che"] .shw.learn i:nth-of-type(2){left:28%;top:15%}
html[data-deck^="soan-sang-che"] .shw.learn i:nth-of-type(3){left:60%;top:63%}
html[data-deck^="soan-sang-che"] .shw.proc i:nth-of-type(1){left:13%;top:26%}
html[data-deck^="soan-sang-che"] .shw.proc i:nth-of-type(2){left:38%;top:26%}
html[data-deck^="soan-sang-che"] .shw.proc i:nth-of-type(3){left:66%;top:26%}
html[data-deck^="soan-sang-che"] .cvlogo{position:absolute;right:150px;top:90px;width:170px;height:170px;object-fit:contain}
html[data-deck^="soan-sang-che"] .eqimg{width:470px;max-width:100%;border-radius:10px}
html[data-deck^="soan-sang-che"] .thumbs3{display:flex;gap:10px;margin-bottom:14px} html[data-deck^="soan-sang-che"] .thumbs3 img{width:32%;border-radius:8px}
html[data-deck^="soan-sang-che"] .endsplit{margin-top:40px}
html[data-deck^="soan-sang-che"] .qrcap2{font-size:30px;margin-top:14px;color:#fff;text-align:center}
html[data-deck^="dna"] .bases b.ba{background:var(--a)} html[data-deck^="dna"] .bases b.bt{background:var(--t)} html[data-deck^="dna"] .bases b.bg{background:var(--g)} html[data-deck^="dna"] .bases b.bc{background:var(--c)}
html[data-deck^="dna"] .scn{position:absolute;left:100px;top:100px;width:880px;height:880px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
html[data-deck^="dna"] .tl{position:absolute;left:1070px;top:150px;width:760px}
html[data-deck^="dna"] .tl p.cl{font-size:38px;line-height:1.5;color:var(--dim);margin-top:26px} html[data-deck^="dna"] .tl p.cl b{color:var(--ink)}
html[data-deck^="dna"] .qrw p.qrcap{font-size:30px;color:var(--dim);margin:0 0 10px}
html[data-deck^="dna"] .box p.bp36{font-size:36px;line-height:1.45}
html[data-deck^="dna"] p.hint{font-size:30px;color:var(--dim);margin-top:10px}
html[data-deck^="dna"] .two{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:20px}
html[data-deck^="dna"] .two .qrw{grid-template-columns:300px 1fr !important;gap:30px !important}
html[data-deck^="dna"] .two .qrbox{width:300px !important;height:300px !important}
html[data-deck^="dna"] .two .qrbox .qr img,html[data-deck^="dna"] .two .qrbox .qr canvas{width:270px !important;height:270px !important}
html[data-deck^="dna"] .two p{font-size:28px;margin:0 0 8px;color:var(--dim)} html[data-deck^="dna"] .two .lk{font-size:22px !important}
html[data-deck^="hs"] #tmd button.ok{flex:1;background:#F5B82E;color:#14173A}
html[data-deck^="hs"] #tmd button.no{background:#2A3070;color:#fff}
html[data-deck^="hs"] .qrw p.qrcap{font-size:30px;color:var(--dim);margin:0 0 10px}
html[data-deck^="haui"] .logos.uni4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} html[data-deck^="haui"] .logos.uni4 img{width:100%;border-radius:8px}
html[data-deck^="haui"] img.hshot{width:100%;border-radius:10px}

/* ---- nhóm bài dst-*: thay style= viết tay (dst-gt, dst-khcn, dst-hd) ---- */
.meta b.mh{display:block; font-size:20px; letter-spacing:.14em; color:var(--on5)}
h2.t46{font-size:46px} h2.t42{font-size:42px} h2.t40{font-size:40px} h1.t72{font-size:72px}
.mt20{margin-top:20px} .mt26{margin-top:26px}
.tgold{color:var(--gold)}
html[data-deck^="dst"] .dsv{display:block} html[data-deck^="dst"] .dsv.fit{width:100%; height:auto; max-height:690px} html[data-deck^="dst"] .dsv.full{width:100%; height:100%}
html[data-deck^="dst"] .dkp.dpad{margin-top:12px; padding:8px}
html[data-deck^="dst"] .dkp.dh760{height:760px} html[data-deck^="dst"] .dkp.dh730{height:730px}
html[data-deck^="dst"] .src.dtight{margin-top:12px; font-size:21px}
html[data-deck^="dst"] .meta.dfoot{margin-top:50px; font-size:28px; color:var(--on4)}
html[data-deck^="dst"] .dsubl{font-size:23px; color:var(--dim); margin-top:4px}
html[data-deck^="dst"] .dqt{display:grid; grid-template-columns:940px 1fr; gap:30px; margin-top:14px; align-items:center}
html[data-deck^="dst"] .ifx{display:inline-flex; align-items:center; gap:10px}
html[data-deck^="dst"] .kpn.dn2, html[data-deck^="dst"] .tcx.dn2{grid-template-columns:repeat(2,1fr)}
html[data-deck^="dst"] .kpn.dn3, html[data-deck^="dst"] .tcx.dn3{grid-template-columns:repeat(3,1fr)}
html[data-deck^="dst"] .kpn.dn4, html[data-deck^="dst"] .tcx.dn4{grid-template-columns:repeat(4,1fr)}
html[data-deck^="dst"] .kpn.dn5, html[data-deck^="dst"] .tcx.dn5{grid-template-columns:repeat(5,1fr)}
html[data-deck^="dst"] .kpn.dn6, html[data-deck^="dst"] .tcx.dn6{grid-template-columns:repeat(6,1fr)}
html[data-deck^="dst"] .tcx.dn1{grid-template-columns:1fr}
html[data-deck^="dst"] .navyb.dnote{margin-top:14px; font-size:25px; padding:16px 26px}
html[data-deck^="dst"] .dmw{max-width:820px}
html[data-deck^="dst"] img.dcover{position:absolute; right:90px; top:210px; width:860px; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.45)}
html[data-deck^="dst"] .cmcols.dc3{grid-template-columns:1fr 2.4fr .8fr} html[data-deck^="dst"] .cmc2.nom{margin:0}
html[data-deck^="dst"] .fxg.dw800{grid-template-columns:800px 1fr} html[data-deck^="dst"] .fxg.dw960{grid-template-columns:960px 1fr}
html[data-deck="dst-hd"] .meta.dg44{margin-top:44px} html[data-deck="dst-hd"] .meta.dsm{margin-top:14px; font-size:24px}
html[data-deck="dst-hd"] .hg.dh790{grid-template-columns:790px 1fr} html[data-deck="dst-hd"] .hg.dh1000{grid-template-columns:1000px 1fr} html[data-deck="dst-hd"] .hg.dh2{grid-template-columns:1fr 1fr}
html[data-deck="dst-hd"] .hf img{max-height:700px; object-fit:contain} html[data-deck="dst-hd"] .hg.dh2 .hf img{max-height:600px}
html[data-deck^="haui"] img.hphoto{width:100%;max-height:560px;object-fit:cover;border-radius:12px}
html[data-deck^="haui"] img.hntust{width:100%;max-height:300px;object-fit:cover;border-radius:8px}
.mt10{margin-top:10px}
.mt12{margin-top:12px}

/* ---- bộ giao diện asean-techbridge ---- */
html[data-deck^="asean"] .lgs{display:flex; gap:20px; margin:14px 0;}
html[data-deck^="asean"] .lgs img{height:96px; background:#fff; border-radius:12px; padding:8px;}
html[data-deck^="asean"] .lgw{display:grid; grid-template-columns:repeat(6,1fr); gap:18px; margin-top:24px;}
html[data-deck^="asean"] .lgw > div{background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px; display:flex; align-items:center; justify-content:center; height:130px; text-align:center;}
html[data-deck^="asean"] .lgw img{max-width:100%; max-height:100%; object-fit:contain;}
html[data-deck^="asean"] .lgw b{font-size:25px; line-height:1.2; color:#0A0F1F;}
html[data-deck^="asean"] .tlg{height:44px; max-width:120px; object-fit:contain; vertical-align:middle; margin-right:10px;}

/* ---- giao diện dna ---- */
html[data-deck^="dna"] .s h2,html[data-deck^="dna"] .s h3,html[data-deck^="dna"] .s .box p b,html[data-deck^="dna"] .s ul.b b,html[data-deck^="dna"] .s table.tb td b,html[data-deck^="dna"] .s .huge{color:var(--navy)}
html[data-deck^="dna"] .s .rv.open{background:var(--paper)}
html[data-deck^="dna"] .s.cover h1,html[data-deck^="dna"] .s.sec h1,html[data-deck^="dna"] .s.sec h2{color:#fff}
html[data-deck^="dna"] .s,html[data-deck^="hs"] .s{--a:#FF6B6B;--t:#FFD166;--g:#4ECDC4;--c:#6C8CFF}
html[data-deck^="dna"] .glogo{height:54px;width:auto;display:block}
html[data-deck^="dna"] .hx{position:absolute;right:60px;top:110px;width:760px;height:860px;filter:drop-shadow(0 0 24px color-mix(in srgb,var(--gold) 30%,transparent))}
html[data-deck^="dna"] .tqbchip{position:absolute;left:96px;top:64px;background:#fff;border-radius:20px;padding:14px 26px;box-shadow:0 8px 28px rgba(0,0,0,.25)}
html[data-deck^="dna"] .tqbchip img{height:86px;width:auto;display:block}
html[data-deck^="dna"] .cover .gsm{position:absolute;left:96px;bottom:130px;height:46px;opacity:.9}
html[data-deck^="dna"] .cover h1{font-size:150px;line-height:1;margin:.1em 0;margin-top:90px}
html[data-deck^="dna"] .cover .tag{display:inline-flex;gap:14px;margin-top:28px}
html[data-deck^="dna"] .tag i{font-style:normal;font-weight:800;font-size:26px;border-radius:999px;padding:8px 22px;border:2px solid rgba(255,255,255,.35);color:#E8EAF5}
html[data-deck^="dna"] .cover .bases{display:flex;gap:18px;margin-top:46px}
html[data-deck^="dna"] .bases b{width:92px;height:92px;border-radius:24px;display:grid;place-items:center;font-size:54px;color:#0A0F1F;box-shadow:0 10px 30px rgba(0,0,0,.35)}
html[data-deck^="dna"] .fr{position:absolute;inset:210px 96px 70px 96px;border-radius:26px;overflow:hidden;border:2px solid var(--border);background:var(--surface)}
html[data-deck^="dna"] .fr iframe{width:100%;height:100%;border:0;display:block}
html[data-deck^="dna"] .fr .ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--faint);font-size:30px}
html[data-deck^="dna"] .ttl{position:absolute;left:96px;top:70px;right:96px;display:flex;align-items:center;gap:24px}
html[data-deck^="dna"] .ttl h2{margin:0;font-size:60px}
html[data-deck^="dna"] .wide{display:grid;grid-template-columns:1fr 1fr;gap:36px}
html[data-deck^="dna"] .mn{display:flex;gap:30px;align-items:stretch;margin-top:30px}
html[data-deck^="dna"] .mn>div{flex:1;border:2px solid var(--line);background:var(--soft);color:var(--ink);border-radius:22px;padding:28px 30px;font-size:34px;line-height:1.4}
html[data-deck^="dna"] .mn b{color:var(--gold)}
html[data-deck^="dna"] /* QR gọn */.qrw{grid-template-columns:380px 1fr !important;gap:50px !important;margin-top:24px !important}
html[data-deck^="dna"] .qrw .qrbox{width:380px;height:380px}
html[data-deck^="dna"] .qrw .qrbox .qr img,html[data-deck^="dna"] .qrw .qrbox .qr canvas{width:340px !important;height:340px !important}
html[data-deck^="dna"] .qrw .lk{font:600 32px var(--mono);color:var(--gold);word-break:break-all}
html[data-deck^="dna"] .bigq{font-size:76px;line-height:1.2;font-weight:800}
html[data-deck^="dna"] .bigq em{font-style:normal;color:var(--gold)}
html[data-deck^="dna"] .chip{display:inline-block;font:800 26px var(--font);border-radius:999px;padding:8px 22px;margin:0 10px 10px 0;background:var(--surface2);border:2px solid var(--border);color:var(--ink)}

/* ---- giao diện hs ---- */
html[data-deck^="hs"] .s h2,html[data-deck^="hs"] .s h3,html[data-deck^="hs"] .s .box p b,html[data-deck^="hs"] .s ul.b b,html[data-deck^="hs"] .s table.tb td b,html[data-deck^="hs"] .s .huge{color:var(--navy)}
html[data-deck^="hs"] .s .rv.open{background:var(--paper)}
html[data-deck^="hs"] .s.cover h1,html[data-deck^="hs"] .s.sec h1,html[data-deck^="hs"] .s.sec h2{color:#fff}
html[data-deck^="hs"] .glogo{height:54px;width:auto;display:block}
html[data-deck^="hs"] .hx{position:absolute;right:60px;top:110px;width:760px;height:860px;filter:drop-shadow(0 0 24px color-mix(in srgb,var(--gold) 30%,transparent))}
html[data-deck^="hs"] .tqbchip{position:absolute;left:96px;top:64px;background:#fff;border-radius:20px;padding:14px 26px;box-shadow:0 8px 28px rgba(0,0,0,.25)}
html[data-deck^="hs"] .tqbchip img{height:86px;width:auto;display:block}
html[data-deck^="hs"] .cover .gsm{position:absolute;left:96px;bottom:130px;height:46px;opacity:.9}
html[data-deck^="hs"] .cover h1{font-size:150px;line-height:1;margin:.1em 0;margin-top:90px}
html[data-deck^="hs"] .cover .tag{display:inline-flex;gap:14px;margin-top:28px}
html[data-deck^="hs"] .tag i{font-style:normal;font-weight:800;font-size:26px;border-radius:999px;padding:8px 22px;border:2px solid rgba(255,255,255,.35);color:#E8EAF5}
html[data-deck^="hs"] .cover .bases{display:flex;gap:18px;margin-top:46px}
html[data-deck^="hs"] .bases b{width:92px;height:92px;border-radius:24px;display:grid;place-items:center;font-size:54px;color:#0A0F1F;box-shadow:0 10px 30px rgba(0,0,0,.35)}
html[data-deck^="hs"] .fr{position:absolute;inset:210px 96px 70px 96px;border-radius:26px;overflow:hidden;border:2px solid var(--border);background:var(--surface)}
html[data-deck^="hs"] .fr iframe{width:100%;height:100%;border:0;display:block}
html[data-deck^="hs"] .fr .ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--faint);font-size:30px}
html[data-deck^="hs"] .ttl{position:absolute;left:96px;top:70px;right:96px;display:flex;align-items:center;gap:24px}
html[data-deck^="hs"] .ttl h2{margin:0;font-size:60px}
html[data-deck^="hs"] .wide{display:grid;grid-template-columns:1fr 1fr;gap:36px}
html[data-deck^="hs"] .mn{display:flex;gap:30px;align-items:stretch;margin-top:30px}
html[data-deck^="hs"] .mn>div{flex:1;border:2px solid var(--line);background:var(--soft);color:var(--ink);border-radius:22px;padding:28px 30px;font-size:34px;line-height:1.4}
html[data-deck^="hs"] .mn b{color:var(--gold)}
html[data-deck^="hs"] /* QR gọn */.qrw{grid-template-columns:380px 1fr !important;gap:50px !important;margin-top:24px !important}
html[data-deck^="hs"] .qrw .qrbox{width:380px;height:380px}
html[data-deck^="hs"] .qrw .qrbox .qr img,html[data-deck^="hs"] .qrw .qrbox .qr canvas{width:340px !important;height:340px !important}
html[data-deck^="hs"] .qrw .lk{font:600 32px var(--mono);color:var(--gold);word-break:break-all}
html[data-deck^="hs"] .bigq{font-size:76px;line-height:1.2;font-weight:800}
html[data-deck^="hs"] .bigq em{font-style:normal;color:var(--gold)}
html[data-deck^="hs"] .chip{display:inline-block;font:800 26px var(--font);border-radius:999px;padding:8px 22px;margin:0 10px 10px 0;background:var(--surface2);border:2px solid var(--border);color:var(--ink)}

/* ---- giao diện soan-sang-che ---- */
html[data-deck^="soan-sang-che"] .shw{position:relative; align-self:start;}
html[data-deck^="soan-sang-che"] .shot{width:100%; border-radius:12px; display:block;}
html[data-deck^="soan-sang-che"] .mk{position:absolute; transform:translate(-50%,-50%); width:44px; height:44px; border-radius:50%; background:#C9A227; color:#1b1206; font-weight:800; font-size:26px; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 4px #fff;}

/* ---- giao diện dst-gt ---- */
html[data-deck^="dst"] .dkp{background:#0e143c; border:1px solid #2E3A7A; border-radius:18px; overflow:hidden; display:flex; align-items:center; justify-content:center;}
html[data-deck^="dst"] .mkw2{position:relative; width:100%; aspect-ratio:1112/760; overflow:hidden; background:transparent;}
html[data-deck^="dst"] .mkw2 iframe{position:absolute; left:0; top:0; width:1112px; height:760px; border:0; transform:scale(.63); transform-origin:0 0; background:transparent;}
html[data-deck^="dst"] .kpn{display:grid; gap:14px; margin-top:14px;}
html[data-deck^="dst"] .kpn > div{background:var(--soft); border:1px solid var(--line); border-radius:16px; padding:12px 22px; display:flex; align-items:center; gap:20px;}
html[data-deck^="dst"] .kpn b{font-size:64px; font-weight:900; color:var(--head); line-height:1;}
html[data-deck^="dst"] .kpn span{font-size:23px; color:var(--dim); line-height:1.3;}
html[data-deck^="dst"] table.tb td svg{display:inline-block; vertical-align:-6px; margin-right:8px;}
html[data-deck^="dst"] .cmap{margin-top:6px;}
html[data-deck^="dst"] .cmcols{grid-template-columns:1fr 1.25fr .9fr 1fr;}
html[data-deck^="dst"] .cmbase > div{--n:6;}
html[data-deck^="dst"] .tgrid{--rh:84px; --gp:12px;}
html[data-deck^="dst"] .tl{font-size:23px;}

/* ---- giao diện dst-khcn ---- */
html[data-deck^="dst"] .stp{margin:0; padding-left:46px; font-size:27px; line-height:1.38; color:var(--ink);}
html[data-deck^="dst"] .stp li{margin:0 0 13px;}
html[data-deck^="dst"] .stp li::marker{color:var(--gold); font-weight:800;}
html[data-deck^="dst"] .stp strong{color:var(--head);}
html[data-deck^="dst"] .stp.many{font-size:24px; line-height:1.34;}
html[data-deck^="dst"] .stp.many li{margin-bottom:9px;}
html[data-deck^="dst"] .fxg{display:grid; gap:40px; margin-top:22px; align-items:start;}
html[data-deck^="dst"] .fxm video,html[data-deck^="dst"] .fxm img{display:block; width:100%; border-radius:14px; background:#0b1030; border:1px solid var(--line);}
html[data-deck^="dst"] .fxm video{aspect-ratio:16/10; object-fit:contain;}
html[data-deck^="dst"] .fxm img{max-height:640px; object-fit:contain;}
html[data-deck^="dst"] .tgx{display:grid; grid-template-columns:2fr 1fr; gap:28px; margin-top:26px;}
html[data-deck^="dst"] .tgx .box{padding:22px 26px;}
html[data-deck^="dst"] .tcx{display:grid; gap:22px;}
html[data-deck^="dst"] .tcx h3{font-size:30px;}
html[data-deck^="dst"] .tcx p{font-size:23px; color:var(--dim); margin:6px 0 10px;}
html[data-deck^="dst"] .tcx img{width:100%; border-radius:12px; border:1px solid var(--line); display:block; max-height:420px; object-fit:cover; object-position:top;}
html[data-deck^="dst"] .kp3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px;}
html[data-deck^="dst"] .kp3 > div{background:var(--soft); border:1px solid var(--line); border-radius:16px; padding:10px 22px; display:flex; align-items:center; gap:20px;}
html[data-deck^="dst"] .kp3 b{font-size:64px; font-weight:900; color:var(--head); line-height:1;}
html[data-deck^="dst"] .kp3 span{font-size:23px; color:var(--dim); line-height:1.3;}
html[data-deck^="dst"] .cmap{margin-top:12px;}
html[data-deck^="dst"] .cmtop{padding:14px 28px;}

/* ---- giao diện dst-hd ---- */
html[data-deck^="dst"] .gp p{font-size:26px; line-height:1.5; margin:0 0 12px; color:var(--ink);}
html[data-deck^="dst"] .gp.wide p{font-size:29px;}
html[data-deck^="dst"] .gp ul.u{margin:0 0 12px; padding-left:34px; font-size:26px; line-height:1.45;}
html[data-deck^="dst"] .gp.wide ul.u{font-size:29px;}
html[data-deck^="dst"] .gp ul.u li{margin:5px 0;}
html[data-deck^="dst"] .gp ul.u li::marker{color:var(--gold);}
html[data-deck^="dst"] .gp ol.stp{margin:0 0 12px; padding-left:42px; font-size:26px; line-height:1.42;}
html[data-deck^="dst"] .gp.wide ol.stp{font-size:29px;}
html[data-deck^="dst"] .gp ol.stp li{margin:0 0 9px;}
html[data-deck^="dst"] .gp ol.stp li::marker{color:var(--gold); font-weight:800;}
html[data-deck^="dst"] .gp h3.sh{font-size:28px; margin:8px 0 8px;}
html[data-deck^="dst"] .gp code{font-size:.85em;}
html[data-deck^="dst"] .gp .ask{margin-top:6px; margin-bottom:14px; font-size:25px; padding:14px 22px;}
html[data-deck^="dst"] .gp.wide .ask{font-size:28px;}
html[data-deck^="dst"] .gp table.tb{margin:6px 0 14px; font-size:23px;}
html[data-deck^="dst"] .gp.wide table.tb{font-size:26px;}
html[data-deck^="dst"] .gp table.tb th{font-size:22px; padding:9px 14px;}
html[data-deck^="dst"] .gp table.tb td{padding:7px 14px;}
html[data-deck^="dst"] .gp .qa{margin:0 0 16px;}
html[data-deck^="dst"] .gp .qa b{display:block; color:var(--head); font-size:29px; margin-bottom:4px;}
html[data-deck^="dst"] .gp .qa span{font-size:26px; line-height:1.45; color:var(--ink);}
html[data-deck^="dst"] .hg{display:grid; gap:40px; margin-top:20px; align-items:start;}
html[data-deck^="dst"] .hf{margin:0;}
html[data-deck^="dst"] .hf img{display:block; width:100%; border-radius:12px; border:1px solid var(--line); background:#fff;}
html[data-deck^="dst"] .hf figcaption{font-size:21px; color:var(--muted); line-height:1.4; margin-top:10px;}
html[data-deck^="dst"] .hf.one{max-width:1180px; margin:0 auto;}
html[data-deck^="dst"] .hv video{display:block; width:100%; aspect-ratio:16/10; object-fit:contain; background:#0b1030; border-radius:14px; border:1px solid var(--line);}

/* ---- giao diện chung nhóm dst ---- */
html[data-deck^="dst"] .ic{display:block; flex:none;}
html[data-deck^="dst"] .cmap{display:flex; flex-direction:column; gap:12px;}
html[data-deck^="dst"] .cmtop{display:flex; align-items:center; gap:18px; background:var(--navy); color:var(--onn); border-radius:16px; padding:12px 28px;}
html[data-deck^="dst"] .cmtop b{font-size:34px;}
html[data-deck^="dst"] .cmtop span{font-size:24px; color:var(--on3);}
html[data-deck^="dst"] .cmcols{display:grid; gap:14px;}
html[data-deck^="dst"] .cmc{background:var(--soft); border:1px solid var(--line); border-radius:16px; padding:14px 16px; display:flex; flex-direction:column; gap:8px;}
html[data-deck^="dst"] .cmc2{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
html[data-deck^="dst"] .cmsoon{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
html[data-deck^="dst"] .cmc h4,html[data-deck^="dst"] .cmbase h4{display:flex; align-items:center; gap:12px; margin:0 0 4px; font-weight:800; font-size:19px; letter-spacing:.08em; color:var(--head);}
html[data-deck^="dst"] .cmc.soon{border-style:dashed;}
html[data-deck^="dst"] .cmc.soon h4{color:var(--muted);}
html[data-deck^="dst"] .kcap{display:flex; align-items:center; gap:10px; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:9px 12px; font-size:22px; line-height:1.2; color:var(--ink);}
html[data-deck^="dst"] .kcap span{flex:1;}
html[data-deck^="dst"] .kcap u{text-decoration:none; font-weight:700; font-size:14px; color:var(--muted); border:1px solid var(--line); border-radius:99px; padding:2px 8px;}
html[data-deck^="dst"] .kcap.soon{color:var(--dim); border-style:dashed;}
html[data-deck^="dst"] .cmbase{background:var(--soft); border:1px solid var(--gr); border-radius:16px; padding:14px 18px;}
html[data-deck^="dst"] .cmbase h4{color:var(--gr);}
html[data-deck^="dst"] .cmbase > div{display:grid; grid-template-columns:repeat(var(--n,5),1fr); gap:12px;}
html[data-deck^="dst"] .tgrid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:var(--rh,72px); gap:var(--gp,10px); margin-top:var(--gp,10px);}
html[data-deck^="dst"] .tl{display:flex; align-items:center; gap:14px; background:var(--soft); border:2px solid #34D399; border-radius:14px; padding:6px 16px; font-size:22px; line-height:1.15; color:var(--ink); height:var(--rh,72px);}
html[data-deck^="dst"] .tl span{flex:1;}
html[data-deck^="dst"] .tl.off{border:2px dashed var(--muted); color:var(--muted); background:var(--paper);}
html[data-deck^="dst"] .lgd2{display:flex; align-items:center; gap:12px; font-size:21px; color:var(--dim); margin-top:14px;}
html[data-deck^="dst"] .lgd2 i{width:22px; height:22px; border-radius:6px; border:2px solid #34D399; display:inline-block; margin-left:14px;}
html[data-deck^="dst"] .lgd2 i.off{border:2px dashed var(--muted);}

/* ---- bài pd4-pd9 và atlas: thay style= viết tay và CSS riêng (1/11/2026) ---- */
html[data-deck^="pd"] .bars3 .br i.wp33{--w:33.3%} html[data-deck^="pd"] .bars3 .br i.wp7{--w:6.7%} html[data-deck^="pd"] .bars3 .br i.wp05{--w:0.5%}
html[data-deck^="pd"] .lab.gr.nw{max-width:none; width:100%; white-space:nowrap}
html[data-deck^="pd"] table.tb th.tw70{width:70px} html[data-deck^="pd"] table.tb th.tw86{width:86px} html[data-deck^="pd"] table.tb th.tw88{width:88px} html[data-deck^="pd"] table.tb th.tw90{width:90px} html[data-deck^="pd"] table.tb th.tw110{width:110px} html[data-deck^="pd"] table.tb th.tw150{width:150px} html[data-deck^="pd"] table.tb th.tw170{width:170px} html[data-deck^="pd"] table.tb th.tw230{width:230px} html[data-deck^="pd"] table.tb th.tw300{width:300px} html[data-deck^="pd"] table.tb th.tw360{width:360px} 
html[data-deck^="pd"] table.tb th.tw28p{width:28%} html[data-deck^="pd"] table.tb th.tw30p{width:30%}
html[data-deck^="pd"] .steps.c3{grid-template-columns:repeat(3,1fr)} html[data-deck^="pd"] .steps.c4{grid-template-columns:repeat(4,1fr)} html[data-deck^="pd"] .steps.c5{grid-template-columns:repeat(5,1fr)}
html[data-deck^="pd"] .mt20{margin-top:20px} html[data-deck^="pd"] .mt22{margin-top:22px} html[data-deck^="pd"] .mt26{margin-top:26px}
html[data-deck^="pd"] .gr .gb.gc2-5{grid-column:2/5} html[data-deck^="pd"] .gr .gb.gc4-6{grid-column:4/6} html[data-deck^="pd"] .gr .gb.gc6-7{grid-column:6/7} html[data-deck^="pd"] .gr .gb.gc6-10{grid-column:6/10} html[data-deck^="pd"] .gr .gb.gc9-11{grid-column:9/11} html[data-deck^="pd"] .gr .gb.gc10-13{grid-column:10/13} html[data-deck^="pd"] .gr .gb.gc13-14{grid-column:13/14}
html[data-deck^="pd"] :is(p,b).fz26{font-size:26px; line-height:1.5} html[data-deck^="pd"] :is(p,b).fz27{font-size:27px; line-height:1.5} html[data-deck^="pd"] :is(p,b).fz29{font-size:29px}
html[data-deck^="pd"] :is(p,b).fz30{font-size:30px; line-height:1.5} html[data-deck^="pd"] :is(p,b).fz30w{font-size:30px; line-height:1.55} html[data-deck^="pd"] :is(p,b).fz44{font-size:44px}
html[data-deck^="pd"] .tb td.bl{height:66px; background:#fff} html[data-deck^="pd"] .tb td.bl:focus{outline:3px solid #C9A24B}
html[data-deck^="pd"] .tb.bang td, html[data-deck^="pd"] .tb.bang th{font-size:26px}
html[data-deck^="pd"] .tb.bang1 td, html[data-deck^="pd"] .tb.bang1 th{font-size:30px}
html[data-deck^="atlas"] .spl{display:grid; gap:44px; margin-top:26px; align-items:start} html[data-deck^="atlas"] .spl.sp57{grid-template-columns:5fr 7fr} html[data-deck^="atlas"] .spl.sp47{grid-template-columns:4fr 7fr} html[data-deck^="atlas"] .spl.sp38{grid-template-columns:3fr 8fr}
html[data-deck^="atlas"] p.lead36{font-size:36px; line-height:1.5} html[data-deck^="atlas"] .mt6{margin-top:6px} html[data-deck^="atlas"] .mt20{margin-top:20px} html[data-deck^="atlas"] .mt22{margin-top:22px} html[data-deck^="atlas"] .mt24{margin-top:24px} html[data-deck^="atlas"] .mt26{margin-top:26px} html[data-deck^="atlas"] .g3.mt34{margin-top:34px}

/* ---- elearning-ck: căn đều đoạn văn tiếng Việt (1/11/2026). Loại trừ nhãn in hoa, tiêu đề, bảng, bìa, QR, ô giá; cột hẹp để căn trái ---- */
html[data-deck^="elearning-ck"] .box p:not(.ov):not(.lab):not(.cap):not(.src):not(.price):not(.meta):not(.sub),
html[data-deck^="elearning-ck"] .box li,
html[data-deck^="elearning-ck"] ul.b li,
html[data-deck^="elearning-ck"] .lead,
html[data-deck^="elearning-ck"] .ask,
html[data-deck^="elearning-ck"] .navyb,
html[data-deck^="elearning-ck"] .qb p{text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto}
html[data-deck^="elearning-ck"] .g3 .box p, html[data-deck^="elearning-ck"] .g3 .box li, html[data-deck^="elearning-ck"] .devs *, html[data-deck^="elearning-ck"] .cover *, html[data-deck^="elearning-ck"] .sec *, html[data-deck^="elearning-ck"] .end *, html[data-deck^="elearning-ck"] .flow *, html[data-deck^="elearning-ck"] .steps *{text-align:left; hyphens:manual}

/* ---- elearning-ck: bìa gọn, có thứ bậc (1/11/2026) ---- */
html[data-deck^="elearning-ck"] .cover:not(.end) .logos{margin-bottom:60px}
html[data-deck^="elearning-ck"] .cover:not(.end) .logos img{height:150px; width:auto; border-radius:0}
html[data-deck^="elearning-ck"] .cover .units{margin-top:64px; display:flex; flex-direction:column; gap:26px}
html[data-deck^="elearning-ck"] .cover .units .ul{font-size:22px; font-weight:800; letter-spacing:.12em; color:var(--gold); margin:0 0 6px}
html[data-deck^="elearning-ck"] .cover .units .un{font-size:24px; color:var(--on3); margin:0; white-space:nowrap; line-height:1.3}
html[data-deck^="elearning-ck"] .g3 .box p:not(.ov):not(.lab):not(.cap):not(.src):not(.price):not(.meta):not(.sub),
html[data-deck^="elearning-ck"] .g3 .box li{text-align:left; hyphens:manual; -webkit-hyphens:manual}

/* ---- elearning-ck: khung nhúng máy tính bảng và điện thoại (1/11/2026) ---- */
html[data-deck^="elearning-ck"] .devs > .tab{flex:none; width:800px}
html[data-deck^="elearning-ck"] .devs > .ph{flex:none; width:300px}
html[data-deck^="elearning-ck"] .devs .tab .gmfr{width:100%; aspect-ratio:1194/834}
html[data-deck^="elearning-ck"] .devs .ph .gmfr{width:100%; aspect-ratio:390/844}
html[data-deck^="elearning-ck"] .devs .gmfr .gmgo{font-size:26px; padding:14px 28px}

/* rv 1/11: hình tròn trang trí rỗng ở góc phải trên không có nghĩa trong các bộ đã chuyển; bỏ */
html[data-deck^="haui"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="dna"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="hs"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="dst"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="atlas"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="soan-sang-che"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="elearning-ck"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="asean-techbridge"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="drone-buildathon"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="grasp-school"] .s:not(.sec):not(.cover) > .ov::after,html[data-deck^="vin2"] .s:not(.sec):not(.cover) > .ov::after{display:none}
/* rv 1/11: khung nhúng nền tối trong lúc tải, tránh ô trắng loé trên bộ nền tối */
html[data-deck^="atlas"] iframe,html[data-deck^="grasp-school"] iframe,html[data-deck^="drone-buildathon"] iframe,html[data-deck^="vin2"] iframe,html[data-deck^="soan-sang-che"] iframe,html[data-deck^="elearning-ck"] iframe,html[data-deck^="asean-techbridge"] iframe,html[data-deck^="dst"] iframe,html[data-deck^="haui"] iframe{background:#0B1226}

/* ---- mã QR trên nền tối của bài chứng khoán: khung trắng, mã tối, đọc được bằng mọi máy quét ---- */
html[data-deck^="elearning-ck"] .qrbox{background:#fff; border:0; box-shadow:0 8px 30px rgba(0,0,0,.25)}
html[data-deck^="elearning-ck"] .qrbox .qr img, html[data-deck^="elearning-ck"] .qrbox .qr canvas{filter:none !important; mix-blend-mode:normal !important}

/* ---- elearning-ck: khung nạp lười có ảnh poster trong lúc chờ, không nút phủ (1/11/2026) ---- */
html[data-deck^="elearning-ck"] .gmfr .ph{z-index:2; pointer-events:none; align-items:end; padding-bottom:18px; font-size:24px; color:#fff; text-shadow:0 2px 8px #000}
html[data-deck^="elearning-ck"] .gmfr .ph > img.gmposter{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.9; z-index:-1}
html[data-deck^="elearning-ck"] .gmfr .ph > span{position:relative}
html[data-deck^="elearning-ck"] .vis .cap a{color:var(--gold); font-weight:700; margin-left:8px}

/* ---- liên kết trên slide cảm ơn bài chứng khoán ---- */
html[data-deck^="elearning-ck"] a.lk{color:#fff; text-decoration:underline}
html[data-deck^="elearning-ck"] a.qrlink{display:block; text-decoration:none}
html[data-deck^="elearning-ck"] .gmfr .ph{align-items:start; padding-bottom:0; padding-top:12px; font-size:20px}
html[data-deck^="elearning-ck"] .gmfr .ph > span{justify-self:center; background:rgba(10,15,31,.8); border-radius:999px; padding:4px 16px; text-shadow:none}
html[data-deck^="elearning-ck"] div:has(+ .vis > .devs) :is(li,.ask,p){text-align:left; hyphens:manual; -webkit-hyphens:manual}

/* ---- bìa và slide cảm ơn bài chứng khoán: mỗi khối chữ là một khối cấp một, sửa và kéo riêng được ---- */
html[data-deck^="elearning-ck"] .cover > .u{margin:0 0 26px}
html[data-deck^="elearning-ck"] .cover > .u1{margin-top:64px}
html[data-deck^="elearning-ck"] .cover > .u .ul{font-size:22px; font-weight:800; letter-spacing:.12em; color:var(--gold); margin:0 0 6px}
html[data-deck^="elearning-ck"] .cover > .u .un{font-size:24px; color:var(--on3); margin:0; white-space:nowrap; line-height:1.3}
html[data-deck^="elearning-ck"] .s.cover.end{display:grid; grid-template-columns:minmax(0,1fr) 600px; column-gap:80px; align-content:center; align-items:start}
html[data-deck^="elearning-ck"] .s.cover.end > .ov, html[data-deck^="elearning-ck"] .s.cover.end > h1, html[data-deck^="elearning-ck"] .s.cover.end > .sub, html[data-deck^="elearning-ck"] .s.cover.end > .meta{grid-column:1}
html[data-deck^="elearning-ck"] .s.cover.end > .meta.unit{margin-top:36px}
html[data-deck^="elearning-ck"] .s.cover.end > .meta.thanks{font-size:28px; margin-top:24px}
html[data-deck^="elearning-ck"] .s.cover.end > .meta.open{margin-top:12px}
html[data-deck^="elearning-ck"] .s.cover.end > a.qrlink{grid-column:2; grid-row:1 / span 6; align-self:center}
html[data-deck^="elearning-ck"] .s.cover.end > .endcap{grid-column:2; grid-row:7; margin-top:14px}
html[data-deck^="elearning-ck"] .s.cover.end > .sub a b{white-space:nowrap}

/* ---- khối cột tách thành khối cấp một (deck(split_cols=True)): cột trái xếp chồng, cột phải đứng cạnh, chữ và khung sửa riêng ---- */
.s.cols.lr > .L{float:left; clear:left; width:calc(50% - 20px)}
.s.cols.lr > .R{float:right; clear:right; width:calc(50% - 20px)}
.s.cols > .wide{clear:both}
.s.cols.lr > .wide{padding-top:24px}
.s.cols.cn2, .s.cols.cn3{display:grid; column-gap:40px; align-content:start; align-items:start}
.s.cols.cn2{grid-template-columns:1fr 1fr} .s.cols.cn3{grid-template-columns:repeat(3,1fr); column-gap:26px}
.s.cols.cn2 > .ov, .s.cols.cn3 > .ov, .s.cols.cn2 > h1, .s.cols.cn3 > h1, .s.cols.cn2 > h2, .s.cols.cn3 > h2, .s.cols.cn2 > .wide, .s.cols.cn3 > .wide{grid-column:1/-1}
.s.cols.lr{display:block}
.s.cols.cn2, .s.cols.cn3{row-gap:0}
.s.cols.lr > .L.mt{margin-top:40px}
.s.cols.cn2 > .wide, .s.cols.cn3 > .wide{margin-top:24px}

/* video_steps: video màn hình theo bước (dùng biến theme; có giá trị dự phòng) */
.vsx{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px;margin-top:20px;align-items:start}
.vsx .vl{display:flex;flex-direction:column;gap:12px;min-width:0}
.vsx .vbox{border-radius:18px;overflow:hidden;border:1px solid var(--border);background:var(--surface2)}
.vsx .vbox video{display:block;width:100%;aspect-ratio:1280/745;object-fit:contain;background:var(--surface2)}
.vsx .vcap{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--gold);border-radius:12px;padding:10px 20px;font-size:25px;line-height:1.3;color:var(--ink);min-height:76px;display:flex;align-items:center}
.vsx .vctl{display:flex;gap:10px;align-items:center}
.vsx .vctl button{flex:none;width:52px;height:52px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
.vsx .vctl button svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vsx .vctl .pp{width:84px;background:var(--gold);color:var(--on,#0B1030);border-color:var(--gold)}
.vsx .vctl .pp svg{fill:currentColor}.vsx .vctl .pp .ia{display:none}.vsx .vctl .pp.run .ia{display:block}.vsx .vctl .pp.run .ip{display:none}
.vsx .vctl .spd{width:64px;font:700 20px var(--mono)}
.vsx .vbar{flex:1;height:10px;border-radius:99px;background:var(--surface2);border:1px solid var(--border);overflow:hidden;cursor:pointer}
.vsx .vbar i{display:block;height:100%;width:0;background:var(--gold)}
.vsx .vr{display:flex;flex-direction:column;gap:10px;min-width:0}
.vsx .vmeta{font:700 18px var(--mono);letter-spacing:.06em;color:var(--dim);margin:0 0 2px}
.vsx .vs{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px 16px;cursor:pointer;transition:background .2s,border-color .2s}
.vsx .vs i{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface2);color:var(--dim);font:700 20px var(--font);font-style:normal}
.vsx .vs b{display:block;font-size:26px;line-height:1.2;color:var(--ink)}
.vsx .vs.on{border:2px solid var(--gold);padding:9px 15px}
.vsx .vs.on i{background:var(--gold);color:var(--on,#0B1030)}
.vsx .vr.many .vs{padding:6px 14px}.vsx .vr.many .vs.on{padding:5px 13px}.vsx .vr.many .vs b{font-size:23px}
.vsx .vnote{border-radius:16px;background:var(--surface);border:1px solid var(--border);padding:14px 20px;font-size:22px;line-height:1.45;color:var(--dim)}

/* chartw và gtm (6/11/2026): thành phần thêm, không đổi lớp cũ */
.cw{display:grid;grid-template-columns:1.6fr 1fr;gap:26px;margin-top:14px;align-items:stretch}
.cw-main{position:relative;background:var(--soft);border:2px solid var(--line);border-radius:18px;padding:8px 10px 12px;touch-action:pan-y}
.cw-svg{width:100%;height:auto;display:block;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}
.cw-svg text{font-family:inherit;fill:var(--ink)}
.cw-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.cw-tools button{font:inherit;font-size:22px;padding:8px 18px;border-radius:12px;border:2px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.cw-tools button:hover{border-color:var(--gold)}
.cw-cap{margin:8px 4px 0;font-size:20px;color:var(--dim)}
.cw-info{background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:18px 24px}
.cw-info.on{border-color:var(--gold)}
.cw-body{font-size:25px;line-height:1.4;color:var(--ink)}
.cw-body .hint{color:var(--dim)}
.cw-body h3{margin:0 0 4px;font-size:30px;color:var(--head)}
.cw-body .big{font-size:46px;font-weight:800;color:var(--head);line-height:1.1;margin:2px 0 10px}
.cw-body dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.cw-body dt{font-weight:800;color:var(--gold-d);font-size:21px;letter-spacing:.04em;text-transform:uppercase;padding-top:3px}.cw-body dd{margin:0}
.gtm-grid{display:grid;gap:8px 0;margin-top:10px;position:relative}
.gtm-h{font-size:19px;color:var(--dim);text-align:center;border-left:1px solid var(--line);padding:2px 0}
.gtm-row{position:relative}
.gtm-bar{height:84px;padding-top:16px !important;border-radius:14px;border:2px solid var(--line);background:var(--soft);color:var(--ink);font:inherit;font-size:25px;font-weight:800;text-align:left;padding:6px 16px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;line-height:1.2;position:relative;overflow:visible}
.gtm-bar small{font-size:20px;font-weight:400;color:var(--dim)}
.gtm-bar.a{background:var(--navy);color:var(--onn);border-color:var(--navy)}.gtm-bar.a small{color:var(--on3)}
.gtm-bar.b{background:var(--gold);color:var(--on,#0B1030);border-color:var(--gold)}.gtm-bar.b small{color:var(--on,#0B1030)}
.gtm-bar.c{background:var(--paper);border-color:var(--navy);color:var(--navy)}
.gtm-bar.sel{box-shadow:0 0 0 5px var(--cream-b)}
.gtm-ms{position:absolute;top:-22px;width:32px;height:32px;margin-left:-16px;border-radius:50%;background:var(--paper);color:var(--head);border:3px solid var(--gold);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:2}
.gtm-hard{position:absolute;top:0;bottom:0;width:0;border-left:4px dashed var(--rd);z-index:3;pointer-events:none}
.gtm-hard span{position:absolute;top:-4px;left:6px;font-size:20px;font-weight:800;color:var(--rd);white-space:nowrap;background:var(--paper);padding:0 6px;border-radius:6px}
.gtm-panel{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gtm-panel>div{background:var(--soft);border:2px solid var(--line);border-radius:16px;padding:14px 18px;font-size:23px;line-height:1.35}
.gtm-panel .lab{margin:0 0 6px;font-size:19px}
.gtm-panel ol,.gtm-panel ul{margin:0;padding-left:26px}.gtm-panel li{margin:4px 0}
.gtm-panel .ttl{grid-column:1/-1;background:var(--navy);color:var(--onn);border-color:var(--navy);font-size:27px;font-weight:800}
@media (max-width:700px){.cw{grid-template-columns:1fr}.gtm-panel{grid-template-columns:1fr 1fr}}
