/* ===========================================================
   Tự ôn thi — v5 / PA1B
   Trang chủ (bảng tra cứu) + Trang chi tiết note (ishback-minimal)
   =========================================================== */
:root{
  --bg:#ffffff; --ink:#1b1a17; --muted:#6f6d68; --soft:#56544c;
  --thumb:#f1f0ec; --thumbline:#e3e2dd; --hover:#ebeae5; --line:#e3e2dd;
  --green:#3D5F32; --green2:#5E8C50; --green-bg:#E3EDD4; --green-ink:#2f3a24; --mk:#B9D69C; --eb:#9a3b2c;
  --red:#9a3b2c;
  --amber:#9a6a12; --amber-strong:#b07d12; --amber-bg:#fbf6ec;
  --rule-bg:#eef4e6; --wrong-bg:#fbf3f1; --wrong-ink:#7a2c20; --green-ink:#2f3a24;
  --shadow:0 1px 2px rgba(27,26,23,.05),0 10px 26px rgba(27,26,23,.07);
}
.tt-home, .tt-note{
  background:var(--bg); color:var(--ink);
  font-family:"Inter",system-ui,sans-serif; line-height:1.5;
  -webkit-font-smoothing:antialiased; font-size:15px;
}
.tt-home *,.tt-note *{box-sizing:border-box}
.tt-home a,.tt-note a{color:inherit}
.tt-mono{font-family:"JetBrains Mono",ui-monospace,monospace}

/* ============ TRANG CHỦ ============ */
.tt-home .layout{display:grid;grid-template-columns:350px 1fr;gap:48px;
  max-width:1500px;margin:0 auto;padding:40px 40px 60px}

/* sidebar */
.tt-home .side{position:sticky;top:40px;height:calc(100vh - 80px);display:flex;flex-direction:column}
.tt-home .brand .bl{position:relative}
.tt-home .brand .name{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;line-height:1}
.tt-home .brand .uline{display:block;width:114px;height:13px;margin:-2px 0 0 -2px;color:var(--green2)}
.tt-home .brand .tagline{margin-top:7px;font-size:.8rem;color:var(--green);font-weight:500}

.tt-home .lede{margin-top:44px;font-size:clamp(1.55rem,1.2rem + 1.6vw,1.9rem);line-height:1.2;font-weight:400;letter-spacing:-.02em;max-width:14ch}
/* Điểm nhấn "hiệu quả": chữ bold + marker vẽ tay (PA C). Các chữ còn lại weight 400. */
.tt-home .lede .hl{position:relative;font-weight:700;color:var(--green-ink,#2f3a24);white-space:nowrap;padding:0 7px}
.tt-home .lede .hl .brush{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:1.15em;z-index:-1;color:var(--mk,#B9D69C);pointer-events:none}
.tt-home .subline{margin-top:12px;color:var(--muted);font-size:.95rem;line-height:1.55;max-width:34ch}

/* pills chương trình (clickable) */
.tt-home .creds{display:flex;gap:6px;margin-top:30px}
.tt-home .creds button{font:inherit;font-size:.62rem;font-weight:600;letter-spacing:.05em;cursor:pointer;
  color:var(--green);background:var(--green-bg);border:1px solid transparent;border-radius:100px;padding:3px 10px}
.tt-home .creds button:hover{border-color:var(--green2)}
.tt-home .creds button.on{background:var(--green);color:#fff}
.tt-home .creds button[disabled]{opacity:.45;cursor:not-allowed}

/* 3 bước */
.tt-home .steps-h{margin-top:32px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:600}
.tt-home .steps{margin-top:16px;display:flex;flex-direction:column;gap:18px}
.tt-home .step{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:baseline}
.tt-home .step .no{font-size:.82rem;color:var(--green2);font-weight:600;font-variant-numeric:tabular-nums}
.tt-home .step .nm{font-weight:600;font-size:.95rem}
.tt-home .step a.nm{text-decoration:none;border-bottom:1.5px solid var(--green-bg)}
.tt-home .step a.nm:hover{border-bottom-color:var(--green2);color:var(--green)}
.tt-home .step a.nm .ext{font-size:.72rem;color:var(--green2)}
.tt-home .step button.nm{background:none;border:0;padding:0 0 1px;font:inherit;font-weight:600;cursor:pointer;
  color:var(--ink);text-align:left;border-bottom:1.5px solid var(--green-bg)}
.tt-home .step button.nm:hover{color:var(--green);border-bottom-color:var(--green2)}
.tt-home .step button.nm.on{color:var(--green);border-bottom-color:var(--green)}
.tt-home .step .ds{color:var(--muted);font-size:.85rem;line-height:1.5;display:block;margin-top:4px}

/* dropdown môn */
.tt-home .filters{margin-top:30px}
.tt-home .sel{position:relative;display:inline-block}
.tt-home .sel select{appearance:none;font:inherit;font-size:.8rem;cursor:pointer;background:#fff;
  border:1px solid var(--thumbline);border-radius:8px;padding:6px 27px 6px 11px;color:var(--ink)}
.tt-home .sel select:hover{border-color:var(--green2)}
.tt-home .sel select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-bg)}
.tt-home .sel::after{content:"▾";position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--green2);font-size:.72rem}

.tt-home .foot{margin-top:auto;padding-top:30px;color:var(--muted);font-size:.85rem;
  display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 14px}
.tt-home .foot .fnav{display:flex;gap:14px}
.tt-home .foot .fnav a{color:var(--ink);text-decoration:none;font-size:.85rem}
.tt-home .foot .fnav a:hover{color:var(--green)}

/* grid card */
.tt-home .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;align-content:start}
.tt-home .item{cursor:pointer}
.tt-home .item.hide{display:none}
.tt-home .thumb{position:relative;background:var(--thumb);border-radius:4px;padding:24px;height:300px;
  overflow:hidden;display:flex;flex-direction:column;transition:background .15s;text-decoration:none;color:var(--ink)}
.tt-home .item:hover .thumb{background:var(--hover)}
.tt-home .pv-open{position:absolute;top:20px;right:20px;font-size:1.05rem;color:var(--muted);transition:.15s}
.tt-home .item:hover .pv-open{color:var(--green);transform:translate(2px,-2px)}
.tt-home .pv-top{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  padding:0 28px 12px 0;border-bottom:1px solid var(--thumbline)}
.tt-home .pv-top b{color:var(--ink);font-weight:600}
.tt-home .pv-top .ty{color:var(--green);font-weight:600}
.tt-home .pv-top .ty.eb{color:var(--eb)}
.tt-home .pv-top.mc-top{border-bottom:0;padding-bottom:0}
.tt-home .pv-title{font-size:1.2rem;font-weight:600;line-height:1.28;letter-spacing:-.01em;margin:15px 0 14px}
.tt-home .pv-lines span{display:block;height:7px;background:var(--thumbline);border-radius:3px;margin-bottom:8px}
.tt-home .pv-lines span:nth-child(2){width:92%}.tt-home .pv-lines span:nth-child(3){width:78%}
/* Card EB/My Corner: các phần cố định KHÔNG co; riêng pv-desc/pv-req co giãn lấp đầy + mờ đáy.
   QUAN TRỌNG: .thumb>* phải đứng TRƯỚC pv-desc để pv-desc (flex-shrink:1) ghi đè, tránh tràn card. */
.tt-home .thumb>*{flex-shrink:0}
.tt-home .pv-desc{flex:1 1 auto;min-height:0;flex-shrink:1;font-size:.82rem;line-height:1.5;color:var(--soft);margin:0 0 14px;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
.tt-home .pv-rule.pv-concl{font-size:.82rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tt-home .pv-rule.pv-concl b{color:var(--green)}
.tt-home .pv-rule.pv-mc{color:var(--green);font-weight:600}
.tt-home .pv-flag{margin-top:auto;font-size:.82rem;line-height:1.45;color:var(--soft);border-top:1px solid var(--thumbline);padding-top:12px}
.tt-home .pv-flag::before{content:"→ ";color:var(--green);font-weight:600}
.tt-home .pv-rule{margin-top:auto;font-size:.8rem;line-height:1.45;color:var(--soft);border-top:1px solid var(--thumbline);padding-top:12px}
.tt-home .pv-rule b{color:var(--eb)}
.tt-home .secbreak{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:10px 0 -10px;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:600}
.tt-home .secbreak.hide{display:none}
.tt-home .secbreak::after{content:"";flex:1;height:1px;background:var(--green-bg)}
.tt-home .empty{grid-column:1/-1;color:var(--muted);padding:30px 0}

@media(max-width:1080px){
  .tt-home .layout{grid-template-columns:1fr;gap:44px}
  .tt-home .side{position:static;height:auto}
  .tt-home .lede{margin-top:24px}
  /* G7 (hotfix): layout xếp dọc trên mobile khiến .foot (copyright + Fanpage/
     YouTube) của sidebar rơi vào GIỮA trang, ngay dưới dropdown môn — trùng lặp
     và gây nhầm lẫn vì site đã có Footer Bar riêng ở cuối trang. Ẩn hẳn trên mobile. */
  .tt-home .foot{display:none}
}

/* ============ TRANG CHI TIẾT NOTE — port nguyên bản PA1B đã chốt ============ */
.tt-note{font-size:16px;line-height:1.7}
.tt-note .mono{font-family:"JetBrains Mono",ui-monospace,monospace}

.tt-note .top{max-width:1080px;margin:0 auto;padding:26px 36px;display:flex;justify-content:space-between;align-items:flex-start}
.tt-note .brand .name{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.tt-note .brand .uline{display:block;width:114px;height:12px;margin:-1px 0 0 -1px;color:var(--green2)}
.tt-note .brand .tagline{font-size:.8rem;color:var(--green);margin-top:6px}
.tt-note .topnav a{text-decoration:none;color:var(--muted);font-size:.85rem;margin-left:20px}
.tt-note .topnav a:hover{color:var(--green)}

.tt-note .shell{max-width:1080px;margin:0 auto;padding:30px 36px 0}
.tt-note .back{display:inline-block;color:var(--muted);text-decoration:none;font-size:.85rem;margin-bottom:60px}
.tt-note .back:hover{color:var(--green)}

.tt-note .head{max-width:none}
.tt-note .kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:600}
.tt-note .kicker .eb{color:var(--eb)}
.tt-note h1{font-size:clamp(1.7rem,1.15rem + 2vw,2.3rem);line-height:1.16;letter-spacing:-.03em;font-weight:700;margin:16px 0 18px}
.tt-note .source{font-size:.85rem;color:var(--muted)}

.tt-note .cols{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start;margin-top:64px}
.tt-note .cols.onecol{display:block}

.tt-note .q{position:sticky;top:28px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:24px 26px}
.tt-note .q .qlab{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--green);font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px;line-height:1.4}
.tt-note .q p{font-size:.9rem;line-height:1.62;color:var(--soft);margin-top:9px}
.tt-note .q p:first-of-type{margin-top:0}
.tt-note .q p b,.tt-note .q strong{color:var(--ink);font-weight:600}
.tt-note .q .qq{margin-top:13px;font-weight:600;color:var(--ink)}
.tt-note .q .qhint{margin-top:16px;font-size:.74rem;color:var(--muted);font-style:italic;line-height:1.5}
.tt-note .q blockquote{margin-top:10px;padding:12px 14px;background:var(--green-bg);border-left:3px solid var(--green2);border-radius:0 8px 8px 0}
.tt-note .q blockquote p{color:var(--green-ink);font-size:.85rem;margin-top:6px}
.tt-note .q blockquote p:first-child{margin-top:0}
.tt-note .q ul,.tt-note .q ol{margin:9px 0 0;padding-left:18px;font-size:.9rem;color:var(--soft)}
.tt-note .mk{color:var(--green2);font-weight:600;font-style:normal}

.tt-note .flow{max-width:620px;min-width:0;display:flex;flex-direction:column;gap:20px}
.tt-note .step,.tt-note .aside{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:26px 28px}
.tt-note .step .sh{display:flex;gap:14px;align-items:baseline}
.tt-note .step .sh .n{color:var(--green2);font-weight:700;font-size:1.4rem;line-height:1;font-variant-numeric:tabular-nums;flex:none}
.tt-note .step .sh h2{font-size:1.2rem;font-weight:600;letter-spacing:-.015em;line-height:1.35}
.tt-note .step p{margin:12px 0 0;color:var(--soft)}
.tt-note .step p b,.tt-note .step strong{color:var(--ink);font-weight:600}
.tt-note .step ul,.tt-note .step ol{margin:12px 0 0;padding-left:20px;color:var(--soft)}
.tt-note .step li{margin:6px 0}
.tt-note .step a,.tt-note .aside a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.tt-note .step blockquote{margin-top:12px;padding:12px 16px;background:var(--green-bg);border-left:3px solid var(--green2);border-radius:0 8px 8px 0}
.tt-note .step blockquote p{margin-top:6px;color:var(--green-ink)}
.tt-note .step blockquote p:first-child{margin-top:0}

.tt-note .aside .al{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:6px}
.tt-note .aside p{margin:0;color:var(--soft)}
.tt-note .aside p + p{margin-top:10px}
.tt-note .aside b,.tt-note .aside strong{color:var(--ink);font-weight:600}
.tt-note .aside ul,.tt-note .aside ol{margin:8px 0 0;padding-left:20px;color:var(--soft)}
.tt-note .aside.bay{background:var(--amber-bg)}
.tt-note .aside.bay .al{color:var(--amber)}
.tt-note .aside.bay b,.tt-note .aside.bay strong{color:var(--red)}
.tt-note .aside.rule{background:var(--rule-bg)}
.tt-note .aside.rule .al{color:var(--green)}
.tt-note .aside.rule strong{color:var(--green)}
/* blockquote trong card .aside: phẳng, không tạo box-trong-box */
.tt-note .aside blockquote{margin:0;padding:0;background:none;border:0;border-radius:0}
.tt-note .aside blockquote p{margin-top:8px;color:var(--soft)}
.tt-note .aside blockquote p:first-child{margin-top:0}
.tt-note .aside blockquote ul,.tt-note .aside blockquote ol{margin:6px 0 0;padding-left:20px}

.tt-note .calc{margin:16px 0 2px;padding:16px 18px;background:var(--thumb);border-radius:8px;font-family:"JetBrains Mono",monospace;font-size:.85rem;line-height:1.85;white-space:pre-wrap;overflow-x:auto;color:var(--soft)}
.tt-note .calc .hl{color:var(--green);font-weight:600}
.tt-note pre{margin:14px 0 0;padding:16px 18px;background:var(--thumb);border-radius:8px;font-family:"JetBrains Mono",monospace;font-size:.85rem;line-height:1.7;overflow-x:auto;color:var(--soft)}
.tt-note code{font-family:"JetBrains Mono",monospace;font-size:.88em;background:var(--thumb);padding:1px 5px;border-radius:4px}
.tt-note pre code{background:none;padding:0}

.tt-note .tail{margin:90px 0 0}
.tt-note .nh{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.tt-note .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.tt-note .ncard{position:relative;background:var(--thumb);border-radius:4px;padding:22px;min-height:158px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:background .15s}
.tt-note .ncard:hover{background:var(--hover)}
.tt-note .ncard .nk{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--green);font-weight:600}
.tt-note .ncard .nk.eb{color:var(--eb)}
.tt-note .ncard .nt{font-weight:600;font-size:1.05rem;line-height:1.3;letter-spacing:-.01em;margin-top:11px}
.tt-note .ncard .nd{margin-top:8px;font-size:.82rem;line-height:1.5;color:var(--soft);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tt-note .ncard .nf{margin-top:auto;padding-top:16px;border-top:1px solid var(--thumbline);font-size:.82rem;color:var(--muted)}
.tt-note .ncard .op{position:absolute;top:18px;right:18px;font-size:1rem;color:var(--muted);transition:.15s}
.tt-note .ncard:hover .op{color:var(--green);transform:translate(2px,-2px)}
.tt-note .ncard:hover .nt{color:var(--green)}

.tt-note footer{max-width:1080px;margin:90px auto 0;padding:26px 36px 70px;color:var(--muted);font-size:.82rem;display:flex;gap:8px 20px;flex-wrap:wrap;border-top:1px solid var(--line)}
.tt-note footer a{color:var(--muted);text-decoration:none}.tt-note footer a:hover{color:var(--green)}

/* My Corner reader — đọc 1 cột (prose) */
.tt-note .shell.reader{max-width:760px}
.tt-note .reader .content{max-width:700px;margin-top:40px}
.tt-note .reader .content h2,.tt-note .reader .content h3{font-size:1.2rem;font-weight:600;letter-spacing:-.01em;margin:34px 0 8px;line-height:1.4}
.tt-note .reader .content p{margin:14px 0 0;color:var(--soft)}
.tt-note .reader .content p:first-child{margin-top:0}
.tt-note .reader .content strong{color:var(--ink);font-weight:600}
.tt-note .reader .content ul,.tt-note .reader .content ol{margin:12px 0 0;padding-left:20px;color:var(--soft)}
.tt-note .reader .content li{margin:6px 0}
.tt-note .reader .content a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.tt-note .reader .content blockquote{margin:18px 0 0;padding:14px 18px;background:var(--green-bg);border-left:3px solid var(--green2);border-radius:0 8px 8px 0}
.tt-note .reader .content blockquote p{color:var(--green-ink);margin-top:6px}
.tt-note .reader .content img{max-width:100%;height:auto;border-radius:8px}

@media(max-width:860px){
  .tt-note .cols{grid-template-columns:1fr;gap:0}
  .tt-note .q{position:static;margin-bottom:24px}
  .tt-note .flow{max-width:none}
  .tt-note .top,.tt-note .shell,.tt-note footer{padding-left:24px;padding-right:24px}
}

/* ẩn chrome Astra nếu lọt vào (an toàn) */
.tt-home .site-header,.tt-note .site-header,.tt-home .site-footer,.tt-note .site-footer{display:none}


/* ============ ERROR BANK — trang chi tiết v5 (2 cột) ============ */
/* Thêm vào assets/tuonthi-v5.css (sau khối .tt-note hiện có).        */
/* Cột trái: card "Mô tả lỗi" sticky · Cột phải: 3 case + Kết luận + Cách áp dụng. */
/* Dùng chung token: --eb #9a3b2c, --green, --green2, --soft, --shadow, --thumb… */
/* Lưu ý: với note Error Bank, single-note.php KHÔNG render khối .head  */
/* (kicker + h1 + source) vì card mô tả lỗi bên trái đã chứa các thông tin này. */

.tt-note .eb-cols{max-width:1008px;margin:6px auto 0;display:grid;
  grid-template-columns:300px 1fr;gap:46px;align-items:start}

/* ---- Card mô tả lỗi (sticky trái) ---- */
.tt-note .eb-summary{position:sticky;top:28px;background:#fff;border-radius:12px;
  box-shadow:var(--shadow);padding:24px 26px}
.tt-note .eb-summary .eb-kick{margin:0;font-size:.62rem;letter-spacing:.04em;white-space:nowrap;
  text-transform:uppercase;font-weight:700;color:var(--eb)}
.tt-note .eb-summary .eb-h1{margin:11px 0 9px;font-size:clamp(1.25rem,1.05rem + .9vw,1.4rem);line-height:1.25;
  letter-spacing:-.02em;font-weight:700;color:var(--ink)}
.tt-note .eb-summary .eb-src{margin:0;font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.74rem;line-height:1.5;color:var(--muted)}
.tt-note .eb-summary hr{border:0;border-top:1px solid var(--line);margin:16px 0}
.tt-note .eb-summary .eb-desc{margin:0;color:var(--soft);font-size:.95rem;line-height:1.68}

/* ---- Nhãn nhỏ chung ---- */
.tt-note .eb-lab{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;color:var(--eb);margin-bottom:8px}

/* ---- Cột phải ---- */
.tt-note .eb-flow{min-width:0;max-width:640px;display:flex;flex-direction:column;gap:20px}
.tt-note .eb-cases-h{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:600}

/* Thẻ case study */
.tt-note .eb-case{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:24px 26px}
.tt-note .eb-case-head{display:flex;align-items:baseline;gap:12px;padding-bottom:16px;
  margin-bottom:16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tt-note .eb-num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--eb);
  color:#fff;font-size:.82rem;font-weight:700;display:flex;align-items:center;
  justify-content:center;font-variant-numeric:tabular-nums;align-self:center}
.tt-note .eb-co{font-size:1.12rem;font-weight:700;letter-spacing:-.015em;color:var(--ink)}
.tt-note .eb-meta{margin-left:auto;font-size:.8rem;color:var(--muted)}

/* Ô đề bài (giữ nguyên tiếng Anh) */
.tt-note .eb-req{background:var(--thumb);border-radius:8px;padding:14px 16px;margin-bottom:16px}
.tt-note .eb-req .eb-lab{color:var(--muted)}
.tt-note .eb-req p{margin:0;font-family:inherit;
  font-size:.9rem;line-height:1.6;color:var(--ink)}

/* Phân tích lỗi sai */
.tt-note .eb-analysis p{margin:0 0 10px;color:var(--soft);line-height:1.72}
.tt-note .eb-analysis p:last-child{margin-bottom:0}

/* Câu trả lời sai của thí sinh — callout terracotta */
.tt-note .eb-wrong{margin:0 0 12px;padding:12px 15px;background:var(--wrong-bg);
  border-left:3px solid var(--eb);border-radius:0 8px 8px 0}
.tt-note .eb-wrong .eb-wlab{display:block;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;color:var(--eb);margin-bottom:5px}
.tt-note .eb-wrong p{margin:0;font-style:italic;color:var(--wrong-ink);line-height:1.6}

/* Dòng chốt trong case (mũi tên) */
.tt-note .eb-arrow{position:relative;margin-top:12px!important;padding-left:18px;
  color:var(--ink)!important;font-weight:600}
.tt-note .eb-arrow::before{content:"→";position:absolute;left:0;color:var(--eb);font-weight:700}

/* ---- Kết luận — ô xanh ---- */
.tt-note .eb-concl{background:var(--rule-bg);border-radius:12px;padding:22px 24px;margin-top:2px}
.tt-note .eb-concl .eb-lab{color:var(--green)}
.tt-note .eb-concl p{margin:0;color:var(--ink);font-weight:400;line-height:1.7}

/* ---- Cách áp dụng — ô vàng nhạt ---- */
.tt-note .eb-apply{background:var(--amber-bg);border-radius:12px;padding:22px 24px}
.tt-note .eb-apply .eb-lab{color:var(--amber)}
.tt-note .eb-apply ul{margin:0;padding:0;list-style:none}
.tt-note .eb-apply li{position:relative;padding-left:24px;margin:10px 0;color:var(--soft);line-height:1.6}
.tt-note .eb-apply li:first-child{margin-top:0}
.tt-note .eb-apply li::before{content:"✓";position:absolute;left:0;top:0;color:var(--amber-strong);font-weight:700}

@media(max-width:860px){
  .tt-note .eb-cols{grid-template-columns:1fr;gap:24px}
  .tt-note .eb-summary{position:static}
  .tt-note .eb-flow{max-width:none}
  .tt-note .eb-case{padding:20px}
  .tt-note .eb-meta{margin-left:0;flex-basis:100%;margin-top:4px}
}

/* ============ THINKING PROCESS — chi tiết v6 (thang chữ đồng bộ, super-minimal) ============ */
/* ============ THINKING PROCESS — chi tiết v6 (thang chữ đồng bộ) ============ */
.tt-note .tp-cols{max-width:1008px;margin:6px auto 0;display:grid;grid-template-columns:288px 1fr;gap:48px;align-items:start}
.tt-note .tp-sub{display:block;font-size:15px;font-weight:700;color:var(--green);line-height:1.4;margin:17px 0 5px}
.tt-note .tp-sub:first-child{margin-top:0}
/* trái — định danh */
.tt-note .tp-idn{position:sticky;top:30px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:26px 28px}
.tt-note .tp-idn .tp-kick{margin:0 0 13px;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--green);white-space:nowrap}
.tt-note .tp-idn .tp-h1{margin:0 0 9px;font-size:clamp(1.3rem,1.1rem + .9vw,1.5rem);line-height:1.2;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
.tt-note .tp-idn .tp-exam{margin:0;font-size:.82rem;color:var(--muted)}
.tt-note .tp-idn .tp-req{margin:0;color:var(--soft);line-height:1.62}
.tt-note .tp-idn .tp-req b{color:var(--ink);font-weight:600}
.tt-note .tp-idn .tp-note{margin:18px 0 0;font-size:.82rem;font-style:italic;color:var(--muted);line-height:1.55}
/* phải — các bước */
.tt-note .tp-flow{min-width:0;max-width:664px;display:flex;flex-direction:column;gap:20px}
.tt-note .tp-sec{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:24px 28px}
.tt-note .tp-shd{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.tt-note .tp-shd .tp-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.tt-note .tp-shd .tp-t{font-size:15px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink)}
.tt-note .tp-shd .tp-mode{margin-left:auto;font-size:.8rem;font-weight:500;color:var(--muted)}
.tt-note .tp-kv{margin:0 0 9px}.tt-note .tp-kv:last-of-type{margin-bottom:0}
.tt-note .tp-kv .tp-k{color:var(--green);font-weight:700;margin-right:9px}
.tt-note ul.tp-list{margin:0;padding-left:18px;color:var(--soft)}
.tt-note ul.tp-list li{margin:6px 0;line-height:1.62}.tt-note ul.tp-list b{color:var(--ink);font-weight:600}
.tt-note .tp-lead{margin:0 0 22px;color:var(--soft);line-height:1.66}
.tt-note .tp-blk{margin-top:28px}.tt-note .tp-blk:first-of-type{margin-top:0}
.tt-note .tp-q{margin:0;font-weight:700;font-size:1.05rem;line-height:1.4;color:var(--ink)}
.tt-note .tp-bd{margin:0;color:var(--soft);line-height:1.66}.tt-note .tp-bd b{color:var(--ink);font-weight:600}
.tt-note .tp-kw{margin:0;color:var(--soft);line-height:1.66;font-style:italic}
.tt-note .tp-kw b{font-style:normal;color:var(--ink);font-weight:600}
.tt-note .tp-cc{margin:0;padding:0;list-style:none}
.tt-note .tp-cc li{position:relative;padding-left:17px;margin:7px 0;color:var(--soft);line-height:1.66}
.tt-note .tp-cc li:first-child{margin-top:1px}.tt-note .tp-cc li b{color:var(--ink);font-weight:600}
.tt-note .tp-cc li::before{content:"";position:absolute;left:2px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--green2)}
.tt-note .tp-olh{margin:8px 0 0;color:var(--soft);font-weight:400;line-height:1.66}
.tt-note .tp-olh:first-of-type{margin-top:0}
.tt-note .tp-olh b,.tt-note .tp-olh strong{color:var(--ink);font-weight:600}
.tt-note .tp-chot{margin:16px 0 0;color:var(--soft);line-height:1.66}.tt-note .tp-chot b{color:var(--green)}
.tt-note .tp-vlink{display:inline-block;margin-top:14px;color:var(--green);font-weight:600;text-decoration:none}
.tt-note .tp-vlink:hover{text-decoration:underline;text-underline-offset:2px}
/* callout */
.tt-note .tp-callout{border-radius:12px;padding:22px 26px}
.tt-note .tp-callout .tp-ctitle{display:block;font-size:15px;font-weight:700;margin:0 0 11px}
.tt-note .tp-callout ul{margin:0;padding:0;list-style:none}
.tt-note .tp-callout li{position:relative;padding-left:18px;margin:9px 0;line-height:1.62}
.tt-note .tp-callout li:first-child{margin-top:0}.tt-note .tp-callout li:last-child{margin-bottom:0}
.tt-note .tp-callout li::before{content:"";position:absolute;left:3px;top:9px;width:5px;height:5px;border-radius:50%}
.tt-note .tp-bay{background:var(--amber-bg)}.tt-note .tp-bay .tp-ctitle{color:var(--amber)}
.tt-note .tp-bay li{color:var(--soft)}.tt-note .tp-bay li::before{background:var(--amber)}.tt-note .tp-bay li b{color:var(--ink);font-weight:600}
.tt-note .tp-luuy{background:var(--rule-bg)}.tt-note .tp-luuy .tp-ctitle{color:var(--green)}
.tt-note .tp-luuy li{color:var(--ink)}.tt-note .tp-luuy li::before{background:var(--green2)}
@media(max-width:860px){.tt-note .tp-cols{grid-template-columns:1fr;gap:24px}.tt-note .tp-idn{position:static}.tt-note .tp-flow{max-width:none}.tt-note .tp-shd .tp-mode{display:none}}


/* Thẻ Thinking Process trên homepage: đề bài (Inter) + dòng Lưu ý (xanh) */
.tt-home .pv-req{margin-top:13px;font-size:.82rem;line-height:1.5;color:var(--soft);flex:1;min-height:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.tt-home .pv-req .pv-reqlab{display:block;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;color:var(--green);margin-bottom:5px}
.tt-home .pv-tip{margin-top:0;flex-shrink:0;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden}
.tt-home .pv-tip b{color:var(--green)}
.tt-home .item[data-type="thinking-process"] .thumb>*{flex-shrink:0}
.tt-home .item[data-type="thinking-process"] .pv-req{flex-shrink:1}


/* ============ BỔ SUNG v5.3 — accessibility & mobile ============ */
/* Skip link (H3) */
.tt-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--green);color:#fff;
  padding:10px 16px;border-radius:0 0 8px 0;font-weight:600;text-decoration:none}
.tt-skip:focus{left:0}

/* Focus nhìn thấy được khi điều hướng bàn phím (K3/M2) */
.tt-home a:focus-visible,.tt-home button:focus-visible,.tt-home select:focus-visible,
.tt-note a:focus-visible,.tt-note button:focus-visible{
  outline:2px solid var(--green);outline-offset:2px;border-radius:2px}

/* Tôn trọng người dùng giảm chuyển động (O3) */
@media (prefers-reduced-motion:reduce){
  .tt-home *,.tt-note *{transition:none!important;animation:none!important}
}

/* Vùng chạm mobile ≥ 44px (N4) + breakpoint nhỏ (C4/N1) */
@media(max-width:860px){
  .tt-home .creds button{padding:10px 16px;font-size:.72rem}
  .tt-home .step button.nm{padding:8px 0}
  .tt-home .sel select{padding:11px 30px 11px 12px;font-size:.85rem}
}
@media(max-width:480px){
  .tt-home .layout{padding:20px 16px 40px;gap:32px}
  .tt-home .grid{gap:18px}
  .tt-home .thumb{padding:18px;height:280px}
  .tt-note .top,.tt-note .shell,.tt-note footer{padding-left:16px;padding-right:16px}
  .tt-note .back{margin-bottom:36px}
  .tt-note .step,.tt-note .aside,.tt-note .tp-sec,.tt-note .eb-case{padding:18px 16px}
  .tt-note .q,.tt-note .tp-idn,.tt-note .eb-summary{padding:18px 16px}
}

/* Heading không để dòng mồ côi (J3) */
.tt-note h1,.tt-note .tp-h1,.tt-note .eb-h1,.tt-home .pv-title,.tt-home .lede,
.tt-note .step .sh h2{text-wrap:balance}
