<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="vi">
	<id>https://www.tunguyentiengviet.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>Từ nguyên Tiếng Việt - Đóng góp của người dùng [vi]</title>
	<link rel="self" type="application/atom+xml" href="https://www.tunguyentiengviet.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/%C4%90%E1%BA%B7c_bi%E1%BB%87t:%C4%90%C3%B3ng_g%C3%B3p/Admin"/>
	<updated>2026-06-01T03:04:50Z</updated>
	<subtitle>Đóng góp của người dùng</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=M%E1%BA%AFt&amp;diff=18010</id>
		<title>Mắt</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=M%E1%BA%AFt&amp;diff=18010"/>
		<updated>2026-04-30T05:15:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|Proto-Mon-Khmer|/*mat{{ref|sho2006}}/|}}{{cog|{{list|{{w|Old Mon|{{nb|/mɔt/}}}}|{{w|Mon|{{rubyM|မတ်|/mat/}}}}|{{w|Bahnar|măt}}|{{w|Pacoh|/mát/}}|{{w|Khasi|{{nb|/&#039;mat}} ~ {{nb|khmat/}}}}|{{w|Khmu|/mat/}}|{{w|Mang|/mat⁷/}}|{{w|Santali|{{rubyM|ᱢᱮᱫ|/met’/}}}}}}}} → {{etym|Proto-Vietic|/*mat{{ref|fer2007}}/|}}{{cog|{{list|{{w|Muong|măt, mắt}}|{{w|Tho|/mat⁸/}} (Cuối Chăm)|{{w|Thavung|mát}}|{{w|Chứt|/mə̆àt⁸/}}|{{w|Pong|/mat/}}|{{w|Maleng|/mat⁷/}} (Bro)|{{w|Maleng|/mɐt⁸/}} (Khả Phong)}}}}{{nombook|ants|{{ruby|末|mạt}} {{nb|/mat/}}}} cơ quan dùng để nhìn của động vật; {{chuyển}} những vật thể có hình dạng giống con mắt &lt;br /&gt;
#: &#039;&#039;&#039;mắt&#039;&#039;&#039; phượng [[mày]] [[ngài]]&lt;br /&gt;
#: [[bé]] như [[cái]] &#039;&#039;&#039;mắt&#039;&#039;&#039; [[muỗi]]&lt;br /&gt;
#: &#039;&#039;&#039;mắt&#039;&#039;&#039; [[khoai]] tây&lt;br /&gt;
#: &#039;&#039;&#039;mắt&#039;&#039;&#039; [[dứa]]&lt;br /&gt;
#: &#039;&#039;&#039;mắt&#039;&#039;&#039; [[lưới]]&lt;br /&gt;
{{gal|1|Tabby cat with blue eyes-3336579.jpg|Mắt mèo}}&lt;br /&gt;
{{notes}}&lt;br /&gt;
{{cogs}}&lt;br /&gt;
{{refs}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18009</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18009"/>
		<updated>2026-04-30T05:12:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray!important;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element .video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: unset!important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;br /&gt;
.skin-theme-clientpref-night .reference a, .skin-theme-clientpref-night .notelistalpha .references&amp;gt;li::marker, .skin-theme-clientpref-night .cognates .references&amp;gt;li:before {&lt;br /&gt;
    color: forestgreen;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18008</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18008"/>
		<updated>2026-04-30T05:11:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element .video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: unset!important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;br /&gt;
.skin-theme-clientpref-night .reference a, .skin-theme-clientpref-night .notelistalpha .references&amp;gt;li::marker, .skin-theme-clientpref-night .cognates .references&amp;gt;li:before {&lt;br /&gt;
    color: forestgreen;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18007</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18007"/>
		<updated>2026-04-30T03:54:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element .video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: unset!important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img, .vector-feature-night-mode-enabled .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;br /&gt;
.skin-theme-clientpref-night .reference a, .vector-feature-night-mode-enabled .reference a, .skin-theme-clientpref-night .notelistalpha .references&amp;gt;li::marker, .vector-feature-night-mode-enabled .notelistalpha .references&amp;gt;li::marker, .skin-theme-clientpref-night .cognates .references&amp;gt;li:before, .vector-feature-night-mode-enabled .cognates .references&amp;gt;li:before {&lt;br /&gt;
    color: forestgreen;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18006</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18006"/>
		<updated>2026-04-30T03:51:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element .video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: unset!important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img, .vector-feature-night-mode-enabled .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;br /&gt;
.skin-theme-clientpref-night .reference a, .vector-feature-night-mode-enabled .reference a, .skin-theme-clientpref-night .notelistalpha .references&amp;gt;li::marker, .vector-feature-night-mode-enabled .notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    color: forestgreen;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18005</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18005"/>
		<updated>2026-04-30T03:47:42Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element .video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: unset!important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img, vector-feature-night-mode-enabled .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18004</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18004"/>
		<updated>2026-04-30T03:46:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element .video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: unset!important&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img, vector-feature-night-mode-enabled .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18003</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18003"/>
		<updated>2026-04-30T03:45:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element .video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img, vector-feature-night-mode-enabled .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=18002</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=18002"/>
		<updated>2026-04-30T03:38:43Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Example columns&lt;br /&gt;
function excol() {&lt;br /&gt;
    var dl = document.getElementsByTagName(&#039;dl&#039;);&lt;br /&gt;
    var maxwidth = 0;&lt;br /&gt;
    var cnt = 0;&lt;br /&gt;
    for (var i = 0; i &amp;lt; dl.length; i++) {&lt;br /&gt;
        cnt = 0;&lt;br /&gt;
        var dd = dl[i].getElementsByTagName(&#039;dd&#039;);&lt;br /&gt;
        for (j = 0; j &amp;lt; dd.length; j++) {&lt;br /&gt;
            dd[j].style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd[j].style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
            if (dd[j].clientWidth + parseFloat(window.getComputedStyle(dd[j]).marginLeft) &amp;gt; dl[i].clientWidth / 2) {&lt;br /&gt;
                dd[j].style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd[j].style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            }&lt;br /&gt;
            if (maxwidth &amp;lt; dd[j].clientWidth &amp;amp;&amp;amp; dd[j].style.minWidth != &#039;calc(100% - 1.6em)&#039;) {&lt;br /&gt;
                maxwidth = dd[j].clientWidth + parseFloat(window.getComputedStyle(dd[j]).marginLeft) + 5;&lt;br /&gt;
            }&lt;br /&gt;
        console.log(maxwidth);&lt;br /&gt;
        cnt++;&lt;br /&gt;
        }&lt;br /&gt;
        if (cnt &amp;gt;= 6 &amp;amp;&amp;amp; maxwidth * 3 &amp;lt; dl[i].clientWidth) {&lt;br /&gt;
            dl[i].style.columns = 3&lt;br /&gt;
        } else if (cnt &amp;gt;= 6 &amp;amp;&amp;amp; maxwidth * 2 &amp;lt; dl[i].clientWidth &amp;amp;&amp;amp; maxwidth * 3 &amp;gt; dl[i].clientWidth) {&lt;br /&gt;
            dl[i].style.columns = 2&lt;br /&gt;
        } else {&lt;br /&gt;
            dl[i].style.columns = 1&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Cognates columns&lt;br /&gt;
function cogcol() {&lt;br /&gt;
    var cognates = document.querySelectorAll(&#039;.cognates ul&#039;);&lt;br /&gt;
    for (var c = 0; c &amp;lt; cognates.length; c++) {&lt;br /&gt;
        var widest = null;&lt;br /&gt;
        var widestwidth = 0;&lt;br /&gt;
        var coglis = cognates[c].querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        for (var l = 0; l &amp;lt; coglis.length; l++) {&lt;br /&gt;
            if (widest == null) {&lt;br /&gt;
                widestwidth = coglis[l].clientWidth;&lt;br /&gt;
                widest = l;&lt;br /&gt;
            } else if (widestwidth &amp;lt; coglis[l].clientWidth) {&lt;br /&gt;
                widestwidth = coglis[l].clientWidth;&lt;br /&gt;
                widest = l;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (document.querySelector(&#039;.cognates .reference-text&#039;).clientWidth &amp;gt; (widestwidth + parseFloat(window.getComputedStyle(document.querySelector(&#039;.reference-text ol&#039;))[&#039;marginLeft&#039;])) * 3 + 10 &amp;amp;&amp;amp; cognates[c].querySelectorAll(&#039;li&#039;).length &amp;gt; 7) {&lt;br /&gt;
            cognates[c].style.columnCount = 3;&lt;br /&gt;
        } else if (document.querySelector(&#039;.cognates .reference-text&#039;).clientWidth &amp;gt; (widestwidth + parseFloat(window.getComputedStyle(document.querySelector(&#039;.reference-text ol&#039;))[&#039;marginLeft&#039;])) * 2 + 10 &amp;amp;&amp;amp; cognates[c].querySelectorAll(&#039;li&#039;).length &amp;gt; 4) {&lt;br /&gt;
            cognates[c].style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            cognates[c].style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
excol();&lt;br /&gt;
cogcol();&lt;br /&gt;
window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
    cogcol();&lt;br /&gt;
    excol();&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
if (document.querySelector(&#039;.notelistalpha&#039;) != null &amp;amp;&amp;amp; document.querySelector(&#039;.notelistalpha&#039;).childElementCount &amp;lt; 2) { document.querySelector(&#039;.notelistalpha&#039;).style.visibility = &#039;hidden&#039; };&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
var wlinks = document.getElementsByClassName(&#039;extiw&#039;);&lt;br /&gt;
for (var i = 0; i &amp;lt; wlinks.length; i++) {&lt;br /&gt;
    wlinks[i].title = wlinks[i].title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// CTRL + shortcuts&lt;br /&gt;
document.addEventListener(&amp;quot;keydown&amp;quot;, function(e) {&lt;br /&gt;
    if (e.key === &#039;s&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;[value=&amp;quot;Save changes&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;p&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;[value=&amp;quot;Show preview&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;e&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;r&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;g&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
}, false);&lt;br /&gt;
&lt;br /&gt;
// Remove space before citation&lt;br /&gt;
var citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
if (citerefs.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; citerefs.length; i++) {&lt;br /&gt;
        if (citerefs[i].childNodes[0].textContent == &#039; &#039;) {&lt;br /&gt;
            citerefs[i].childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    citerefs[0].parentElement.innerHTML = citerefs[0].parentElement.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows&lt;br /&gt;
var entries = &#039;&#039;;&lt;br /&gt;
if (window.location.href.search(&#039;index.php&#039;) &amp;lt; 0 &amp;amp;&amp;amp; window.location.href.lastIndexOf(&#039;:&#039;) == 5) {&lt;br /&gt;
    entries = document.querySelector(&#039;ol&#039;).querySelectorAll(&#039;li&#039;);&lt;br /&gt;
    for (i = 0; i &amp;lt; entries.length; i++) {&lt;br /&gt;
        if (entries[i].innerHTML.match(/&amp;gt; →/g) != null) {&lt;br /&gt;
            var entry = entries[i].innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
            entries[i].innerHTML = &#039;&#039;;&lt;br /&gt;
            entries[i].innerHTML += entry[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
            for (j = 1; j &amp;lt; entry.length - 1; j++) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + (j + 1) + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[j] + &#039;&amp;gt;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            if (entry[entry.length - 1].search(&#039;dl&#039;) &amp;gt; -1 &amp;amp;&amp;amp; entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)).slice(entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)).length - 2) != &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)) + &#039;&amp;amp;nbsp;&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;) + 1) + &#039;&amp;lt;/span&amp;gt;&amp;lt;dl&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[1];&lt;br /&gt;
            } else if (entry[entry.length - 1].slice(entry[entry.length - 1].lastIndexOf(&#039; &#039;) - 2, entry[entry.length - 1].lastIndexOf(&#039; &#039;)) != &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1].slice(0, entry[entry.length - 1].lastIndexOf(&#039; &#039;)) + &#039;&amp;amp;nbsp;&#039; + entry[entry.length - 1].slice(entry[entry.length - 1].lastIndexOf(&#039; &#039;) + 1) + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            } else {&lt;br /&gt;
                entries[0].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1]&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Remove double spaces &amp;amp; replace Word Connectors * replace → arrow&lt;br /&gt;
if (window.location.href.indexOf(&#039;MediaWiki&#039;) == -1) {&lt;br /&gt;
    document.getElementById(&#039;mw-content-text&#039;).innerHTML = document.getElementById(&#039;mw-content-text&#039;).innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
}&lt;br /&gt;
if (window.location.href.indexOf(&#039;index&#039;) == -1) {&lt;br /&gt;
    document.getElementById(&#039;mw-content-text&#039;).innerHTML = document.getElementById(&#039;mw-content-text&#039;).innerHTML.replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;).replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Zoom Videos&lt;br /&gt;
var zoombtn = document.getElementsByClassName(&amp;quot;enlarge&amp;quot;);&lt;br /&gt;
for (var i = 0; i &amp;lt; zoombtn.length; i++) {&lt;br /&gt;
    zoombtn[i].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;enlarge(&amp;quot; + i + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[i].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Phóng to&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
var video = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
function enlarge(vid) {&lt;br /&gt;
    video[vid].width *= 2;&lt;br /&gt;
    video[vid].height *= 2;&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;smaller(&amp;quot; + vid + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Thu nhỏ&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function smaller(vid) {&lt;br /&gt;
    video[vid].width /= 2;&lt;br /&gt;
    video[vid].height /= 2;&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;enlarge(&amp;quot; + vid + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Thu nhỏ&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Display zoomed text&lt;br /&gt;
var ht = document.getElementsByClassName(&#039;Hani&#039;);&lt;br /&gt;
if (ht.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; ht.length; i++) {&lt;br /&gt;
        ht[i].innerHTML = &#039;&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;&#039; + ht[i].innerHTML + &#039;&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; &#039; + ht[i].innerHTML + &#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
var hc = document.getElementsByClassName(&#039;notHani&#039;);&lt;br /&gt;
if (hc.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; hc.length; i++) {&lt;br /&gt;
        hc[i].innerHTML = &#039;&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;&#039; + hc[i].innerHTML + &#039;&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; &#039; + hc[i].innerHTML + &#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Zoomed text to left if overflow&lt;br /&gt;
var ttzoom = document.querySelectorAll(&#039;.ttzoom&#039;)&lt;br /&gt;
for (tt = 0; tt &amp;lt; ttzoom.length; tt++) {&lt;br /&gt;
    if (ttzoom[tt].getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
        ttzoom[tt].style.left = &#039;-800%&#039;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Hide empty ruby text&lt;br /&gt;
var rt = document.getElementsByTagName(&#039;rt&#039;);&lt;br /&gt;
if (rt.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; rt.length; i++) {&lt;br /&gt;
        if (rt[i].innerText == &#039;&#039;) { rt[i].style.display = &#039;none&#039; };&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Replace textimg&lt;br /&gt;
var textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
if (textimg.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        textimg[i].querySelector(&#039;img&#039;).src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
    document.getElementById(window.location.href.substring(window.location.href.indexOf(&#039;#&#039;)+1,window.location.href.length)).parentElement.style.background = &amp;quot;rgba(255,222,100,0.4)&amp;quot;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18001</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18001"/>
		<updated>2026-04-30T03:36:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: rgba(0, 0, 0, 0) url(&amp;quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E&amp;quot;) no-repeat center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18000</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=18000"/>
		<updated>2026-04-30T03:18:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;&amp;quot;http&amp;quot;&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot;&amp;quot; &amp;quot;&amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0028&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0029&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;cg&amp;quot;&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;fc&amp;quot;&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;&amp;quot;cite_ref-ref&amp;quot;&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\f107&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Night mode, dark theme */&lt;br /&gt;
.skin-theme-clientpref-night .tttext&amp;gt;span&amp;gt;span&amp;gt;img, vector-feature-night-mode-enabled .tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    filter: invert(1);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17999</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17999"/>
		<updated>2026-04-28T10:26:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;&amp;quot;http&amp;quot;&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot;&amp;quot; &amp;quot;&amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0028&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0029&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;cg&amp;quot;&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;fc&amp;quot;&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;&amp;quot;cite_ref-ref&amp;quot;&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\f107&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17998</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17998"/>
		<updated>2026-04-28T10:25:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;&amp;quot;http&amp;quot;&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot;&amp;quot; &amp;quot;&amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0028&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0029&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;cg&amp;quot;&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;fc&amp;quot;&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;&amp;quot;cite_ref-ref&amp;quot;&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\f107&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&amp;quot;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17997</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17997"/>
		<updated>2026-04-28T10:25:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;&amp;quot;http&amp;quot;&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot;&amp;quot; &amp;quot;&amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0028&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0029&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;cg&amp;quot;&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;fc&amp;quot;&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;&amp;quot;cite_ref-ref&amp;quot;&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\f107&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&amp;quot;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17996</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17996"/>
		<updated>2026-04-28T10:23:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;&amp;quot;http&amp;quot;&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot;&amp;quot; &amp;quot;&amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0028&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\0029&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;cg&amp;quot;&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;&amp;quot;fc&amp;quot;&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;&amp;quot;cite_ref-ref&amp;quot;&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;\f107&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&amp;quot;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17995</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17995"/>
		<updated>2026-04-28T10:12:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17994</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17994"/>
		<updated>2026-04-25T15:52:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Optimized &amp;amp; Modernized Version (with your requested behaviors preserved)&lt;br /&gt;
&lt;br /&gt;
const optimizeColumns = () =&amp;gt; {&lt;br /&gt;
    // Example columns (excol)&lt;br /&gt;
    document.querySelectorAll(&#039;dl&#039;).forEach(dl =&amp;gt; {&lt;br /&gt;
        let maxWidth = 0;&lt;br /&gt;
        const dds = dl.querySelectorAll(&#039;dd&#039;);&lt;br /&gt;
        const containerWidth = dl.clientWidth;&lt;br /&gt;
&lt;br /&gt;
        dds.forEach(dd =&amp;gt; {&lt;br /&gt;
            dd.style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd.style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
&lt;br /&gt;
            const ddWidth = dd.clientWidth + parseFloat(getComputedStyle(dd).marginLeft || 0);&lt;br /&gt;
&lt;br /&gt;
            if (ddWidth &amp;gt; containerWidth / 2) {&lt;br /&gt;
                dd.style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd.style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            } else if (maxWidth &amp;lt; ddWidth) {&lt;br /&gt;
                maxWidth = ddWidth + 5;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        const count = dds.length;&lt;br /&gt;
        if (count &amp;gt;= 6) {&lt;br /&gt;
            if (maxWidth * 3 &amp;lt; containerWidth) dl.style.columnCount = 3;&lt;br /&gt;
            else if (maxWidth * 2 &amp;lt; containerWidth) dl.style.columnCount = 2;&lt;br /&gt;
            else dl.style.columnCount = 1;&lt;br /&gt;
        } else {&lt;br /&gt;
            dl.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Cognates columns&lt;br /&gt;
    document.querySelectorAll(&#039;.cognates ul&#039;).forEach(ul =&amp;gt; {&lt;br /&gt;
        const lis = ul.querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        if (!lis.length) return;&lt;br /&gt;
&lt;br /&gt;
        let widestWidth = 0;&lt;br /&gt;
        lis.forEach(li =&amp;gt; widestWidth = Math.max(widestWidth, li.clientWidth));&lt;br /&gt;
&lt;br /&gt;
        const refText = document.querySelector(&#039;.cognates .reference-text&#039;);&lt;br /&gt;
        if (!refText) return;&lt;br /&gt;
&lt;br /&gt;
        const refOl = refText.querySelector(&#039;ol&#039;);&lt;br /&gt;
        const marginLeft = refOl ? parseFloat(getComputedStyle(refOl).marginLeft || 0) : 0;&lt;br /&gt;
        const containerWidth = refText.clientWidth;&lt;br /&gt;
        const itemWidth = widestWidth + marginLeft + 10;&lt;br /&gt;
&lt;br /&gt;
        if (lis.length &amp;gt; 7 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 3) {&lt;br /&gt;
            ul.style.columnCount = 3;&lt;br /&gt;
        } else if (lis.length &amp;gt; 4 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 2) {&lt;br /&gt;
            ul.style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            ul.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
const cleanWikiLinks = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;.extiw&#039;).forEach(link =&amp;gt; {&lt;br /&gt;
        link.title = link.title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Keyboard shortcuts&lt;br /&gt;
const setupShortcuts = () =&amp;gt; {&lt;br /&gt;
    document.addEventListener(&#039;keydown&#039;, e =&amp;gt; {&lt;br /&gt;
        const isMac = navigator.platform.includes(&#039;Mac&#039;);&lt;br /&gt;
        if (!(isMac ? e.metaKey : e.ctrlKey)) return;&lt;br /&gt;
&lt;br /&gt;
        const map = {&lt;br /&gt;
            &#039;s&#039;: &#039;[value=&amp;quot;Save changes&amp;quot;]&#039;,&lt;br /&gt;
            &#039;p&#039;: &#039;[value=&amp;quot;Show preview&amp;quot;]&#039;,&lt;br /&gt;
            &#039;e&#039;: &#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;,&lt;br /&gt;
            &#039;r&#039;: &#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;,&lt;br /&gt;
            &#039;g&#039;: &#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        const selector = map[e.key];&lt;br /&gt;
        if (selector) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            var el = document.querySelector(selector);&lt;br /&gt;
            if (el) el.click();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Clean citations&lt;br /&gt;
const cleanCitations = () =&amp;gt; {&lt;br /&gt;
    const citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
    citerefs.forEach(ref =&amp;gt; {&lt;br /&gt;
        if (ref.childNodes[0] &amp;amp;&amp;amp; ref.childNodes[0].textContent === &#039; &#039;) {&lt;br /&gt;
            ref.childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    if (citerefs.length) {&lt;br /&gt;
        const parent = citerefs[0].parentElement;&lt;br /&gt;
        if (parent) {&lt;br /&gt;
            parent.innerHTML = parent.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows - Preserved original fallback entries[0] case&lt;br /&gt;
const processEntryArrows = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.search(&#039;index.php&#039;) &amp;gt;= 0 || window.location.href.lastIndexOf(&#039;:&#039;) !== 5) return;&lt;br /&gt;
&lt;br /&gt;
    var ol = document.querySelector(&#039;ol&#039;);&lt;br /&gt;
    const entries = ol ? ol.querySelectorAll(&#039;li&#039;) : null;&lt;br /&gt;
    if (!entries) return;&lt;br /&gt;
&lt;br /&gt;
    entries.forEach((entryEl, i) =&amp;gt; {&lt;br /&gt;
        if (!entryEl.innerHTML.includes(&#039;&amp;gt; →&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
        const parts = entryEl.innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
        let newHTML = parts[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
        let didFallback = false;  // FIX: flag to track if entries[0] fallback was used&lt;br /&gt;
&lt;br /&gt;
        for (let j = 1; j &amp;lt; parts.length; j++) {&lt;br /&gt;
            if (j &amp;lt; parts.length - 1) {&lt;br /&gt;
                newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${j+1}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Last part - keep original fallback logic&lt;br /&gt;
                if (parts[j].search(&#039;dl&#039;) &amp;gt; -1) {&lt;br /&gt;
                    const beforeDl = parts[j].split(&#039;&amp;lt;dl&#039;)[0];&lt;br /&gt;
                    const lastSpaceIdx = beforeDl.lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    const textBefore = beforeDl.slice(0, lastSpaceIdx);&lt;br /&gt;
                    const lastWord = beforeDl.slice(lastSpaceIdx + 1);&lt;br /&gt;
&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${textBefore}&amp;amp;nbsp;${lastWord}&amp;lt;/span&amp;gt;&amp;lt;dl${parts[j].split(&#039;&amp;lt;dl&#039;)[1]}`;&lt;br /&gt;
                } else if (parts[j].slice(parts[j].lastIndexOf(&#039; &#039;) - 2, parts[j].lastIndexOf(&#039; &#039;)) !== &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                    const lastSpace = parts[j].lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j].slice(0, lastSpace)}&amp;amp;nbsp;${parts[j].slice(lastSpace + 1)}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Original fallback: append to first entry&lt;br /&gt;
                    entries[0].innerHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}`;&lt;br /&gt;
                    didFallback = true;  // FIX: mark that we used the fallback&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // FIX: only overwrite innerHTML if we didn&#039;t use the entries[0] fallback&lt;br /&gt;
        if (!didFallback) {&lt;br /&gt;
            entryEl.innerHTML = newHTML;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Video zoom&lt;br /&gt;
const setupVideoZoom = () =&amp;gt; {&lt;br /&gt;
    const zoombtns = document.getElementsByClassName(&#039;enlarge&#039;);&lt;br /&gt;
    const videos = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
    const resizeVideo = (index, multiply) =&amp;gt; {&lt;br /&gt;
        const vid = videos[index];&lt;br /&gt;
        if (!vid) return;&lt;br /&gt;
&lt;br /&gt;
        vid.width *= multiply;&lt;br /&gt;
        vid.height *= multiply;&lt;br /&gt;
&lt;br /&gt;
        const w = vid.width + &#039;px&#039;;&lt;br /&gt;
        const h = vid.height + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
        vid.style.width = w; vid.style.height = h;&lt;br /&gt;
&lt;br /&gt;
        let parent = vid.parentElement;&lt;br /&gt;
        while (parent &amp;amp;&amp;amp; parent !== document.body) {&lt;br /&gt;
            parent.style.width = w;&lt;br /&gt;
            parent.style.height = h;&lt;br /&gt;
            parent = parent.parentElement;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        const btn = zoombtns[index];&lt;br /&gt;
        if (btn) {&lt;br /&gt;
            const isEnlarge = multiply &amp;gt; 1;&lt;br /&gt;
            btn.onclick = () =&amp;gt; resizeVideo(index, isEnlarge ? 0.5 : 2);&lt;br /&gt;
            btn.title = isEnlarge ? &#039;Thu nhỏ&#039; : &#039;Phóng to&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    Array.from(zoombtns).forEach((btn, i) =&amp;gt; {&lt;br /&gt;
        btn.onclick = () =&amp;gt; resizeVideo(i, 2);&lt;br /&gt;
        btn.title = &#039;Phóng to&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Zoomed text&lt;br /&gt;
// FIX: wrap HTMLCollection with Array.from() before calling .forEach()&lt;br /&gt;
const setupZoomText = () =&amp;gt; {&lt;br /&gt;
    const wrapClass = (className) =&amp;gt; {&lt;br /&gt;
        Array.from(document.getElementsByClassName(className)).forEach(el =&amp;gt; {&lt;br /&gt;
            const html = el.innerHTML;&lt;br /&gt;
            el.innerHTML = `&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;${html}&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; ${html}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;`;&lt;br /&gt;
        });&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    wrapClass(&#039;Hani&#039;);&lt;br /&gt;
    wrapClass(&#039;notHani&#039;);&lt;br /&gt;
&lt;br /&gt;
    document.querySelectorAll(&#039;.ttzoom&#039;).forEach(span =&amp;gt; {&lt;br /&gt;
        if (span.getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
            span.style.left = &#039;-800%&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Hide empty ruby&lt;br /&gt;
const hideEmptyRuby = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;rt&#039;).forEach(rt =&amp;gt; {&lt;br /&gt;
        if (rt.innerText.trim() === &#039;&#039;) rt.style.display = &#039;none&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Replace textimg - original i++ behavior preserved (skips every other element)&lt;br /&gt;
const setTextImgPlaceholders = () =&amp;gt; {&lt;br /&gt;
    const textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
    for (let i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        const img = textimg[i].querySelector(&#039;img&#039;);&lt;br /&gt;
        if (img) img.src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;   // original manual i++ kept exactly as requested&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
const highlightEntry = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
        const id = window.location.href.substring(window.location.href.indexOf(&#039;#&#039;) + 1);&lt;br /&gt;
        const el = document.getElementById(id);&lt;br /&gt;
        if (el &amp;amp;&amp;amp; el.parentElement) {&lt;br /&gt;
            el.parentElement.style.background = &#039;rgba(255,222,100,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Main init&lt;br /&gt;
const init = () =&amp;gt; {&lt;br /&gt;
    optimizeColumns();&lt;br /&gt;
    cleanWikiLinks();&lt;br /&gt;
    setupShortcuts();&lt;br /&gt;
    cleanCitations();&lt;br /&gt;
    processEntryArrows();&lt;br /&gt;
    setupVideoZoom();&lt;br /&gt;
    setupZoomText();&lt;br /&gt;
    hideEmptyRuby();&lt;br /&gt;
    setTextImgPlaceholders();&lt;br /&gt;
    highlightEntry();&lt;br /&gt;
&lt;br /&gt;
    // Empty notelistalpha&lt;br /&gt;
    const notelist = document.querySelector(&#039;.notelistalpha&#039;);&lt;br /&gt;
    if (notelist &amp;amp;&amp;amp; notelist.childElementCount &amp;lt; 2) {&lt;br /&gt;
        notelist.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Global replaces&lt;br /&gt;
    const content = document.getElementById(&#039;mw-content-text&#039;);&lt;br /&gt;
    if (content) {&lt;br /&gt;
        if (window.location.href.indexOf(&#039;MediaWiki&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
        }&lt;br /&gt;
        if (window.location.href.indexOf(&#039;index&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML&lt;br /&gt;
                .replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;)&lt;br /&gt;
                .replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Debounced resize&lt;br /&gt;
    let timeout;&lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
        clearTimeout(timeout);&lt;br /&gt;
        timeout = setTimeout(optimizeColumns, 120);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, init);&lt;br /&gt;
} else {&lt;br /&gt;
    init();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
document.querySelectorAll(&#039;.timedmediaplayer&#039;).forEach(el =&amp;gt; el.classList.remove(&#039;notheme&#039;));&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17993</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17993"/>
		<updated>2026-04-25T15:49:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Example columns&lt;br /&gt;
function excol() {&lt;br /&gt;
    var dl = document.getElementsByTagName(&#039;dl&#039;);&lt;br /&gt;
    var maxwidth = 0;&lt;br /&gt;
    var cnt = 0;&lt;br /&gt;
    for (var i = 0; i &amp;lt; dl.length; i++) {&lt;br /&gt;
        cnt = 0;&lt;br /&gt;
        var dd = dl[i].getElementsByTagName(&#039;dd&#039;);&lt;br /&gt;
        for (j = 0; j &amp;lt; dd.length; j++) {&lt;br /&gt;
            dd[j].style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd[j].style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
            if (dd[j].clientWidth + parseFloat(window.getComputedStyle(dd[j]).marginLeft) &amp;gt; dl[i].clientWidth / 2) {&lt;br /&gt;
                dd[j].style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd[j].style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            }&lt;br /&gt;
            if (maxwidth &amp;lt; dd[j].clientWidth &amp;amp;&amp;amp; dd[j].style.minWidth != &#039;calc(100% - 1.6em)&#039;) {&lt;br /&gt;
                maxwidth = dd[j].clientWidth + parseFloat(window.getComputedStyle(dd[j]).marginLeft) + 5;&lt;br /&gt;
            }&lt;br /&gt;
        console.log(maxwidth);&lt;br /&gt;
        cnt++;&lt;br /&gt;
        }&lt;br /&gt;
        if (cnt &amp;gt;= 6 &amp;amp;&amp;amp; maxwidth * 3 &amp;lt; dl[i].clientWidth) {&lt;br /&gt;
            dl[i].style.columns = 3&lt;br /&gt;
        } else if (cnt &amp;gt;= 6 &amp;amp;&amp;amp; maxwidth * 2 &amp;lt; dl[i].clientWidth &amp;amp;&amp;amp; maxwidth * 3 &amp;gt; dl[i].clientWidth) {&lt;br /&gt;
            dl[i].style.columns = 2&lt;br /&gt;
        } else {&lt;br /&gt;
            dl[i].style.columns = 1&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Cognates columns&lt;br /&gt;
function cogcol() {&lt;br /&gt;
    var cognates = document.querySelectorAll(&#039;.cognates ul&#039;);&lt;br /&gt;
    for (var c = 0; c &amp;lt; cognates.length; c++) {&lt;br /&gt;
        var widest = null;&lt;br /&gt;
        var widestwidth = 0;&lt;br /&gt;
        var coglis = cognates[c].querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        for (var l = 0; l &amp;lt; coglis.length; l++) {&lt;br /&gt;
            if (widest == null) {&lt;br /&gt;
                widestwidth = coglis[l].clientWidth;&lt;br /&gt;
                widest = l;&lt;br /&gt;
            } else if (widestwidth &amp;lt; coglis[l].clientWidth) {&lt;br /&gt;
                widestwidth = coglis[l].clientWidth;&lt;br /&gt;
                widest = l;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (document.querySelector(&#039;.cognates .reference-text&#039;).clientWidth &amp;gt; (widestwidth + parseFloat(window.getComputedStyle(document.querySelector(&#039;.reference-text ol&#039;))[&#039;marginLeft&#039;])) * 3 + 10 &amp;amp;&amp;amp; cognates[c].querySelectorAll(&#039;li&#039;).length &amp;gt; 7) {&lt;br /&gt;
            cognates[c].style.columnCount = 3;&lt;br /&gt;
        } else if (document.querySelector(&#039;.cognates .reference-text&#039;).clientWidth &amp;gt; (widestwidth + parseFloat(window.getComputedStyle(document.querySelector(&#039;.reference-text ol&#039;))[&#039;marginLeft&#039;])) * 2 + 10 &amp;amp;&amp;amp; cognates[c].querySelectorAll(&#039;li&#039;).length &amp;gt; 4) {&lt;br /&gt;
            cognates[c].style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            cognates[c].style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
excol();&lt;br /&gt;
cogcol();&lt;br /&gt;
window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
    cogcol();&lt;br /&gt;
    excol();&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
if (document.querySelector(&#039;.notelistalpha&#039;) != null &amp;amp;&amp;amp; document.querySelector(&#039;.notelistalpha&#039;).childElementCount &amp;lt; 2) { document.querySelector(&#039;.notelistalpha&#039;).style.visibility = &#039;hidden&#039; };&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
var wlinks = document.getElementsByClassName(&#039;extiw&#039;);&lt;br /&gt;
for (var i = 0; i &amp;lt; wlinks.length; i++) {&lt;br /&gt;
    wlinks[i].title = wlinks[i].title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// CTRL + shortcuts&lt;br /&gt;
document.addEventListener(&amp;quot;keydown&amp;quot;, function(e) {&lt;br /&gt;
    if (e.key === &#039;s&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;[value=&amp;quot;Save changes&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;p&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;[value=&amp;quot;Show preview&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;e&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;r&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;g&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
}, false);&lt;br /&gt;
&lt;br /&gt;
// Remove space before citation&lt;br /&gt;
var citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
if (citerefs.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; citerefs.length; i++) {&lt;br /&gt;
        if (citerefs[i].childNodes[0].textContent == &#039; &#039;) {&lt;br /&gt;
            citerefs[i].childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    citerefs[0].parentElement.innerHTML = citerefs[0].parentElement.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows&lt;br /&gt;
var entries = &#039;&#039;;&lt;br /&gt;
if (window.location.href.search(&#039;index.php&#039;) &amp;lt; 0 &amp;amp;&amp;amp; window.location.href.lastIndexOf(&#039;:&#039;) == 5) {&lt;br /&gt;
    entries = document.querySelector(&#039;ol&#039;).querySelectorAll(&#039;li&#039;);&lt;br /&gt;
    for (i = 0; i &amp;lt; entries.length; i++) {&lt;br /&gt;
        if (entries[i].innerHTML.match(/&amp;gt; →/g) != null) {&lt;br /&gt;
            var entry = entries[i].innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
            entries[i].innerHTML = &#039;&#039;;&lt;br /&gt;
            entries[i].innerHTML += entry[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
            for (j = 1; j &amp;lt; entry.length - 1; j++) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + (j + 1) + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[j] + &#039;&amp;gt;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            if (entry[entry.length - 1].search(&#039;dl&#039;) &amp;gt; -1 &amp;amp;&amp;amp; entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)).slice(entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)).length - 2) != &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)) + &#039;&amp;amp;nbsp;&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;) + 1) + &#039;&amp;lt;/span&amp;gt;&amp;lt;dl&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[1];&lt;br /&gt;
            } else if (entry[entry.length - 1].slice(entry[entry.length - 1].lastIndexOf(&#039; &#039;) - 2, entry[entry.length - 1].lastIndexOf(&#039; &#039;)) != &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1].slice(0, entry[entry.length - 1].lastIndexOf(&#039; &#039;)) + &#039;&amp;amp;nbsp;&#039; + entry[entry.length - 1].slice(entry[entry.length - 1].lastIndexOf(&#039; &#039;) + 1) + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            } else {&lt;br /&gt;
                entries[0].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1]&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Remove double spaces &amp;amp; replace Word Connectors * replace → arrow&lt;br /&gt;
if (window.location.href.indexOf(&#039;MediaWiki&#039;) == -1) {&lt;br /&gt;
    document.getElementById(&#039;mw-content-text&#039;).innerHTML = document.getElementById(&#039;mw-content-text&#039;).innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
}&lt;br /&gt;
if (window.location.href.indexOf(&#039;index&#039;) == -1) {&lt;br /&gt;
    document.getElementById(&#039;mw-content-text&#039;).innerHTML = document.getElementById(&#039;mw-content-text&#039;).innerHTML.replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;).replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Zoom Videos&lt;br /&gt;
var zoombtn = document.getElementsByClassName(&amp;quot;enlarge&amp;quot;);&lt;br /&gt;
for (var i = 0; i &amp;lt; zoombtn.length; i++) {&lt;br /&gt;
    zoombtn[i].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;enlarge(&amp;quot; + i + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[i].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Phóng to&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
var video = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
function enlarge(vid) {&lt;br /&gt;
    video[vid].width *= 2;&lt;br /&gt;
    video[vid].height *= 2;&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;smaller(&amp;quot; + vid + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Thu nhỏ&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function smaller(vid) {&lt;br /&gt;
    video[vid].width /= 2;&lt;br /&gt;
    video[vid].height /= 2;&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;enlarge(&amp;quot; + vid + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Thu nhỏ&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
// Display zoomed text&lt;br /&gt;
var ht = document.getElementsByClassName(&#039;Hani&#039;);&lt;br /&gt;
if (ht.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; ht.length; i++) {&lt;br /&gt;
        ht[i].innerHTML = &#039;&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;&#039; + ht[i].innerHTML + &#039;&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; &#039; + ht[i].innerHTML + &#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
var hc = document.getElementsByClassName(&#039;notHani&#039;);&lt;br /&gt;
if (hc.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; hc.length; i++) {&lt;br /&gt;
        hc[i].innerHTML = &#039;&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;&#039; + hc[i].innerHTML + &#039;&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; &#039; + hc[i].innerHTML + &#039;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Zoomed text to left if overflow&lt;br /&gt;
var ttzoom = document.querySelectorAll(&#039;.ttzoom&#039;)&lt;br /&gt;
for (tt = 0; tt &amp;lt; ttzoom.length; tt++) {&lt;br /&gt;
    if (ttzoom[tt].getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
        ttzoom[tt].style.left = &#039;-800%&#039;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Hide empty ruby text&lt;br /&gt;
var rt = document.getElementsByTagName(&#039;rt&#039;);&lt;br /&gt;
if (rt.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; rt.length; i++) {&lt;br /&gt;
        if (rt[i].innerText == &#039;&#039;) { rt[i].style.display = &#039;none&#039; };&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Replace textimg&lt;br /&gt;
var textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
if (textimg.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        textimg[i].querySelector(&#039;img&#039;).src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
    document.getElementById(window.location.href.substring(window.location.href.indexOf(&#039;#&#039;)+1,window.location.href.length)).parentElement.style.background = &amp;quot;rgba(255,222,100,0.4)&amp;quot;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Minerva.css&amp;diff=17992</id>
		<title>MediaWiki:Minerva.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Minerva.css&amp;diff=17992"/>
		<updated>2026-04-23T02:34:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho giao diện điện thoại */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .catlinks, .notes, .cognates, .fognates, .reflist, #footer-icons, #language-selector {&lt;br /&gt;
    display:none!important;&lt;br /&gt;
}&lt;br /&gt;
.pre-content h1, .content h1 {&lt;br /&gt;
    font-family: Times New Roman!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
    font-size: 1.1em!important;&lt;br /&gt;
}&lt;br /&gt;
.content li {&lt;br /&gt;
    border-bottom: 1px lightgrey solid&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em!important;&lt;br /&gt;
    font-style: italic!important;&lt;br /&gt;
    min-width: max-content!important;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
    max-width: min-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dl {&lt;br /&gt;
    margin: 0.2em 0 0.5em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.content ol {&lt;br /&gt;
    padding-left: 0em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex!important;&lt;br /&gt;
    flex-direction: column-reverse!important;&lt;br /&gt;
    line-height: 1.1em!important;&lt;br /&gt;
    text-align: center!important;&lt;br /&gt;
    vertical-align: text-bottom!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Noto Sans Khmer, Noto Sans Cham!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px!important;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0!important;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.alignright li {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    color: #777!important;&lt;br /&gt;
    text-decoration-line: underline!important;&lt;br /&gt;
    text-decoration-style: dotted!important;&lt;br /&gt;
    text-decoration-thickness: 1px!important;&lt;br /&gt;
    cursor: help!important;&lt;br /&gt;
    vertical-align: super!important;&lt;br /&gt;
    font-size: x-small!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.symbol.note {&lt;br /&gt;
    display: none!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red!important;&lt;br /&gt;
    text-decoration-thickness: 2px!important;&lt;br /&gt;
    text-decoration-style: double!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.references-drawer ol {&lt;br /&gt;
    margin-block-start: -2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.references-drawer ol&amp;gt;li {&lt;br /&gt;
    list-style: none!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.references-drawer .ttzoom {&lt;br /&gt;
   display:none!important&lt;br /&gt;
}&lt;br /&gt;
.references-drawer ul {&lt;br /&gt;
    list-style: disc!important;&lt;br /&gt;
    margin-left: 30px!important;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.drawer.references-drawer a.new {&lt;br /&gt;
    color: #dd3333!important;&lt;br /&gt;
}&lt;br /&gt;
.drawer.references-drawer .references-drawer__title {&lt;br /&gt;
    color: #c8ccd1!important;&lt;br /&gt;
}&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 0.6em;&lt;br /&gt;
}&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun!important;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff!important;&lt;br /&gt;
    color: #000!important;&lt;br /&gt;
    text-align: center!important;&lt;br /&gt;
    border-radius: 6px!important;&lt;br /&gt;
    position: fixed!important;&lt;br /&gt;
    z-index: 1!important;&lt;br /&gt;
    left: 10px!important;&lt;br /&gt;
    top: 10px!important;&lt;br /&gt;
    bottom: unset!important;&lt;br /&gt;
    transition: opacity 0.3s!important;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px!important;&lt;br /&gt;
    border: black solid 1px!important;&lt;br /&gt;
    font-size: 3em!important;&lt;br /&gt;
    line-height: 1.5em!important;&lt;br /&gt;
    align-items: center!important;&lt;br /&gt;
    font-weight: normal!important;&lt;br /&gt;
    min-width: 1.5em!important;&lt;br /&gt;
    max-width: 90vw;&lt;br /&gt;
    white-space: nowrap!important;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative!important;&lt;br /&gt;
    display: inline-block!important;&lt;br /&gt;
    border-bottom: 1px dotted grey!important;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none!important;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1.1em;&lt;br /&gt;
    width: 1.1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    filter: invert(100%) sepia(32%) saturate(924%) hue-rotate(172deg) brightness(86%) contrast(87%);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Missing font notice */&lt;br /&gt;
.missing.message.popup {&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
.missing.message.popup:before {&lt;br /&gt;
    background-color: rgba(0,0,0,0.2)!important;&lt;br /&gt;
    height: 100vh!important;&lt;br /&gt;
    width: 100vw!important;&lt;br /&gt;
    content: &amp;quot;&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;
    display: block!important;&lt;br /&gt;
    position: fixed!important;&lt;br /&gt;
    top: 0!important;&lt;br /&gt;
    left: 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
.cognates&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    list-style: none!important;&lt;br /&gt;
}&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.enlarge {&lt;br /&gt;
    display:none!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan!important;&lt;br /&gt;
    font-size: smaller!important;&lt;br /&gt;
    font-weight: bold!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    padding: 8px 20px;&lt;br /&gt;
    margin-inline-end: 30px;&lt;br /&gt;
    margin-inline-start: 30px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr   { white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* IDC */&lt;br /&gt;
.tttext .idc131{&lt;br /&gt;
  transform: scaleX(0.5);&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
    left: -0.25em;&lt;br /&gt;
}&lt;br /&gt;
.tttext .idc132{&lt;br /&gt;
  left: 0.15em;&lt;br /&gt;
  position: relative;&lt;br /&gt;
  transform: scalex(0.66);&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom .idc131{&lt;br /&gt;
  transform: scaleX(0.5);&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  left: -0.25em;&lt;br /&gt;
  padding-left: 0.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .idc132{&lt;br /&gt;
  position: relative;&lt;br /&gt;
  transform: scalex(0.66);&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  left: 0.15em;&lt;br /&gt;
  padding-left: 0.3em&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17991</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17991"/>
		<updated>2026-04-23T02:23:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Example columns&lt;br /&gt;
function excol() {&lt;br /&gt;
    var dl = document.getElementsByTagName(&#039;dl&#039;);&lt;br /&gt;
    var maxwidth = 0;&lt;br /&gt;
    var cnt = 0;&lt;br /&gt;
    for (var i = 0; i &amp;lt; dl.length; i++) {&lt;br /&gt;
        cnt = 0;&lt;br /&gt;
        var dd = dl[i].getElementsByTagName(&#039;dd&#039;);&lt;br /&gt;
        for (j = 0; j &amp;lt; dd.length; j++) {&lt;br /&gt;
            dd[j].style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd[j].style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
            if (dd[j].clientWidth + parseFloat(window.getComputedStyle(dd[j]).marginLeft) &amp;gt; dl[i].clientWidth / 2) {&lt;br /&gt;
                dd[j].style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd[j].style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            }&lt;br /&gt;
            if (maxwidth &amp;lt; dd[j].clientWidth &amp;amp;&amp;amp; dd[j].style.minWidth != &#039;calc(100% - 1.6em)&#039;) {&lt;br /&gt;
                maxwidth = dd[j].clientWidth + parseFloat(window.getComputedStyle(dd[j]).marginLeft) + 5;&lt;br /&gt;
            }&lt;br /&gt;
        console.log(maxwidth);&lt;br /&gt;
        cnt++;&lt;br /&gt;
        }&lt;br /&gt;
        if (cnt &amp;gt;= 6 &amp;amp;&amp;amp; maxwidth * 3 &amp;lt; dl[i].clientWidth) {&lt;br /&gt;
            dl[i].style.columns = 3&lt;br /&gt;
        } else if (cnt &amp;gt;= 6 &amp;amp;&amp;amp; maxwidth * 2 &amp;lt; dl[i].clientWidth &amp;amp;&amp;amp; maxwidth * 3 &amp;gt; dl[i].clientWidth) {&lt;br /&gt;
            dl[i].style.columns = 2&lt;br /&gt;
        } else {&lt;br /&gt;
            dl[i].style.columns = 1&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Cognates columns&lt;br /&gt;
function cogcol() {&lt;br /&gt;
    var cognates = document.querySelectorAll(&#039;.cognates ul&#039;);&lt;br /&gt;
    for (var c = 0; c &amp;lt; cognates.length; c++) {&lt;br /&gt;
        var widest = null;&lt;br /&gt;
        var widestwidth = 0;&lt;br /&gt;
        var coglis = cognates[c].querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        for (var l = 0; l &amp;lt; coglis.length; l++) {&lt;br /&gt;
            if (widest == null) {&lt;br /&gt;
                widestwidth = coglis[l].clientWidth;&lt;br /&gt;
                widest = l;&lt;br /&gt;
            } else if (widestwidth &amp;lt; coglis[l].clientWidth) {&lt;br /&gt;
                widestwidth = coglis[l].clientWidth;&lt;br /&gt;
                widest = l;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (document.querySelector(&#039;.cognates .reference-text&#039;).clientWidth &amp;gt; (widestwidth + parseFloat(window.getComputedStyle(document.querySelector(&#039;.reference-text ol&#039;))[&#039;marginLeft&#039;])) * 3 + 10 &amp;amp;&amp;amp; cognates[c].querySelectorAll(&#039;li&#039;).length &amp;gt; 7) {&lt;br /&gt;
            cognates[c].style.columnCount = 3;&lt;br /&gt;
        } else if (document.querySelector(&#039;.cognates .reference-text&#039;).clientWidth &amp;gt; (widestwidth + parseFloat(window.getComputedStyle(document.querySelector(&#039;.reference-text ol&#039;))[&#039;marginLeft&#039;])) * 2 + 10 &amp;amp;&amp;amp; cognates[c].querySelectorAll(&#039;li&#039;).length &amp;gt; 4) {&lt;br /&gt;
            cognates[c].style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            cognates[c].style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
excol();&lt;br /&gt;
cogcol();&lt;br /&gt;
window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
    cogcol();&lt;br /&gt;
    excol();&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
if (document.querySelector(&#039;.notelistalpha&#039;) != null &amp;amp;&amp;amp; document.querySelector(&#039;.notelistalpha&#039;).childElementCount &amp;lt; 2) { document.querySelector(&#039;.notelistalpha&#039;).style.visibility = &#039;hidden&#039; };&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
var wlinks = document.getElementsByClassName(&#039;extiw&#039;);&lt;br /&gt;
for (var i = 0; i &amp;lt; wlinks.length; i++) {&lt;br /&gt;
    wlinks[i].title = wlinks[i].title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// CTRL + shortcuts&lt;br /&gt;
document.addEventListener(&amp;quot;keydown&amp;quot;, function(e) {&lt;br /&gt;
    if (e.key === &#039;s&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;[value=&amp;quot;Save changes&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;p&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;[value=&amp;quot;Show preview&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;e&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;r&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
    if (e.key === &#039;g&#039; &amp;amp;&amp;amp; (navigator.platform.match(&amp;quot;Mac&amp;quot;) ? e.metaKey : e.ctrlKey)) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        document.querySelector(&#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;).click();&lt;br /&gt;
    };&lt;br /&gt;
}, false);&lt;br /&gt;
&lt;br /&gt;
// Remove space before citation&lt;br /&gt;
var citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
if (citerefs.length &amp;gt; 0) {&lt;br /&gt;
    for (var i = 0; i &amp;lt; citerefs.length; i++) {&lt;br /&gt;
        if (citerefs[i].childNodes[0].textContent == &#039; &#039;) {&lt;br /&gt;
            citerefs[i].childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    citerefs[0].parentElement.innerHTML = citerefs[0].parentElement.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows&lt;br /&gt;
var entries = &#039;&#039;;&lt;br /&gt;
if (window.location.href.search(&#039;index.php&#039;) &amp;lt; 0 &amp;amp;&amp;amp; window.location.href.lastIndexOf(&#039;:&#039;) == 5) {&lt;br /&gt;
    entries = document.querySelector(&#039;ol&#039;).querySelectorAll(&#039;li&#039;);&lt;br /&gt;
    for (i = 0; i &amp;lt; entries.length; i++) {&lt;br /&gt;
        if (entries[i].innerHTML.match(/&amp;gt; →/g) != null) {&lt;br /&gt;
            var entry = entries[i].innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
            entries[i].innerHTML = &#039;&#039;;&lt;br /&gt;
            entries[i].innerHTML += entry[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
            for (j = 1; j &amp;lt; entry.length - 1; j++) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + (j + 1) + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[j] + &#039;&amp;gt;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            if (entry[entry.length - 1].search(&#039;dl&#039;) &amp;gt; -1 &amp;amp;&amp;amp; entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)).slice(entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)).length - 2) != &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(0, entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;)) + &#039;&amp;amp;nbsp;&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].slice(entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[0].lastIndexOf(&#039; &#039;) + 1) + &#039;&amp;lt;/span&amp;gt;&amp;lt;dl&#039; + entry[entry.length - 1].split(&#039;&amp;lt;dl&#039;)[1];&lt;br /&gt;
            } else if (entry[entry.length - 1].slice(entry[entry.length - 1].lastIndexOf(&#039; &#039;) - 2, entry[entry.length - 1].lastIndexOf(&#039; &#039;)) != &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                entries[i].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1].slice(0, entry[entry.length - 1].lastIndexOf(&#039; &#039;)) + &#039;&amp;amp;nbsp;&#039; + entry[entry.length - 1].slice(entry[entry.length - 1].lastIndexOf(&#039; &#039;) + 1) + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            } else {&lt;br /&gt;
                entries[0].innerHTML += &#039;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(&#039; + entry.length + &#039;em + 0.5ch);text-indent: calc(-1em - 0.5ch)&amp;quot;&amp;gt;&#039; + &#039;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;&#039; + entry[entry.length - 1]&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Remove double spaces &amp;amp; replace Word Connectors * replace → arrow&lt;br /&gt;
if (window.location.href.indexOf(&#039;MediaWiki&#039;) == -1) {&lt;br /&gt;
    document.getElementById(&#039;mw-content-text&#039;).innerHTML = document.getElementById(&#039;mw-content-text&#039;).innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
}&lt;br /&gt;
if (window.location.href.indexOf(&#039;index&#039;) == -1) {&lt;br /&gt;
    document.getElementById(&#039;mw-content-text&#039;).innerHTML = document.getElementById(&#039;mw-content-text&#039;).innerHTML.replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;).replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Zoom Videos&lt;br /&gt;
var zoombtn = document.getElementsByClassName(&amp;quot;enlarge&amp;quot;);&lt;br /&gt;
for (var i = 0; i &amp;lt; zoombtn.length; i++) {&lt;br /&gt;
    zoombtn[i].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;enlarge(&amp;quot; + i + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[i].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Phóng to&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
var video = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
function enlarge(vid) {&lt;br /&gt;
    video[vid].width *= 2;&lt;br /&gt;
    video[vid].height *= 2;&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;smaller(&amp;quot; + vid + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Thu nhỏ&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function smaller(vid) {&lt;br /&gt;
    video[vid].width /= 2;&lt;br /&gt;
    video[vid].height /= 2;&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;height&amp;quot;, video[vid].height + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    video[vid].parentElement.parentElement.parentElement.style.setProperty(&amp;quot;width&amp;quot;, video[vid].width + &amp;quot;px&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;onclick&amp;quot;, &amp;quot;enlarge(&amp;quot; + vid + &amp;quot;)&amp;quot;);&lt;br /&gt;
    zoombtn[vid].setAttribute(&amp;quot;title&amp;quot;, &amp;quot;Thu nhỏ&amp;quot;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17990</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17990"/>
		<updated>2026-04-23T02:17:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17989</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17989"/>
		<updated>2026-04-23T02:15:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
.mw-tmh-play-icon.notheme {&lt;br /&gt;
    --color-base: inherit!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17988</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17988"/>
		<updated>2026-04-23T02:13:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Optimized &amp;amp; Modernized Version (with your requested behaviors preserved)&lt;br /&gt;
&lt;br /&gt;
const optimizeColumns = () =&amp;gt; {&lt;br /&gt;
    // Example columns (excol)&lt;br /&gt;
    document.querySelectorAll(&#039;dl&#039;).forEach(dl =&amp;gt; {&lt;br /&gt;
        let maxWidth = 0;&lt;br /&gt;
        const dds = dl.querySelectorAll(&#039;dd&#039;);&lt;br /&gt;
        const containerWidth = dl.clientWidth;&lt;br /&gt;
&lt;br /&gt;
        dds.forEach(dd =&amp;gt; {&lt;br /&gt;
            dd.style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd.style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
&lt;br /&gt;
            const ddWidth = dd.clientWidth + parseFloat(getComputedStyle(dd).marginLeft || 0);&lt;br /&gt;
&lt;br /&gt;
            if (ddWidth &amp;gt; containerWidth / 2) {&lt;br /&gt;
                dd.style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd.style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            } else if (maxWidth &amp;lt; ddWidth) {&lt;br /&gt;
                maxWidth = ddWidth + 5;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        const count = dds.length;&lt;br /&gt;
        if (count &amp;gt;= 6) {&lt;br /&gt;
            if (maxWidth * 3 &amp;lt; containerWidth) dl.style.columnCount = 3;&lt;br /&gt;
            else if (maxWidth * 2 &amp;lt; containerWidth) dl.style.columnCount = 2;&lt;br /&gt;
            else dl.style.columnCount = 1;&lt;br /&gt;
        } else {&lt;br /&gt;
            dl.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Cognates columns&lt;br /&gt;
    document.querySelectorAll(&#039;.cognates ul&#039;).forEach(ul =&amp;gt; {&lt;br /&gt;
        const lis = ul.querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        if (!lis.length) return;&lt;br /&gt;
&lt;br /&gt;
        let widestWidth = 0;&lt;br /&gt;
        lis.forEach(li =&amp;gt; widestWidth = Math.max(widestWidth, li.clientWidth));&lt;br /&gt;
&lt;br /&gt;
        const refText = document.querySelector(&#039;.cognates .reference-text&#039;);&lt;br /&gt;
        if (!refText) return;&lt;br /&gt;
&lt;br /&gt;
        const refOl = refText.querySelector(&#039;ol&#039;);&lt;br /&gt;
        const marginLeft = refOl ? parseFloat(getComputedStyle(refOl).marginLeft || 0) : 0;&lt;br /&gt;
        const containerWidth = refText.clientWidth;&lt;br /&gt;
        const itemWidth = widestWidth + marginLeft + 10;&lt;br /&gt;
&lt;br /&gt;
        if (lis.length &amp;gt; 7 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 3) {&lt;br /&gt;
            ul.style.columnCount = 3;&lt;br /&gt;
        } else if (lis.length &amp;gt; 4 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 2) {&lt;br /&gt;
            ul.style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            ul.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
const cleanWikiLinks = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;.extiw&#039;).forEach(link =&amp;gt; {&lt;br /&gt;
        link.title = link.title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Keyboard shortcuts&lt;br /&gt;
const setupShortcuts = () =&amp;gt; {&lt;br /&gt;
    document.addEventListener(&#039;keydown&#039;, e =&amp;gt; {&lt;br /&gt;
        const isMac = navigator.platform.includes(&#039;Mac&#039;);&lt;br /&gt;
        if (!(isMac ? e.metaKey : e.ctrlKey)) return;&lt;br /&gt;
&lt;br /&gt;
        const map = {&lt;br /&gt;
            &#039;s&#039;: &#039;[value=&amp;quot;Save changes&amp;quot;]&#039;,&lt;br /&gt;
            &#039;p&#039;: &#039;[value=&amp;quot;Show preview&amp;quot;]&#039;,&lt;br /&gt;
            &#039;e&#039;: &#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;,&lt;br /&gt;
            &#039;r&#039;: &#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;,&lt;br /&gt;
            &#039;g&#039;: &#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        const selector = map[e.key];&lt;br /&gt;
        if (selector) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            var el = document.querySelector(selector);&lt;br /&gt;
            if (el) el.click();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Clean citations&lt;br /&gt;
const cleanCitations = () =&amp;gt; {&lt;br /&gt;
    const citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
    citerefs.forEach(ref =&amp;gt; {&lt;br /&gt;
        if (ref.childNodes[0] &amp;amp;&amp;amp; ref.childNodes[0].textContent === &#039; &#039;) {&lt;br /&gt;
            ref.childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    if (citerefs.length) {&lt;br /&gt;
        const parent = citerefs[0].parentElement;&lt;br /&gt;
        if (parent) {&lt;br /&gt;
            parent.innerHTML = parent.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows - Preserved original fallback entries[0] case&lt;br /&gt;
const processEntryArrows = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.search(&#039;index.php&#039;) &amp;gt;= 0 || window.location.href.lastIndexOf(&#039;:&#039;) !== 5) return;&lt;br /&gt;
&lt;br /&gt;
    var ol = document.querySelector(&#039;ol&#039;);&lt;br /&gt;
    const entries = ol ? ol.querySelectorAll(&#039;li&#039;) : null;&lt;br /&gt;
    if (!entries) return;&lt;br /&gt;
&lt;br /&gt;
    entries.forEach((entryEl, i) =&amp;gt; {&lt;br /&gt;
        if (!entryEl.innerHTML.includes(&#039;&amp;gt; →&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
        const parts = entryEl.innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
        let newHTML = parts[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
        let didFallback = false;  // FIX: flag to track if entries[0] fallback was used&lt;br /&gt;
&lt;br /&gt;
        for (let j = 1; j &amp;lt; parts.length; j++) {&lt;br /&gt;
            if (j &amp;lt; parts.length - 1) {&lt;br /&gt;
                newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${j+1}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Last part - keep original fallback logic&lt;br /&gt;
                if (parts[j].search(&#039;dl&#039;) &amp;gt; -1) {&lt;br /&gt;
                    const beforeDl = parts[j].split(&#039;&amp;lt;dl&#039;)[0];&lt;br /&gt;
                    const lastSpaceIdx = beforeDl.lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    const textBefore = beforeDl.slice(0, lastSpaceIdx);&lt;br /&gt;
                    const lastWord = beforeDl.slice(lastSpaceIdx + 1);&lt;br /&gt;
&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${textBefore}&amp;amp;nbsp;${lastWord}&amp;lt;/span&amp;gt;&amp;lt;dl${parts[j].split(&#039;&amp;lt;dl&#039;)[1]}`;&lt;br /&gt;
                } else if (parts[j].slice(parts[j].lastIndexOf(&#039; &#039;) - 2, parts[j].lastIndexOf(&#039; &#039;)) !== &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                    const lastSpace = parts[j].lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j].slice(0, lastSpace)}&amp;amp;nbsp;${parts[j].slice(lastSpace + 1)}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Original fallback: append to first entry&lt;br /&gt;
                    entries[0].innerHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}`;&lt;br /&gt;
                    didFallback = true;  // FIX: mark that we used the fallback&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // FIX: only overwrite innerHTML if we didn&#039;t use the entries[0] fallback&lt;br /&gt;
        if (!didFallback) {&lt;br /&gt;
            entryEl.innerHTML = newHTML;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Video zoom&lt;br /&gt;
const setupVideoZoom = () =&amp;gt; {&lt;br /&gt;
    const zoombtns = document.getElementsByClassName(&#039;enlarge&#039;);&lt;br /&gt;
    const videos = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
    const resizeVideo = (index, multiply) =&amp;gt; {&lt;br /&gt;
        const vid = videos[index];&lt;br /&gt;
        if (!vid) return;&lt;br /&gt;
&lt;br /&gt;
        vid.width *= multiply;&lt;br /&gt;
        vid.height *= multiply;&lt;br /&gt;
&lt;br /&gt;
        const w = vid.width + &#039;px&#039;;&lt;br /&gt;
        const h = vid.height + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
        vid.style.width = w; vid.style.height = h;&lt;br /&gt;
&lt;br /&gt;
        let parent = vid.parentElement;&lt;br /&gt;
        while (parent &amp;amp;&amp;amp; parent !== document.body) {&lt;br /&gt;
            parent.style.width = w;&lt;br /&gt;
            parent.style.height = h;&lt;br /&gt;
            parent = parent.parentElement;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        const btn = zoombtns[index];&lt;br /&gt;
        if (btn) {&lt;br /&gt;
            const isEnlarge = multiply &amp;gt; 1;&lt;br /&gt;
            btn.onclick = () =&amp;gt; resizeVideo(index, isEnlarge ? 0.5 : 2);&lt;br /&gt;
            btn.title = isEnlarge ? &#039;Thu nhỏ&#039; : &#039;Phóng to&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    Array.from(zoombtns).forEach((btn, i) =&amp;gt; {&lt;br /&gt;
        btn.onclick = () =&amp;gt; resizeVideo(i, 2);&lt;br /&gt;
        btn.title = &#039;Phóng to&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Zoomed text&lt;br /&gt;
// FIX: wrap HTMLCollection with Array.from() before calling .forEach()&lt;br /&gt;
const setupZoomText = () =&amp;gt; {&lt;br /&gt;
    const wrapClass = (className) =&amp;gt; {&lt;br /&gt;
        Array.from(document.getElementsByClassName(className)).forEach(el =&amp;gt; {&lt;br /&gt;
            const html = el.innerHTML;&lt;br /&gt;
            el.innerHTML = `&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;${html}&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; ${html}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;`;&lt;br /&gt;
        });&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    wrapClass(&#039;Hani&#039;);&lt;br /&gt;
    wrapClass(&#039;notHani&#039;);&lt;br /&gt;
&lt;br /&gt;
    document.querySelectorAll(&#039;.ttzoom&#039;).forEach(span =&amp;gt; {&lt;br /&gt;
        if (span.getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
            span.style.left = &#039;-800%&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Hide empty ruby&lt;br /&gt;
const hideEmptyRuby = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;rt&#039;).forEach(rt =&amp;gt; {&lt;br /&gt;
        if (rt.innerText.trim() === &#039;&#039;) rt.style.display = &#039;none&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Replace textimg - original i++ behavior preserved (skips every other element)&lt;br /&gt;
const setTextImgPlaceholders = () =&amp;gt; {&lt;br /&gt;
    const textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
    for (let i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        const img = textimg[i].querySelector(&#039;img&#039;);&lt;br /&gt;
        if (img) img.src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;   // original manual i++ kept exactly as requested&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
const highlightEntry = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
        const id = window.location.href.substring(window.location.href.indexOf(&#039;#&#039;) + 1);&lt;br /&gt;
        const el = document.getElementById(id);&lt;br /&gt;
        if (el &amp;amp;&amp;amp; el.parentElement) {&lt;br /&gt;
            el.parentElement.style.background = &#039;rgba(255,222,100,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Main init&lt;br /&gt;
const init = () =&amp;gt; {&lt;br /&gt;
    optimizeColumns();&lt;br /&gt;
    cleanWikiLinks();&lt;br /&gt;
    setupShortcuts();&lt;br /&gt;
    cleanCitations();&lt;br /&gt;
    processEntryArrows();&lt;br /&gt;
    setupVideoZoom();&lt;br /&gt;
    setupZoomText();&lt;br /&gt;
    hideEmptyRuby();&lt;br /&gt;
    setTextImgPlaceholders();&lt;br /&gt;
    highlightEntry();&lt;br /&gt;
&lt;br /&gt;
    // Empty notelistalpha&lt;br /&gt;
    const notelist = document.querySelector(&#039;.notelistalpha&#039;);&lt;br /&gt;
    if (notelist &amp;amp;&amp;amp; notelist.childElementCount &amp;lt; 2) {&lt;br /&gt;
        notelist.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Global replaces&lt;br /&gt;
    const content = document.getElementById(&#039;mw-content-text&#039;);&lt;br /&gt;
    if (content) {&lt;br /&gt;
        if (window.location.href.indexOf(&#039;MediaWiki&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
        }&lt;br /&gt;
        if (window.location.href.indexOf(&#039;index&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML&lt;br /&gt;
                .replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;)&lt;br /&gt;
                .replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Debounced resize&lt;br /&gt;
    let timeout;&lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
        clearTimeout(timeout);&lt;br /&gt;
        timeout = setTimeout(optimizeColumns, 120);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
}; &lt;br /&gt;
&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, init);&lt;br /&gt;
} else {&lt;br /&gt;
    init();&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17987</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17987"/>
		<updated>2026-04-23T02:10:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Optimized &amp;amp; Modernized Version (with your requested behaviors preserved)&lt;br /&gt;
&lt;br /&gt;
const optimizeColumns = () =&amp;gt; {&lt;br /&gt;
    // Example columns (excol)&lt;br /&gt;
    document.querySelectorAll(&#039;dl&#039;).forEach(dl =&amp;gt; {&lt;br /&gt;
        let maxWidth = 0;&lt;br /&gt;
        const dds = dl.querySelectorAll(&#039;dd&#039;);&lt;br /&gt;
        const containerWidth = dl.clientWidth;&lt;br /&gt;
&lt;br /&gt;
        dds.forEach(dd =&amp;gt; {&lt;br /&gt;
            dd.style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd.style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
&lt;br /&gt;
            const ddWidth = dd.clientWidth + parseFloat(getComputedStyle(dd).marginLeft || 0);&lt;br /&gt;
&lt;br /&gt;
            if (ddWidth &amp;gt; containerWidth / 2) {&lt;br /&gt;
                dd.style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd.style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            } else if (maxWidth &amp;lt; ddWidth) {&lt;br /&gt;
                maxWidth = ddWidth + 5;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        const count = dds.length;&lt;br /&gt;
        if (count &amp;gt;= 6) {&lt;br /&gt;
            if (maxWidth * 3 &amp;lt; containerWidth) dl.style.columnCount = 3;&lt;br /&gt;
            else if (maxWidth * 2 &amp;lt; containerWidth) dl.style.columnCount = 2;&lt;br /&gt;
            else dl.style.columnCount = 1;&lt;br /&gt;
        } else {&lt;br /&gt;
            dl.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Cognates columns&lt;br /&gt;
    document.querySelectorAll(&#039;.cognates ul&#039;).forEach(ul =&amp;gt; {&lt;br /&gt;
        const lis = ul.querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        if (!lis.length) return;&lt;br /&gt;
&lt;br /&gt;
        let widestWidth = 0;&lt;br /&gt;
        lis.forEach(li =&amp;gt; widestWidth = Math.max(widestWidth, li.clientWidth));&lt;br /&gt;
&lt;br /&gt;
        const refText = document.querySelector(&#039;.cognates .reference-text&#039;);&lt;br /&gt;
        if (!refText) return;&lt;br /&gt;
&lt;br /&gt;
        const refOl = refText.querySelector(&#039;ol&#039;);&lt;br /&gt;
        const marginLeft = refOl ? parseFloat(getComputedStyle(refOl).marginLeft || 0) : 0;&lt;br /&gt;
        const containerWidth = refText.clientWidth;&lt;br /&gt;
        const itemWidth = widestWidth + marginLeft + 10;&lt;br /&gt;
&lt;br /&gt;
        if (lis.length &amp;gt; 7 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 3) {&lt;br /&gt;
            ul.style.columnCount = 3;&lt;br /&gt;
        } else if (lis.length &amp;gt; 4 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 2) {&lt;br /&gt;
            ul.style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            ul.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
const cleanWikiLinks = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;.extiw&#039;).forEach(link =&amp;gt; {&lt;br /&gt;
        link.title = link.title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Keyboard shortcuts&lt;br /&gt;
const setupShortcuts = () =&amp;gt; {&lt;br /&gt;
    document.addEventListener(&#039;keydown&#039;, e =&amp;gt; {&lt;br /&gt;
        const isMac = navigator.platform.includes(&#039;Mac&#039;);&lt;br /&gt;
        if (!(isMac ? e.metaKey : e.ctrlKey)) return;&lt;br /&gt;
&lt;br /&gt;
        const map = {&lt;br /&gt;
            &#039;s&#039;: &#039;[value=&amp;quot;Save changes&amp;quot;]&#039;,&lt;br /&gt;
            &#039;p&#039;: &#039;[value=&amp;quot;Show preview&amp;quot;]&#039;,&lt;br /&gt;
            &#039;e&#039;: &#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;,&lt;br /&gt;
            &#039;r&#039;: &#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;,&lt;br /&gt;
            &#039;g&#039;: &#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        const selector = map[e.key];&lt;br /&gt;
        if (selector) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            var el = document.querySelector(selector);&lt;br /&gt;
            if (el) el.click();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Clean citations&lt;br /&gt;
const cleanCitations = () =&amp;gt; {&lt;br /&gt;
    const citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
    citerefs.forEach(ref =&amp;gt; {&lt;br /&gt;
        if (ref.childNodes[0] &amp;amp;&amp;amp; ref.childNodes[0].textContent === &#039; &#039;) {&lt;br /&gt;
            ref.childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    if (citerefs.length) {&lt;br /&gt;
        const parent = citerefs[0].parentElement;&lt;br /&gt;
        if (parent) {&lt;br /&gt;
            parent.innerHTML = parent.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows - Preserved original fallback entries[0] case&lt;br /&gt;
const processEntryArrows = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.search(&#039;index.php&#039;) &amp;gt;= 0 || window.location.href.lastIndexOf(&#039;:&#039;) !== 5) return;&lt;br /&gt;
&lt;br /&gt;
    var ol = document.querySelector(&#039;ol&#039;);&lt;br /&gt;
    const entries = ol ? ol.querySelectorAll(&#039;li&#039;) : null;&lt;br /&gt;
    if (!entries) return;&lt;br /&gt;
&lt;br /&gt;
    entries.forEach((entryEl, i) =&amp;gt; {&lt;br /&gt;
        if (!entryEl.innerHTML.includes(&#039;&amp;gt; →&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
        const parts = entryEl.innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
        let newHTML = parts[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
        let didFallback = false;  // FIX: flag to track if entries[0] fallback was used&lt;br /&gt;
&lt;br /&gt;
        for (let j = 1; j &amp;lt; parts.length; j++) {&lt;br /&gt;
            if (j &amp;lt; parts.length - 1) {&lt;br /&gt;
                newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${j+1}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Last part - keep original fallback logic&lt;br /&gt;
                if (parts[j].search(&#039;dl&#039;) &amp;gt; -1) {&lt;br /&gt;
                    const beforeDl = parts[j].split(&#039;&amp;lt;dl&#039;)[0];&lt;br /&gt;
                    const lastSpaceIdx = beforeDl.lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    const textBefore = beforeDl.slice(0, lastSpaceIdx);&lt;br /&gt;
                    const lastWord = beforeDl.slice(lastSpaceIdx + 1);&lt;br /&gt;
&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${textBefore}&amp;amp;nbsp;${lastWord}&amp;lt;/span&amp;gt;&amp;lt;dl${parts[j].split(&#039;&amp;lt;dl&#039;)[1]}`;&lt;br /&gt;
                } else if (parts[j].slice(parts[j].lastIndexOf(&#039; &#039;) - 2, parts[j].lastIndexOf(&#039; &#039;)) !== &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                    const lastSpace = parts[j].lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j].slice(0, lastSpace)}&amp;amp;nbsp;${parts[j].slice(lastSpace + 1)}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Original fallback: append to first entry&lt;br /&gt;
                    entries[0].innerHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}`;&lt;br /&gt;
                    didFallback = true;  // FIX: mark that we used the fallback&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // FIX: only overwrite innerHTML if we didn&#039;t use the entries[0] fallback&lt;br /&gt;
        if (!didFallback) {&lt;br /&gt;
            entryEl.innerHTML = newHTML;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Video zoom&lt;br /&gt;
const setupVideoZoom = () =&amp;gt; {&lt;br /&gt;
    const zoombtns = document.getElementsByClassName(&#039;enlarge&#039;);&lt;br /&gt;
    const videos = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
    const resizeVideo = (index, multiply) =&amp;gt; {&lt;br /&gt;
        const vid = videos[index];&lt;br /&gt;
        if (!vid) return;&lt;br /&gt;
&lt;br /&gt;
        vid.width *= multiply;&lt;br /&gt;
        vid.height *= multiply;&lt;br /&gt;
&lt;br /&gt;
        const w = vid.width + &#039;px&#039;;&lt;br /&gt;
        const h = vid.height + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
        vid.style.width = w; vid.style.height = h;&lt;br /&gt;
&lt;br /&gt;
        let parent = vid.parentElement;&lt;br /&gt;
        while (parent &amp;amp;&amp;amp; parent !== document.body) {&lt;br /&gt;
            parent.style.width = w;&lt;br /&gt;
            parent.style.height = h;&lt;br /&gt;
            parent = parent.parentElement;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        const btn = zoombtns[index];&lt;br /&gt;
        if (btn) {&lt;br /&gt;
            const isEnlarge = multiply &amp;gt; 1;&lt;br /&gt;
            btn.onclick = () =&amp;gt; resizeVideo(index, isEnlarge ? 0.5 : 2);&lt;br /&gt;
            btn.title = isEnlarge ? &#039;Thu nhỏ&#039; : &#039;Phóng to&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    Array.from(zoombtns).forEach((btn, i) =&amp;gt; {&lt;br /&gt;
        btn.onclick = () =&amp;gt; resizeVideo(i, 2);&lt;br /&gt;
        btn.title = &#039;Phóng to&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Zoomed text&lt;br /&gt;
// FIX: wrap HTMLCollection with Array.from() before calling .forEach()&lt;br /&gt;
const setupZoomText = () =&amp;gt; {&lt;br /&gt;
    const wrapClass = (className) =&amp;gt; {&lt;br /&gt;
        Array.from(document.getElementsByClassName(className)).forEach(el =&amp;gt; {&lt;br /&gt;
            const html = el.innerHTML;&lt;br /&gt;
            el.innerHTML = `&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;${html}&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; ${html}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;`;&lt;br /&gt;
        });&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    wrapClass(&#039;Hani&#039;);&lt;br /&gt;
    wrapClass(&#039;notHani&#039;);&lt;br /&gt;
&lt;br /&gt;
    document.querySelectorAll(&#039;.ttzoom&#039;).forEach(span =&amp;gt; {&lt;br /&gt;
        if (span.getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
            span.style.left = &#039;-800%&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Hide empty ruby&lt;br /&gt;
const hideEmptyRuby = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;rt&#039;).forEach(rt =&amp;gt; {&lt;br /&gt;
        if (rt.innerText.trim() === &#039;&#039;) rt.style.display = &#039;none&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Replace textimg - original i++ behavior preserved (skips every other element)&lt;br /&gt;
const setTextImgPlaceholders = () =&amp;gt; {&lt;br /&gt;
    const textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
    for (let i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        const img = textimg[i].querySelector(&#039;img&#039;);&lt;br /&gt;
        if (img) img.src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;   // original manual i++ kept exactly as requested&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
const highlightEntry = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
        const id = window.location.href.substring(window.location.href.indexOf(&#039;#&#039;) + 1);&lt;br /&gt;
        const el = document.getElementById(id);&lt;br /&gt;
        if (el &amp;amp;&amp;amp; el.parentElement) {&lt;br /&gt;
            el.parentElement.style.background = &#039;rgba(255,222,100,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Main init&lt;br /&gt;
const init = () =&amp;gt; {&lt;br /&gt;
    optimizeColumns();&lt;br /&gt;
    cleanWikiLinks();&lt;br /&gt;
    setupShortcuts();&lt;br /&gt;
    cleanCitations();&lt;br /&gt;
    processEntryArrows();&lt;br /&gt;
    setupVideoZoom();&lt;br /&gt;
    setupZoomText();&lt;br /&gt;
    hideEmptyRuby();&lt;br /&gt;
    setTextImgPlaceholders();&lt;br /&gt;
    highlightEntry();&lt;br /&gt;
&lt;br /&gt;
    // Empty notelistalpha&lt;br /&gt;
    const notelist = document.querySelector(&#039;.notelistalpha&#039;);&lt;br /&gt;
    if (notelist &amp;amp;&amp;amp; notelist.childElementCount &amp;lt; 2) {&lt;br /&gt;
        notelist.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Global replaces&lt;br /&gt;
    const content = document.getElementById(&#039;mw-content-text&#039;);&lt;br /&gt;
    if (content) {&lt;br /&gt;
        if (window.location.href.indexOf(&#039;MediaWiki&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
        }&lt;br /&gt;
        if (window.location.href.indexOf(&#039;index&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML&lt;br /&gt;
                .replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;)&lt;br /&gt;
                .replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Debounced resize&lt;br /&gt;
    let timeout;&lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
        clearTimeout(timeout);&lt;br /&gt;
        timeout = setTimeout(optimizeColumns, 120);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Remove &amp;quot;notheme&amp;quot;&lt;br /&gt;
    document.querySelectorAll(&#039;.mw-tmh-play-icon&#039;).forEach(el =&amp;gt; el.classList.remove(&#039;notheme&#039;));&lt;br /&gt;
&lt;br /&gt;
}; &lt;br /&gt;
&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, init);&lt;br /&gt;
} else {&lt;br /&gt;
    init();&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17986</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17986"/>
		<updated>2026-04-23T02:10:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Optimized &amp;amp; Modernized Version (with your requested behaviors preserved)&lt;br /&gt;
&lt;br /&gt;
const optimizeColumns = () =&amp;gt; {&lt;br /&gt;
    // Example columns (excol)&lt;br /&gt;
    document.querySelectorAll(&#039;dl&#039;).forEach(dl =&amp;gt; {&lt;br /&gt;
        let maxWidth = 0;&lt;br /&gt;
        const dds = dl.querySelectorAll(&#039;dd&#039;);&lt;br /&gt;
        const containerWidth = dl.clientWidth;&lt;br /&gt;
&lt;br /&gt;
        dds.forEach(dd =&amp;gt; {&lt;br /&gt;
            dd.style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd.style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
&lt;br /&gt;
            const ddWidth = dd.clientWidth + parseFloat(getComputedStyle(dd).marginLeft || 0);&lt;br /&gt;
&lt;br /&gt;
            if (ddWidth &amp;gt; containerWidth / 2) {&lt;br /&gt;
                dd.style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd.style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            } else if (maxWidth &amp;lt; ddWidth) {&lt;br /&gt;
                maxWidth = ddWidth + 5;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        const count = dds.length;&lt;br /&gt;
        if (count &amp;gt;= 6) {&lt;br /&gt;
            if (maxWidth * 3 &amp;lt; containerWidth) dl.style.columnCount = 3;&lt;br /&gt;
            else if (maxWidth * 2 &amp;lt; containerWidth) dl.style.columnCount = 2;&lt;br /&gt;
            else dl.style.columnCount = 1;&lt;br /&gt;
        } else {&lt;br /&gt;
            dl.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Cognates columns&lt;br /&gt;
    document.querySelectorAll(&#039;.cognates ul&#039;).forEach(ul =&amp;gt; {&lt;br /&gt;
        const lis = ul.querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        if (!lis.length) return;&lt;br /&gt;
&lt;br /&gt;
        let widestWidth = 0;&lt;br /&gt;
        lis.forEach(li =&amp;gt; widestWidth = Math.max(widestWidth, li.clientWidth));&lt;br /&gt;
&lt;br /&gt;
        const refText = document.querySelector(&#039;.cognates .reference-text&#039;);&lt;br /&gt;
        if (!refText) return;&lt;br /&gt;
&lt;br /&gt;
        const refOl = refText.querySelector(&#039;ol&#039;);&lt;br /&gt;
        const marginLeft = refOl ? parseFloat(getComputedStyle(refOl).marginLeft || 0) : 0;&lt;br /&gt;
        const containerWidth = refText.clientWidth;&lt;br /&gt;
        const itemWidth = widestWidth + marginLeft + 10;&lt;br /&gt;
&lt;br /&gt;
        if (lis.length &amp;gt; 7 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 3) {&lt;br /&gt;
            ul.style.columnCount = 3;&lt;br /&gt;
        } else if (lis.length &amp;gt; 4 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 2) {&lt;br /&gt;
            ul.style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            ul.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
const cleanWikiLinks = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;.extiw&#039;).forEach(link =&amp;gt; {&lt;br /&gt;
        link.title = link.title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Keyboard shortcuts&lt;br /&gt;
const setupShortcuts = () =&amp;gt; {&lt;br /&gt;
    document.addEventListener(&#039;keydown&#039;, e =&amp;gt; {&lt;br /&gt;
        const isMac = navigator.platform.includes(&#039;Mac&#039;);&lt;br /&gt;
        if (!(isMac ? e.metaKey : e.ctrlKey)) return;&lt;br /&gt;
&lt;br /&gt;
        const map = {&lt;br /&gt;
            &#039;s&#039;: &#039;[value=&amp;quot;Save changes&amp;quot;]&#039;,&lt;br /&gt;
            &#039;p&#039;: &#039;[value=&amp;quot;Show preview&amp;quot;]&#039;,&lt;br /&gt;
            &#039;e&#039;: &#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;,&lt;br /&gt;
            &#039;r&#039;: &#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;,&lt;br /&gt;
            &#039;g&#039;: &#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        const selector = map[e.key];&lt;br /&gt;
        if (selector) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            var el = document.querySelector(selector);&lt;br /&gt;
            if (el) el.click();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Clean citations&lt;br /&gt;
const cleanCitations = () =&amp;gt; {&lt;br /&gt;
    const citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
    citerefs.forEach(ref =&amp;gt; {&lt;br /&gt;
        if (ref.childNodes[0] &amp;amp;&amp;amp; ref.childNodes[0].textContent === &#039; &#039;) {&lt;br /&gt;
            ref.childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    if (citerefs.length) {&lt;br /&gt;
        const parent = citerefs[0].parentElement;&lt;br /&gt;
        if (parent) {&lt;br /&gt;
            parent.innerHTML = parent.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows - Preserved original fallback entries[0] case&lt;br /&gt;
const processEntryArrows = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.search(&#039;index.php&#039;) &amp;gt;= 0 || window.location.href.lastIndexOf(&#039;:&#039;) !== 5) return;&lt;br /&gt;
&lt;br /&gt;
    var ol = document.querySelector(&#039;ol&#039;);&lt;br /&gt;
    const entries = ol ? ol.querySelectorAll(&#039;li&#039;) : null;&lt;br /&gt;
    if (!entries) return;&lt;br /&gt;
&lt;br /&gt;
    entries.forEach((entryEl, i) =&amp;gt; {&lt;br /&gt;
        if (!entryEl.innerHTML.includes(&#039;&amp;gt; →&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
        const parts = entryEl.innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
        let newHTML = parts[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
        let didFallback = false;  // FIX: flag to track if entries[0] fallback was used&lt;br /&gt;
&lt;br /&gt;
        for (let j = 1; j &amp;lt; parts.length; j++) {&lt;br /&gt;
            if (j &amp;lt; parts.length - 1) {&lt;br /&gt;
                newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${j+1}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Last part - keep original fallback logic&lt;br /&gt;
                if (parts[j].search(&#039;dl&#039;) &amp;gt; -1) {&lt;br /&gt;
                    const beforeDl = parts[j].split(&#039;&amp;lt;dl&#039;)[0];&lt;br /&gt;
                    const lastSpaceIdx = beforeDl.lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    const textBefore = beforeDl.slice(0, lastSpaceIdx);&lt;br /&gt;
                    const lastWord = beforeDl.slice(lastSpaceIdx + 1);&lt;br /&gt;
&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${textBefore}&amp;amp;nbsp;${lastWord}&amp;lt;/span&amp;gt;&amp;lt;dl${parts[j].split(&#039;&amp;lt;dl&#039;)[1]}`;&lt;br /&gt;
                } else if (parts[j].slice(parts[j].lastIndexOf(&#039; &#039;) - 2, parts[j].lastIndexOf(&#039; &#039;)) !== &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                    const lastSpace = parts[j].lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j].slice(0, lastSpace)}&amp;amp;nbsp;${parts[j].slice(lastSpace + 1)}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Original fallback: append to first entry&lt;br /&gt;
                    entries[0].innerHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}`;&lt;br /&gt;
                    didFallback = true;  // FIX: mark that we used the fallback&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // FIX: only overwrite innerHTML if we didn&#039;t use the entries[0] fallback&lt;br /&gt;
        if (!didFallback) {&lt;br /&gt;
            entryEl.innerHTML = newHTML;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Video zoom&lt;br /&gt;
const setupVideoZoom = () =&amp;gt; {&lt;br /&gt;
    const zoombtns = document.getElementsByClassName(&#039;enlarge&#039;);&lt;br /&gt;
    const videos = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
    const resizeVideo = (index, multiply) =&amp;gt; {&lt;br /&gt;
        const vid = videos[index];&lt;br /&gt;
        if (!vid) return;&lt;br /&gt;
&lt;br /&gt;
        vid.width *= multiply;&lt;br /&gt;
        vid.height *= multiply;&lt;br /&gt;
&lt;br /&gt;
        const w = vid.width + &#039;px&#039;;&lt;br /&gt;
        const h = vid.height + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
        vid.style.width = w; vid.style.height = h;&lt;br /&gt;
&lt;br /&gt;
        let parent = vid.parentElement;&lt;br /&gt;
        while (parent &amp;amp;&amp;amp; parent !== document.body) {&lt;br /&gt;
            parent.style.width = w;&lt;br /&gt;
            parent.style.height = h;&lt;br /&gt;
            parent = parent.parentElement;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        const btn = zoombtns[index];&lt;br /&gt;
        if (btn) {&lt;br /&gt;
            const isEnlarge = multiply &amp;gt; 1;&lt;br /&gt;
            btn.onclick = () =&amp;gt; resizeVideo(index, isEnlarge ? 0.5 : 2);&lt;br /&gt;
            btn.title = isEnlarge ? &#039;Thu nhỏ&#039; : &#039;Phóng to&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    Array.from(zoombtns).forEach((btn, i) =&amp;gt; {&lt;br /&gt;
        btn.onclick = () =&amp;gt; resizeVideo(i, 2);&lt;br /&gt;
        btn.title = &#039;Phóng to&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Zoomed text&lt;br /&gt;
// FIX: wrap HTMLCollection with Array.from() before calling .forEach()&lt;br /&gt;
const setupZoomText = () =&amp;gt; {&lt;br /&gt;
    const wrapClass = (className) =&amp;gt; {&lt;br /&gt;
        Array.from(document.getElementsByClassName(className)).forEach(el =&amp;gt; {&lt;br /&gt;
            const html = el.innerHTML;&lt;br /&gt;
            el.innerHTML = `&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;${html}&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; ${html}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;`;&lt;br /&gt;
        });&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    wrapClass(&#039;Hani&#039;);&lt;br /&gt;
    wrapClass(&#039;notHani&#039;);&lt;br /&gt;
&lt;br /&gt;
    document.querySelectorAll(&#039;.ttzoom&#039;).forEach(span =&amp;gt; {&lt;br /&gt;
        if (span.getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
            span.style.left = &#039;-800%&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Hide empty ruby&lt;br /&gt;
const hideEmptyRuby = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;rt&#039;).forEach(rt =&amp;gt; {&lt;br /&gt;
        if (rt.innerText.trim() === &#039;&#039;) rt.style.display = &#039;none&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Replace textimg - original i++ behavior preserved (skips every other element)&lt;br /&gt;
const setTextImgPlaceholders = () =&amp;gt; {&lt;br /&gt;
    const textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
    for (let i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        const img = textimg[i].querySelector(&#039;img&#039;);&lt;br /&gt;
        if (img) img.src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;   // original manual i++ kept exactly as requested&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
const highlightEntry = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
        const id = window.location.href.substring(window.location.href.indexOf(&#039;#&#039;) + 1);&lt;br /&gt;
        const el = document.getElementById(id);&lt;br /&gt;
        if (el &amp;amp;&amp;amp; el.parentElement) {&lt;br /&gt;
            el.parentElement.style.background = &#039;rgba(255,222,100,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Main init&lt;br /&gt;
const init = () =&amp;gt; {&lt;br /&gt;
    optimizeColumns();&lt;br /&gt;
    cleanWikiLinks();&lt;br /&gt;
    setupShortcuts();&lt;br /&gt;
    cleanCitations();&lt;br /&gt;
    processEntryArrows();&lt;br /&gt;
    setupVideoZoom();&lt;br /&gt;
    setupZoomText();&lt;br /&gt;
    hideEmptyRuby();&lt;br /&gt;
    setTextImgPlaceholders();&lt;br /&gt;
    highlightEntry();&lt;br /&gt;
&lt;br /&gt;
    // Empty notelistalpha&lt;br /&gt;
    const notelist = document.querySelector(&#039;.notelistalpha&#039;);&lt;br /&gt;
    if (notelist &amp;amp;&amp;amp; notelist.childElementCount &amp;lt; 2) {&lt;br /&gt;
        notelist.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Global replaces&lt;br /&gt;
    const content = document.getElementById(&#039;mw-content-text&#039;);&lt;br /&gt;
    if (content) {&lt;br /&gt;
        if (window.location.href.indexOf(&#039;MediaWiki&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
        }&lt;br /&gt;
        if (window.location.href.indexOf(&#039;index&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML&lt;br /&gt;
                .replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;)&lt;br /&gt;
                .replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Debounced resize&lt;br /&gt;
    let timeout;&lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
        clearTimeout(timeout);&lt;br /&gt;
        timeout = setTimeout(optimizeColumns, 120);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Remove &amp;quot;notheme&amp;quot;&lt;br /&gt;
    document.querySelectorAll(&#039;.timedmediaplayer&#039;).forEach(el =&amp;gt; el.classList.remove(&#039;notheme&#039;));&lt;br /&gt;
&lt;br /&gt;
}; &lt;br /&gt;
&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, init);&lt;br /&gt;
} else {&lt;br /&gt;
    init();&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17985</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17985"/>
		<updated>2026-04-23T02:09:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background-color: var(--color-base);&lt;br /&gt;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17984</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17984"/>
		<updated>2026-04-23T01:52:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Optimized &amp;amp; Modernized Version (with your requested behaviors preserved)&lt;br /&gt;
&lt;br /&gt;
const optimizeColumns = () =&amp;gt; {&lt;br /&gt;
    // Example columns (excol)&lt;br /&gt;
    document.querySelectorAll(&#039;dl&#039;).forEach(dl =&amp;gt; {&lt;br /&gt;
        let maxWidth = 0;&lt;br /&gt;
        const dds = dl.querySelectorAll(&#039;dd&#039;);&lt;br /&gt;
        const containerWidth = dl.clientWidth;&lt;br /&gt;
&lt;br /&gt;
        dds.forEach(dd =&amp;gt; {&lt;br /&gt;
            dd.style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd.style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
&lt;br /&gt;
            const ddWidth = dd.clientWidth + parseFloat(getComputedStyle(dd).marginLeft || 0);&lt;br /&gt;
&lt;br /&gt;
            if (ddWidth &amp;gt; containerWidth / 2) {&lt;br /&gt;
                dd.style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd.style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            } else if (maxWidth &amp;lt; ddWidth) {&lt;br /&gt;
                maxWidth = ddWidth + 5;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        const count = dds.length;&lt;br /&gt;
        if (count &amp;gt;= 6) {&lt;br /&gt;
            if (maxWidth * 3 &amp;lt; containerWidth) dl.style.columnCount = 3;&lt;br /&gt;
            else if (maxWidth * 2 &amp;lt; containerWidth) dl.style.columnCount = 2;&lt;br /&gt;
            else dl.style.columnCount = 1;&lt;br /&gt;
        } else {&lt;br /&gt;
            dl.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Cognates columns&lt;br /&gt;
    document.querySelectorAll(&#039;.cognates ul&#039;).forEach(ul =&amp;gt; {&lt;br /&gt;
        const lis = ul.querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        if (!lis.length) return;&lt;br /&gt;
&lt;br /&gt;
        let widestWidth = 0;&lt;br /&gt;
        lis.forEach(li =&amp;gt; widestWidth = Math.max(widestWidth, li.clientWidth));&lt;br /&gt;
&lt;br /&gt;
        const refText = document.querySelector(&#039;.cognates .reference-text&#039;);&lt;br /&gt;
        if (!refText) return;&lt;br /&gt;
&lt;br /&gt;
        const refOl = refText.querySelector(&#039;ol&#039;);&lt;br /&gt;
        const marginLeft = refOl ? parseFloat(getComputedStyle(refOl).marginLeft || 0) : 0;&lt;br /&gt;
        const containerWidth = refText.clientWidth;&lt;br /&gt;
        const itemWidth = widestWidth + marginLeft + 10;&lt;br /&gt;
&lt;br /&gt;
        if (lis.length &amp;gt; 7 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 3) {&lt;br /&gt;
            ul.style.columnCount = 3;&lt;br /&gt;
        } else if (lis.length &amp;gt; 4 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 2) {&lt;br /&gt;
            ul.style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            ul.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
const cleanWikiLinks = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;.extiw&#039;).forEach(link =&amp;gt; {&lt;br /&gt;
        link.title = link.title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Keyboard shortcuts&lt;br /&gt;
const setupShortcuts = () =&amp;gt; {&lt;br /&gt;
    document.addEventListener(&#039;keydown&#039;, e =&amp;gt; {&lt;br /&gt;
        const isMac = navigator.platform.includes(&#039;Mac&#039;);&lt;br /&gt;
        if (!(isMac ? e.metaKey : e.ctrlKey)) return;&lt;br /&gt;
&lt;br /&gt;
        const map = {&lt;br /&gt;
            &#039;s&#039;: &#039;[value=&amp;quot;Save changes&amp;quot;]&#039;,&lt;br /&gt;
            &#039;p&#039;: &#039;[value=&amp;quot;Show preview&amp;quot;]&#039;,&lt;br /&gt;
            &#039;e&#039;: &#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;,&lt;br /&gt;
            &#039;r&#039;: &#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;,&lt;br /&gt;
            &#039;g&#039;: &#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        const selector = map[e.key];&lt;br /&gt;
        if (selector) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            var el = document.querySelector(selector);&lt;br /&gt;
            if (el) el.click();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Clean citations&lt;br /&gt;
const cleanCitations = () =&amp;gt; {&lt;br /&gt;
    const citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
    citerefs.forEach(ref =&amp;gt; {&lt;br /&gt;
        if (ref.childNodes[0] &amp;amp;&amp;amp; ref.childNodes[0].textContent === &#039; &#039;) {&lt;br /&gt;
            ref.childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    if (citerefs.length) {&lt;br /&gt;
        const parent = citerefs[0].parentElement;&lt;br /&gt;
        if (parent) {&lt;br /&gt;
            parent.innerHTML = parent.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows - Preserved original fallback entries[0] case&lt;br /&gt;
const processEntryArrows = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.search(&#039;index.php&#039;) &amp;gt;= 0 || window.location.href.lastIndexOf(&#039;:&#039;) !== 5) return;&lt;br /&gt;
&lt;br /&gt;
    var ol = document.querySelector(&#039;ol&#039;);&lt;br /&gt;
    const entries = ol ? ol.querySelectorAll(&#039;li&#039;) : null;&lt;br /&gt;
    if (!entries) return;&lt;br /&gt;
&lt;br /&gt;
    entries.forEach((entryEl, i) =&amp;gt; {&lt;br /&gt;
        if (!entryEl.innerHTML.includes(&#039;&amp;gt; →&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
        const parts = entryEl.innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
        let newHTML = parts[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
        let didFallback = false;  // FIX: flag to track if entries[0] fallback was used&lt;br /&gt;
&lt;br /&gt;
        for (let j = 1; j &amp;lt; parts.length; j++) {&lt;br /&gt;
            if (j &amp;lt; parts.length - 1) {&lt;br /&gt;
                newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${j+1}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Last part - keep original fallback logic&lt;br /&gt;
                if (parts[j].search(&#039;dl&#039;) &amp;gt; -1) {&lt;br /&gt;
                    const beforeDl = parts[j].split(&#039;&amp;lt;dl&#039;)[0];&lt;br /&gt;
                    const lastSpaceIdx = beforeDl.lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    const textBefore = beforeDl.slice(0, lastSpaceIdx);&lt;br /&gt;
                    const lastWord = beforeDl.slice(lastSpaceIdx + 1);&lt;br /&gt;
&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${textBefore}&amp;amp;nbsp;${lastWord}&amp;lt;/span&amp;gt;&amp;lt;dl${parts[j].split(&#039;&amp;lt;dl&#039;)[1]}`;&lt;br /&gt;
                } else if (parts[j].slice(parts[j].lastIndexOf(&#039; &#039;) - 2, parts[j].lastIndexOf(&#039; &#039;)) !== &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                    const lastSpace = parts[j].lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j].slice(0, lastSpace)}&amp;amp;nbsp;${parts[j].slice(lastSpace + 1)}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Original fallback: append to first entry&lt;br /&gt;
                    entries[0].innerHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}`;&lt;br /&gt;
                    didFallback = true;  // FIX: mark that we used the fallback&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // FIX: only overwrite innerHTML if we didn&#039;t use the entries[0] fallback&lt;br /&gt;
        if (!didFallback) {&lt;br /&gt;
            entryEl.innerHTML = newHTML;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Video zoom&lt;br /&gt;
const setupVideoZoom = () =&amp;gt; {&lt;br /&gt;
    const zoombtns = document.getElementsByClassName(&#039;enlarge&#039;);&lt;br /&gt;
    const videos = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
    const resizeVideo = (index, multiply) =&amp;gt; {&lt;br /&gt;
        const vid = videos[index];&lt;br /&gt;
        if (!vid) return;&lt;br /&gt;
&lt;br /&gt;
        vid.width *= multiply;&lt;br /&gt;
        vid.height *= multiply;&lt;br /&gt;
&lt;br /&gt;
        const w = vid.width + &#039;px&#039;;&lt;br /&gt;
        const h = vid.height + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
        vid.style.width = w; vid.style.height = h;&lt;br /&gt;
&lt;br /&gt;
        let parent = vid.parentElement;&lt;br /&gt;
        while (parent &amp;amp;&amp;amp; parent !== document.body) {&lt;br /&gt;
            parent.style.width = w;&lt;br /&gt;
            parent.style.height = h;&lt;br /&gt;
            parent = parent.parentElement;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        const btn = zoombtns[index];&lt;br /&gt;
        if (btn) {&lt;br /&gt;
            const isEnlarge = multiply &amp;gt; 1;&lt;br /&gt;
            btn.onclick = () =&amp;gt; resizeVideo(index, isEnlarge ? 0.5 : 2);&lt;br /&gt;
            btn.title = isEnlarge ? &#039;Thu nhỏ&#039; : &#039;Phóng to&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    Array.from(zoombtns).forEach((btn, i) =&amp;gt; {&lt;br /&gt;
        btn.onclick = () =&amp;gt; resizeVideo(i, 2);&lt;br /&gt;
        btn.title = &#039;Phóng to&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Zoomed text&lt;br /&gt;
// FIX: wrap HTMLCollection with Array.from() before calling .forEach()&lt;br /&gt;
const setupZoomText = () =&amp;gt; {&lt;br /&gt;
    const wrapClass = (className) =&amp;gt; {&lt;br /&gt;
        Array.from(document.getElementsByClassName(className)).forEach(el =&amp;gt; {&lt;br /&gt;
            const html = el.innerHTML;&lt;br /&gt;
            el.innerHTML = `&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;${html}&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; ${html}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;`;&lt;br /&gt;
        });&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    wrapClass(&#039;Hani&#039;);&lt;br /&gt;
    wrapClass(&#039;notHani&#039;);&lt;br /&gt;
&lt;br /&gt;
    document.querySelectorAll(&#039;.ttzoom&#039;).forEach(span =&amp;gt; {&lt;br /&gt;
        if (span.getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
            span.style.left = &#039;-800%&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Hide empty ruby&lt;br /&gt;
const hideEmptyRuby = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;rt&#039;).forEach(rt =&amp;gt; {&lt;br /&gt;
        if (rt.innerText.trim() === &#039;&#039;) rt.style.display = &#039;none&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Replace textimg - original i++ behavior preserved (skips every other element)&lt;br /&gt;
const setTextImgPlaceholders = () =&amp;gt; {&lt;br /&gt;
    const textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
    for (let i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        const img = textimg[i].querySelector(&#039;img&#039;);&lt;br /&gt;
        if (img) img.src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;   // original manual i++ kept exactly as requested&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
const highlightEntry = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
        const id = window.location.href.substring(window.location.href.indexOf(&#039;#&#039;) + 1);&lt;br /&gt;
        const el = document.getElementById(id);&lt;br /&gt;
        if (el &amp;amp;&amp;amp; el.parentElement) {&lt;br /&gt;
            el.parentElement.style.background = &#039;rgba(255,222,100,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Main init&lt;br /&gt;
const init = () =&amp;gt; {&lt;br /&gt;
    optimizeColumns();&lt;br /&gt;
    cleanWikiLinks();&lt;br /&gt;
    setupShortcuts();&lt;br /&gt;
    cleanCitations();&lt;br /&gt;
    processEntryArrows();&lt;br /&gt;
    setupVideoZoom();&lt;br /&gt;
    setupZoomText();&lt;br /&gt;
    hideEmptyRuby();&lt;br /&gt;
    setTextImgPlaceholders();&lt;br /&gt;
    highlightEntry();&lt;br /&gt;
&lt;br /&gt;
    // Empty notelistalpha&lt;br /&gt;
    const notelist = document.querySelector(&#039;.notelistalpha&#039;);&lt;br /&gt;
    if (notelist &amp;amp;&amp;amp; notelist.childElementCount &amp;lt; 2) {&lt;br /&gt;
        notelist.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Global replaces&lt;br /&gt;
    const content = document.getElementById(&#039;mw-content-text&#039;);&lt;br /&gt;
    if (content) {&lt;br /&gt;
        if (window.location.href.indexOf(&#039;MediaWiki&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
        }&lt;br /&gt;
        if (window.location.href.indexOf(&#039;index&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML&lt;br /&gt;
                .replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;)&lt;br /&gt;
                .replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Debounced resize&lt;br /&gt;
    let timeout;&lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
        clearTimeout(timeout);&lt;br /&gt;
        timeout = setTimeout(optimizeColumns, 120);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, init);&lt;br /&gt;
} else {&lt;br /&gt;
    init();&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17983</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.js&amp;diff=17983"/>
		<updated>2026-04-23T01:29:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Optimized &amp;amp; Modernized Version (with your requested behaviors preserved)&lt;br /&gt;
&lt;br /&gt;
const optimizeColumns = () =&amp;gt; {&lt;br /&gt;
    // Example columns (excol)&lt;br /&gt;
    document.querySelectorAll(&#039;dl&#039;).forEach(dl =&amp;gt; {&lt;br /&gt;
        let maxWidth = 0;&lt;br /&gt;
        const dds = dl.querySelectorAll(&#039;dd&#039;);&lt;br /&gt;
        const containerWidth = dl.clientWidth;&lt;br /&gt;
&lt;br /&gt;
        dds.forEach(dd =&amp;gt; {&lt;br /&gt;
            dd.style.setProperty(&#039;min-width&#039;, &#039;max-content&#039;);&lt;br /&gt;
            dd.style.setProperty(&#039;column-span&#039;, &#039;unset&#039;);&lt;br /&gt;
&lt;br /&gt;
            const ddWidth = dd.clientWidth + parseFloat(getComputedStyle(dd).marginLeft || 0);&lt;br /&gt;
&lt;br /&gt;
            if (ddWidth &amp;gt; containerWidth / 2) {&lt;br /&gt;
                dd.style.setProperty(&#039;min-width&#039;, &#039;calc(100% - 1.6em)&#039;);&lt;br /&gt;
                dd.style.setProperty(&#039;column-span&#039;, &#039;all&#039;);&lt;br /&gt;
            } else if (maxWidth &amp;lt; ddWidth) {&lt;br /&gt;
                maxWidth = ddWidth + 5;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        const count = dds.length;&lt;br /&gt;
        if (count &amp;gt;= 6) {&lt;br /&gt;
            if (maxWidth * 3 &amp;lt; containerWidth) dl.style.columnCount = 3;&lt;br /&gt;
            else if (maxWidth * 2 &amp;lt; containerWidth) dl.style.columnCount = 2;&lt;br /&gt;
            else dl.style.columnCount = 1;&lt;br /&gt;
        } else {&lt;br /&gt;
            dl.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Cognates columns&lt;br /&gt;
    document.querySelectorAll(&#039;.cognates ul&#039;).forEach(ul =&amp;gt; {&lt;br /&gt;
        const lis = ul.querySelectorAll(&#039;li&#039;);&lt;br /&gt;
        if (!lis.length) return;&lt;br /&gt;
&lt;br /&gt;
        let widestWidth = 0;&lt;br /&gt;
        lis.forEach(li =&amp;gt; widestWidth = Math.max(widestWidth, li.clientWidth));&lt;br /&gt;
&lt;br /&gt;
        const refText = document.querySelector(&#039;.cognates .reference-text&#039;);&lt;br /&gt;
        if (!refText) return;&lt;br /&gt;
&lt;br /&gt;
        const refOl = refText.querySelector(&#039;ol&#039;);&lt;br /&gt;
        const marginLeft = refOl ? parseFloat(getComputedStyle(refOl).marginLeft || 0) : 0;&lt;br /&gt;
        const containerWidth = refText.clientWidth;&lt;br /&gt;
        const itemWidth = widestWidth + marginLeft + 10;&lt;br /&gt;
&lt;br /&gt;
        if (lis.length &amp;gt; 7 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 3) {&lt;br /&gt;
            ul.style.columnCount = 3;&lt;br /&gt;
        } else if (lis.length &amp;gt; 4 &amp;amp;&amp;amp; containerWidth &amp;gt; itemWidth * 2) {&lt;br /&gt;
            ul.style.columnCount = 2;&lt;br /&gt;
        } else {&lt;br /&gt;
            ul.style.columnCount = 1;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Wikipedia links&lt;br /&gt;
const cleanWikiLinks = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;.extiw&#039;).forEach(link =&amp;gt; {&lt;br /&gt;
        link.title = link.title.replace(&#039;wikipedia:vi:&#039;, &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Keyboard shortcuts&lt;br /&gt;
const setupShortcuts = () =&amp;gt; {&lt;br /&gt;
    document.addEventListener(&#039;keydown&#039;, e =&amp;gt; {&lt;br /&gt;
        const isMac = navigator.platform.includes(&#039;Mac&#039;);&lt;br /&gt;
        if (!(isMac ? e.metaKey : e.ctrlKey)) return;&lt;br /&gt;
&lt;br /&gt;
        const map = {&lt;br /&gt;
            &#039;s&#039;: &#039;[value=&amp;quot;Save changes&amp;quot;]&#039;,&lt;br /&gt;
            &#039;p&#039;: &#039;[value=&amp;quot;Show preview&amp;quot;]&#039;,&lt;br /&gt;
            &#039;e&#039;: &#039;a[accesskey=&amp;quot;e&amp;quot;]&#039;,&lt;br /&gt;
            &#039;r&#039;: &#039;input[accesskey=&amp;quot;r&amp;quot;]&#039;,&lt;br /&gt;
            &#039;g&#039;: &#039;input[accesskey=&amp;quot;g&amp;quot;]&#039;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        const selector = map[e.key];&lt;br /&gt;
        if (selector) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            document.querySelector(selector)?.click();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Clean citations&lt;br /&gt;
const cleanCitations = () =&amp;gt; {&lt;br /&gt;
    const citerefs = document.querySelectorAll(&#039;[id^=&amp;quot;cite_ref-&amp;quot;]&#039;);&lt;br /&gt;
    citerefs.forEach(ref =&amp;gt; {&lt;br /&gt;
        if (ref.childNodes[0]?.textContent === &#039; &#039;) {&lt;br /&gt;
            ref.childNodes[0].textContent = &#039;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    if (citerefs.length) {&lt;br /&gt;
        const parent = citerefs[0].parentElement;&lt;br /&gt;
        if (parent) {&lt;br /&gt;
            parent.innerHTML = parent.innerHTML.replaceAll(&#039; &amp;lt;sup id=&amp;quot;cite_ref-&#039;, &#039;&amp;lt;sup id=&amp;quot;cite_ref-&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Line-break arrows - Preserved original fallback entries[0] case&lt;br /&gt;
const processEntryArrows = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.search(&#039;index.php&#039;) &amp;gt;= 0 || window.location.href.lastIndexOf(&#039;:&#039;) !== 5) return;&lt;br /&gt;
&lt;br /&gt;
    const entries = document.querySelector(&#039;ol&#039;)?.querySelectorAll(&#039;li&#039;);&lt;br /&gt;
    if (!entries) return;&lt;br /&gt;
&lt;br /&gt;
    entries.forEach((entryEl, i) =&amp;gt; {&lt;br /&gt;
        if (!entryEl.innerHTML.includes(&#039;&amp;gt; →&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
        const parts = entryEl.innerHTML.split(&#039;&amp;gt; →&#039;);&lt;br /&gt;
        let newHTML = parts[0] + &#039;b&amp;gt;&#039;;&lt;br /&gt;
        let didFallback = false;  // FIX: flag to track if entries[0] fallback was used&lt;br /&gt;
&lt;br /&gt;
        for (let j = 1; j &amp;lt; parts.length; j++) {&lt;br /&gt;
            if (j &amp;lt; parts.length - 1) {&lt;br /&gt;
                newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${j+1}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Last part - keep original fallback logic&lt;br /&gt;
                if (parts[j].search(&#039;dl&#039;) &amp;gt; -1) {&lt;br /&gt;
                    const beforeDl = parts[j].split(&#039;&amp;lt;dl&#039;)[0];&lt;br /&gt;
                    const lastSpaceIdx = beforeDl.lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    const textBefore = beforeDl.slice(0, lastSpaceIdx);&lt;br /&gt;
                    const lastWord = beforeDl.slice(lastSpaceIdx + 1);&lt;br /&gt;
&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${textBefore}&amp;amp;nbsp;${lastWord}&amp;lt;/span&amp;gt;&amp;lt;dl${parts[j].split(&#039;&amp;lt;dl&#039;)[1]}`;&lt;br /&gt;
                } else if (parts[j].slice(parts[j].lastIndexOf(&#039; &#039;) - 2, parts[j].lastIndexOf(&#039; &#039;)) !== &#039;&amp;lt;a&#039;) {&lt;br /&gt;
                    const lastSpace = parts[j].lastIndexOf(&#039; &#039;);&lt;br /&gt;
                    newHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j].slice(0, lastSpace)}&amp;amp;nbsp;${parts[j].slice(lastSpace + 1)}&amp;lt;/span&amp;gt;`;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Original fallback: append to first entry&lt;br /&gt;
                    entries[0].innerHTML += `&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block;margin-left:calc(${parts.length}em + 0.5ch);text-indent:calc(-1em - 0.5ch)&amp;quot;&amp;gt;&amp;lt;arrow&amp;gt;↳ &amp;lt;/arrow&amp;gt;${parts[j]}`;&lt;br /&gt;
                    didFallback = true;  // FIX: mark that we used the fallback&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // FIX: only overwrite innerHTML if we didn&#039;t use the entries[0] fallback&lt;br /&gt;
        if (!didFallback) {&lt;br /&gt;
            entryEl.innerHTML = newHTML;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Video zoom&lt;br /&gt;
const setupVideoZoom = () =&amp;gt; {&lt;br /&gt;
    const zoombtns = document.getElementsByClassName(&#039;enlarge&#039;);&lt;br /&gt;
    const videos = document.querySelectorAll(&#039;[title=&amp;quot;Play video&amp;quot;]&#039;);&lt;br /&gt;
&lt;br /&gt;
    const resizeVideo = (index, multiply) =&amp;gt; {&lt;br /&gt;
        const vid = videos[index];&lt;br /&gt;
        if (!vid) return;&lt;br /&gt;
&lt;br /&gt;
        vid.width *= multiply;&lt;br /&gt;
        vid.height *= multiply;&lt;br /&gt;
&lt;br /&gt;
        const w = vid.width + &#039;px&#039;;&lt;br /&gt;
        const h = vid.height + &#039;px&#039;;&lt;br /&gt;
&lt;br /&gt;
        vid.style.width = w; vid.style.height = h;&lt;br /&gt;
&lt;br /&gt;
        let parent = vid.parentElement;&lt;br /&gt;
        while (parent &amp;amp;&amp;amp; parent !== document.body) {&lt;br /&gt;
            parent.style.width = w;&lt;br /&gt;
            parent.style.height = h;&lt;br /&gt;
            parent = parent.parentElement;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        const btn = zoombtns[index];&lt;br /&gt;
        if (btn) {&lt;br /&gt;
            const isEnlarge = multiply &amp;gt; 1;&lt;br /&gt;
            btn.onclick = () =&amp;gt; resizeVideo(index, isEnlarge ? 0.5 : 2);&lt;br /&gt;
            btn.title = isEnlarge ? &#039;Thu nhỏ&#039; : &#039;Phóng to&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    Array.from(zoombtns).forEach((btn, i) =&amp;gt; {&lt;br /&gt;
        btn.onclick = () =&amp;gt; resizeVideo(i, 2);&lt;br /&gt;
        btn.title = &#039;Phóng to&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Zoomed text&lt;br /&gt;
// FIX: wrap HTMLCollection with Array.from() before calling .forEach()&lt;br /&gt;
const setupZoomText = () =&amp;gt; {&lt;br /&gt;
    const wrapClass = (className) =&amp;gt; {&lt;br /&gt;
        Array.from(document.getElementsByClassName(className)).forEach(el =&amp;gt; {&lt;br /&gt;
            const html = el.innerHTML;&lt;br /&gt;
            el.innerHTML = `&amp;lt;div class=&amp;quot;tttext&amp;quot;&amp;gt;${html}&amp;lt;span class=&amp;quot;ttzoom&amp;quot;&amp;gt; ${html}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;`;&lt;br /&gt;
        });&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    wrapClass(&#039;Hani&#039;);&lt;br /&gt;
    wrapClass(&#039;notHani&#039;);&lt;br /&gt;
&lt;br /&gt;
    document.querySelectorAll(&#039;.ttzoom&#039;).forEach(span =&amp;gt; {&lt;br /&gt;
        if (span.getBoundingClientRect().right + 20 &amp;gt; window.innerWidth) {&lt;br /&gt;
            span.style.left = &#039;-800%&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Hide empty ruby&lt;br /&gt;
const hideEmptyRuby = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&#039;rt&#039;).forEach(rt =&amp;gt; {&lt;br /&gt;
        if (rt.innerText.trim() === &#039;&#039;) rt.style.display = &#039;none&#039;;&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Replace textimg - original i++ behavior preserved (skips every other element)&lt;br /&gt;
const setTextImgPlaceholders = () =&amp;gt; {&lt;br /&gt;
    const textimg = document.querySelectorAll(&#039;[class*=&amp;quot;textimg&amp;quot;]&#039;);&lt;br /&gt;
    for (let i = 0; i &amp;lt; textimg.length; i++) {&lt;br /&gt;
        const img = textimg[i].querySelector(&#039;img&#039;);&lt;br /&gt;
        if (img) img.src = &#039;https://www.tunguyentiengviet.com/images/4/47/Placeholder.png&#039;;&lt;br /&gt;
        i++;   // original manual i++ kept exactly as requested&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Highlight entry&lt;br /&gt;
const highlightEntry = () =&amp;gt; {&lt;br /&gt;
    if (window.location.href.includes(&#039;#entry&#039;)) {&lt;br /&gt;
        const id = window.location.href.substring(window.location.href.indexOf(&#039;#&#039;) + 1);&lt;br /&gt;
        const el = document.getElementById(id);&lt;br /&gt;
        if (el?.parentElement) {&lt;br /&gt;
            el.parentElement.style.background = &#039;rgba(255,222,100,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Main init&lt;br /&gt;
const init = () =&amp;gt; {&lt;br /&gt;
    optimizeColumns();&lt;br /&gt;
    cleanWikiLinks();&lt;br /&gt;
    setupShortcuts();&lt;br /&gt;
    cleanCitations();&lt;br /&gt;
    processEntryArrows();&lt;br /&gt;
    setupVideoZoom();&lt;br /&gt;
    setupZoomText();&lt;br /&gt;
    hideEmptyRuby();&lt;br /&gt;
    setTextImgPlaceholders();&lt;br /&gt;
    highlightEntry();&lt;br /&gt;
&lt;br /&gt;
    // Empty notelistalpha&lt;br /&gt;
    const notelist = document.querySelector(&#039;.notelistalpha&#039;);&lt;br /&gt;
    if (notelist &amp;amp;&amp;amp; notelist.childElementCount &amp;lt; 2) {&lt;br /&gt;
        notelist.style.visibility = &#039;hidden&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Global replaces&lt;br /&gt;
    const content = document.getElementById(&#039;mw-content-text&#039;);&lt;br /&gt;
    if (content) {&lt;br /&gt;
        if (window.location.href.indexOf(&#039;MediaWiki&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML.replaceAll(&#039;  &#039;, &#039; &#039;);&lt;br /&gt;
        }&lt;br /&gt;
        if (window.location.href.indexOf(&#039;index&#039;) === -1) {&lt;br /&gt;
            content.innerHTML = content.innerHTML&lt;br /&gt;
                .replaceAll(&#039; &amp;amp;gt; &#039;, &#039;&amp;lt;con&amp;gt; &amp;amp;gt; &amp;lt;/con&amp;gt;&#039;)&lt;br /&gt;
                .replaceAll(&#039; ~ &#039;, &#039;&amp;lt;con&amp;gt; ~ &amp;lt;/con&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Debounced resize&lt;br /&gt;
    let timeout;&lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, () =&amp;gt; {&lt;br /&gt;
        clearTimeout(timeout);&lt;br /&gt;
        timeout = setTimeout(optimizeColumns, 120);&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, init);&lt;br /&gt;
} else {&lt;br /&gt;
    init();&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17982</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17982"/>
		<updated>2026-04-22T09:08:23Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    min-height: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: rgba(0, 0, 0, 0) url(&amp;quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E&amp;quot;) no-repeat center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17981</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17981"/>
		<updated>2026-04-22T09:07:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: rgba(0, 0, 0, 0) url(&amp;quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E&amp;quot;) no-repeat center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17980</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=MediaWiki:Common.css&amp;diff=17980"/>
		<updated>2026-04-22T09:07:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Mã CSS đặt ở đây sẽ áp dụng cho mọi giao diện */&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Khmer);&lt;br /&gt;
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+Cham);&lt;br /&gt;
body {&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
#mw-indicator-mw-helplink, .last-modified-bar, #footer-info-lastmod, .patrollink, #footer-icons, .vector-main-menu-action-opt-out {&lt;br /&gt;
    display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-rcfilters-ui-cell {&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    font-family: sans-serif,Leelawadee UI,Noto Sans Khmer,Noto Sans Cham,Simsun,Unifont;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-body h2 {&lt;br /&gt;
    font-size: 1.1em;&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h1, .mw-body-content h1, .vector-sticky-header-context-bar-primary {&lt;br /&gt;
    font-family: &#039;Times&#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    min-width: max-content;&lt;br /&gt;
    max-width: fit-content;&lt;br /&gt;
    page-break-inside: avoid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#globalWrapper {&lt;br /&gt;
    font-size: 12pt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo-text a {&lt;br /&gt;
    font-variant: none;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.mw-logo-container {&lt;br /&gt;
    max-width:unset;&lt;br /&gt;
}&lt;br /&gt;
a.mw-logo {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* link color */&lt;br /&gt;
.mw-parser-output a.extiw:visited {&lt;br /&gt;
    color: #36b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* nobr template */&lt;br /&gt;
.nobr	{ white-space:nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* External links */&lt;br /&gt;
&lt;br /&gt;
/* a[href^=&amp;quot;http&amp;quot;]:after {&lt;br /&gt;
     content: &amp;quot; &amp;quot; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNqEkIEJwCAMBGPpEs7hHK6hY+gauoZr6Bo6RtqEWkxb6EMQnuM/USEirIoxSmOKwDkhBEwp4VPkb4801Xun9xW4e+9FldYarLUvkBPPOp4JGWOgtSaSt6VWQKUU9nPOEiSIgAmNMdadFTjn7utqrXwh6fLvH9nXhamW5ksMnpfDnw4BBgBfunO056MmqAAAAABJRU5ErkJggg==);&lt;br /&gt;
}&lt;br /&gt;
.mw-parser-output a.external, .link-https {&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    padding-right: 0px;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
/* gal template */&lt;br /&gt;
@media (min-width:801px)  {&lt;br /&gt;
&lt;br /&gt;
li.multimg {&lt;br /&gt;
    width: 32%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
    width: 100%!important;&lt;br /&gt;
    max-width: 302px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbimage {&lt;br /&gt;
    width: calc(100% - 2px);&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a img {&lt;br /&gt;
    max-width: calc(100% - 8px);&lt;br /&gt;
    /* height: auto; */&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
    width: inherit;&lt;br /&gt;
}&lt;br /&gt;
.alignright {&lt;br /&gt;
    text-align: right;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
div.tright {&lt;br /&gt;
    margin: 0.5em 0.4em 1.3em 0.4em;&lt;br /&gt;
}&lt;br /&gt;
.content .thumbcaption, .mw-content-ltr&amp;gt;ul, .mw-category-group ul {&lt;br /&gt;
    text-align: left!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* list indent 0 */&lt;br /&gt;
ol li ul {&lt;br /&gt;
    margin: 0.3em 0 0 0!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-content-ltr ol, .mw-content-rtl .mw-content-ltr ol {&lt;br /&gt;
    margin: 0.3em 0 0 1.6em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ruby text */&lt;br /&gt;
ruby {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    flex-direction: column-reverse;&lt;br /&gt;
    line-height: 1.1em;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notHani {&lt;br /&gt;
    font-family: sans-serif, Leelawadee UI, Noto Sans Khmer, Noto Sans Cham;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rt {&lt;br /&gt;
    font-size:60%;&lt;br /&gt;
    text-align:center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rb:has(&amp;gt; .notHani) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
rb:has(&amp;gt; .notHani.nozoom) {&lt;br /&gt;
    padding-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby, .fognates ruby {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: baseline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ruby.zh {&lt;br /&gt;
    display: inline-flex;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates rt, .fognates rt {&lt;br /&gt;
    font-size: calc(0.9 * 0.9em);&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates rt span:before {&lt;br /&gt;
    content: &amp;quot;\0028&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates rt span:after {&lt;br /&gt;
    content: &amp;quot;\0029&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External Images */&lt;br /&gt;
.img200 img {&lt;br /&gt;
width: 200px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.img50 img {&lt;br /&gt;
width: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltip */&lt;br /&gt;
.note {&lt;br /&gt;
    cursor: help;&lt;br /&gt;
    vertical-align: super;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.message.note, .maybe.note {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zoom text */&lt;br /&gt;
.tttext:hover .ttzoom {&lt;br /&gt;
    visibility: visible;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;br /&gt;
.Hani .tttext .ttzoom {&lt;br /&gt;
    font-family: Kaiti, Simsun;&lt;br /&gt;
}&lt;br /&gt;
.ttzoom {&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    color: #000;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    z-index: 1;&lt;br /&gt;
    left: 100%;&lt;br /&gt;
    bottom: -100%;&lt;br /&gt;
    margin-left: 10px;&lt;br /&gt;
    transition: opacity 0.3s;&lt;br /&gt;
    opacity: 0;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    border: black solid 1px;&lt;br /&gt;
    font-size: 80px;&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    min-width: 1.5em;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    justify-items: center;&lt;br /&gt;
}&lt;br /&gt;
.tttext {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    border-bottom: 1px dotted grey;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .ttzoom {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.nozoom .tttext {&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext {&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 20px;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ttzoom .nomtext img {&lt;br /&gt;
    width: 80px;&lt;br /&gt;
    height: 80px;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tttext&amp;gt;span&amp;gt;span&amp;gt;img {&lt;br /&gt;
    height: 1em;&lt;br /&gt;
    width: 1em;&lt;br /&gt;
    max-width: unset;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.textimg {&lt;br /&gt;
    line-height: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Strikethrough */&lt;br /&gt;
del {&lt;br /&gt;
    text-decoration-color: red;&lt;br /&gt;
    text-decoration-thickness: 2px;&lt;br /&gt;
    text-decoration-style: double;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Note */&lt;br /&gt;
.notelistalpha &amp;gt; div &amp;gt; ol &amp;gt; li {&lt;br /&gt;
    list-style: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha ul li {&lt;br /&gt;
    list-style: disc;&lt;br /&gt;
}&lt;br /&gt;
.notelistalpha li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
.references {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.reference a {&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
.notes,.cognates,.reflist {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.notelistalpha .references&amp;gt;li::marker {&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cognates */&lt;br /&gt;
&lt;br /&gt;
.cognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
    width: calc(100% - 80px);&lt;br /&gt;
}&lt;br /&gt;
.cognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cognates ol.references {&lt;br /&gt;
    counter-reset: cg;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.cognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;cg&amp;quot; counter(cg,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: cg 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
/* Fognates */&lt;br /&gt;
.fognates {&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol&amp;gt;li ol&amp;gt;li {&lt;br /&gt;
    list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates span&amp;gt;ol&amp;gt;li {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates li li {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
    width: max-content;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates h3 {&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    width: calc(100% - 4em);&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.fognates .reference-text ol {&lt;br /&gt;
    margin-left: 1em!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fognates ol.references {&lt;br /&gt;
    counter-reset: fc;&lt;br /&gt;
    margin-left: .6em!important;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li::marker {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.fognates .references&amp;gt;li:before{&lt;br /&gt;
    content: &amp;quot;fc&amp;quot; counter(fc,decimal) &#039;. &#039;;&lt;br /&gt;
    counter-increment: fc 1;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    margin-right: 5px;&lt;br /&gt;
    color: darkred;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol.references &amp;gt; li:not(:first-child) {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    border-top: solid 1px lightgray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reference */&lt;br /&gt;
&lt;br /&gt;
sup[id*=&amp;quot;cite_ref-ref&amp;quot;] a, .note {&lt;br /&gt;
    color: gray;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: x-small;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Maybe */&lt;br /&gt;
.maybe {&lt;br /&gt;
    color:gray;&lt;br /&gt;
    cursor: help;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.maybe:hover {&lt;br /&gt;
    color:#444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner.vright {&lt;br /&gt;
    width: unset!important;&lt;br /&gt;
}&lt;br /&gt;
.enlarge {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.own {&lt;br /&gt;
    color: slateblue;&lt;br /&gt;
}&lt;br /&gt;
.own:hover {&lt;br /&gt;
    color: darkslateblue;&lt;br /&gt;
}&lt;br /&gt;
/* Quote block */&lt;br /&gt;
.quote {&lt;br /&gt;
    border-left: 4px solid #eaecf0;&lt;br /&gt;
    padding: 8px 32px;&lt;br /&gt;
    margin-bottom: 0.5em;&lt;br /&gt;
    margin-inline-end:40px;&lt;br /&gt;
    margin-inline-start:40px;&lt;br /&gt;
    display: flow-root;&lt;br /&gt;
}&lt;br /&gt;
.qsource {&lt;br /&gt;
    float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
@media screen and (min-width: 1000px){&lt;br /&gt;
.mw-footer-container {&lt;br /&gt;
    grid-area: footer;&lt;br /&gt;
    display: block;&lt;br /&gt;
    vertical-align: bottom;&lt;br /&gt;
}&lt;br /&gt;
.mw-footer ul {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    height: fit-content;&lt;br /&gt;
    width: fit-content;&lt;br /&gt;
}&lt;br /&gt;
.mw-page-container-inner {&lt;br /&gt;
    min-height: 100vh; /* Make page full vh for footer to stay at bottom of screen */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline notes */&lt;br /&gt;
.inlinenote {&lt;br /&gt;
    color: darkcyan;&lt;br /&gt;
    font-size: smaller;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Syntax highlighter */&lt;br /&gt;
#wpTextbox0, #wpTextbox1 {&lt;br /&gt;
    padding-left: 1px!important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Br */&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
    margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
.brwithspace {&lt;br /&gt;
    display: block; &lt;br /&gt;
    content: &#039; &#039;; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Audio */&lt;br /&gt;
.mw-tmh-player.audio {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    --inline-controls-bar-height: 20px !important;&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
.video-js {&lt;br /&gt;
    position: static;&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
.mw-file-element.video-js {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
    color: inherit;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control-bar {&lt;br /&gt;
    height: 20px !important;&lt;br /&gt;
    background: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vjs-button &amp;gt; .vjs-icon-placeholder:before {&lt;br /&gt;
    font-size: 20px !important;&lt;br /&gt;
    line-height: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-control {&lt;br /&gt;
    width: 20px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.video-js .vjs-subs-caps-button, .mw-tmh-duration {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {&lt;br /&gt;
    content: &amp;quot;\f107&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play:hover .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:focus .mw-tmh-play-icon, .mw-tmh-player.audio .mw-tmh-play:active .mw-tmh-play-icon {&lt;br /&gt;
    background-color: rgba(0, 0, 0, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-tmh-player.audio .mw-tmh-play .mw-tmh-play-icon {&lt;br /&gt;
    background: rgba(0, 0, 0, 0) url(&amp;quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; height=&#039;20px&#039; viewBox=&#039;0 -960 960 960&#039; width=&#039;20px&#039; fill=&#039;%23000&#039;%3E%3Cpath d=&#039;M560-131v-82q90-26 145-100t55-168q0-94-55-168T560-749v-82q124 28 202 125.5T840-481q0 127-78 224.5T560-131ZM120-360v-240h160l200-200v640L280-360H120Zm440 40v-322q47 22 73.5 66t26.5 96q0 51-26.5 94.5T560-320ZM400-606l-86&#039;/%3E%3C/svg%3E&amp;quot;) no-repeat center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
*:not(.thumbinner) &amp;gt; .video-js.video-js:not(.vjs-fullscreen) {&lt;br /&gt;
    vertical-align: text-bottom;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Word Connectors */&lt;br /&gt;
con {&lt;br /&gt;
    font-weight: normal&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Arrow */&lt;br /&gt;
arrow {&lt;br /&gt;
    font-family: serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 68 indent */&lt;br /&gt;
span.luc {&lt;br /&gt;
    text-indent: 1em;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Example list style */&lt;br /&gt;
dd:has(br.brwithspace)::before {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol dl dd::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
    height: 5px;&lt;br /&gt;
    background-color: grey;&lt;br /&gt;
    width: 5px;&lt;br /&gt;
    display: block;&lt;br /&gt;
    bottom: -1em;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    right: 1em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=X%C3%AC_c%C4%83ng_%C4%91an&amp;diff=17979</id>
		<title>Xì căng đan</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=X%C3%AC_c%C4%83ng_%C4%91an&amp;diff=17979"/>
		<updated>2026-04-22T08:39:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|Pháp|{{rubyS|nozoom=1|scandale|/skɑ̃.dal/}}{{pron|LL-Q150 (fra)-Eihel-scandale.wav}}|}} vụ tai tiếng, vụ bê bối &lt;br /&gt;
#: tạo &#039;&#039;&#039;xì căng đan&#039;&#039;&#039; bẩn để [[nổi]] [[tiếng]]&lt;br /&gt;
{{gal|1|Nixon edited transcripts.jpg|Tổng thống Hoa Kỳ Nixon trong vụ xì căng đan Watergate}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=X%C3%AC_c%C4%83ng_%C4%91an&amp;diff=17978</id>
		<title>Xì căng đan</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=X%C3%AC_c%C4%83ng_%C4%91an&amp;diff=17978"/>
		<updated>2026-04-22T08:29:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|Pháp|{{rubyS|nozoom=1|scandale|/skɑ̃.dal/}}{{pron|LL-Q150 (fra)-Eihel-scandale.wav}}|}} vụ tai tiếng, vụ bê bối &lt;br /&gt;
#: tạo &#039;&#039;&#039;xì căng đan&#039;&#039;&#039; bẩn để [[nổi]] [[tiếng]]&lt;br /&gt;
{{gal|1|Will Smith slaps Chris Rock.jpg|Xì căng đan tại lễ trao giải Oscars 2022, Will Smith tát Chris Rock}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=V%E1%BA%A3&amp;diff=17977</id>
		<title>Vả</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=V%E1%BA%A3&amp;diff=17977"/>
		<updated>2026-04-22T08:21:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|proto-mon-khmer|/*lwaaʔ{{ref|sho2006}}/||entry=1}}{{cog|{{list|{{w|Khmer|{{rubyM|ល្វា|/lvie/}}}}|{{w|Chứt|/ʔavᵊah/}} (Rục)|{{w|Bru|/lawàh/}}|{{w|Ta&#039;Oi|/waʔ/}} (Ngeq)|{{w|Pacoh|va}}|{{w|Riang|/_wɑʔ/}}|{{w|Chong|/lawaː/}} (Kasong)}}}} loài cây thân gỗ có danh pháp &#039;&#039;Ficus auriculata&#039;&#039;, nhiều nhựa trắng, quả mọc thành chùm hoặc đơn lẻ khắp thân và cảnh, to bằng nắm tay, khi chín chuyển màu đỏ thẫm, nhìn giống quả sung nhưng ngon hơn&lt;br /&gt;
#: quả &#039;&#039;&#039;vả&#039;&#039;&#039;&lt;br /&gt;
#: [[lòng]] &#039;&#039;&#039;vả&#039;&#039;&#039; [[cũng]] như [[lòng]] [[sung]]&lt;br /&gt;
#: [[ăn]] quả &#039;&#039;&#039;vả&#039;&#039;&#039; [[trả]] quả [[sung]]&lt;br /&gt;
# {{etym|proto-mon-khmer|/*pah{{ref|sho2006}} ~ *puh{{ref|sho2006}} ~ *puəh{{ref|sho2006}}/||entry=2}} → {{etym|proto-vietic|/*t-pah{{ref|fer2007}}/|}}{{cog|{{list|{{w|mường|pá}}|{{w|chut|/təpah¹/}}|{{w|chut|/mpah/}} (Arem)|{{w|thavung|tapáh}}|{{w|tho|/paː⁵/}} (Cuối Chăm)|{{w|Khmer|{{rubyM|បុះ|/boh/}}}}|{{w|Mnong|pah}}|{{w|Pacoh|páh}}}}}} tát mạnh vào mặt&lt;br /&gt;
#: &#039;&#039;&#039;vả&#039;&#039;&#039; [[cho]] [[vài]] [[cái]]&lt;br /&gt;
#: &#039;&#039;&#039;vả&#039;&#039;&#039; [[vỡ]] [[mồm]]&lt;br /&gt;
# {{etym||[[va]]||entry=3}} + {{etym||[[ấy]]|}} đại từ ngôi thứ ba có hàm ý thân mật hoặc coi thường; rút gọn của &#039;&#039;va ấy&#039;&#039;&lt;br /&gt;
{{gal|3|Trái vả.jpg|Quả vả|210820 015 SD Botanic Garden - Dickinson Family Conservatory, Ficus auriculata Roxburgh Fig.jpg|Lá vả|¡Oh, la sierra! de Xaudaró (cropped).jpg|Vả mặt}}&lt;br /&gt;
{{cogs}}&lt;br /&gt;
{{refs}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=T%C3%A1t&amp;diff=17976</id>
		<title>Tát</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=T%C3%A1t&amp;diff=17976"/>
		<updated>2026-04-22T08:21:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|proto-mon-khmer|/*sac{{ref|sho2006}} ~ *saac{{ref|sho2006}}/||entry=1}}{{cog|{{list|{{w|Khmer|{{rubyM|សាច|/saac/}}}}|{{w|Mon|{{rubyM|သှာတ်|/sat/}}}}|{{w|Chrau|/saːc/}}|{{w|Jeh|/sɔk/}}|{{w|Tarieng|/kasaːc/}}|{{w|Tarieng|/ʔəsok/}} (Kasseng)|{{w|Tarieng|/nsaːc/}} (Kasseng)|{{w|Mnong|/saːc/}}|{{w|Stieng|/chaːc/}} (Bù Lơ)|{{w|Tampuan|/kasaac/}}|{{w|Katu|/kasaac/}} (Dakkang)|{{w|Kui|/saːc/}}|{{w|Ta&#039;Oi|/kasaac/}} (Ngeq)|{{w|Pacoh|xóc}}|{{w|Bru|/ʔasaac/}} (Sô)|{{w|Khsing-Mul|/soːk/}}}}}} → {{etym|Proto-Vietic|/*ʔa-saːc{{ref|fer2007}}/|{{cog|{{list|{{w|Chứt|/saːc⁷/}} (Rục)|{{w|Chứt|/asaːc⁷/}} (Sách)|{{w|Chứt|/atʰaːc/}} (Arem)|{{w|Tho|/saːt⁷/}}|{{w|Pong|/saːc/}}|{{w|Maleng|/saːc⁷/}} (Khả Phong)|{{w|Thavung|/sâ̰ːt/}}}}}}}} dùng tay hoặc công cụ để hắt nước từ nơi này sang nơi khác&lt;br /&gt;
#: &#039;&#039;&#039;tát&#039;&#039;&#039; [[ao]]&lt;br /&gt;
#: &#039;&#039;&#039;tát&#039;&#039;&#039; gàu [[sòng]]&lt;br /&gt;
#: nay &#039;&#039;&#039;tát&#039;&#039;&#039; đầm, [[mai]] &#039;&#039;&#039;tát&#039;&#039;&#039; đìa, [[ngày]] [[kia]] giỗ hậu&lt;br /&gt;
#: [[còn]] [[nước]] [[còn]] &#039;&#039;&#039;tát&#039;&#039;&#039;&lt;br /&gt;
# {{etym|proto-mon-khmer|/*d₁ai[t]{{ref|sho2006}}/||entry=2}}{{cog|{{list|{{w|Mon|{{rubyM|ဒါတ်|/tàt/}}}}|{{w|Mnong|djat}}|{{w|Khasi|dat}}|{{w|Pnar|/dat/}}}}}} đánh mạnh bằng lòng bàn tay lên má&lt;br /&gt;
#: [[cái]] &#039;&#039;&#039;tát&#039;&#039;&#039;&lt;br /&gt;
#: &#039;&#039;&#039;tát&#039;&#039;&#039; [[sưng]] [[má]]&lt;br /&gt;
#: [[ăn]] &#039;&#039;&#039;tát&#039;&#039;&#039;&lt;br /&gt;
#: &#039;&#039;&#039;tát&#039;&#039;&#039; [[tai]]&lt;br /&gt;
{{gal|2|DGJ 1901 - Is that one or two scoops.. (3533421886).jpg|Tát nước bằng gàu|¡Oh, la sierra! de Xaudaró (cropped).jpg|Vợ tát chồng}}&lt;br /&gt;
{{cogs}}&lt;br /&gt;
{{refs}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=M%C3%B4_%C4%91un:Ruby&amp;diff=17975</id>
		<title>Mô đun:Ruby</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=M%C3%B4_%C4%91un:Ruby&amp;diff=17975"/>
		<updated>2026-03-31T09:39:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: Đã lùi lại sửa đổi 17974 của Admin (thảo luận)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local find = mw.ustring.find&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
---Converts the given text to traditional tone marks.&lt;br /&gt;
function p.toTraditionalTones(text)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		text = text.args[1]&lt;br /&gt;
	end&lt;br /&gt;
	return (mw.ustring.gsub(text, &amp;quot;%a+&amp;quot;, function (word)&lt;br /&gt;
		if mw.ustring.match(word, &amp;quot;^qu[yýỳỷỹỵ]$&amp;quot;) then return word end&lt;br /&gt;
		return (mw.ustring.gsub(word, &amp;quot;%a%a$&amp;quot;, {&lt;br /&gt;
			[&amp;quot;oá&amp;quot;] = &amp;quot;óa&amp;quot;, [&amp;quot;oà&amp;quot;] = &amp;quot;òa&amp;quot;, [&amp;quot;oả&amp;quot;] = &amp;quot;ỏa&amp;quot;, [&amp;quot;oã&amp;quot;] = &amp;quot;õa&amp;quot;, [&amp;quot;oạ&amp;quot;] = &amp;quot;ọa&amp;quot;,&lt;br /&gt;
			[&amp;quot;oé&amp;quot;] = &amp;quot;óe&amp;quot;, [&amp;quot;oè&amp;quot;] = &amp;quot;òe&amp;quot;, [&amp;quot;oẻ&amp;quot;] = &amp;quot;ỏe&amp;quot;, [&amp;quot;oẽ&amp;quot;] = &amp;quot;õe&amp;quot;, [&amp;quot;oẹ&amp;quot;] = &amp;quot;ọe&amp;quot;,&lt;br /&gt;
			[&amp;quot;uý&amp;quot;] = &amp;quot;úy&amp;quot;, [&amp;quot;uỳ&amp;quot;] = &amp;quot;ùy&amp;quot;, [&amp;quot;uỷ&amp;quot;] = &amp;quot;ủy&amp;quot;, [&amp;quot;uỹ&amp;quot;] = &amp;quot;ũy&amp;quot;, [&amp;quot;uỵ&amp;quot;] = &amp;quot;ụy&amp;quot;&lt;br /&gt;
		}))&lt;br /&gt;
	end))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Converts the given text to reformed tone marks.&lt;br /&gt;
function p.toReformedTones(text)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		text = text.args[1]&lt;br /&gt;
	end&lt;br /&gt;
	return (mw.ustring.gsub(text, &amp;quot;%a+&amp;quot;, function (word)&lt;br /&gt;
		return (mw.ustring.gsub(word, &amp;quot;%a%a$&amp;quot;, {&lt;br /&gt;
			[&amp;quot;óa&amp;quot;] = &amp;quot;oá&amp;quot;, [&amp;quot;òa&amp;quot;] = &amp;quot;oà&amp;quot;, [&amp;quot;ỏa&amp;quot;] = &amp;quot;oả&amp;quot;, [&amp;quot;õa&amp;quot;] = &amp;quot;oã&amp;quot;, [&amp;quot;ọa&amp;quot;] = &amp;quot;oạ&amp;quot;,&lt;br /&gt;
			[&amp;quot;óe&amp;quot;] = &amp;quot;oé&amp;quot;, [&amp;quot;òe&amp;quot;] = &amp;quot;oè&amp;quot;, [&amp;quot;ỏe&amp;quot;] = &amp;quot;oẻ&amp;quot;, [&amp;quot;õe&amp;quot;] = &amp;quot;oẽ&amp;quot;, [&amp;quot;ọe&amp;quot;] = &amp;quot;oẹ&amp;quot;,&lt;br /&gt;
			[&amp;quot;úy&amp;quot;] = &amp;quot;uý&amp;quot;, [&amp;quot;ùy&amp;quot;] = &amp;quot;uỳ&amp;quot;, [&amp;quot;ủy&amp;quot;] = &amp;quot;uỷ&amp;quot;, [&amp;quot;ũy&amp;quot;] = &amp;quot;uỹ&amp;quot;, [&amp;quot;ụy&amp;quot;] = &amp;quot;uỵ&amp;quot;&lt;br /&gt;
		}))&lt;br /&gt;
	end))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Generate alternative orthographies.&lt;br /&gt;
function p.allSpellings(main_spelling, makeLinks)&lt;br /&gt;
	local frame = nil&lt;br /&gt;
	if type(main_spelling) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		frame = main_spelling&lt;br /&gt;
		main_spelling, makeLinks = frame.args[1], frame.args.link&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local xformers = {&lt;br /&gt;
		p.toTraditionalTones, p.toReformedTones,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local spellings = {}&lt;br /&gt;
	for i, xformer in ipairs(xformers) do&lt;br /&gt;
		local alt_spelling = xformer(main_spelling)&lt;br /&gt;
		if not spellings[alt_spelling] then&lt;br /&gt;
			table.insert(spellings, alt_spelling)&lt;br /&gt;
			spellings[alt_spelling] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if makeLinks then&lt;br /&gt;
		local m_links = require(&amp;quot;Module:links&amp;quot;) -- [[Module:links]]&lt;br /&gt;
		for k, link in ipairs(spellings) do&lt;br /&gt;
			spellings[k] = m_links.full_link({lang = lang, term = link})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return frame and table.concat(spellings, &amp;quot;/&amp;quot;) or spellings&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Unicode codepoints for combining Vietnamese tone marks.&lt;br /&gt;
p.combiningToneMarks = mw.ustring.char(&lt;br /&gt;
	0x300, -- à&lt;br /&gt;
	0x301, -- á&lt;br /&gt;
	0x303, -- ã&lt;br /&gt;
	0x309, -- ả&lt;br /&gt;
	0x323  -- ạ&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
---Unicode codepoints for combining Vietnamese accent marks.&lt;br /&gt;
p.combiningAccentMarks = mw.ustring.char(&lt;br /&gt;
	0x302, -- â&lt;br /&gt;
	0x306, -- ă&lt;br /&gt;
	0x31b  -- ơ&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
---Strips Vietnamese diacritical marks from the given text.&lt;br /&gt;
-- @param tones   Set to “0” to leave tone marks intact.&lt;br /&gt;
-- @param accents  Set to “0” to leave accent marks intact.&lt;br /&gt;
-- @param đ     Set to “0” to leave “Đ” and “đ” intact.&lt;br /&gt;
function p.removeDiacritics(text, toneMarks, accentMarks, stroke)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		text, toneMarks, accentMarks, stroke = text.args[1],&lt;br /&gt;
			not text.args.tones or tonumber(text.args.tones) == 1,&lt;br /&gt;
			not text.args.accents or tonumber(text.args.accents) == 1,&lt;br /&gt;
			not text.args[&amp;quot;đ&amp;quot;] or tonumber(text.args[&amp;quot;đ&amp;quot;]) == 1&lt;br /&gt;
	end&lt;br /&gt;
	text = mw.ustring.toNFD(text)&lt;br /&gt;
	if toneMarks then&lt;br /&gt;
		text = mw.ustring.gsub(text, &amp;quot;[&amp;quot; .. p.combiningToneMarks .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	if accentMarks then&lt;br /&gt;
		text = mw.ustring.gsub(text, &amp;quot;[&amp;quot; .. p.combiningAccentMarks .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	if stroke then&lt;br /&gt;
		text = mw.ustring.gsub(text, &amp;quot;[Đđ]&amp;quot;, {[&amp;quot;Đ&amp;quot;] = &amp;quot;D&amp;quot;, [&amp;quot;đ&amp;quot;] = &amp;quot;d&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	return mw.ustring.toNFC(text)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Vietnamese letters for use in comp().&lt;br /&gt;
p.letters = &amp;quot;aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆfFgGhHiIìÌỉỈĩĨíÍịỊjJkKlLmMnNoOòÒỏỎõÕóÓọỌôÔồỒổỔỗỖốỐộỘơƠờỜởỞỡỠớỚợỢpPqQrRsStTuUùÙủỦũŨúÚụỤưƯừỪửỬữỮứỨựỰvVwWxXyYỳỲỷỶỹỸýÝỵỴzZ&amp;quot;&lt;br /&gt;
&lt;br /&gt;
---Compare two syllables according to Vietnamese dictionary sorting order.&lt;br /&gt;
function p.compWord(word1, word2)&lt;br /&gt;
	if mw.ustring.find(word1, word2, 1, true) == 0 then return false end&lt;br /&gt;
	if mw.ustring.find(word2, word1, 1, true) == 0 then return true end&lt;br /&gt;
	&lt;br /&gt;
	do&lt;br /&gt;
		local func1, static1, var1 = mw.ustring.gmatch(word1, &amp;quot;[&amp;quot; .. p.letters .. &amp;quot;]&amp;quot;)&lt;br /&gt;
		local func2, static2, var2 = mw.ustring.gmatch(word2, &amp;quot;[&amp;quot; .. p.letters .. &amp;quot;]&amp;quot;)&lt;br /&gt;
		while true do&lt;br /&gt;
			local c1 = func1(static1, var1)&lt;br /&gt;
			local c2 = func2(static2, var2)&lt;br /&gt;
			if c1 == nil or c2 == nil then break end&lt;br /&gt;
			&lt;br /&gt;
			local idx1 = mw.ustring.find(p.letters, c1, 1, true)&lt;br /&gt;
			local idx2 = mw.ustring.find(p.letters, c2, 1, true)&lt;br /&gt;
			if idx1 and idx2 then&lt;br /&gt;
				if idx1 &amp;lt; idx2 then return true end&lt;br /&gt;
				if idx1 &amp;gt; idx2 then return false end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return word1 &amp;lt; word2&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Abbreviations and text for Han tu references (used by p.createRefTag())&lt;br /&gt;
---[[Wiktionary:Beer parlour/2018/December#References for Vietnamese readings listed under Template:vi-readings]]&lt;br /&gt;
p.refAbbreviations = {&lt;br /&gt;
	tvctdhv = &amp;quot;Trần (1999)&amp;quot;;&lt;br /&gt;
	hvttd = &amp;quot;Nguyễn (1974)&amp;quot;;&lt;br /&gt;
	vntd = &amp;quot;Văn Mới (1954)&amp;quot;;&lt;br /&gt;
	tchvtd = &amp;quot;Thiều Chửu (1942)&amp;quot;;&lt;br /&gt;
	tdcndg = &amp;quot;Nguyễn (2014)&amp;quot;,&lt;br /&gt;
	tdcntd = &amp;quot;Nguyễn et al. (2009)&amp;quot;,&lt;br /&gt;
	gdhn = &amp;quot;Trần (2004)&amp;quot;,&lt;br /&gt;
	dtdcn = &amp;quot;Vũ (1998)&amp;quot;,&lt;br /&gt;
	btcn = &amp;quot;Hồ (1976)&amp;quot;,&lt;br /&gt;
	bonet = &amp;quot;Bonet (1899)&amp;quot;,&lt;br /&gt;
	genibrel = &amp;quot;Génibrel (1898)&amp;quot;,&lt;br /&gt;
	taberd = &amp;quot;Taberd &amp;amp; Pigneau de Béhaine (1838)&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
---Creates a ref tag containing [[Template:vi-ref]].&lt;br /&gt;
---Expands abbreviations using p.refAbbreviations.&lt;br /&gt;
function p.createRefTag(ref)&lt;br /&gt;
	local refFullName = p.refAbbreviations[ref] or ref&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag{&lt;br /&gt;
		name = &amp;quot;ref&amp;quot;,&lt;br /&gt;
		args = {&lt;br /&gt;
			name = ref,&lt;br /&gt;
		},&lt;br /&gt;
		content = mw.ustring.format(&amp;quot;{{vi-ref|%s.}}&amp;quot;, refFullName),&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---[[Template:vi-readings]]&lt;br /&gt;
function p.readings(hanviet, nom, rs, phienthiet, reading)&lt;br /&gt;
	local pagename = mw.title.getCurrentTitle().text&lt;br /&gt;
	if type(hanviet) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		local args = hanviet:getParent().args&lt;br /&gt;
		hanviet, nom, rs, phienthiet, reading =&lt;br /&gt;
			args.hanviet or args.hv, args.nom or args.n, args.rs or args.sort,&lt;br /&gt;
			args.phienthiet or args.phth or args.fanqie, args.reading or args.readings&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local styles = {&lt;br /&gt;
		{&lt;br /&gt;
			link = &amp;quot;Hán Việt&amp;quot;,&lt;br /&gt;
			cat = &amp;quot;Vietnamese Han tu&amp;quot;,&lt;br /&gt;
			list = hanviet and mw.text.split(hanviet, &amp;quot;%s*,%s*&amp;quot;),&lt;br /&gt;
			phienthiet = phienthiet and mw.text.split(phienthiet, &amp;quot;%s*,%s*&amp;quot;)&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			link = &amp;quot;chữ Nôm|Nôm&amp;quot;,&lt;br /&gt;
			cat = &amp;quot;Vietnamese Nom&amp;quot;,&lt;br /&gt;
			list = nom and mw.text.split(nom, &amp;quot;%s*,%s*&amp;quot;),&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			link = &amp;quot;Hán Nôm&amp;quot;,&lt;br /&gt;
			cat = &amp;quot;Vietnamese Han characters with unconfirmed readings&amp;quot;,&lt;br /&gt;
			list = reading and mw.text.split(reading, &amp;quot;%s*,%s*&amp;quot;)&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
	for i, style in ipairs(styles) do&lt;br /&gt;
		if style.list and #style.list &amp;gt; 0 and #style.list[1] &amp;gt; 0 then&lt;br /&gt;
			local readings = style.list&lt;br /&gt;
--			table.sort(readings, p.comp)&lt;br /&gt;
			for j, reading in ipairs(readings) do&lt;br /&gt;
&lt;br /&gt;
				local ref&lt;br /&gt;
				local a, b = mw.ustring.match(reading, &amp;quot;(.-)%s*%-%s*(.+)&amp;quot;)&lt;br /&gt;
				if a then&lt;br /&gt;
					reading, ref = a, b&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				local spellings = p.allSpellings(reading, true)&lt;br /&gt;
				readings[j] = table.concat(spellings, &amp;quot;/&amp;quot;)&lt;br /&gt;
				&lt;br /&gt;
				-- Linking of &amp;quot;切&amp;quot; to &amp;quot;fanqie&amp;quot; for English explanation&lt;br /&gt;
				if style.phienthiet and style.phienthiet[j] then&lt;br /&gt;
					pruby = &amp;quot;link&amp;quot;&lt;br /&gt;
					local ruby = p.ruby(mw.ustring.match(mw.text.trim(style.phienthiet[j]),&lt;br /&gt;
						&amp;quot;(%a+) +(.+)&amp;quot;))&lt;br /&gt;
					pruby = {}&lt;br /&gt;
					if ruby then&lt;br /&gt;
						pruby = &amp;quot;nocolor&amp;quot;&lt;br /&gt;
						local suffix = p.ruby(&amp;quot;切&amp;quot;, &amp;quot;thiết&amp;quot;)&lt;br /&gt;
						pruby = {}&lt;br /&gt;
						readings[j] = mw.ustring.format(&amp;quot;%s (%s[[fanqie#English|%s]])&amp;quot;,&lt;br /&gt;
							readings[j], ruby, suffix)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- References&lt;br /&gt;
				if ref then&lt;br /&gt;
					for ref in mw.text.gsplit(ref, &amp;quot;%s*;%s*&amp;quot;) do&lt;br /&gt;
						readings[j] = readings[j] .. p.createRefTag(ref)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if #readings &amp;gt; 0 then&lt;br /&gt;
				local sortkey = rs or mw.title.getCurrentTitle().text&lt;br /&gt;
				readings = table.concat(readings, &amp;quot;, &amp;quot;)&lt;br /&gt;
				table.insert(lines, mw.ustring.format(&amp;quot;&amp;lt;span class=&#039;Hani&#039; lang=&#039;vi&#039; style=&#039;font-size: 120%%;font-style: normal!important;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;: &#039;&#039;&#039;[[%s]]&#039;&#039;&#039; readings: %s[[Category:%s|%s]] [[Category:Vietnamese lemmas]] [[Category:Vietnamese Han characters]]&amp;lt;/br&amp;gt;&amp;quot;,&lt;br /&gt;
					pagename, style.link, readings, style.cat, sortkey))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(lines, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---[[Template:vi-ruby]]&lt;br /&gt;
function p.ruby(characters, readings, mark, alts)&lt;br /&gt;
	if type(characters) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		local args = characters:getParent().args&lt;br /&gt;
		characters, readings, mark, alts =&lt;br /&gt;
			args[1] or &amp;quot;&amp;quot;,&lt;br /&gt;
			args[2] or &amp;quot;&amp;quot;,&lt;br /&gt;
			args.mark or mw.title.getCurrentTitle().text,&lt;br /&gt;
			((args.alts and mw.text.split(args.alts, &amp;quot;%s+&amp;quot;)) or&lt;br /&gt;
				(args.ids and mw.text.split(args.ids, &amp;quot;%s+&amp;quot;)) or {})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not readings then&lt;br /&gt;
		return characters&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	readings = mw.text.split(readings, &amp;quot;[^&amp;quot; .. p.letters .. &amp;quot;]+&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local result = {}&lt;br /&gt;
	local character_idx = 1&lt;br /&gt;
	local alt_idx = 1&lt;br /&gt;
	for character in mw.ustring.gmatch(characters, &amp;quot;.&amp;quot;) do&lt;br /&gt;
		local is_alt = false&lt;br /&gt;
		if character == &amp;quot;*&amp;quot; and alts[alt_idx] then&lt;br /&gt;
			character = alts[alt_idx]&lt;br /&gt;
			is_alt = true&lt;br /&gt;
			alt_idx = alt_idx + 1&lt;br /&gt;
		end&lt;br /&gt;
		if is_alt or (mw.ustring.match(character, &amp;quot;^%a$&amp;quot;) and not character:match(&amp;quot;^%w$&amp;quot;)) then&lt;br /&gt;
			local reading = readings[character_idx]&lt;br /&gt;
			if mark and character == mark then&lt;br /&gt;
				character = mw.ustring.format(&amp;quot;&amp;lt;mark&amp;gt;%s&amp;lt;/mark&amp;gt;&amp;quot;, character)&lt;br /&gt;
				reading = mw.ustring.format(&amp;quot;&amp;lt;mark&amp;gt;%s&amp;lt;/mark&amp;gt;&amp;quot;, reading)&lt;br /&gt;
			end&lt;br /&gt;
			if pruby == &#039;link&#039; then&lt;br /&gt;
				character = mw.ustring.format(&lt;br /&gt;
					&amp;quot;&amp;lt;ruby&amp;gt;&amp;lt;rb&amp;gt;&amp;lt;span class=&#039;Hani&#039;; span style=&#039;font-size: 100%%&#039;&amp;gt;[[%s#Vietnamese|%s]]&amp;lt;/span&amp;gt;&amp;lt;/rb&amp;gt;&amp;lt;rp&amp;gt;(&amp;lt;/rp&amp;gt;&amp;lt;rt&amp;gt;&amp;lt;span style=&#039;padding: 0 0.25em; font-size: 120%%;&#039;&amp;gt;[[%s#Vietnamese|%s]]&amp;lt;/span&amp;gt;&amp;lt;/rt&amp;gt;&amp;lt;rp&amp;gt;)&amp;lt;/rp&amp;gt;&amp;lt;/ruby&amp;gt;&amp;quot;,&lt;br /&gt;
					character, character, reading, reading)&lt;br /&gt;
			end&lt;br /&gt;
			if pruby == &#039;nocolor&#039; then&lt;br /&gt;
				character = mw.ustring.format(&lt;br /&gt;
					&amp;quot;&amp;lt;ruby&amp;gt;&amp;lt;rb&amp;gt;&amp;lt;span class=&#039;Hani&#039; style=&#039;color:#000000;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rb&amp;gt;&amp;lt;rp&amp;gt;(&amp;lt;/rp&amp;gt;&amp;lt;rt&amp;gt;&amp;lt;span style=&#039;padding: 0 0.25em; font-size: 120%%;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rt&amp;gt;&amp;lt;rp&amp;gt;)&amp;lt;/rp&amp;gt;&amp;lt;/ruby&amp;gt;&amp;quot;,&lt;br /&gt;
					character, reading)&lt;br /&gt;
			end&lt;br /&gt;
			if pruby ~= &#039;link&#039; and pruby ~= &#039;nocolor&#039; then&lt;br /&gt;
				character = mw.ustring.format(&lt;br /&gt;
					&amp;quot;&amp;lt;ruby&amp;gt;&amp;lt;rb&amp;gt;&amp;lt;span class=&#039;Hani&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rb&amp;gt;&amp;lt;rp&amp;gt;(&amp;lt;/rp&amp;gt;&amp;lt;rt&amp;gt;&amp;lt;span style=&#039;padding: 0 0.25em;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rt&amp;gt;&amp;lt;rp&amp;gt;)&amp;lt;/rp&amp;gt;&amp;lt;/ruby&amp;gt;&amp;quot;,&lt;br /&gt;
					character, reading)&lt;br /&gt;
			end&lt;br /&gt;
			character_idx = character_idx + 1&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(result, character)&lt;br /&gt;
	end&lt;br /&gt;
	return mw.ustring.format(&amp;quot;&amp;lt;span lang=&#039;vi&#039; style=&#039;font-size: 120%%;font-style: normal!important;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;quot;, table.concat(result))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.hantutab()&lt;br /&gt;
	local hantu = mw.ustring.gsub(mw.title.getCurrentTitle().text, &#039;[^一-鿿㐀-䶿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𮯯𰀀-𱍏]&#039;, &#039;&#039;)&lt;br /&gt;
	local table_head = &#039;&amp;lt;table class=&amp;quot;floatright wikitable&amp;quot; style=&amp;quot;text-align:center; font-size:small;&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th colspan=&amp;quot;&#039; .. &lt;br /&gt;
		mw.ustring.len(hantu) .. &lt;br /&gt;
		&#039;&amp;quot; style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;[[Hán tự]] in this term&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr lang=&amp;quot;vi&amp;quot; class=&amp;quot;Hani&amp;quot; style=&amp;quot;font-size:2em; background:white; line-height:1em;&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	return table_head .. &lt;br /&gt;
		mw.ustring.gsub(hantu, &#039;(.)&#039;, &#039;&amp;lt;td style=&amp;quot;padding:0.5em;&amp;quot;&amp;gt;[[%1#Vietnamese|%1]]&amp;lt;/td&amp;gt;&#039;) .. &lt;br /&gt;
		&#039;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Returns the categories indicated by the given wikitext.&lt;br /&gt;
function p.classifierCategories(frame)&lt;br /&gt;
	local src = frame.args[1]&lt;br /&gt;
	local classifiers = {}&lt;br /&gt;
	for classifier in mw.ustring.gmatch(mw.ustring.gsub(src, &amp;quot;&amp;lt;[^&amp;gt;]-&amp;gt;&amp;quot;, &amp;quot;&amp;quot;), &amp;quot;[&amp;quot; .. p.letters .. &amp;quot;]+&amp;quot;) do&lt;br /&gt;
		if classifier ~= &amp;quot;l&amp;quot; and classifier ~= &amp;quot;vi&amp;quot; and classifier ~= &amp;quot;vi-l&amp;quot; and&lt;br /&gt;
				classifier ~= &amp;quot;Vietnamese&amp;quot; then&lt;br /&gt;
			local cat = mw.ustring.format(&amp;quot;[[Category:Vietnamese nouns classified by %s]]&amp;quot;,&lt;br /&gt;
				classifier)&lt;br /&gt;
			table.insert(classifiers, cat)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(classifiers)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.new(frame)&lt;br /&gt;
	local title = mw.title.getCurrentTitle().subpageText&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local pos = args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
	local def = args[2] or &amp;quot;{{rfdef|vi}}&amp;quot;&lt;br /&gt;
	local pos2 = args[3] or (args[4] and &amp;quot;&amp;quot; or false)&lt;br /&gt;
	local def2 = args[4] or &amp;quot;{{rfdef|vi}}&amp;quot;&lt;br /&gt;
	local pos3 = args[5] or (args[6] and &amp;quot;&amp;quot; or false)&lt;br /&gt;
	local def3 = args[6] or &amp;quot;{{rfdef|vi}}&amp;quot;&lt;br /&gt;
	local etym = args[&amp;quot;e&amp;quot;] or false&lt;br /&gt;
	local head = args[&amp;quot;head&amp;quot;] or false&lt;br /&gt;
	local cat = args[&amp;quot;cat&amp;quot;] or false&lt;br /&gt;
	local reg = args[&amp;quot;reg&amp;quot;] or false&lt;br /&gt;
	local cls = args[&amp;quot;cls&amp;quot;] or false&lt;br /&gt;
	local rdp = args[&amp;quot;rdp&amp;quot;] or false&lt;br /&gt;
	local nom = args[&amp;quot;nom&amp;quot;] or false&lt;br /&gt;
	local pic = args[&amp;quot;pic&amp;quot;] or false&lt;br /&gt;
	local picc = args[&amp;quot;picc&amp;quot;] or false&lt;br /&gt;
	&lt;br /&gt;
	nom = nom and mw.ustring.gsub(nom, &amp;quot;(.)&amp;quot;, &amp;quot;[[%1]], &amp;quot;) or false&lt;br /&gt;
	nom = nom and mw.ustring.gsub(nom, &amp;quot;, $&amp;quot;, &amp;quot;&amp;quot;) or false&lt;br /&gt;
	if args[&amp;quot;h&amp;quot;] then&lt;br /&gt;
		etym = &amp;quot;{{vi-etym-sino|&amp;quot; .. args[&amp;quot;h&amp;quot;] .. &amp;quot;}}.&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if not etym and mw.ustring.match(title, &amp;quot; &amp;quot;) then&lt;br /&gt;
		etym = &amp;quot;{{com|vi&amp;quot;&lt;br /&gt;
		for word in mw.text.gsplit(title, &amp;quot; &amp;quot;) do&lt;br /&gt;
			etym = etym .. &amp;quot;|&amp;quot; .. word&lt;br /&gt;
		end&lt;br /&gt;
		etym = etym .. &amp;quot;}}.&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if etym == &amp;quot;-&amp;quot; then etym = false end&lt;br /&gt;
	if etym then etym = mw.ustring.gsub(etym, &amp;quot;^%&amp;lt;&amp;quot;, &amp;quot;From&amp;quot;) end&lt;br /&gt;
	&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local function genTitle(text)&lt;br /&gt;
		local pos_title = {&lt;br /&gt;
			[&amp;quot;&amp;quot;] = &amp;quot;Noun&amp;quot;, [&amp;quot;n&amp;quot;] = &amp;quot;Noun&amp;quot;, [&amp;quot;pn&amp;quot;] = &amp;quot;Proper noun&amp;quot;, [&amp;quot;propn&amp;quot;] = &amp;quot;Proper noun&amp;quot;, [&amp;quot;pron&amp;quot;] = &amp;quot;Pronoun&amp;quot;,&lt;br /&gt;
			[&amp;quot;v&amp;quot;] = &amp;quot;Verb&amp;quot;, [&amp;quot;vf&amp;quot;] = &amp;quot;Verb&amp;quot;, [&amp;quot;a&amp;quot;] = &amp;quot;Adjective&amp;quot;, [&amp;quot;adj&amp;quot;] = &amp;quot;Adjective&amp;quot;, [&amp;quot;adv&amp;quot;] = &amp;quot;Adverb&amp;quot;,&lt;br /&gt;
			[&amp;quot;prep&amp;quot;] = &amp;quot;Preposition&amp;quot;, [&amp;quot;postp&amp;quot;] = &amp;quot;Postposition&amp;quot;, [&amp;quot;conj&amp;quot;] = &amp;quot;Conjunction&amp;quot;,&lt;br /&gt;
			[&amp;quot;part&amp;quot;] = &amp;quot;Particle&amp;quot;, [&amp;quot;suf&amp;quot;] = &amp;quot;Suffix&amp;quot;,&lt;br /&gt;
			[&amp;quot;prov&amp;quot;] = &amp;quot;Proverb&amp;quot;, [&amp;quot;id&amp;quot;] = &amp;quot;Idiom&amp;quot;, [&amp;quot;ph&amp;quot;] = &amp;quot;Phrase&amp;quot;, [&amp;quot;intj&amp;quot;] = &amp;quot;Interjection&amp;quot;, [&amp;quot;interj&amp;quot;] = &amp;quot;Interjection&amp;quot;,&lt;br /&gt;
			[&amp;quot;cl&amp;quot;] = &amp;quot;Classifier&amp;quot;, [&amp;quot;cls&amp;quot;] = &amp;quot;Classifier&amp;quot;, [&amp;quot;num&amp;quot;] = &amp;quot;Numeral&amp;quot;, [&amp;quot;abb&amp;quot;] = &amp;quot;Abbreviation&amp;quot;, [&amp;quot;deter&amp;quot;] = &amp;quot;Determiner&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		return pos_title[text] or mw.ustring.upper(sub(text, 1, 1)) .. sub(text, 2, -1)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function genHead(text)&lt;br /&gt;
		local pos_head = {&lt;br /&gt;
			[&amp;quot;&amp;quot;] = &amp;quot;noun&amp;quot;, [&amp;quot;n&amp;quot;] = &amp;quot;noun&amp;quot;, [&amp;quot;pn&amp;quot;] = &amp;quot;proper noun&amp;quot;, [&amp;quot;propn&amp;quot;] = &amp;quot;proper noun&amp;quot;, [&amp;quot;v&amp;quot;] = &amp;quot;verb&amp;quot;, [&amp;quot;vf&amp;quot;] = &amp;quot;verb form&amp;quot;, [&amp;quot;a&amp;quot;] = &amp;quot;adj&amp;quot;,&lt;br /&gt;
			[&amp;quot;postp&amp;quot;] = &amp;quot;post&amp;quot;, [&amp;quot;conj&amp;quot;] = &amp;quot;conj&amp;quot;, [&amp;quot;part&amp;quot;] = &amp;quot;particle&amp;quot;, [&amp;quot;pron&amp;quot;] = &amp;quot;pronoun&amp;quot;,&lt;br /&gt;
			[&amp;quot;prov&amp;quot;] = &amp;quot;proverb&amp;quot;, [&amp;quot;id&amp;quot;] = &amp;quot;idiom&amp;quot;, [&amp;quot;ph&amp;quot;] = &amp;quot;phrase&amp;quot;, [&amp;quot;intj&amp;quot;] = &amp;quot;interj&amp;quot;,&lt;br /&gt;
			[&amp;quot;abb&amp;quot;] = &amp;quot;abbr&amp;quot;, [&amp;quot;cl&amp;quot;] = &amp;quot;classifier&amp;quot;, [&amp;quot;deter&amp;quot;] = &amp;quot;det&amp;quot;&lt;br /&gt;
		};&lt;br /&gt;
		return pos_head[text] or text&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function other(class, title, args)&lt;br /&gt;
		local code = &amp;quot;&amp;quot;&lt;br /&gt;
		if class == &amp;quot;der&amp;quot; and args[class] then&lt;br /&gt;
			code = code .. &amp;quot;\n\n===&amp;quot; .. title .. &amp;quot;===\n{{col3|vi|&amp;quot; .. args[class]&lt;br /&gt;
			i = 2&lt;br /&gt;
			while args[class .. i] do&lt;br /&gt;
				code = code .. &amp;quot;|&amp;quot; .. args[class .. i]&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			code = code .. &amp;quot;}}&amp;quot;&lt;br /&gt;
		elseif args[class] then&lt;br /&gt;
			code = code .. &amp;quot;\n\n===&amp;quot; .. title .. &amp;quot;===\n* {{l|vi|&amp;quot; .. args[class] .. &amp;quot;}}&amp;quot;&lt;br /&gt;
			i = 2&lt;br /&gt;
			&lt;br /&gt;
			while args[class .. i] do&lt;br /&gt;
				code = code .. &amp;quot;\n* {{l|vi|&amp;quot; .. args[class .. i] .. &amp;quot;}}&amp;quot;&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return code&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	result = result .. &amp;quot;==Vietnamese==&amp;quot;&lt;br /&gt;
	if args[&amp;quot;wp&amp;quot;] then result = result .. &amp;quot;\n{{wikipedia|lang=vi&amp;quot; .. &lt;br /&gt;
		(args[&amp;quot;wp&amp;quot;] == &amp;quot;y&amp;quot; and &amp;quot;&amp;quot; or &amp;quot;|&amp;quot; .. args[&amp;quot;wp&amp;quot;]) .. &amp;quot;}}&amp;quot; end&lt;br /&gt;
	if pic then result = result .. &amp;quot;\n[[File:&amp;quot; .. pic .. &amp;quot;|thumb|&amp;quot; .. &lt;br /&gt;
		(picc or mw.ustring.gsub(title, &#039;^%l&#039;, mw.ustring.upper) .. &amp;quot;.&amp;quot;) .. &amp;quot;]]&amp;quot; end&lt;br /&gt;
	result = result .. other(&amp;quot;alt&amp;quot;, &amp;quot;Alternative forms&amp;quot;, args)&lt;br /&gt;
	&lt;br /&gt;
	if etym then result = result .. &amp;quot;\n\n===Etymology===\n&amp;quot; .. etym end&lt;br /&gt;
	&lt;br /&gt;
	result = result .. &amp;quot;\n\n===Pronunciation===\n{{vi-IPA}}&amp;quot;&lt;br /&gt;
	result = result .. &amp;quot;\n\n===&amp;quot; .. genTitle(pos) .. &amp;quot;===\n{{vi-&amp;quot; .. genHead(pos) .. (head and (&amp;quot;|head=&amp;quot; .. head) or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		((genHead(pos) == &amp;quot;noun&amp;quot; and cls) and &amp;quot;|cls=&amp;quot; .. cls or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		(((genHead(pos) == &amp;quot;adj&amp;quot; or genHead(pos) == &amp;quot;verb&amp;quot; or genHead(pos) == &amp;quot;adv&amp;quot;) and rdp) and &amp;quot;|rdp=&amp;quot; .. rdp or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		(nom and &amp;quot;|&amp;quot; .. nom or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		&amp;quot;}}\n\n# &amp;quot; .. def&lt;br /&gt;
		&lt;br /&gt;
	result = result .. other(&amp;quot;syn&amp;quot;, &amp;quot;=Synonyms=&amp;quot;, args)&lt;br /&gt;
	result = result .. other(&amp;quot;ant&amp;quot;, &amp;quot;=Antonyms=&amp;quot;, args)&lt;br /&gt;
	result = result .. other(&amp;quot;der&amp;quot;, &amp;quot;=Derived terms=&amp;quot;, args)&lt;br /&gt;
	result = result .. other(&amp;quot;also&amp;quot;, &amp;quot;=See also=&amp;quot;, args)&lt;br /&gt;
	&lt;br /&gt;
	if pos2 then&lt;br /&gt;
		result = result .. &amp;quot;\n\n===&amp;quot; .. genTitle(pos2) .. &amp;quot;===\n{{vi-&amp;quot; .. genHead(pos2) .. (head and (&amp;quot;|head=&amp;quot; .. head) or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		((genHead(pos) == &amp;quot;noun&amp;quot; and cls) and &amp;quot;|cls=&amp;quot; .. cls or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		(((genHead(pos2) == &amp;quot;adj&amp;quot; or genHead(pos2) == &amp;quot;verb&amp;quot; or genHead(pos2) == &amp;quot;adv&amp;quot;) and rdp) and &amp;quot;|rdp=&amp;quot; .. rdp or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		(nom and &amp;quot;|&amp;quot; .. nom or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		&amp;quot;}}\n\n# &amp;quot; .. def2&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if pos3 then&lt;br /&gt;
		result = result .. &amp;quot;\n\n===&amp;quot; .. genTitle(pos3) .. &amp;quot;===\n{{vi-&amp;quot; .. genHead(pos3) .. (head and (&amp;quot;|head=&amp;quot; .. head) or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		((genHead(pos) == &amp;quot;noun&amp;quot; and cls) and &amp;quot;|cls=&amp;quot; .. cls or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		(((genHead(pos3) == &amp;quot;adj&amp;quot; or genHead(pos3) == &amp;quot;verb&amp;quot; or genHead(pos3) == &amp;quot;adv&amp;quot;) and rdp) and &amp;quot;|rdp=&amp;quot; .. rdp or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		(nom and &amp;quot;|&amp;quot; .. nom or &amp;quot;&amp;quot;) .. &lt;br /&gt;
		&amp;quot;}}\n\n# &amp;quot; .. def3&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if cat then result = result .. &amp;quot;\n\n{{C|vi|&amp;quot; .. cat .. &amp;quot;}}&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.new_der(frame)&lt;br /&gt;
	local title = mw.title.getCurrentTitle().subpageText&lt;br /&gt;
	local data_module = require(&amp;quot;Module:vi/vocab-list&amp;quot;)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local result = {}&lt;br /&gt;
	for _, arg in ipairs(args) do&lt;br /&gt;
		table.insert(result, arg)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _, word in ipairs(data_module) do&lt;br /&gt;
		if find(word, title) and word ~= title and not find(word, title .. &amp;quot;[^ ]&amp;quot;) and not find(word, &amp;quot;[^ ]&amp;quot; .. title) then&lt;br /&gt;
			table.insert(result, word)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hash, res = {}, {}&lt;br /&gt;
	for _, element in ipairs(result) do&lt;br /&gt;
		if not hash[element] then&lt;br /&gt;
			res[#res + 1] = element&lt;br /&gt;
			hash[element] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local vi_sort_module = require(&amp;quot;Module:vi-sortkey&amp;quot;)&lt;br /&gt;
	local makeSortKey = require(&amp;quot;Module:fun&amp;quot;).memoize(vi_sort_module.makeSortKey)&lt;br /&gt;
	table.sort(res, function(term1, term2) return makeSortKey(term1) &amp;lt; makeSortKey(term2) end)&lt;br /&gt;
	&lt;br /&gt;
	return &amp;quot;{{vi-der|&amp;quot; .. table.concat(res, &amp;quot;|&amp;quot;) .. &amp;quot;}}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.derived(frame)&lt;br /&gt;
	local tu_lay_note = &amp;quot;&amp;lt;span style=\&amp;quot;padding-left:4px; padding-right:4px\&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=\&amp;quot;background:#ffffe0\&amp;quot;&amp;gt;(&#039;&#039;[[từ láy]]&#039;&#039;)&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	local m_columns = require(&amp;quot;Module:columns&amp;quot;)&lt;br /&gt;
	local lang = require(&amp;quot;Module:languages&amp;quot;).getByCode(&amp;quot;vi&amp;quot;)&lt;br /&gt;
	local m_links = require(&amp;quot;Module:links&amp;quot;)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local pagename = mw.title.getCurrentTitle().text&lt;br /&gt;
	local result = {}&lt;br /&gt;
	local length = 0&lt;br /&gt;
	&lt;br /&gt;
	unfold = args[&amp;quot;unfold&amp;quot;] and true or false&lt;br /&gt;
	title = args[&amp;quot;title&amp;quot;] or false&lt;br /&gt;
	title_text = title or &amp;quot;Derived terms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	for i, word in ipairs(args) do&lt;br /&gt;
		word, is_tu_lay = mw.ustring.gsub(word, &amp;quot;%:tl&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
		tu_lay = is_tu_lay &amp;gt; 0 and tu_lay_note or &amp;quot;&amp;quot;&lt;br /&gt;
		local word_parts = mw.text.split(mw.ustring.gsub(word, &amp;quot;\n&amp;quot;, &amp;quot;&amp;quot; ), &amp;quot;:&amp;quot;)&lt;br /&gt;
		table.insert(result, m_links.full_link({ &lt;br /&gt;
			lang = lang, &lt;br /&gt;
			term = word_parts[1], &lt;br /&gt;
			gloss = word_parts[2] or nil }) ..&lt;br /&gt;
			&lt;br /&gt;
		tu_lay)&lt;br /&gt;
		&lt;br /&gt;
		length = math.max(mw.ustring.len(word), length)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return &lt;br /&gt;
		m_columns.create_table(&lt;br /&gt;
			(length &amp;gt; 15 and 2 or 3), &lt;br /&gt;
			result, &lt;br /&gt;
			1, &lt;br /&gt;
			&amp;quot;#F5F5FF&amp;quot;,&lt;br /&gt;
			((unfold or #result &amp;lt; 7) and false or true), &lt;br /&gt;
			&amp;quot;Derived terms&amp;quot;,&lt;br /&gt;
			title_text, &lt;br /&gt;
			nil, &lt;br /&gt;
			nil,&lt;br /&gt;
			lang&lt;br /&gt;
		)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=M%C3%B4_%C4%91un:Ruby&amp;diff=17974</id>
		<title>Mô đun:Ruby</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=M%C3%B4_%C4%91un:Ruby&amp;diff=17974"/>
		<updated>2026-03-31T09:37:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--- Lexicographic tools for Vietnamese language text.&lt;br /&gt;
&lt;br /&gt;
local m_str_utils = require(&amp;quot;Module:string utilities&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local find   = m_str_utils.find&lt;br /&gt;
local format = string.format&lt;br /&gt;
local gmatch = m_str_utils.gmatch&lt;br /&gt;
local gsub   = m_str_utils.gsub&lt;br /&gt;
local len    = m_str_utils.len&lt;br /&gt;
local match  = m_str_utils.match&lt;br /&gt;
local upper  = m_str_utils.upper&lt;br /&gt;
&lt;br /&gt;
local lang   = require(&amp;quot;Module:languages&amp;quot;).getByCode(&amp;quot;vi&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
---Converts the given text to traditional tone marks.&lt;br /&gt;
function p.toTraditionalTones(text)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		text = text.args[1]&lt;br /&gt;
	end&lt;br /&gt;
	return gsub(text, &amp;quot;%a+&amp;quot;, function (word)&lt;br /&gt;
		if match(word, &amp;quot;^qu[yýỳỷỹỵ]$&amp;quot;) then return word end&lt;br /&gt;
		return gsub(word, &amp;quot;%a%a$&amp;quot;, {&lt;br /&gt;
			[&amp;quot;oá&amp;quot;] = &amp;quot;óa&amp;quot;, [&amp;quot;oà&amp;quot;] = &amp;quot;òa&amp;quot;, [&amp;quot;oả&amp;quot;] = &amp;quot;ỏa&amp;quot;, [&amp;quot;oã&amp;quot;] = &amp;quot;õa&amp;quot;, [&amp;quot;oạ&amp;quot;] = &amp;quot;ọa&amp;quot;,&lt;br /&gt;
			[&amp;quot;oé&amp;quot;] = &amp;quot;óe&amp;quot;, [&amp;quot;oè&amp;quot;] = &amp;quot;òe&amp;quot;, [&amp;quot;oẻ&amp;quot;] = &amp;quot;ỏe&amp;quot;, [&amp;quot;oẽ&amp;quot;] = &amp;quot;õe&amp;quot;, [&amp;quot;oẹ&amp;quot;] = &amp;quot;ọe&amp;quot;,&lt;br /&gt;
			[&amp;quot;uý&amp;quot;] = &amp;quot;úy&amp;quot;, [&amp;quot;uỳ&amp;quot;] = &amp;quot;ùy&amp;quot;, [&amp;quot;uỷ&amp;quot;] = &amp;quot;ủy&amp;quot;, [&amp;quot;uỹ&amp;quot;] = &amp;quot;ũy&amp;quot;, [&amp;quot;uỵ&amp;quot;] = &amp;quot;ụy&amp;quot;&lt;br /&gt;
		})&lt;br /&gt;
	end)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Converts the given text to reformed tone marks.&lt;br /&gt;
function p.toReformedTones(text)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		text = text.args[1]&lt;br /&gt;
	end&lt;br /&gt;
	return gsub(text, &amp;quot;%a+&amp;quot;, function (word)&lt;br /&gt;
		return gsub(word, &amp;quot;%a%a$&amp;quot;, {&lt;br /&gt;
			[&amp;quot;óa&amp;quot;] = &amp;quot;oá&amp;quot;, [&amp;quot;òa&amp;quot;] = &amp;quot;oà&amp;quot;, [&amp;quot;ỏa&amp;quot;] = &amp;quot;oả&amp;quot;, [&amp;quot;õa&amp;quot;] = &amp;quot;oã&amp;quot;, [&amp;quot;ọa&amp;quot;] = &amp;quot;oạ&amp;quot;,&lt;br /&gt;
			[&amp;quot;óe&amp;quot;] = &amp;quot;oé&amp;quot;, [&amp;quot;òe&amp;quot;] = &amp;quot;oè&amp;quot;, [&amp;quot;ỏe&amp;quot;] = &amp;quot;oẻ&amp;quot;, [&amp;quot;õe&amp;quot;] = &amp;quot;oẽ&amp;quot;, [&amp;quot;ọe&amp;quot;] = &amp;quot;oẹ&amp;quot;,&lt;br /&gt;
			[&amp;quot;úy&amp;quot;] = &amp;quot;uý&amp;quot;, [&amp;quot;ùy&amp;quot;] = &amp;quot;uỳ&amp;quot;, [&amp;quot;ủy&amp;quot;] = &amp;quot;uỷ&amp;quot;, [&amp;quot;ũy&amp;quot;] = &amp;quot;uỹ&amp;quot;, [&amp;quot;ụy&amp;quot;] = &amp;quot;uỵ&amp;quot;&lt;br /&gt;
		})&lt;br /&gt;
	end)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Generate alternative orthographies.&lt;br /&gt;
function p.allSpellings(main_spelling, makeLinks)&lt;br /&gt;
	local frame = nil&lt;br /&gt;
	if type(main_spelling) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		frame = main_spelling&lt;br /&gt;
		main_spelling, makeLinks = frame.args[1], frame.args.link&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local xformers = {&lt;br /&gt;
		p.toTraditionalTones,&lt;br /&gt;
		p.toReformedTones,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local spellings = {}&lt;br /&gt;
	for _, xformer in ipairs(xformers) do&lt;br /&gt;
		local alt_spelling = xformer(main_spelling)&lt;br /&gt;
		if not spellings[alt_spelling] then&lt;br /&gt;
			table.insert(spellings, alt_spelling)&lt;br /&gt;
			spellings[alt_spelling] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if makeLinks then&lt;br /&gt;
		local m_links = require(&amp;quot;Module:links&amp;quot;)&lt;br /&gt;
		for k, link in ipairs(spellings) do&lt;br /&gt;
			spellings[k] = m_links.full_link({lang = lang, term = link})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return frame and table.concat(spellings, &amp;quot;/&amp;quot;) or spellings&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Unicode codepoints for combining Vietnamese tone marks.&lt;br /&gt;
p.combiningToneMarks = mw.ustring.char(0x300, 0x301, 0x303, 0x309, 0x323)&lt;br /&gt;
&lt;br /&gt;
---Unicode codepoints for combining Vietnamese accent marks.&lt;br /&gt;
p.combiningAccentMarks = mw.ustring.char(0x302, 0x306, 0x31b)&lt;br /&gt;
&lt;br /&gt;
---Strips Vietnamese diacritical marks from the given text.&lt;br /&gt;
function p.removeDiacritics(text, toneMarks, accentMarks, stroke)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		text, toneMarks, accentMarks, stroke = text.args[1],&lt;br /&gt;
			not text.args.tones or tonumber(text.args.tones) == 1,&lt;br /&gt;
			not text.args.accents or tonumber(text.args.accents) == 1,&lt;br /&gt;
			not text.args[&amp;quot;đ&amp;quot;] or tonumber(text.args[&amp;quot;đ&amp;quot;]) == 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	text = mw.ustring.toNFD(text)&lt;br /&gt;
&lt;br /&gt;
	if toneMarks then&lt;br /&gt;
		text = gsub(text, &amp;quot;[&amp;quot; .. p.combiningToneMarks .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	if accentMarks then&lt;br /&gt;
		text = gsub(text, &amp;quot;[&amp;quot; .. p.combiningAccentMarks .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	if stroke then&lt;br /&gt;
		text = gsub(text, &amp;quot;[Đđ]&amp;quot;, {[&amp;quot;Đ&amp;quot;] = &amp;quot;D&amp;quot;, [&amp;quot;đ&amp;quot;] = &amp;quot;d&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.ustring.toNFC(text)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Vietnamese letters for use in comp().&lt;br /&gt;
p.letters = &amp;quot;aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆfFgGhHiIìÌỉỈĩĨíÍịỊjJkKlLmMnNoOòÒỏỎõÕóÓọỌôÔồỒổỔỗỖốỐộỘơƠờỜởỞỡỠớỚợỢpPqQrRsStTuUùÙủỦũŨúÚụỤưƯừỪửỬữỮứỨựỰvVwWxXyYỳỲỷỶỹỸýÝỵỴzZ&amp;quot;&lt;br /&gt;
&lt;br /&gt;
---Compare two syllables according to Vietnamese dictionary sorting order.&lt;br /&gt;
function p.compWord(word1, word2)&lt;br /&gt;
	if find(word1, word2, 1, true) == 1 then return false end&lt;br /&gt;
	if find(word2, word1, 1, true) == 1 then return true end&lt;br /&gt;
&lt;br /&gt;
	local iter1 = gmatch(word1, &amp;quot;[&amp;quot; .. p.letters .. &amp;quot;]&amp;quot;)&lt;br /&gt;
	local iter2 = gmatch(word2, &amp;quot;[&amp;quot; .. p.letters .. &amp;quot;]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	while true do&lt;br /&gt;
		local c1 = iter1()&lt;br /&gt;
		local c2 = iter2()&lt;br /&gt;
		if c1 == nil or c2 == nil then break end&lt;br /&gt;
&lt;br /&gt;
		local idx1 = find(p.letters, c1, 1, true)&lt;br /&gt;
		local idx2 = find(p.letters, c2, 1, true)&lt;br /&gt;
&lt;br /&gt;
		if idx1 and idx2 then&lt;br /&gt;
			if idx1 &amp;lt; idx2 then return true end&lt;br /&gt;
			if idx1 &amp;gt; idx2 then return false end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return word1 &amp;lt; word2&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Abbreviations and text for Han tu references.&lt;br /&gt;
p.refAbbreviations = {&lt;br /&gt;
	tvctdhv = &amp;quot;Trần (1999)&amp;quot;,&lt;br /&gt;
	hvttd   = &amp;quot;Nguyễn (1974)&amp;quot;,&lt;br /&gt;
	vntd    = &amp;quot;Văn Mới (1954)&amp;quot;,&lt;br /&gt;
	tchvtd  = &amp;quot;Thiều Chửu (1942)&amp;quot;,&lt;br /&gt;
	tdcndg  = &amp;quot;Nguyễn (2014)&amp;quot;,&lt;br /&gt;
	tdcntd  = &amp;quot;Nguyễn et al. (2009)&amp;quot;,&lt;br /&gt;
	gdhn    = &amp;quot;Trần (2004)&amp;quot;,&lt;br /&gt;
	dtdcn   = &amp;quot;Vũ (1998)&amp;quot;,&lt;br /&gt;
	btcn    = &amp;quot;Hồ (1976)&amp;quot;,&lt;br /&gt;
	bonet   = &amp;quot;Bonet (1899)&amp;quot;,&lt;br /&gt;
	genibrel= &amp;quot;Génibrel (1898)&amp;quot;,&lt;br /&gt;
	taberd  = &amp;quot;Taberd &amp;amp; Pigneau de Béhaine (1838)&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
---Creates a ref tag containing [[Template:vi-ref]].&lt;br /&gt;
function p.createRefTag(ref)&lt;br /&gt;
	local refFullName = p.refAbbreviations[ref] or ref&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag{&lt;br /&gt;
		name = &amp;quot;ref&amp;quot;,&lt;br /&gt;
		args = { name = ref },&lt;br /&gt;
		content = format(&amp;quot;{{vi-ref|%s.}}&amp;quot;, refFullName)&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---[[Template:vi-readings]]&lt;br /&gt;
function p.readings(hanviet, nom, rs, phienthiet, reading)&lt;br /&gt;
	local pagename = mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename&lt;br /&gt;
&lt;br /&gt;
	if type(hanviet) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		local args = hanviet:getParent().args&lt;br /&gt;
		hanviet, nom, rs, phienthiet, reading =&lt;br /&gt;
			args.hanviet or args.hv, args.nom or args.n, args.rs or args.sort,&lt;br /&gt;
			args.phienthiet or args.phth or args.fanqie, args.reading or args.readings&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local styles = {&lt;br /&gt;
		{&lt;br /&gt;
			link = &amp;quot;Hán Việt&amp;quot;,&lt;br /&gt;
			cat = &amp;quot;Vietnamese Chữ Hán&amp;quot;,&lt;br /&gt;
			list = hanviet and mw.text.split(hanviet, &amp;quot;%s*,%s*&amp;quot;),&lt;br /&gt;
			phienthiet = phienthiet and mw.text.split(phienthiet, &amp;quot;%s*,%s*&amp;quot;)&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			link = &amp;quot;chữ Nôm|Nôm&amp;quot;,&lt;br /&gt;
			cat = &amp;quot;Vietnamese Nom&amp;quot;,&lt;br /&gt;
			list = nom and mw.text.split(nom, &amp;quot;%s*,%s*&amp;quot;),&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			link = &amp;quot;Hán Nôm&amp;quot;,&lt;br /&gt;
			cat = &amp;quot;Vietnamese Han characters with unconfirmed readings&amp;quot;,&lt;br /&gt;
			list = reading and mw.text.split(reading, &amp;quot;%s*,%s*&amp;quot;)&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for _, style in ipairs(styles) do&lt;br /&gt;
		if style.list and #style.list &amp;gt; 0 and #style.list[1] &amp;gt; 0 then&lt;br /&gt;
			local readings = style.list&lt;br /&gt;
&lt;br /&gt;
			for j, reading in ipairs(readings) do&lt;br /&gt;
				local ref&lt;br /&gt;
				local a, b = match(reading, &amp;quot;(.-)%s*%-%s*(.+)&amp;quot;)&lt;br /&gt;
				if a then&lt;br /&gt;
					reading, ref = a, b&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				local spellings = p.allSpellings(reading, true)&lt;br /&gt;
				readings[j] = table.concat(spellings, &amp;quot;/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
				-- Linking of &amp;quot;切&amp;quot; to &amp;quot;fanqie&amp;quot;&lt;br /&gt;
				if style.phienthiet and style.phienthiet[j] then&lt;br /&gt;
					local pruby = &amp;quot;link&amp;quot;&lt;br /&gt;
					local ruby = p.ruby(match(mw.text.trim(style.phienthiet[j]), &amp;quot;(%a+) +(.+)&amp;quot;))&lt;br /&gt;
					if ruby then&lt;br /&gt;
						pruby = &amp;quot;nocolor&amp;quot;&lt;br /&gt;
						local suffix = p.ruby(&amp;quot;切&amp;quot;, &amp;quot;thiết&amp;quot;)&lt;br /&gt;
						readings[j] = format(&amp;quot;%s (%s[[fanqie#English|%s]])&amp;quot;, readings[j], ruby, suffix)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- References&lt;br /&gt;
				if ref then&lt;br /&gt;
					for r in mw.text.gsplit(ref, &amp;quot;%s*;%s*&amp;quot;) do&lt;br /&gt;
						readings[j] = readings[j] .. p.createRefTag(r)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if #readings &amp;gt; 0 then&lt;br /&gt;
				local sortkey = rs or pagename&lt;br /&gt;
				readings = table.concat(readings, &amp;quot;, &amp;quot;)&lt;br /&gt;
				table.insert(lines, format(&lt;br /&gt;
					&amp;quot;&amp;lt;span class=&#039;Hani&#039; lang=&#039;vi&#039; style=&#039;font-size: 135%%;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;: &#039;&#039;&#039;[[%s]]&#039;&#039;&#039; readings: %s[[Category:%s|%s]] [[Category:Vietnamese lemmas]] [[Category:Vietnamese Han characters]]&amp;lt;/br&amp;gt;&amp;quot;,&lt;br /&gt;
					pagename, style.link, readings, style.cat, sortkey))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat(lines, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---[[Template:vi-ruby]]&lt;br /&gt;
local pruby = {}  -- shared state used by readings() and ruby()&lt;br /&gt;
&lt;br /&gt;
function p.ruby(characters, readings, mark, alts)&lt;br /&gt;
	if type(characters) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		local args = characters:getParent().args&lt;br /&gt;
		characters, readings, mark, alts =&lt;br /&gt;
			args[1] or &amp;quot;&amp;quot;,&lt;br /&gt;
			args[2] or &amp;quot;&amp;quot;,&lt;br /&gt;
			args.mark or mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename,&lt;br /&gt;
			((args.alts and mw.text.split(args.alts, &amp;quot;%s+&amp;quot;)) or&lt;br /&gt;
			 (args.ids and mw.text.split(args.ids, &amp;quot;%s+&amp;quot;)) or {})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not readings then&lt;br /&gt;
		return characters&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	readings = mw.text.split(readings, &amp;quot;[^&amp;quot; .. p.letters .. &amp;quot;]+&amp;quot;)&lt;br /&gt;
	local result = {}&lt;br /&gt;
	local character_idx = 1&lt;br /&gt;
	local alt_idx = 1&lt;br /&gt;
&lt;br /&gt;
	for character in gmatch(characters, &amp;quot;.&amp;quot;) do&lt;br /&gt;
		local is_alt = false&lt;br /&gt;
		if character == &amp;quot;*&amp;quot; and alts[alt_idx] then&lt;br /&gt;
			character = alts[alt_idx]&lt;br /&gt;
			is_alt = true&lt;br /&gt;
			alt_idx = alt_idx + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if is_alt or (match(character, &amp;quot;^%a$&amp;quot;) and not character:match(&amp;quot;^%w$&amp;quot;)) then&lt;br /&gt;
			local reading = readings[character_idx]&lt;br /&gt;
&lt;br /&gt;
			if mark and character == mark then&lt;br /&gt;
				character = format(&amp;quot;&amp;lt;mark&amp;gt;%s&amp;lt;/mark&amp;gt;&amp;quot;, character)&lt;br /&gt;
				reading = format(&amp;quot;&amp;lt;mark&amp;gt;%s&amp;lt;/mark&amp;gt;&amp;quot;, reading)&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if pruby == &#039;link&#039; then&lt;br /&gt;
				character = format(&lt;br /&gt;
					&amp;quot;&amp;lt;ruby&amp;gt;&amp;lt;rb&amp;gt;&amp;lt;span class=&#039;Hani&#039; style=&#039;font-size: 100%%&#039;&amp;gt;[[%s#Vietnamese|%s]]&amp;lt;/span&amp;gt;&amp;lt;/rb&amp;gt;&amp;lt;rp&amp;gt;(&amp;lt;/rp&amp;gt;&amp;lt;rt&amp;gt;&amp;lt;span style=&#039;padding: 0 0.25em; font-size: 135%%;&#039;&amp;gt;[[%s#Vietnamese|%s]]&amp;lt;/span&amp;gt;&amp;lt;/rt&amp;gt;&amp;lt;rp&amp;gt;)&amp;lt;/rp&amp;gt;&amp;lt;/ruby&amp;gt;&amp;quot;,&lt;br /&gt;
					character, character, reading, reading)&lt;br /&gt;
			elseif pruby == &#039;nocolor&#039; then&lt;br /&gt;
				character = format(&lt;br /&gt;
					&amp;quot;&amp;lt;ruby&amp;gt;&amp;lt;rb&amp;gt;&amp;lt;span class=&#039;Hani&#039; style=&#039;color:#202122;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rb&amp;gt;&amp;lt;rp&amp;gt;(&amp;lt;/rp&amp;gt;&amp;lt;rt&amp;gt;&amp;lt;span style=&#039;padding: 0 0.25em; font-size: 125%%;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rt&amp;gt;&amp;lt;rp&amp;gt;)&amp;lt;/rp&amp;gt;&amp;lt;/ruby&amp;gt;&amp;quot;,&lt;br /&gt;
					character, reading)&lt;br /&gt;
			else&lt;br /&gt;
				character = format(&lt;br /&gt;
					&amp;quot;&amp;lt;ruby&amp;gt;&amp;lt;rb&amp;gt;&amp;lt;span class=&#039;Hani&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rb&amp;gt;&amp;lt;rp&amp;gt;(&amp;lt;/rp&amp;gt;&amp;lt;rt&amp;gt;&amp;lt;span style=&#039;padding: 0 0.25em;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/rt&amp;gt;&amp;lt;rp&amp;gt;)&amp;lt;/rp&amp;gt;&amp;lt;/ruby&amp;gt;&amp;quot;,&lt;br /&gt;
					character, reading)&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			character_idx = character_idx + 1&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(result, character)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return format(&amp;quot;&amp;lt;span lang=&#039;vi&#039; style=&#039;font-size: 135%%;&#039;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;quot;, table.concat(result))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.hantutab()&lt;br /&gt;
	local hantu = gsub(mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename, &#039;[^一-鿿㐀-䶿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𮯯𰀀-𱍏]&#039;, &#039;&#039;)&lt;br /&gt;
	local table_head = &#039;&amp;lt;table class=&amp;quot;floatright wikitable&amp;quot; style=&amp;quot;text-align:center; font-size:small;&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th colspan=&amp;quot;&#039; ..&lt;br /&gt;
		len(hantu) ..&lt;br /&gt;
		&#039;&amp;quot; style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;[[Hán tự]] in this term&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr lang=&amp;quot;vi&amp;quot; class=&amp;quot;Hani&amp;quot; style=&amp;quot;font-size:2em; background:white; line-height:1em;&amp;quot;&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	return table_head ..&lt;br /&gt;
		gsub(hantu, &#039;(.)&#039;, &#039;&amp;lt;td style=&amp;quot;padding:0.5em;&amp;quot;&amp;gt;[[%1#Vietnamese|%1]]&amp;lt;/td&amp;gt;&#039;) ..&lt;br /&gt;
		&#039;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---Returns the categories indicated by the given wikitext.&lt;br /&gt;
function p.classifierCategories(frame)&lt;br /&gt;
	local src = frame.args[1]&lt;br /&gt;
	local classifiers = {}&lt;br /&gt;
	for classifier in gmatch(gsub(src, &amp;quot;&amp;lt;[^&amp;gt;]-&amp;gt;&amp;quot;, &amp;quot;&amp;quot;), &amp;quot;[&amp;quot; .. p.letters .. &amp;quot;]+&amp;quot;) do&lt;br /&gt;
		if classifier ~= &amp;quot;l&amp;quot; and classifier ~= &amp;quot;vi&amp;quot; and classifier ~= &amp;quot;vi-l&amp;quot; and&lt;br /&gt;
		   classifier ~= &amp;quot;Vietnamese&amp;quot; then&lt;br /&gt;
			local cat = format(&amp;quot;[[Category:Vietnamese nouns classified by %s]]&amp;quot;, classifier)&lt;br /&gt;
			table.insert(classifiers, cat)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(classifiers)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.new(frame)&lt;br /&gt;
	local title = mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local pos = args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
	local def = args[2] or &amp;quot;{{rfdef|vi}}&amp;quot;&lt;br /&gt;
	local pos2 = args[3] or (args[4] and &amp;quot;&amp;quot; or false)&lt;br /&gt;
	local def2 = args[4] or &amp;quot;{{rfdef|vi}}&amp;quot;&lt;br /&gt;
	local pos3 = args[5] or (args[6] and &amp;quot;&amp;quot; or false)&lt;br /&gt;
	local def3 = args[6] or &amp;quot;{{rfdef|vi}}&amp;quot;&lt;br /&gt;
	local etym = args[&amp;quot;e&amp;quot;] or false&lt;br /&gt;
	local head = args[&amp;quot;head&amp;quot;] or false&lt;br /&gt;
	local cat = args[&amp;quot;cat&amp;quot;] or false&lt;br /&gt;
	local cls = args[&amp;quot;cls&amp;quot;] or false&lt;br /&gt;
	local rdp = args[&amp;quot;rdp&amp;quot;] or false&lt;br /&gt;
	local nom = args[&amp;quot;nom&amp;quot;] or false&lt;br /&gt;
	local pic = args[&amp;quot;pic&amp;quot;] or false&lt;br /&gt;
	local picc = args[&amp;quot;picc&amp;quot;] or false&lt;br /&gt;
&lt;br /&gt;
	nom = nom and gsub(nom, &amp;quot;(.)&amp;quot;, &amp;quot;[[%1]], &amp;quot;) or false&lt;br /&gt;
	nom = nom and gsub(nom, &amp;quot;, $&amp;quot;, &amp;quot;&amp;quot;) or false&lt;br /&gt;
&lt;br /&gt;
	if args[&amp;quot;h&amp;quot;] then&lt;br /&gt;
		etym = &amp;quot;{{vi-etym-sino|&amp;quot; .. args[&amp;quot;h&amp;quot;] .. &amp;quot;}}.&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not etym and match(title, &amp;quot; &amp;quot;) then&lt;br /&gt;
		etym = &amp;quot;{{com|vi&amp;quot;&lt;br /&gt;
		for word in mw.text.gsplit(title, &amp;quot; &amp;quot;) do&lt;br /&gt;
			etym = etym .. &amp;quot;|&amp;quot; .. word&lt;br /&gt;
		end&lt;br /&gt;
		etym = etym .. &amp;quot;}}.&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if etym == &amp;quot;-&amp;quot; then etym = false end&lt;br /&gt;
	if etym then etym = gsub(etym, &amp;quot;^%&amp;lt;&amp;quot;, &amp;quot;From&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	local function genTitle(text)&lt;br /&gt;
		local pos_title = {&lt;br /&gt;
			[&amp;quot;&amp;quot;] = &amp;quot;Noun&amp;quot;, [&amp;quot;n&amp;quot;] = &amp;quot;Noun&amp;quot;, [&amp;quot;pn&amp;quot;] = &amp;quot;Proper noun&amp;quot;, [&amp;quot;propn&amp;quot;] = &amp;quot;Proper noun&amp;quot;, [&amp;quot;pron&amp;quot;] = &amp;quot;Pronoun&amp;quot;,&lt;br /&gt;
			[&amp;quot;v&amp;quot;] = &amp;quot;Verb&amp;quot;, [&amp;quot;vf&amp;quot;] = &amp;quot;Verb&amp;quot;, [&amp;quot;a&amp;quot;] = &amp;quot;Adjective&amp;quot;, [&amp;quot;adj&amp;quot;] = &amp;quot;Adjective&amp;quot;, [&amp;quot;adv&amp;quot;] = &amp;quot;Adverb&amp;quot;,&lt;br /&gt;
			[&amp;quot;prep&amp;quot;] = &amp;quot;Preposition&amp;quot;, [&amp;quot;postp&amp;quot;] = &amp;quot;Postposition&amp;quot;, [&amp;quot;conj&amp;quot;] = &amp;quot;Conjunction&amp;quot;,&lt;br /&gt;
			[&amp;quot;part&amp;quot;] = &amp;quot;Particle&amp;quot;, [&amp;quot;suf&amp;quot;] = &amp;quot;Suffix&amp;quot;,&lt;br /&gt;
			[&amp;quot;prov&amp;quot;] = &amp;quot;Proverb&amp;quot;, [&amp;quot;id&amp;quot;] = &amp;quot;Idiom&amp;quot;, [&amp;quot;ph&amp;quot;] = &amp;quot;Phrase&amp;quot;, [&amp;quot;intj&amp;quot;] = &amp;quot;Interjection&amp;quot;,&lt;br /&gt;
			[&amp;quot;cl&amp;quot;] = &amp;quot;Classifier&amp;quot;, [&amp;quot;cls&amp;quot;] = &amp;quot;Classifier&amp;quot;, [&amp;quot;num&amp;quot;] = &amp;quot;Numeral&amp;quot;, [&amp;quot;abb&amp;quot;] = &amp;quot;Abbreviation&amp;quot;, [&amp;quot;deter&amp;quot;] = &amp;quot;Determiner&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
		return pos_title[text] or upper(text:sub(1,1)) .. text:sub(2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function genHead(text)&lt;br /&gt;
		local pos_head = {&lt;br /&gt;
			[&amp;quot;&amp;quot;] = &amp;quot;noun&amp;quot;, [&amp;quot;n&amp;quot;] = &amp;quot;noun&amp;quot;, [&amp;quot;pn&amp;quot;] = &amp;quot;proper noun&amp;quot;, [&amp;quot;propn&amp;quot;] = &amp;quot;proper noun&amp;quot;,&lt;br /&gt;
			[&amp;quot;v&amp;quot;] = &amp;quot;verb&amp;quot;, [&amp;quot;vf&amp;quot;] = &amp;quot;verb form&amp;quot;, [&amp;quot;a&amp;quot;] = &amp;quot;adj&amp;quot;,&lt;br /&gt;
			[&amp;quot;postp&amp;quot;] = &amp;quot;post&amp;quot;, [&amp;quot;conj&amp;quot;] = &amp;quot;conj&amp;quot;, [&amp;quot;part&amp;quot;] = &amp;quot;particle&amp;quot;, [&amp;quot;pron&amp;quot;] = &amp;quot;pronoun&amp;quot;,&lt;br /&gt;
			[&amp;quot;prov&amp;quot;] = &amp;quot;proverb&amp;quot;, [&amp;quot;id&amp;quot;] = &amp;quot;idiom&amp;quot;, [&amp;quot;ph&amp;quot;] = &amp;quot;phrase&amp;quot;, [&amp;quot;intj&amp;quot;] = &amp;quot;interj&amp;quot;,&lt;br /&gt;
			[&amp;quot;abb&amp;quot;] = &amp;quot;abbr&amp;quot;, [&amp;quot;cl&amp;quot;] = &amp;quot;classifier&amp;quot;, [&amp;quot;deter&amp;quot;] = &amp;quot;det&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
		return pos_head[text] or text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function other(class, title, args)&lt;br /&gt;
		local code = &amp;quot;&amp;quot;&lt;br /&gt;
		local i = 2&lt;br /&gt;
		if class == &amp;quot;der&amp;quot; and args[class] then&lt;br /&gt;
			code = code .. &amp;quot;\n\n===&amp;quot; .. title .. &amp;quot;===\n{{col3|vi|&amp;quot; .. args[class]&lt;br /&gt;
			while args[class .. i] do&lt;br /&gt;
				code = code .. &amp;quot;|&amp;quot; .. args[class .. i]&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			code = code .. &amp;quot;}}&amp;quot;&lt;br /&gt;
		elseif args[class] then&lt;br /&gt;
			code = code .. &amp;quot;\n\n===&amp;quot; .. title .. &amp;quot;===\n* {{l|vi|&amp;quot; .. args[class] .. &amp;quot;}}&amp;quot;&lt;br /&gt;
			while args[class .. i] do&lt;br /&gt;
				code = code .. &amp;quot;\n* {{l|vi|&amp;quot; .. args[class .. i] .. &amp;quot;}}&amp;quot;&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return code&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	result = result .. &amp;quot;==Vietnamese==&amp;quot;&lt;br /&gt;
	if args[&amp;quot;wp&amp;quot;] then&lt;br /&gt;
		result = result .. &amp;quot;\n{{wp|vi:&amp;quot; .. (args[&amp;quot;wp&amp;quot;] == &amp;quot;y&amp;quot; and &amp;quot;&amp;quot; or args[&amp;quot;wp&amp;quot;]) .. &amp;quot;}}&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if pic then&lt;br /&gt;
		result = result .. &amp;quot;\n[[File:&amp;quot; .. pic .. &amp;quot;|thumb|&amp;quot; .. (picc or upper(title:sub(1,1)) .. title:sub(2) .. &amp;quot;.&amp;quot;) .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	result = result .. other(&amp;quot;alt&amp;quot;, &amp;quot;Alternative forms&amp;quot;, args)&lt;br /&gt;
	if etym then result = result .. &amp;quot;\n\n===Etymology===\n&amp;quot; .. etym end&lt;br /&gt;
	result = result .. &amp;quot;\n\n===Pronunciation===\n{{vi-IPA}}&amp;quot;&lt;br /&gt;
	result = result .. &amp;quot;\n\n===&amp;quot; .. genTitle(pos) .. &amp;quot;===\n{{vi-&amp;quot; .. genHead(pos) ..&lt;br /&gt;
		(head and (&amp;quot;|head=&amp;quot; .. head) or &amp;quot;&amp;quot;) ..&lt;br /&gt;
		((genHead(pos) == &amp;quot;noun&amp;quot; and cls) and &amp;quot;|cls=&amp;quot; .. cls or &amp;quot;&amp;quot;) ..&lt;br /&gt;
		(((genHead(pos) == &amp;quot;adj&amp;quot; or genHead(pos) == &amp;quot;verb&amp;quot; or genHead(pos) == &amp;quot;adv&amp;quot;) and rdp) and &amp;quot;|rdp=&amp;quot; .. rdp or &amp;quot;&amp;quot;) ..&lt;br /&gt;
		(nom and &amp;quot;|&amp;quot; .. nom or &amp;quot;&amp;quot;) ..&lt;br /&gt;
		&amp;quot;}}\n\n# &amp;quot; .. def&lt;br /&gt;
&lt;br /&gt;
	result = result .. other(&amp;quot;syn&amp;quot;, &amp;quot;=Synonyms=&amp;quot;, args)&lt;br /&gt;
	result = result .. other(&amp;quot;ant&amp;quot;, &amp;quot;=Antonyms=&amp;quot;, args)&lt;br /&gt;
	result = result .. other(&amp;quot;der&amp;quot;, &amp;quot;=Derived terms=&amp;quot;, args)&lt;br /&gt;
	result = result .. other(&amp;quot;also&amp;quot;, &amp;quot;=See also=&amp;quot;, args)&lt;br /&gt;
&lt;br /&gt;
	if pos2 then&lt;br /&gt;
		result = result .. &amp;quot;\n\n===&amp;quot; .. genTitle(pos2) .. &amp;quot;===\n{{vi-&amp;quot; .. genHead(pos2) ..&lt;br /&gt;
			(head and (&amp;quot;|head=&amp;quot; .. head) or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			((genHead(pos) == &amp;quot;noun&amp;quot; and cls) and &amp;quot;|cls=&amp;quot; .. cls or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			(((genHead(pos2) == &amp;quot;adj&amp;quot; or genHead(pos2) == &amp;quot;verb&amp;quot; or genHead(pos2) == &amp;quot;adv&amp;quot;) and rdp) and &amp;quot;|rdp=&amp;quot; .. rdp or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			(nom and &amp;quot;|&amp;quot; .. nom or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			&amp;quot;}}\n\n# &amp;quot; .. def2&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if pos3 then&lt;br /&gt;
		result = result .. &amp;quot;\n\n===&amp;quot; .. genTitle(pos3) .. &amp;quot;===\n{{vi-&amp;quot; .. genHead(pos3) ..&lt;br /&gt;
			(head and (&amp;quot;|head=&amp;quot; .. head) or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			((genHead(pos) == &amp;quot;noun&amp;quot; and cls) and &amp;quot;|cls=&amp;quot; .. cls or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			(((genHead(pos3) == &amp;quot;adj&amp;quot; or genHead(pos3) == &amp;quot;verb&amp;quot; or genHead(pos3) == &amp;quot;adv&amp;quot;) and rdp) and &amp;quot;|rdp=&amp;quot; .. rdp or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			(nom and &amp;quot;|&amp;quot; .. nom or &amp;quot;&amp;quot;) ..&lt;br /&gt;
			&amp;quot;}}\n\n# &amp;quot; .. def3&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if cat then result = result .. &amp;quot;\n\n{{C|vi|&amp;quot; .. cat .. &amp;quot;}}&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.new_der(frame)&lt;br /&gt;
	local title = mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename&lt;br /&gt;
	local data_module = require(&amp;quot;Module:vi/vocab-list&amp;quot;)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local result = {}&lt;br /&gt;
&lt;br /&gt;
	for _, arg in ipairs(args) do&lt;br /&gt;
		table.insert(result, arg)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for _, word in ipairs(data_module) do&lt;br /&gt;
		if find(word, title) and word ~= title and not find(word, title .. &amp;quot;[^ ]&amp;quot;) and not find(word, &amp;quot;[^ ]&amp;quot; .. title) then&lt;br /&gt;
			table.insert(result, word)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local hash, res = {}, {}&lt;br /&gt;
	for _, element in ipairs(result) do&lt;br /&gt;
		if not hash[element] then&lt;br /&gt;
			res[#res + 1] = element&lt;br /&gt;
			hash[element] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local vi_sort_module = require(&amp;quot;Module:vi-sortkey&amp;quot;)&lt;br /&gt;
	local makeSortKey = require(&amp;quot;Module:memoize&amp;quot;)(vi_sort_module.makeSortKey)&lt;br /&gt;
&lt;br /&gt;
	table.sort(res, function(term1, term2)&lt;br /&gt;
		return makeSortKey(term1) &amp;lt; makeSortKey(term2)&lt;br /&gt;
	end)&lt;br /&gt;
&lt;br /&gt;
	return &amp;quot;{{vi-der|&amp;quot; .. table.concat(res, &amp;quot;|&amp;quot;) .. &amp;quot;}}&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.derived(frame)&lt;br /&gt;
	local tu_lay_note = &amp;quot;&amp;lt;span style=\&amp;quot;padding-left:4px; padding-right:4px\&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=\&amp;quot;background:#ffffe0\&amp;quot;&amp;gt;(&#039;&#039;[[từ láy]]&#039;&#039;)&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	local m_columns = require(&amp;quot;Module:columns&amp;quot;)&lt;br /&gt;
	local m_links = require(&amp;quot;Module:links&amp;quot;)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local pagename = mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename&lt;br /&gt;
	local result = {}&lt;br /&gt;
	local length = 0&lt;br /&gt;
&lt;br /&gt;
	local unfold = args[&amp;quot;unfold&amp;quot;] and true or false&lt;br /&gt;
	local title = args[&amp;quot;title&amp;quot;] or false&lt;br /&gt;
	local title_text = title or &amp;quot;Derived terms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	for _, word in ipairs(args) do&lt;br /&gt;
		local w, is_tu_lay = gsub(word, &amp;quot;%:tl&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
		local tu_lay = is_tu_lay &amp;gt; 0 and tu_lay_note or &amp;quot;&amp;quot;&lt;br /&gt;
		local word_parts = mw.text.split(gsub(w, &amp;quot;\n&amp;quot;, &amp;quot;&amp;quot;), &amp;quot;:&amp;quot;)&lt;br /&gt;
		table.insert(result, m_links.full_link({&lt;br /&gt;
			lang = lang,&lt;br /&gt;
			term = word_parts[1],&lt;br /&gt;
			gloss = word_parts[2] or nil&lt;br /&gt;
		}) .. tu_lay)&lt;br /&gt;
		length = math.max(len(w), length)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return m_columns.create_list {&lt;br /&gt;
		column_count = (length &amp;gt; 15 and 2 or 3),&lt;br /&gt;
		content = result,&lt;br /&gt;
		header = &amp;quot;&#039;&#039;(&amp;quot; .. title_text .. &amp;quot;)&#039;&#039;:&amp;quot;,&lt;br /&gt;
		alphabetize = true,&lt;br /&gt;
		collapse = (unfold or #result &amp;lt; 7) and false or true,&lt;br /&gt;
		class = &amp;quot;columns-bg&amp;quot;,&lt;br /&gt;
		lang = lang&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:Gal&amp;diff=17973</id>
		<title>Bản mẫu:Gal</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:Gal&amp;diff=17973"/>
		<updated>2026-03-31T08:32:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch: {{{1}}}&lt;br /&gt;
 | 1 = [[File:{{{2}}}|thumb|{{{3}}}]]&lt;br /&gt;
 | 2 = &amp;lt;div class=&amp;quot;alignright&amp;quot;&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li class=&amp;quot;multimg&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{2}}}|thumb|{{{3}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimg&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{4}}}|thumb|{{{5}}}]]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 | 3 = &amp;lt;div class=&amp;quot;alignright&amp;quot;&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li class=&amp;quot;multimg&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{2}}}|thumb|{{{3}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimg&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{4}}}|thumb|{{{5}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimg&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{6}}}|thumb|{{{7}}}]]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 | 4 = &amp;lt;div class=&amp;quot;alignright&amp;quot;&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{2}}}|thumb|150px|{{{3}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{4}}}|thumb|150px|{{{5}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{6}}}|thumb|150px|{{{7}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{8}}}|thumb|150px|{{{9}}}]]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 | 5 = &amp;lt;div class=&amp;quot;alignright&amp;quot;&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{2}}}|thumb|150px|{{{3}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{4}}}|thumb|150px|{{{5}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{6}}}|thumb|150px|{{{7}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{8}}}|thumb|150px|{{{9}}}]]&amp;lt;/li&amp;gt;&amp;lt;li class=&amp;quot;multimgs&amp;quot; style=&amp;quot;display: inline-block; vertical-align: top;&amp;quot;&amp;gt;[[File:{{{10}}}|thumb|150px|{{{11}}}]]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 | &lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=U%E1%BB%91ng&amp;diff=17972</id>
		<title>Uống</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=U%E1%BB%91ng&amp;diff=17972"/>
		<updated>2026-03-31T08:28:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|Proto-Vietic|/*ʔɔːŋʔ{{ref|fer2007}}/|}}{{cog|{{w|Muong|ỏng}}}} → {{etym|{{việt|1651}}|üống, üấng|}} nuốt chất lỏng qua đường miệng &lt;br /&gt;
#: &#039;&#039;&#039;uống&#039;&#039;&#039; [[thuốc]]&lt;br /&gt;
#: [[xe]] &#039;&#039;&#039;uống&#039;&#039;&#039; [[xăng]]&lt;br /&gt;
{{gal|1|Giraffe_(Giraffa_camelopardalis)_drinking_..._(46232153744).jpg|Hươu cao cổ uống nước}}&lt;br /&gt;
{{cogs}}&lt;br /&gt;
{{refs}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=R%C3%BAp&amp;diff=17971</id>
		<title>Rúp</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=R%C3%BAp&amp;diff=17971"/>
		<updated>2026-03-05T04:02:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|Nga|{{rubyS|nozoom=1|рубль|rublʹ}}{{pron|Ru-%D1%80%D1%83%D0%B1%D0%BB%D1%8C.ogg}}|}} đơn vị tiền tệ của Nga và một số nước lân cận&lt;br /&gt;
#: [[đồng]] 200 &#039;&#039;&#039;rúp&#039;&#039;&#039;&lt;br /&gt;
#: mỗi &#039;&#039;&#039;rúp&#039;&#039;&#039; [[bằng]] [[một]] [[trăm]] cô-pếch&lt;br /&gt;
{{gal|1|5000 rubles obverse 2023.jpg|Đồng 5000 rúp Nga}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=R%C3%BAp&amp;diff=17970</id>
		<title>Rúp</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=R%C3%BAp&amp;diff=17970"/>
		<updated>2026-03-05T04:00:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|Nga|{{rubyS|nozoom=1|рубль|rublʹ|nozoom=1}}{{pron|Ru-%D1%80%D1%83%D0%B1%D0%BB%D1%8C.ogg}}|}} đơn vị tiền tệ của Nga và một số nước lân cận&lt;br /&gt;
#: [[đồng]] 200 &#039;&#039;&#039;rúp&#039;&#039;&#039;&lt;br /&gt;
#: mỗi &#039;&#039;&#039;rúp&#039;&#039;&#039; [[bằng]] [[một]] [[trăm]] cô-pếch&lt;br /&gt;
{{gal|1|5000 rubles obverse 2023.jpg|Đồng 5000 rúp Nga}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=Aptomat&amp;diff=17969</id>
		<title>Aptomat</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=Aptomat&amp;diff=17969"/>
		<updated>2026-03-05T03:58:42Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|Nga|{{rubyS|автоматический|avtomaticheskiy|nozoom=1}} {{rubyS|(выключатель)|(vyklyuchatel)|nozoom=1}}{{pron|rus-автоматический.mp3}}|}} cầu dao tự động&lt;br /&gt;
#: ngắt [[aptomat]]&lt;br /&gt;
#: [[aptomat]] tổng&lt;br /&gt;
#: đóng [[aptomat]] [[bằng]] [[tay]]&lt;br /&gt;
{{gal|1|Автоматический выключатель.jpg|Aptomat tổng}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=Vi%C3%AAn&amp;diff=17968</id>
		<title>Viên</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=Vi%C3%AAn&amp;diff=17968"/>
		<updated>2026-03-04T02:08:45Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|hán cổ|{{ruby|丸|hoàn}} {{nb|/*ɡʷaːn/}}|}} vật hình cầu nhỏ, hoặc các vật nhỏ có cùng hình dạng, kích thước và chất liệu; dùng tay lăn vật mềm nhiều vòng để tạo thành hình cầu nhỏ&lt;br /&gt;
#: &#039;&#039;&#039;viên&#039;&#039;&#039; [[thuốc]]&lt;br /&gt;
#: &#039;&#039;&#039;viên&#039;&#039;&#039; [[gạch]]&lt;br /&gt;
#: &#039;&#039;&#039;viên&#039;&#039;&#039; [[thuốc]] [[lại]] thành hoàn&lt;br /&gt;
#: &#039;&#039;&#039;viên&#039;&#039;&#039; bột thành từng [[bánh]]&lt;br /&gt;
{{gal|2|A collection of generic medicine pills on a white background.jpg|Thuốc viên|Superior cobble.JPG|Viên sỏi}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=V%C3%B2&amp;diff=17967</id>
		<title>Vò</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=V%C3%B2&amp;diff=17967"/>
		<updated>2026-03-03T09:55:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|proto-vietic|/*vɔː{{ref|fer2007}}/||entry=1}}{{cog|{{list|{{w|Pong|/vɔː/}} (Ly Hà)|{{w|Pong|/vaw/}} (Toum)}}}} hũ lớn bằng đất nung, thường để đựng nước hoặc rượu &lt;br /&gt;
#: &#039;&#039;&#039;vò&#039;&#039;&#039; [[rượu]]&lt;br /&gt;
#: &#039;&#039;&#039;vò&#039;&#039;&#039; [[nước]] [[mắm]]&lt;br /&gt;
# {{etym|proto-mon-khmer|{{ownrebuild|/*poo/}}|cầm, nắm|entry=2}}{{cog|{{list|{{w|btb|bo}}|{{w|Cua|/sapaʔ/|cầm, nắm}}|{{w|Semai|poh|cầm, nắm}}|{{w|O&#039;du|/pua/|cầm, nắm}}}}}} dùng tay bóp hoặc xoa đi xoa lại cho nát, cho rời hay để làm sạch&lt;br /&gt;
#: &#039;&#039;&#039;vò&#039;&#039;&#039; [[nhàu]] tờ [[giấy]]&lt;br /&gt;
#: &#039;&#039;&#039;vò&#039;&#039;&#039; đầu [[bứt]] [[tai]]&lt;br /&gt;
#: [[rối]] như [[tơ]] &#039;&#039;&#039;vò&#039;&#039;&#039;&lt;br /&gt;
#: [[giày]] &#039;&#039;&#039;vò&#039;&#039;&#039;&lt;br /&gt;
#: [[xôi]] &#039;&#039;&#039;vò&#039;&#039;&#039;&lt;br /&gt;
#: &#039;&#039;&#039;vò&#039;&#039;&#039; [[lúa]]&lt;br /&gt;
#: &#039;&#039;&#039;vò&#039;&#039;&#039; [[quần]] [[áo]]&lt;br /&gt;
{{gal|1|Rice wine, aging in jars, Wuzhan, China 2006.jpg|Vò ủ rượu}}&lt;br /&gt;
{{cogs}}&lt;br /&gt;
{{refs}}{{gal|1|Rice wine, aging in jars, Wuzhan, China 2006.jpg|Vò ủ rượu}}&lt;br /&gt;
{{cogs}}&lt;br /&gt;
{{refs}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=T%C3%BA&amp;diff=17966</id>
		<title>Tú</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=T%C3%BA&amp;diff=17966"/>
		<updated>2026-03-03T04:22:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: Nhập CSV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Tú lơ khơ]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=Tu-l%C6%A1-kh%C6%A1&amp;diff=17965</id>
		<title>Tu-lơ-khơ</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=Tu-l%C6%A1-kh%C6%A1&amp;diff=17965"/>
		<updated>2026-03-03T04:18:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: Nhập CSV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Tú lơ khơ]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=T%C3%BA-l%C6%A1-kh%C6%A1&amp;diff=17964</id>
		<title>Tú-lơ-khơ</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=T%C3%BA-l%C6%A1-kh%C6%A1&amp;diff=17964"/>
		<updated>2026-03-03T04:18:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: Nhập CSV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Tú lơ khơ]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=Tu_l%C6%A1_kh%C6%A1&amp;diff=17963</id>
		<title>Tu lơ khơ</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=Tu_l%C6%A1_kh%C6%A1&amp;diff=17963"/>
		<updated>2026-03-03T04:18:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: Nhập CSV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Tú lơ khơ]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=H%C3%BAp&amp;diff=17962</id>
		<title>Húp</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=H%C3%BAp&amp;diff=17962"/>
		<updated>2026-02-24T08:31:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|proto-mon-khmer|/*hup{{ref|sho2006}} ~ *huup{{ref|sho2006}} ~ *ʔuup{{ref|sho2006}}/|}}{{cog|{{list|{{w|Khmer|{{rubyM|ហូប|/hoop/}}}}|{{w|Mon|{{rubyM|ဟာပ်|/hap/}}}}|{{w|Pacoh|ahuap}}|{{w|Bru|/huːp/}}|{{w|Sre|hup}}|{{w|Khasi|kahup}}}}}} ăn bằng cách hút chất lỏng vào miệng &lt;br /&gt;
#: &#039;&#039;&#039;húp&#039;&#039;&#039; [[cháo]]&lt;br /&gt;
#: &#039;&#039;&#039;húp&#039;&#039;&#039; sì sụp&lt;br /&gt;
#: {{68|[[Râu]] tôm [[nấu]] với [[ruột]] [[bầu]]|[[Chồng]] chan [[vợ]] &#039;&#039;&#039;húp&#039;&#039;&#039; gật đầu khen [[ngon]]}}&lt;br /&gt;
{{cogs}}&lt;br /&gt;
{{refs}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.tunguyentiengviet.com/index.php?title=X%C3%AC_Trum&amp;diff=17961</id>
		<title>Xì Trum</title>
		<link rel="alternate" type="text/html" href="https://www.tunguyentiengviet.com/index.php?title=X%C3%AC_Trum&amp;diff=17961"/>
		<updated>2025-11-26T18:34:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# {{etym|pháp|{{rubyS|nozoom=1|schtroumpf|/ʃtʁumf/}}{{pron|LL-Q150 (fra)-Poslovitch-schtroumpf.wav}}|}} các nhân vật trong bộ truyện tranh &#039;&#039;De Smurfen&#039;&#039; của Bỉ, là một loài tương tự như con người nhưng có kích thước tí hon, với làn da màu xanh dương và sống trong những cây nấm&lt;br /&gt;
#: hoạt hình &#039;&#039;&#039;Xì Trum&#039;&#039;&#039;&lt;br /&gt;
#: cuộc phiêu lưu của [[các]] &#039;&#039;&#039;Xì Trum&#039;&#039;&#039;&lt;br /&gt;
#: [[làng]] &#039;&#039;&#039;Xì Trum&#039;&#039;&#039;&lt;br /&gt;
{{gal|1|2020-09-20-Papa Smurf (cropped).jpg|Xì Trum già làng}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>