/* =========================================================
   Sci&Marcom Glossary by Dy Khoa - giao diện
   Dùng token của theme con (dykhoa-redesign.css): --dk-*.
   Chế độ tối: html.hm-dark tự đổi token, CSS này chỉ bổ sung màu nhấn lime.
   ========================================================= */
.dktn, .dktn-term, .dktn-embed {
	--t-brand: var(--dk-brand, #013b25);
	--t-brand-mid: var(--dk-brand-mid, #0e5c3d);
	--t-brand-soft: var(--dk-brand-soft, #e0ece4);
	--t-ink: var(--dk-ink, #0b1712);
	--t-ink2: var(--dk-ink2, #22302a);
	--t-muted: var(--dk-muted, #56635c);
	--t-paper2: var(--dk-paper2, #ebe7dd);
	--t-card: var(--dk-card, #ffffff);
	--t-line: var(--dk-line, #dedad0);
	--t-lime: var(--dk-lime, #d7f25c);
	--t-accent: var(--t-brand);          /* chữ nhấn: xanh rêu (sáng) / lime (tối) */
	--t-serif: var(--dk-serif, "Newsreader", Georgia, "Times New Roman", serif);
	--t-sans: var(--dk-sans, "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	--t-r-lg: var(--dk-r-lg, 28px);
	--t-r-md: var(--dk-r-md, 20px);
	--t-r-sm: var(--dk-r-sm, 12px);
}
html.hm-dark .dktn, html.hm-dark .dktn-term, html.hm-dark .dktn-embed { --t-accent: var(--t-lime); }

/* Khung trang: bỏ sidebar, toàn chiều rộng như trang bài viết */
.dktn-page #secondary { display: none !important; }
.dktn-page .site-content { padding-top: 10px; }
.dktn { width: 100% !important; max-width: 1200px !important; margin: 0 auto; padding: 0 16px 64px !important; float: none !important; box-sizing: border-box; font-family: var(--t-sans); color: var(--hybridmag-color-text-main, var(--t-ink2)); }
.dktn *, .dktn *::before, .dktn *::after { box-sizing: border-box; }
.dktn a { text-decoration: none; }
.dktn h1, .dktn h2, .dktn h3 { font-family: var(--t-serif) !important; font-weight: 600; letter-spacing: -.012em; color: var(--t-ink); }

/* Breadcrumb */
.dktn-crumb { display: flex; flex-wrap: wrap; gap: 6px; font-size: .8rem; color: var(--t-muted); margin: 0 0 18px; }
.dktn-crumb a { color: inherit; }
.dktn-crumb a:hover { color: var(--t-accent); }
.dktn-crumb span[aria-hidden] { opacity: .5; }
.dktn-crumb--plain { margin-top: 26px; }

/* ===== Trang chỉ mục ===== */
.dktn-hero { position: relative; overflow: hidden; background: var(--dk-brand, #013b25); color: #fbf8f0; border-radius: var(--t-r-lg); margin: 14px 0 26px; padding: 26px 20px 34px; }
.dktn-hero::after { content: "Aa"; position: absolute; right: -14px; bottom: -78px; font: 600 300px/1 var(--t-serif); color: #fff; opacity: .055; pointer-events: none; }
.dktn-hero__inner { position: relative; z-index: 1; max-width: 760px; }
.dktn-hero .dktn-crumb { color: #c9d6cd; }
.dktn-hero .dktn-crumb a:hover { color: var(--t-lime); }
.dktn-hero__logo { display: inline-block; line-height: 0; margin: 4px 0 20px; }
.dktn-hero__logo img { display: block; height: 52px; width: auto; max-width: 100%; }
.dktn-hero__title { color: #fbf8f0 !important; font-size: clamp(1.75rem, 4.4vw, 2.75rem); line-height: 1.12; margin: 0 0 14px; }
.dktn-hero__intro { color: #c9d6cd; font-size: 1.04rem; line-height: 1.65; margin: 0 0 16px; max-width: 680px; }
.dktn-hero__meta { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: 700 .72rem/1 var(--t-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--t-lime); }
.dktn-hero__meta::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: currentColor; }
@media (min-width: 900px) { .dktn-hero { padding: 36px 48px 46px; } .dktn-hero__logo img { height: 60px; } }
@media (max-width: 520px) { .dktn-hero__logo img { height: 40px; } }

.dktn-tools { display: grid; gap: 14px; margin: 0 0 30px; }
.dktn-search { position: relative; max-width: 640px; }
.dktn-search svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--t-muted); }
.dktn-search input { width: 100%; font: 500 1rem/1.4 var(--t-sans); color: var(--t-ink); background: var(--t-card); border: 1px solid var(--t-line); border-radius: 999px; padding: 13px 20px 13px 46px; outline: none; transition: border-color .2s, box-shadow .2s; }
.dktn-search input::placeholder { color: var(--t-muted); }
.dktn-search input:focus { border-color: var(--t-brand); box-shadow: 0 0 0 4px var(--t-brand-soft); }

.dktn-chips { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.dktn-chip { flex: none; font: 600 .86rem/1 var(--t-sans); color: var(--t-ink2); background: transparent; border: 1px solid var(--t-line); border-radius: 999px; padding: 9px 15px; cursor: pointer; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.dktn-chip:hover { background: var(--t-paper2); color: var(--t-ink); }
.dktn-chip.is-active { background: var(--t-brand-soft); border-color: var(--t-brand-soft); color: var(--t-accent); }

.dktn-az { display: flex; flex-wrap: wrap; gap: 4px; border-top: 1px solid var(--t-line); padding-top: 14px; }
.dktn-az a, .dktn-az span { display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 4px; border-radius: 10px; font: 700 .9rem/1 var(--t-serif); }
.dktn-az a { color: var(--t-accent); background: var(--t-brand-soft); transition: background .2s, color .2s; }
.dktn-az a:hover, .dktn-az a:focus-visible { background: var(--t-brand); color: #fbf8f0; }
.dktn-az a.is-off { opacity: .3; pointer-events: none; }
.dktn-az span { color: var(--t-muted); opacity: .4; }

.dktn-letter { scroll-margin-top: 100px; margin: 0 0 34px; }
.dktn-letter__h { display: flex; align-items: center; gap: 14px; font-size: 2rem !important; line-height: 1; color: var(--t-accent) !important; margin: 0 0 14px; }
.dktn-letter__h::after { content: ""; flex: 1; height: 1px; background: var(--t-line); }
.dktn-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .dktn-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .dktn-grid { grid-template-columns: repeat(3, 1fr); } }
.dktn-card { margin: 0; }
.dktn-card a { display: flex; flex-direction: column; gap: 4px; height: 100%; color: inherit; background: var(--t-card); border: 1px solid var(--t-line); border-radius: var(--t-r-md); padding: 18px 20px; transition: border-color .2s, transform .2s, box-shadow .2s; }
.dktn-card a:hover { border-color: var(--t-brand-mid); transform: translateY(-2px); box-shadow: 0 18px 36px -24px rgba(11, 23, 18, .45); }
.dktn-card__name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font: 600 1.18rem/1.3 var(--t-serif); color: var(--t-ink); }
.dktn-card a:hover .dktn-card__name { color: var(--t-accent); }
.dktn-card__en { font-size: .86rem; font-style: italic; color: var(--t-muted); }
.dktn-card__def { margin-top: 8px; font-size: .9rem; line-height: 1.58; color: var(--t-ink2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dktn-badge { font: 800 .64rem/1 var(--t-sans); letter-spacing: .08em; text-decoration: none; color: var(--t-accent); background: var(--t-brand-soft); border-radius: 6px; padding: 4px 6px; }

.dktn-noresult, .dktn-empty { padding: 30px; border: 1px dashed var(--t-line); border-radius: var(--t-r-md); text-align: center; color: var(--t-muted); }
.dktn-noresult a, .dktn-empty a { color: var(--t-accent); font-weight: 600; }

.dktn-suggest { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; margin-top: 44px; padding: 26px 28px; border-radius: var(--t-r-lg); background: var(--t-paper2); }
.dktn-suggest h2 { font-size: 1.35rem !important; margin: 0 0 4px; }
.dktn-suggest p { margin: 0; color: var(--t-muted); }
.dktn-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--t-brand); color: #fbf8f0 !important; font: 700 .9rem/1 var(--t-sans); padding: 14px 22px; border-radius: 999px; transition: background .2s; }
.dktn-btn::after { content: "→"; }
.dktn-btn:hover { background: var(--t-brand-mid); }
html.hm-dark .dktn-btn { background: var(--t-lime); color: #0b1712 !important; }

/* ===== Trang một thuật ngữ ===== */
.dktn-single { max-width: 760px; margin: 0 auto; }
.dktn-head__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 14px; font: 800 .7rem/1 var(--t-sans); letter-spacing: .14em; text-transform: uppercase; }
.dktn-head__eyebrow a { color: var(--t-accent); }
.dktn-head__eyebrow span { color: var(--t-muted); }
.dktn-brandmark { display: inline-flex; align-items: center; gap: 8px; letter-spacing: .06em; text-transform: none; font: 700 .86rem/1 var(--t-sans); color: var(--t-ink) !important; }
.dktn-brandmark img { width: 22px; height: 22px; border-radius: 6px; }
.dktn-head__title { font-size: clamp(1.9rem, 4.6vw, 2.75rem) !important; line-height: 1.14 !important; margin: 0 0 18px; }
.dktn-facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 22px; padding: 0; }
.dktn-facts div { display: flex; gap: 6px; font-size: .94rem; }
.dktn-facts dt { color: var(--t-muted); margin: 0; font-weight: 500; }
.dktn-facts dt::after { content: ":"; }
.dktn-facts dd { margin: 0; font-weight: 700; color: var(--t-ink); }

.dktn-def { position: relative; margin: 0 0 14px; padding: 22px 24px 22px 26px; background: var(--t-brand-soft); border-radius: var(--t-r-md); overflow: hidden; }
.dktn-def::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--t-brand); }
html.hm-dark .dktn-def::before { background: var(--t-lime); }
.dktn-def__label { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px; font: 800 .7rem/1 var(--t-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--t-accent); }
.dktn-def__text { margin: 0; font: 500 1.24rem/1.55 var(--t-serif); color: var(--t-ink); }
.dktn-def__src { font: 500 .88rem var(--t-sans); color: var(--t-muted); white-space: nowrap; }

.dktn-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 32px; font-size: .8rem; color: var(--t-muted); }
.dktn-byline a { color: var(--t-ink2); font-weight: 700; }
.dktn-byline a:hover { color: var(--t-accent); }

.dktn-content { font-size: 1.06rem; line-height: 1.78; }
.dktn-content h2 { font-size: 1.6rem !important; margin: 1.8em 0 .55em; }
.dktn-content h3 { font-size: 1.25rem !important; margin: 1.5em 0 .45em; }
.dktn-content a { color: var(--t-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dktn-content table { width: 100%; border-collapse: collapse; font-size: .94rem; display: block; overflow-x: auto; }
.dktn-content th, .dktn-content td { border: 1px solid var(--t-line); padding: 9px 12px; text-align: left; vertical-align: top; }
.dktn-content th { background: var(--t-paper2); color: var(--t-ink); }

.dktn-related { margin-top: 42px; }
.dktn-related h2, .dktn-intro h2, .dktn-refs h2 { font: 800 .74rem/1 var(--t-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--t-ink) !important; margin: 0 0 16px !important; padding-bottom: 10px; border-bottom: 2px solid var(--t-ink); }
.dktn-pills { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dktn-pills a { display: inline-block; color: var(--t-ink); background: var(--t-card); border: 1px solid var(--t-line); border-radius: 999px; padding: 9px 16px; font-weight: 600; font-size: .92rem; transition: border-color .2s, background .2s; }
.dktn-pills a span { font-weight: 400; font-style: italic; color: var(--t-muted); }
.dktn-pills a:hover { border-color: var(--t-brand-mid); background: var(--t-brand-soft); }
.dktn-reads { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 640px) { .dktn-reads { grid-template-columns: 1fr 1fr; } }
.dktn-reads a { display: flex; gap: 14px; align-items: center; height: 100%; color: inherit; background: var(--t-card); border: 1px solid var(--t-line); border-radius: var(--t-r-md); padding: 12px; transition: border-color .2s; }
.dktn-reads a:hover { border-color: var(--t-brand-mid); }
.dktn-reads__img { width: 104px !important; height: 70px !important; object-fit: cover; border-radius: var(--t-r-sm) !important; flex: none; }
.dktn-reads__body { display: flex; flex-direction: column; gap: 5px; }
.dktn-reads__cat { font: 800 .66rem/1 var(--t-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--t-accent); }
.dktn-reads__title { font: 600 1.02rem/1.32 var(--t-serif); color: var(--t-ink); }

.dktn-intro { margin-top: 46px; font-size: .95rem; line-height: 1.7; }
.dktn-intro a { color: var(--t-accent); }
.dktn-refs { margin-top: 30px; }
.dktn-ref { font-size: .88rem; line-height: 1.6; padding-left: 2em; text-indent: -2em; margin: 0 0 9px; overflow-wrap: anywhere; color: var(--t-ink2); }

.dktn-pager { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--t-line); }
.dktn-pager a { color: inherit; }
.dktn-pager__prev, .dktn-pager__next { display: flex; flex-direction: column; gap: 4px; font-size: .8rem; }
.dktn-pager__next { text-align: right; }
.dktn-pager__prev span, .dktn-pager__next span { color: var(--t-muted); }
.dktn-pager strong { font: 600 1.02rem/1.3 var(--t-serif); color: var(--t-ink); }
.dktn-pager a:hover strong { color: var(--t-accent); }
.dktn-pager__all { font: 700 .82rem/1 var(--t-sans); color: var(--t-ink) !important; border: 1px solid var(--t-line); border-radius: 999px; padding: 10px 16px; white-space: nowrap; }
.dktn-pager__all:hover { background: var(--t-paper2); }
@media (max-width: 560px) { .dktn-pager { grid-template-columns: 1fr 1fr; } .dktn-pager__all { grid-column: 1 / -1; grid-row: 2; justify-self: center; } }

/* ===== Chú thích trong bài [thuat_ngu] ===== */
.dktn-term { position: relative; display: inline; }
.dktn-term__link { color: inherit !important; text-decoration: underline dotted !important; text-decoration-color: var(--t-accent) !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px; cursor: help; }
.dktn-tip { position: absolute; left: 50%; bottom: calc(100% + 12px); z-index: 60; width: min(330px, 86vw); padding: 14px 16px; background: #012a1a; color: #e6ede8; border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; box-shadow: 0 24px 50px -20px rgba(11, 23, 18, .55); font: 400 .88rem/1.55 var(--t-sans); font-style: normal; text-align: left; opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(4px); transition: opacity .18s, transform .18s; pointer-events: none; }
.dktn-tip::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -7px; border: 7px solid transparent; border-top-color: #012a1a; }
.dktn-tip strong { font: 600 1.02rem var(--t-serif); color: #fbf8f0; }
.dktn-tip em { color: #b9d6c4; }
.dktn-tip__def { display: block; margin-top: 4px; }
.dktn-tip__more { display: block; margin-top: 10px; font-size: .74rem; font-weight: 800; letter-spacing: .06em; color: var(--t-lime); }
.dktn-term:hover .dktn-tip, .dktn-term__link:focus-visible + .dktn-tip, .dktn-term.is-open .dktn-tip { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); pointer-events: auto; }
.dktn-tip.is-left { left: 0; transform: translateY(4px); } .dktn-tip.is-left::after { left: 24px; }
.dktn-tip.is-right { left: auto; right: 0; transform: translateY(4px); } .dktn-tip.is-right::after { left: auto; right: 18px; }
.dktn-term:hover .dktn-tip.is-left, .dktn-term:hover .dktn-tip.is-right, .dktn-term.is-open .dktn-tip.is-left, .dktn-term.is-open .dktn-tip.is-right { transform: translateY(0); }

/* ===== Danh sách nhúng [danh_sach_thuat_ngu] ===== */
.dktn-embed { margin: 1.6em 0; padding: 18px 20px; background: var(--t-card); border: 1px solid var(--t-line); border-radius: var(--t-r-md); }
.dktn-embed__list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 10px; }
.dktn-embed__list li { margin: 0 !important; padding: 0 0 10px; border-bottom: 1px solid var(--t-line); }
.dktn-embed__list li::before { display: none !important; }
.dktn-embed__list a { color: var(--t-ink) !important; text-decoration: none !important; }
.dktn-embed__list a strong { font-family: var(--t-serif); font-weight: 600; }
.dktn-embed .dktn-en { font-style: italic; font-weight: 400; color: var(--t-muted); }
.dktn-embed__def { display: block; margin-top: 2px; font-size: .88rem; color: var(--t-ink2); }
.dktn-embed__all { display: inline-block; margin-top: 12px; font-weight: 700; color: var(--t-accent) !important; text-decoration: none !important; }

@media (prefers-reduced-motion: reduce) { .dktn *, .dktn-tip { transition: none !important; } }
@media print { .dktn-tools, .dktn-suggest, .dktn-pager, .dktn-hero::after { display: none !important; } .dktn-hero { background: none; color: inherit; } }

/* Ghi đè style input của theme */
.dktn .dktn-search input[type="search"] { padding: 13px 20px 13px 46px !important; border-radius: 999px !important; border: 1px solid var(--t-line) !important; background: var(--t-card) !important; height: auto !important; box-shadow: none; }
.dktn .dktn-search input[type="search"]:focus { border-color: var(--t-brand) !important; box-shadow: 0 0 0 4px var(--t-brand-soft) !important; }
.dktn .dktn-search svg { z-index: 1; pointer-events: none; }

/* Đồng bộ cỡ chữ với trang bài viết (dkx) */
.dktn-single { max-width: 720px; }
.dktn-single .entry-content, .dktn-content.entry-content { padding: 0 !important; max-width: none !important; }
.dktn-single .entry-content > * { max-width: none !important; }
.dktn-head__title { font-size: clamp(2rem, 4.6vw, 3.5rem) !important; line-height: 1.1 !important; }
.dktn-facts div { font-size: 1rem; }
.dktn-def__text { font-size: clamp(1.2rem, 2.2vw, 1.4rem); }
.dktn-content { font-size: 1.2rem; line-height: 1.75; }
.dktn-content h2 { font-size: clamp(1.5rem, 2.6vw, 1.85rem) !important; }
.dktn-content h3 { font-size: 1.3rem !important; }
.dktn-content table { font-size: 1rem; }
.dktn-intro { font-size: 1.05rem; }
.dktn-ref { font-size: .95rem; }
.dktn-content p, .dktn-content li { font-size: 1.2rem !important; line-height: 1.75 !important; }
body.single .dktn-content.entry-content { font-size: 1.2rem !important; line-height: 1.75 !important; }

/* Bỏ khung thẻ của theme quanh bài thuật ngữ (giống trang bài viết dkx) */
.dktn .dktn-single, body.hm-cl-sep .dktn .dktn-single { background: transparent !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; }
@media (max-width: 767px) {
	.dktn { padding-left: 0 !important; padding-right: 0 !important; }
	body.single .dktn-content.entry-content, .dktn-content p, .dktn-content li { font-size: 1.1rem !important; }
	.dktn-hero { margin-left: 0; margin-right: 0; border-radius: var(--t-r-md); }
}

/* ===== Tra nhanh trên trang thuật ngữ ===== */
.dktn-jump { position: relative; margin: 0 0 22px; max-width: 480px; z-index: 20; }
.dktn .dktn-search--sm input[type="search"] { padding: 10px 16px 10px 40px !important; font-size: .95rem !important; }
.dktn-search--sm svg { left: 14px; }
.dktn-jump__list { position: absolute; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 6px; list-style: none; background: var(--t-card); border: 1px solid var(--t-line); border-radius: 16px; box-shadow: 0 24px 50px -20px rgba(11, 23, 18, .38); max-height: 60vh; overflow: auto; }
.dktn-jump__list li { margin: 0; }
.dktn-jump__list a { display: block; padding: 9px 12px; border-radius: 10px; color: var(--t-ink) !important; text-decoration: none !important; }
.dktn-jump__list strong { font: 600 1.02rem/1.3 var(--t-serif); }
.dktn-jump__list span { font-size: .85rem; font-style: italic; color: var(--t-muted); }
.dktn-jump__list em { font-size: .72rem; font-style: normal; font-weight: 700; color: var(--t-accent); margin-left: 4px; }
.dktn-jump__list li.is-active a, .dktn-jump__list a:hover { background: var(--t-brand-soft); }
.dktn-jump__all a { font-size: .85rem; font-weight: 700; color: var(--t-accent) !important; border-top: 1px solid var(--t-line); border-radius: 0 0 10px 10px; margin-top: 4px; }
.dktn-jump__none { padding: 10px 12px; font-size: .9rem; color: var(--t-muted); }
.dktn-jump__none a { color: var(--t-accent) !important; font-weight: 600; }
.dktn-az--foot { margin-top: 40px; padding-top: 18px; align-items: center; }
.dktn-az__label { font: 800 .7rem/1 var(--t-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--t-muted); margin-right: 8px; }
.dktn-az--foot .dktn-az__label { display: inline-flex; min-width: 0; height: auto; opacity: 1; padding: 0; }

/* ===== Thuật ngữ được nhận diện tự động trong bài viết ===== */
.dktn-term--auto .dktn-term__link { color: inherit !important; font-weight: inherit; text-decoration: underline dotted !important; text-decoration-color: color-mix(in srgb, var(--dk-brand-mid, #0e5c3d) 70%, transparent) !important; text-decoration-thickness: 1.5px !important; text-underline-offset: 4px; }
html.hm-dark .dktn-term--auto .dktn-term__link { text-decoration-color: color-mix(in srgb, var(--dk-lime, #d7f25c) 70%, transparent) !important; }

/* ===== Nút "Tra thuật ngữ" nổi ===== */
.dktn-fab { position: fixed; left: 18px; bottom: 18px; z-index: 9990; font-family: var(--dk-sans, "Be Vietnam Pro", system-ui, sans-serif); }
.dktn-fab__btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: var(--dk-brand, #013b25); color: #fbf8f0; font: 700 .88rem/1 var(--dk-sans, system-ui, sans-serif); cursor: pointer; box-shadow: 0 14px 30px -14px rgba(1, 42, 26, .6); transition: transform .15s, background .15s; }
.dktn-fab__btn:hover { background: var(--dk-brand-mid, #0e5c3d); transform: translateY(-1px); }
.dktn-fab__btn img { width: 26px; height: 26px; border-radius: 7px; background: #fbf8f0; }
.dktn-fab.is-open .dktn-fab__btn { opacity: 0; pointer-events: none; }
.dktn-fab__panel { position: absolute; left: 0; bottom: 0; width: min(380px, calc(100vw - 36px)); max-height: min(70vh, 560px); display: flex; flex-direction: column; background: var(--dk-card, #fff); color: var(--dk-ink, #0b1712); border: 1px solid var(--dk-line, #dedad0); border-radius: 20px; box-shadow: 0 30px 60px -24px rgba(11, 23, 18, .45); overflow: hidden; }
.dktn-fab__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 10px; }
.dktn-fab__head strong { font: 600 1.05rem/1 var(--dk-serif, Georgia, serif); }
.dktn-fab__close { border: 0; background: transparent; color: var(--dk-muted, #56635c); font-size: 1.5rem; line-height: 1; cursor: pointer; padding: 2px 6px; border-radius: 8px; }
.dktn-fab__close:hover { background: var(--dk-paper2, #ebe7dd); }
.dktn-fab__search { position: relative; padding: 0 14px 10px; }
.dktn-fab__search svg { position: absolute; left: 28px; top: 50%; transform: translateY(-62%); color: var(--dk-muted, #56635c); pointer-events: none; }
.dktn-fab__search input[type="search"] { width: 100% !important; box-sizing: border-box; padding: 10px 14px 10px 40px !important; border: 1px solid var(--dk-line, #dedad0) !important; border-radius: 999px !important; background: var(--dk-paper, #f4f2ec) !important; color: var(--dk-ink, #0b1712) !important; font: 500 .95rem/1.3 var(--dk-sans, system-ui, sans-serif) !important; height: auto !important; outline: none; }
.dktn-fab__search input[type="search"]:focus { border-color: var(--dk-brand, #013b25) !important; box-shadow: 0 0 0 3px var(--dk-brand-soft, #e0ece4) !important; }
.dktn-fab__list { list-style: none; margin: 0; padding: 0 8px; overflow: auto; flex: 1; }
.dktn-fab__list li { margin: 0; }
.dktn-fab__list a { display: block; padding: 9px 10px; border-radius: 12px; color: var(--dk-ink, #0b1712) !important; text-decoration: none !important; }
.dktn-fab__list a:hover, .dktn-fab__list li.is-active a { background: var(--dk-brand-soft, #e0ece4); }
.dktn-fab__list strong { font: 600 1rem/1.3 var(--dk-serif, Georgia, serif); }
.dktn-fab__en { font-size: .82rem; font-style: italic; color: var(--dk-muted, #56635c); }
.dktn-fab__def { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; font-size: .84rem; line-height: 1.45; color: var(--dk-ink2, #22302a); }
.dktn-fab__hint { padding: 4px 10px 6px; font: 800 .66rem/1 var(--dk-sans, system-ui, sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--dk-muted, #56635c); }
.dktn-fab__none { padding: 10px; font-size: .88rem; color: var(--dk-muted, #56635c); }
.dktn-fab__none a { color: var(--dk-brand, #013b25) !important; font-weight: 700; }
.dktn-fab__all { display: block; padding: 12px 16px; border-top: 1px solid var(--dk-line, #dedad0); font: 700 .85rem/1 var(--dk-sans, system-ui, sans-serif); color: var(--dk-brand, #013b25) !important; text-decoration: none !important; }
html.hm-dark .dktn-fab__all, html.hm-dark .dktn-fab__none a { color: var(--dk-lime, #d7f25c) !important; }
html.hm-dark .dktn-fab__btn { background: var(--dk-lime, #d7f25c); color: #0b1712; }
@media (max-width: 600px) {
	.dktn-fab { left: 12px; bottom: 12px; }
	.dktn-fab__btn span { display: none; }
	.dktn-fab__btn { padding: 8px; }
	.dktn-fab__panel { position: fixed; left: 8px; right: 8px; bottom: 8px; width: auto; max-height: 75vh; }
}
@media print { .dktn-fab { display: none !important; } }
.dktn-fab__panel[hidden], .dktn-jump__list[hidden] { display: none !important; }

/* Chú thích hiện bên dưới khi không đủ chỗ phía trên */
.dktn-tip.is-below { bottom: auto; top: calc(100% + 12px); }
.dktn-tip.is-below::after { top: auto; bottom: 100%; border-top-color: transparent; border-bottom-color: #012a1a; }
