/* CONGCU_v1 — công cụ tiếng Việt. Chỉ dùng biến màu của wiki.css (chế độ tối tự theo). */
.cc-dan{color:var(--muc2);font-size:16.5px}
.cc-lon{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:18px 0 6px}
.cc-lon a{display:grid;grid-template-columns:48px 1fr;gap:2px 12px;background:var(--the);border:1px solid var(--vien);border-radius:16px;padding:16px;color:var(--muc)}
.cc-lon a:hover{border-color:var(--son);text-decoration:none}
.cc-lon i{grid-row:span 2;display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--son-nhat);color:var(--son);font:700 1.15rem var(--ma);font-style:normal}
.cc-lon b{font:700 1.12rem var(--ma)}
.cc-lon span{font-size:14px;color:var(--muc2);line-height:1.5}

.cc-app [hidden]{display:none!important}
.cc-app{position:relative;background:var(--the);border:1px solid var(--vien);border-radius:16px;padding:14px;margin:16px 0 8px}
.cc-o{display:block;width:100%;font:16px/1.6 var(--chu);color:var(--muc);background:var(--nen);border:1.5px solid var(--vien);border-radius:12px;padding:10px 12px;resize:vertical;outline:none}
.cc-o:focus{border-color:var(--lien);background:var(--the)}
.cc-app input[type=text],.cc-app input[type=search],.cc-app select{font:16px var(--chu);color:var(--muc);background:var(--nen);border:1.5px solid var(--vien);border-radius:10px;padding:8px 10px;outline:none;max-width:100%}
.cc-app input[type=text]:focus,.cc-app input[type=search]:focus{border-color:var(--lien);background:var(--the)}
.cc-nut{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 4px}
.cc-app button{font:600 15px var(--chu);color:var(--muc);background:var(--the);border:1.5px solid var(--vien);border-radius:10px;padding:8px 14px;cursor:pointer;min-height:40px}
.cc-app button:hover{border-color:var(--lien)}
.cc-app button.cc-chinh{background:var(--son);border-color:var(--son);color:#fff}
.cc-app button.cc-chinh:hover{filter:brightness(1.08)}
.cc-chon{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;color:var(--muc2)}
.cc-tai{color:var(--mo);font-size:14px;padding:6px 0}
.cc-tom{margin:10px 0 6px;font-size:15px}
.cc-the{display:inline-block;font-size:13px;border-radius:999px;padding:1px 9px;margin:2px 4px 2px 0;border:1px solid currentColor}
.cc-bao{background:var(--son-nhat);border-radius:10px;padding:8px 12px;font-size:14.5px;margin:8px 0}
.nho-nut button{font-size:13.5px;min-height:34px;padding:5px 10px}

/* kết quả soát */
.cc-kq{background:var(--nen);border:1px solid var(--vien);border-radius:12px;padding:12px 14px;font-size:17px;line-height:1.9;min-height:60px;word-wrap:break-word;overflow-wrap:anywhere}
.cc-kq mark{background:none;color:inherit;cursor:pointer;border-radius:3px;text-decoration:underline wavy;text-decoration-thickness:1.5px;text-underline-offset:4px;padding:0 1px}
.cc-kq mark:focus{outline:2px solid var(--lien);outline-offset:1px}
.l-sai{color:#C62828;text-decoration-color:#C62828!important}
.cc-kq mark.l-sai{background:rgba(198,40,40,.09)}
.l-la{color:#B25E00;text-decoration-color:#E08A00!important}
.cc-kq mark.l-la{background:rgba(224,138,0,.10)}
.l-nham{color:#7B3FB3;text-decoration-color:#8E4FCC!important}
.cc-kq mark.l-nham{background:rgba(142,79,204,.10)}
.l-dau{color:#1D5FA8;text-decoration-color:#1D5FA8!important}
.cc-kq mark.l-dau{background:rgba(29,95,168,.08)}
.l-cau{color:#0E7C66;text-decoration-color:#0E7C66!important}
.cc-kq mark.l-cau{background:rgba(14,124,102,.10);min-width:6px;display:inline-block}
.cc-kq mark.nhe{text-decoration-style:dotted}
.cc-kq mark{color:var(--muc)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .l-sai{color:#FF8A80}:root:not([data-theme=light]) .l-la{color:#FFB74D}:root:not([data-theme=light]) .l-nham{color:#CE93D8}:root:not([data-theme=light]) .l-dau{color:#90CAF9}:root:not([data-theme=light]) .l-cau{color:#80CBC4}}
:root[data-theme=dark] .l-sai{color:#FF8A80}:root[data-theme=dark] .l-la{color:#FFB74D}:root[data-theme=dark] .l-nham{color:#CE93D8}:root[data-theme=dark] .l-dau{color:#90CAF9}:root[data-theme=dark] .l-cau{color:#80CBC4}
.cc-pop{position:absolute;z-index:30;width:min(340px,calc(100% - 8px));background:var(--the);border:1px solid var(--vien);border-radius:14px;box-shadow:0 12px 32px rgba(20,33,61,.18);padding:12px 14px;font-size:14.5px}
.cc-pop p{margin:6px 0}
.cc-gy{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.cc-gy button{font:600 16px var(--chu);min-height:38px;padding:5px 12px;border-radius:10px}
.cc-gy.phu button{font-size:13.5px;font-weight:500;min-height:32px;color:var(--muc2)}
.cc-pop .cc-gy button:first-child:not(.phu button){border-color:var(--xanh)}
.cc-lk{font-size:13.5px}
.cc-chu-giai{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--muc2);margin:4px 0 8px}
.cc-chu-giai i{font-style:normal;font-weight:600;text-decoration:underline wavy;text-underline-offset:3px;margin-right:4px}

/* văn bản */
.vb-nut{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.vb-nut a{font-size:14px;font-weight:600;color:var(--muc2);border:1.5px solid var(--vien);border-radius:999px;padding:5px 12px;background:var(--the)}
.vb-nut a:hover{text-decoration:none;border-color:var(--lien)}
.vb-nut a.dang{background:var(--muc);border-color:var(--muc);color:var(--the)}
.vb-tc{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14.5px;color:var(--muc2);margin-bottom:10px}
.vb-tc label{display:inline-flex;align-items:center;gap:5px}
.vb-tc br{flex-basis:100%;content:""}
.vb-hai{display:grid;grid-template-columns:1fr;gap:10px}
.vb-hai:has(.vb-b:not([hidden])){grid-template-columns:1fr 1fr}
.vb-ra-hop{margin-top:10px}
.vb-bao{margin:6px 0}
.cc-bang{border-collapse:collapse;width:100%;font-size:15px}
.cc-bang td,.cc-bang th{border-bottom:1px solid var(--vien);padding:7px 8px;text-align:left;vertical-align:top}
.cc-bang td:last-child{text-align:right}
table.dich.cc-bang td:last-child{text-align:left}
.cc-tan{display:flex;flex-wrap:wrap;gap:6px}
.cc-tan span{background:var(--nen);border:1px solid var(--vien);border-radius:999px;padding:2px 10px;font-size:14px}
.cc-tan b{color:var(--son)}
.cc-dc3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.cc-dc b{display:block;font-size:14px;margin-bottom:4px}

/* nối từ */
.nt-tren{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}
.nt-chuoi{display:flex;flex-direction:column;gap:8px;max-height:460px;overflow-y:auto;padding:2px}
.nt-the{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:baseline;max-width:88%;background:var(--nen);border:1px solid var(--vien);border-radius:14px;padding:8px 12px}
.nt-the.ban{align-self:flex-end;background:var(--lien-nhat);border-color:transparent}
.nt-the .nt-ai{grid-row:span 2;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mo)}
.nt-the.may .nt-ai{color:var(--son)}
.nt-the a b{font:700 1.2rem var(--ma);color:var(--muc)}
.nt-nghia{font-size:13.5px;color:var(--muc2);line-height:1.45}
.nt-bao{margin:12px 0 8px;font-size:15.5px}
.nt-bao button{margin-left:6px}
.nt-o{display:flex;flex-wrap:wrap;gap:8px}
.nt-o input{flex:1 1 180px;font-size:18px!important}

/* số thành chữ */
#so-vao{width:100%;font:600 1.6rem var(--ma)!important;padding:10px 14px!important}
.so-hien{margin:6px 2px 0;min-height:1.4em}
.so-ra{font:600 1.25rem/1.55 var(--ma);color:var(--muc);background:var(--nen);border-radius:12px;padding:12px 14px;margin-top:8px;min-height:3em}
.so-tc{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:14px;font-size:14.5px;color:var(--muc2)}
.so-tc b{display:block;color:var(--muc);font-size:14px;margin-bottom:2px}
.so-tc label{display:flex;align-items:center;gap:6px;padding:2px 0}

/* tìm vần */
.tv-hang{display:flex;gap:8px}
.tv-hang input{flex:1;min-width:0;font-size:17px!important}
.tv-loc{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:14.5px;color:var(--muc2)}
.tv-loc label{display:inline-flex;align-items:center;gap:6px}
.chips a.dang{background:var(--muc);color:var(--the);border-color:var(--muc)}
.tv-thanh{margin:10px 0}
.tv-am{display:flex;flex-wrap:wrap;gap:6px}
.tv-am a{font:600 1.1rem var(--ma);background:var(--the);border:1px solid var(--vien);border-radius:10px;padding:3px 11px;color:var(--muc)}
.tv-am a:hover{border-color:var(--son);text-decoration:none}
.tv-tu{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px}
.tv-tu li{border-bottom:1px solid var(--vien);padding:5px 0;line-height:1.4}
.tv-tu a{font:600 1.05rem var(--ma)}
.tv-tu span{display:block;font-size:13px;color:var(--mo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-trang{margin-top:12px;font-size:15px;line-height:2}
.tv-trang a,.tv-trang b{display:inline-block;min-width:30px;text-align:center}

@media (max-width:560px){
  .cc-app{padding:12px 10px;margin-inline:-4px}
  .cc-dc3{grid-template-columns:1fr}
  .vb-hai:has(.vb-b:not([hidden])){grid-template-columns:1fr}
  .cc-lon{grid-template-columns:1fr}
  .nt-the{max-width:96%}
  .cc-kq{font-size:16.5px}
}
