/* Bống Dev – dịch vụ lập trình: nền tối kiểu trình soạn mã, xanh lá terminal, JetBrains Mono cho tiêu đề */
.t-codebase{--pri:#22c55e;--pri-ink:#04140a;--acc:#a78bfa;--acc-ink:#140a2a;--tint:#0f172a;--f-head:'JetBrains Mono',monospace;--f-body:'Inter',sans-serif;--f-mono:'JetBrains Mono',monospace;
  --h-w:700;--h-ls:-.04em;--r:8px;--r-lg:12px;--r-btn:8px;--r-img:12px;--dark:#0b0f17;--dark-2:#111827}
.t-codebase{--bg:#0d1117;--bg-2:#11161f;--bg-3:#161c27;--card:#121821;--ink:#e6edf3;--text:#a9b4c2;--muted:#7d8899;--line:rgba(240,246,252,.1);color-scheme:dark}
html[data-theme="dark"] .t-codebase{--bg:#090c12;--bg-2:#0d1118;--card:#10151d}
.t-codebase .b-hd{--hd-bg:rgba(13,17,23,.85)}
.t-codebase .b-eyebrow{font-family:var(--f-mono);text-transform:none;letter-spacing:0;font-weight:500}
.t-codebase .b-eyebrow::before{content:"$ ";color:var(--pri)}
.t-codebase .b-hero{background:radial-gradient(600px 400px at 80% 20%,rgba(34,197,94,.14),transparent 60%),radial-gradient(500px 400px at 10% 90%,rgba(167,139,250,.12),transparent 60%),var(--bg)}
.t-codebase .b-h1,.t-codebase .b-h2{letter-spacing:-.05em}
.t-codebase .b-h1 em,.t-codebase .b-h2 em{color:var(--pri)}
.t-codebase .b-hero .b-h1::after{content:"_";color:var(--pri);animation:cb-blink 1s steps(1) infinite}
@keyframes cb-blink{50%{opacity:0}}
.t-codebase .s-term{border-radius:12px;background:#010409;border:1px solid var(--line);box-shadow:var(--sh-lg);overflow:hidden}
.t-codebase .s-term>i{display:flex;gap:7px;padding:12px 14px;border-bottom:1px solid var(--line)}
.t-codebase .s-term>i b{width:11px;height:11px;border-radius:50%;background:#ff5f57}.t-codebase .s-term>i b:nth-child(2){background:#febc2e}.t-codebase .s-term>i b:nth-child(3){background:#28c840}
.t-codebase .s-term .b-art{padding:14px}
.t-codebase .b-card{background:var(--card)}
.t-codebase .b-card .b-ico{background:rgba(34,197,94,.1);color:var(--pri);border:1px solid rgba(34,197,94,.25)}
.t-codebase .b-card .b-ico img{filter:invert(1) brightness(1.3)}
.t-codebase .s-stack .b-card h3{font-family:var(--f-mono);font-size:1.02rem}
.t-codebase .b-logos img{filter:grayscale(1) brightness(0) invert(1);opacity:.55}
.t-codebase .b-quote{background:var(--card)}
.t-codebase .b-quote h3{font-family:var(--f-mono);color:var(--pri)}
.t-codebase .b-cta{background:linear-gradient(135deg,#052e16,#0b0f17 70%);border:1px solid rgba(34,197,94,.3);--ink:#fff;--text:#a9b4c2;--hl:var(--pri)}
.t-codebase .b-cta .b-btn.is-pri{--b-bg:var(--pri);--b-fg:var(--pri-ink)}
.t-codebase .b-btn.is-line{--b-fg:var(--ink)}
.t-codebase .b-post{background:var(--card)}
.t-codebase .b-ft{--dark:#010409}
