<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.muhro.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MuhRO+maintenance</id>
	<title>MuhRO - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.muhro.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MuhRO+maintenance"/>
	<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/Special:Contributions/MuhRO_maintenance"/>
	<updated>2026-06-02T11:24:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60108</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60108"/>
		<updated>2026-05-27T14:49:59Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Restore floating expand collapse controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    window.muhroGetFloatingTools = function () {&lt;br /&gt;
        var $tools = $(&#039;#muhro-floating-tools&#039;);&lt;br /&gt;
&lt;br /&gt;
        if (!$tools.length) {&lt;br /&gt;
            $tools = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
                .attr(&#039;id&#039;, &#039;muhro-floating-tools&#039;)&lt;br /&gt;
                .addClass(&#039;muhro-floating-tools noprint&#039;);&lt;br /&gt;
            $(&#039;body&#039;).append($tools);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return $tools;&lt;br /&gt;
    };&lt;br /&gt;
}());&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function normalizeLegacyCollapsibles($root) {&lt;br /&gt;
        var $legacy = $root.find(&#039;table.collapsible, div.collapsible, ul.collapsible, ol.collapsible&#039;)&lt;br /&gt;
            .not(&#039;.mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
        $legacy.each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            $element.addClass(&#039;mw-collapsible&#039;);&lt;br /&gt;
            if ($element.hasClass(&#039;collapsed&#039;)) {&lt;br /&gt;
                $element.addClass(&#039;mw-collapsed&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $legacy.makeCollapsible();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible&#039;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function triggerFallback($element, collapse) {&lt;br /&gt;
        if ($element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $element.find(&#039;&amp;gt; .muhro-early-toggle, .muhro-early-toggle&#039;).first().trigger(&#039;click&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
            var api = $element.data(&#039;mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
            if ($element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (api) {&lt;br /&gt;
                if (collapse) {&lt;br /&gt;
                    api.collapse();&lt;br /&gt;
                } else {&lt;br /&gt;
                    api.expand();&lt;br /&gt;
                }&lt;br /&gt;
            } else {&lt;br /&gt;
                triggerFallback($element, collapse);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        window.setTimeout(function () {&lt;br /&gt;
            updateButtons($root, $expand, $collapse);&lt;br /&gt;
        }, 0);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function attachControls($root) {&lt;br /&gt;
        if ($(&#039;#muhro-collapse-controls&#039;).length || !findCollapsibles($root).length) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-collapse-controls&#039;,&lt;br /&gt;
                role: &#039;group&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Collapsible content controls&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click keydown&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        window.muhroGetFloatingTools().prepend($controls);&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
        var attempts = 0;&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        normalizeLegacyCollapsibles($root);&lt;br /&gt;
&lt;br /&gt;
        function tryAttach() {&lt;br /&gt;
            attempts++;&lt;br /&gt;
            if (attachControls($root) || attempts &amp;gt;= 40) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            window.setTimeout(tryAttach, 250);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tryAttach();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function filterToc($panel, query) {&lt;br /&gt;
        var normalized = query.trim().toLowerCase();&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).removeClass(&#039;muhro-toc-match muhro-toc-hidden muhro-toc-ancestor&#039;);&lt;br /&gt;
&lt;br /&gt;
        if (!normalized) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).each(function () {&lt;br /&gt;
            var $item = $(this);&lt;br /&gt;
            var text = $item.children(&#039;a&#039;).first().text().toLowerCase();&lt;br /&gt;
&lt;br /&gt;
            if (text.indexOf(normalized) !== -1) {&lt;br /&gt;
                $item.addClass(&#039;muhro-toc-match&#039;);&lt;br /&gt;
                $item.parents(&#039;li&#039;).addClass(&#039;muhro-toc-ancestor&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).each(function () {&lt;br /&gt;
            var $item = $(this);&lt;br /&gt;
            if (!$item.hasClass(&#039;muhro-toc-match&#039;) &amp;amp;&amp;amp; !$item.hasClass(&#039;muhro-toc-ancestor&#039;)) {&lt;br /&gt;
                $item.addClass(&#039;muhro-toc-hidden&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addFloatingToc($content) {&lt;br /&gt;
        var $toc = $content.find(&#039;#toc&#039;).first();&lt;br /&gt;
        var $tocList;&lt;br /&gt;
        var $button;&lt;br /&gt;
        var $panel;&lt;br /&gt;
        var $header;&lt;br /&gt;
        var $filter;&lt;br /&gt;
        var $body;&lt;br /&gt;
        var $wrapper;&lt;br /&gt;
&lt;br /&gt;
        if ($(&#039;#muhro-floating-toc&#039;).length || !$toc.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList = $toc.find(&#039;&amp;gt; ul, .toc &amp;gt; ul&#039;).first().clone(false);&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            $tocList = $toc.find(&#039;ul&#039;).first().clone(false);&lt;br /&gt;
        }&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList.find(&#039;[id]&#039;).removeAttr(&#039;id&#039;);&lt;br /&gt;
        $tocList.find(&#039;.tocnumber&#039;).attr(&#039;aria-hidden&#039;, &#039;true&#039;);&lt;br /&gt;
&lt;br /&gt;
        $button = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                type: &#039;button&#039;,&lt;br /&gt;
                &#039;aria-expanded&#039;: &#039;false&#039;,&lt;br /&gt;
                &#039;aria-controls&#039;: &#039;muhro-floating-toc-panel&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-button&#039;)&lt;br /&gt;
            .text(&#039;Contents&#039;);&lt;br /&gt;
&lt;br /&gt;
        $filter = $(&#039;&amp;lt;input&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                type: &#039;search&#039;,&lt;br /&gt;
                placeholder: &#039;Filter contents&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Filter contents&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-filter&#039;);&lt;br /&gt;
&lt;br /&gt;
        $header = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-header&#039;)&lt;br /&gt;
            .append($filter);&lt;br /&gt;
&lt;br /&gt;
        $body = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-body&#039;)&lt;br /&gt;
            .append($tocList);&lt;br /&gt;
&lt;br /&gt;
        $panel = $(&#039;&amp;lt;nav&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-floating-toc-panel&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Page contents&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-panel&#039;)&lt;br /&gt;
            .append($header, $body);&lt;br /&gt;
&lt;br /&gt;
        $wrapper = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;id&#039;, &#039;muhro-floating-toc&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc&#039;)&lt;br /&gt;
            .append($button, $panel);&lt;br /&gt;
&lt;br /&gt;
        $button.on(&#039;click&#039;, function () {&lt;br /&gt;
            var open = !$wrapper.hasClass(&#039;is-open&#039;);&lt;br /&gt;
            $wrapper.toggleClass(&#039;is-open&#039;, open);&lt;br /&gt;
            $button.attr(&#039;aria-expanded&#039;, open ? &#039;true&#039; : &#039;false&#039;);&lt;br /&gt;
            if (open) {&lt;br /&gt;
                window.setTimeout(function () {&lt;br /&gt;
                    $filter.trigger(&#039;focus&#039;);&lt;br /&gt;
                }, 0);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $filter.on(&#039;input&#039;, function () {&lt;br /&gt;
            filterToc($panel, $filter.val());&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $panel.on(&#039;click&#039;, &#039;a&#039;, function () {&lt;br /&gt;
            if (window.matchMedia(&#039;(max-width: 720px)&#039;).matches) {&lt;br /&gt;
                $wrapper.removeClass(&#039;is-open&#039;);&lt;br /&gt;
                $button.attr(&#039;aria-expanded&#039;, &#039;false&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        window.muhroGetFloatingTools().append($wrapper);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(addFloatingToc);&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60107</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60107"/>
		<updated>2026-05-27T14:44:26Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Prevent floating page tool overlap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tbody &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; thead + tbody,&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; .mw-collapsible-content {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle {&lt;br /&gt;
  float: right;&lt;br /&gt;
  margin-left: 0.75rem;&lt;br /&gt;
  border: 0;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle:hover,&lt;br /&gt;
.muhro-early-toggle:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-tools {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  top: 4.5rem;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  z-index: 1002;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
  align-items: flex-end;&lt;br /&gt;
  gap: 0.45rem;&lt;br /&gt;
  max-width: min(22rem, calc(100vw - 2rem));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.35rem;&lt;br /&gt;
  justify-content: flex-end;&lt;br /&gt;
  padding: 0.35rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc {&lt;br /&gt;
  max-width: min(22rem, calc(100vw - 2rem));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button,&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button {&lt;br /&gt;
  float: right;&lt;br /&gt;
  padding: 0.3rem 0.8rem;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button:hover,&lt;br /&gt;
.muhro-floating-toc-button:focus,&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel {&lt;br /&gt;
  clear: both;&lt;br /&gt;
  display: none;&lt;br /&gt;
  width: 22rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  max-height: min(70vh, 44rem);&lt;br /&gt;
  margin-top: 0.4rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc.is-open .muhro-floating-toc-panel {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-header {&lt;br /&gt;
  position: sticky;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  z-index: 1;&lt;br /&gt;
  border-bottom: 1px solid #eaecf0;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  padding: 0.55rem 0.65rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-filter {&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.3rem 0.45rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-filter:focus {&lt;br /&gt;
  border-color: #36c;&lt;br /&gt;
  outline: 1px solid #36c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-body {&lt;br /&gt;
  overflow: auto;&lt;br /&gt;
  padding: 0.55rem 0.85rem 0.65rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel ul {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding-left: 1.2rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel &amp;gt; .muhro-floating-toc-body &amp;gt; ul {&lt;br /&gt;
  padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel li {&lt;br /&gt;
  margin: 0.15rem 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a {&lt;br /&gt;
  display: block;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  padding: 0.12rem 0;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a:hover,&lt;br /&gt;
.muhro-floating-toc-panel a:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .tocnumber {&lt;br /&gt;
  color: #54595d;&lt;br /&gt;
  margin-right: 0.35rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .muhro-toc-hidden {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .muhro-toc-match &amp;gt; a {&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  background: #eaf3ff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px) {&lt;br /&gt;
  .muhro-floating-tools {&lt;br /&gt;
    top: 0.5rem;&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc,&lt;br /&gt;
  .muhro-floating-toc-panel {&lt;br /&gt;
    width: calc(100vw - 1rem);&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc-panel {&lt;br /&gt;
    max-height: 55vh;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-button {&lt;br /&gt;
    padding: 0.2rem 0.55rem;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60106</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60106"/>
		<updated>2026-05-27T14:43:43Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Use one floating page tools container&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    window.muhroGetFloatingTools = function () {&lt;br /&gt;
        var $tools = $(&#039;#muhro-floating-tools&#039;);&lt;br /&gt;
&lt;br /&gt;
        if (!$tools.length) {&lt;br /&gt;
            $tools = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
                .attr(&#039;id&#039;, &#039;muhro-floating-tools&#039;)&lt;br /&gt;
                .addClass(&#039;muhro-floating-tools noprint&#039;);&lt;br /&gt;
            $(&#039;body&#039;).append($tools);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return $tools;&lt;br /&gt;
    };&lt;br /&gt;
}());&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function normalizeLegacyCollapsibles($root) {&lt;br /&gt;
        var $legacy = $root.find(&#039;table.collapsible, div.collapsible, ul.collapsible, ol.collapsible&#039;)&lt;br /&gt;
            .not(&#039;.mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
        $legacy.each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            $element.addClass(&#039;mw-collapsible&#039;);&lt;br /&gt;
            if ($element.hasClass(&#039;collapsed&#039;)) {&lt;br /&gt;
                $element.addClass(&#039;mw-collapsed&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $legacy.makeCollapsible();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible.mw-made-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible.mw-made-collapsible&#039;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
            var api = $element.data(&#039;mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!api || $element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (collapse) {&lt;br /&gt;
                api.collapse();&lt;br /&gt;
            } else {&lt;br /&gt;
                api.expand();&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function attachControls($root) {&lt;br /&gt;
        if ($(&#039;#muhro-collapse-controls&#039;).length || !findCollapsibles($root).length) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-collapse-controls&#039;,&lt;br /&gt;
                role: &#039;group&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Collapsible content controls&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click keydown&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        window.muhroGetFloatingTools().prepend($controls);&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
        var attempts = 0;&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        normalizeLegacyCollapsibles($root);&lt;br /&gt;
&lt;br /&gt;
        function tryAttach() {&lt;br /&gt;
            attempts++;&lt;br /&gt;
            if (attachControls($root) || attempts &amp;gt;= 20) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            window.setTimeout(tryAttach, 250);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tryAttach();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function filterToc($panel, query) {&lt;br /&gt;
        var normalized = query.trim().toLowerCase();&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).removeClass(&#039;muhro-toc-match muhro-toc-hidden muhro-toc-ancestor&#039;);&lt;br /&gt;
&lt;br /&gt;
        if (!normalized) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).each(function () {&lt;br /&gt;
            var $item = $(this);&lt;br /&gt;
            var text = $item.children(&#039;a&#039;).first().text().toLowerCase();&lt;br /&gt;
&lt;br /&gt;
            if (text.indexOf(normalized) !== -1) {&lt;br /&gt;
                $item.addClass(&#039;muhro-toc-match&#039;);&lt;br /&gt;
                $item.parents(&#039;li&#039;).addClass(&#039;muhro-toc-ancestor&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).each(function () {&lt;br /&gt;
            var $item = $(this);&lt;br /&gt;
            if (!$item.hasClass(&#039;muhro-toc-match&#039;) &amp;amp;&amp;amp; !$item.hasClass(&#039;muhro-toc-ancestor&#039;)) {&lt;br /&gt;
                $item.addClass(&#039;muhro-toc-hidden&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addFloatingToc($content) {&lt;br /&gt;
        var $toc = $content.find(&#039;#toc&#039;).first();&lt;br /&gt;
        var $tocList;&lt;br /&gt;
        var $button;&lt;br /&gt;
        var $panel;&lt;br /&gt;
        var $header;&lt;br /&gt;
        var $filter;&lt;br /&gt;
        var $body;&lt;br /&gt;
        var $wrapper;&lt;br /&gt;
&lt;br /&gt;
        if ($(&#039;#muhro-floating-toc&#039;).length || !$toc.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList = $toc.find(&#039;&amp;gt; ul, .toc &amp;gt; ul&#039;).first().clone(false);&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            $tocList = $toc.find(&#039;ul&#039;).first().clone(false);&lt;br /&gt;
        }&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList.find(&#039;[id]&#039;).removeAttr(&#039;id&#039;);&lt;br /&gt;
        $tocList.find(&#039;.tocnumber&#039;).attr(&#039;aria-hidden&#039;, &#039;true&#039;);&lt;br /&gt;
&lt;br /&gt;
        $button = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                type: &#039;button&#039;,&lt;br /&gt;
                &#039;aria-expanded&#039;: &#039;false&#039;,&lt;br /&gt;
                &#039;aria-controls&#039;: &#039;muhro-floating-toc-panel&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-button&#039;)&lt;br /&gt;
            .text(&#039;Contents&#039;);&lt;br /&gt;
&lt;br /&gt;
        $filter = $(&#039;&amp;lt;input&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                type: &#039;search&#039;,&lt;br /&gt;
                placeholder: &#039;Filter contents&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Filter contents&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-filter&#039;);&lt;br /&gt;
&lt;br /&gt;
        $header = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-header&#039;)&lt;br /&gt;
            .append($filter);&lt;br /&gt;
&lt;br /&gt;
        $body = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-body&#039;)&lt;br /&gt;
            .append($tocList);&lt;br /&gt;
&lt;br /&gt;
        $panel = $(&#039;&amp;lt;nav&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-floating-toc-panel&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Page contents&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-panel&#039;)&lt;br /&gt;
            .append($header, $body);&lt;br /&gt;
&lt;br /&gt;
        $wrapper = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;id&#039;, &#039;muhro-floating-toc&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc&#039;)&lt;br /&gt;
            .append($button, $panel);&lt;br /&gt;
&lt;br /&gt;
        $button.on(&#039;click&#039;, function () {&lt;br /&gt;
            var open = !$wrapper.hasClass(&#039;is-open&#039;);&lt;br /&gt;
            $wrapper.toggleClass(&#039;is-open&#039;, open);&lt;br /&gt;
            $button.attr(&#039;aria-expanded&#039;, open ? &#039;true&#039; : &#039;false&#039;);&lt;br /&gt;
            if (open) {&lt;br /&gt;
                window.setTimeout(function () {&lt;br /&gt;
                    $filter.trigger(&#039;focus&#039;);&lt;br /&gt;
                }, 0);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $filter.on(&#039;input&#039;, function () {&lt;br /&gt;
            filterToc($panel, $filter.val());&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $panel.on(&#039;click&#039;, &#039;a&#039;, function () {&lt;br /&gt;
            if (window.matchMedia(&#039;(max-width: 720px)&#039;).matches) {&lt;br /&gt;
                $wrapper.removeClass(&#039;is-open&#039;);&lt;br /&gt;
                $button.attr(&#039;aria-expanded&#039;, &#039;false&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        window.muhroGetFloatingTools().append($wrapper);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(addFloatingToc);&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60105</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60105"/>
		<updated>2026-05-27T14:42:12Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Keep expand controls above floating contents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tbody &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; thead + tbody,&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; .mw-collapsible-content {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle {&lt;br /&gt;
  float: right;&lt;br /&gt;
  margin-left: 0.75rem;&lt;br /&gt;
  border: 0;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle:hover,&lt;br /&gt;
.muhro-early-toggle:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc,&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  max-width: min(22rem, calc(100vw - 2rem));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  top: 4.5rem;&lt;br /&gt;
  z-index: 1002;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.35rem;&lt;br /&gt;
  justify-content: flex-end;&lt;br /&gt;
  padding: 0.35rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc {&lt;br /&gt;
  top: 7.2rem;&lt;br /&gt;
  z-index: 1000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button,&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button {&lt;br /&gt;
  float: right;&lt;br /&gt;
  padding: 0.3rem 0.8rem;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button:hover,&lt;br /&gt;
.muhro-floating-toc-button:focus,&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel {&lt;br /&gt;
  clear: both;&lt;br /&gt;
  display: none;&lt;br /&gt;
  width: 22rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  max-height: min(70vh, 44rem);&lt;br /&gt;
  margin-top: 0.4rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc.is-open .muhro-floating-toc-panel {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-header {&lt;br /&gt;
  position: sticky;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  z-index: 1;&lt;br /&gt;
  border-bottom: 1px solid #eaecf0;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  padding: 0.55rem 0.65rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-filter {&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.3rem 0.45rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-filter:focus {&lt;br /&gt;
  border-color: #36c;&lt;br /&gt;
  outline: 1px solid #36c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-body {&lt;br /&gt;
  overflow: auto;&lt;br /&gt;
  padding: 0.55rem 0.85rem 0.65rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel ul {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding-left: 1.2rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel &amp;gt; .muhro-floating-toc-body &amp;gt; ul {&lt;br /&gt;
  padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel li {&lt;br /&gt;
  margin: 0.15rem 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a {&lt;br /&gt;
  display: block;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  padding: 0.12rem 0;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a:hover,&lt;br /&gt;
.muhro-floating-toc-panel a:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .tocnumber {&lt;br /&gt;
  color: #54595d;&lt;br /&gt;
  margin-right: 0.35rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .muhro-toc-hidden {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .muhro-toc-match &amp;gt; a {&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  background: #eaf3ff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px) {&lt;br /&gt;
  .muhro-floating-toc,&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    top: 0.5rem;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc {&lt;br /&gt;
    top: 3.2rem;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc-panel {&lt;br /&gt;
    width: calc(100vw - 1rem);&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
    max-height: 55vh;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-button {&lt;br /&gt;
    padding: 0.2rem 0.55rem;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60104</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60104"/>
		<updated>2026-05-27T14:40:57Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Improve long floating contents lists&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tbody &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; thead + tbody,&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; .mw-collapsible-content {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle {&lt;br /&gt;
  float: right;&lt;br /&gt;
  margin-left: 0.75rem;&lt;br /&gt;
  border: 0;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle:hover,&lt;br /&gt;
.muhro-early-toggle:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc,&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  z-index: 1000;&lt;br /&gt;
  max-width: min(22rem, calc(100vw - 2rem));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc {&lt;br /&gt;
  top: 4.5rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  top: 7.2rem;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.35rem;&lt;br /&gt;
  justify-content: flex-end;&lt;br /&gt;
  padding: 0.35rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button,&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button {&lt;br /&gt;
  float: right;&lt;br /&gt;
  padding: 0.3rem 0.8rem;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button:hover,&lt;br /&gt;
.muhro-floating-toc-button:focus,&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel {&lt;br /&gt;
  clear: both;&lt;br /&gt;
  display: none;&lt;br /&gt;
  width: 22rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  max-height: min(70vh, 44rem);&lt;br /&gt;
  margin-top: 0.4rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc.is-open .muhro-floating-toc-panel {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-header {&lt;br /&gt;
  position: sticky;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  z-index: 1;&lt;br /&gt;
  border-bottom: 1px solid #eaecf0;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  padding: 0.55rem 0.65rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-filter {&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.3rem 0.45rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-filter:focus {&lt;br /&gt;
  border-color: #36c;&lt;br /&gt;
  outline: 1px solid #36c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-body {&lt;br /&gt;
  overflow: auto;&lt;br /&gt;
  padding: 0.55rem 0.85rem 0.65rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel ul {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding-left: 1.2rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel &amp;gt; .muhro-floating-toc-body &amp;gt; ul {&lt;br /&gt;
  padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel li {&lt;br /&gt;
  margin: 0.15rem 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a {&lt;br /&gt;
  display: block;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  padding: 0.12rem 0;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a:hover,&lt;br /&gt;
.muhro-floating-toc-panel a:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .tocnumber {&lt;br /&gt;
  color: #54595d;&lt;br /&gt;
  margin-right: 0.35rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .muhro-toc-hidden {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .muhro-toc-match &amp;gt; a {&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  background: #eaf3ff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px) {&lt;br /&gt;
  .muhro-floating-toc,&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc {&lt;br /&gt;
    top: 0.5rem;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    top: 3.2rem;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc-panel {&lt;br /&gt;
    width: calc(100vw - 1rem);&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
    max-height: 55vh;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-button {&lt;br /&gt;
    padding: 0.2rem 0.55rem;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60103</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60103"/>
		<updated>2026-05-27T14:40:14Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Add searchable floating contents panel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function normalizeLegacyCollapsibles($root) {&lt;br /&gt;
        var $legacy = $root.find(&#039;table.collapsible, div.collapsible, ul.collapsible, ol.collapsible&#039;)&lt;br /&gt;
            .not(&#039;.mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
        $legacy.each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            $element.addClass(&#039;mw-collapsible&#039;);&lt;br /&gt;
            if ($element.hasClass(&#039;collapsed&#039;)) {&lt;br /&gt;
                $element.addClass(&#039;mw-collapsed&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $legacy.makeCollapsible();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible.mw-made-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible.mw-made-collapsible&#039;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
            var api = $element.data(&#039;mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!api || $element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (collapse) {&lt;br /&gt;
                api.collapse();&lt;br /&gt;
            } else {&lt;br /&gt;
                api.expand();&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function attachControls($root) {&lt;br /&gt;
        if ($(&#039;#muhro-collapse-controls&#039;).length || !findCollapsibles($root).length) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-collapse-controls&#039;,&lt;br /&gt;
                role: &#039;group&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Collapsible content controls&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls noprint&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click keydown&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        $(&#039;body&#039;).append($controls);&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
        var attempts = 0;&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        normalizeLegacyCollapsibles($root);&lt;br /&gt;
&lt;br /&gt;
        function tryAttach() {&lt;br /&gt;
            attempts++;&lt;br /&gt;
            if (attachControls($root) || attempts &amp;gt;= 20) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            window.setTimeout(tryAttach, 250);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tryAttach();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function filterToc($panel, query) {&lt;br /&gt;
        var normalized = query.trim().toLowerCase();&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).removeClass(&#039;muhro-toc-match muhro-toc-hidden muhro-toc-ancestor&#039;);&lt;br /&gt;
&lt;br /&gt;
        if (!normalized) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).each(function () {&lt;br /&gt;
            var $item = $(this);&lt;br /&gt;
            var text = $item.children(&#039;a&#039;).first().text().toLowerCase();&lt;br /&gt;
&lt;br /&gt;
            if (text.indexOf(normalized) !== -1) {&lt;br /&gt;
                $item.addClass(&#039;muhro-toc-match&#039;);&lt;br /&gt;
                $item.parents(&#039;li&#039;).addClass(&#039;muhro-toc-ancestor&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $panel.find(&#039;li&#039;).each(function () {&lt;br /&gt;
            var $item = $(this);&lt;br /&gt;
            if (!$item.hasClass(&#039;muhro-toc-match&#039;) &amp;amp;&amp;amp; !$item.hasClass(&#039;muhro-toc-ancestor&#039;)) {&lt;br /&gt;
                $item.addClass(&#039;muhro-toc-hidden&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addFloatingToc($content) {&lt;br /&gt;
        var $toc = $content.find(&#039;#toc&#039;).first();&lt;br /&gt;
        var $tocList;&lt;br /&gt;
        var $button;&lt;br /&gt;
        var $panel;&lt;br /&gt;
        var $header;&lt;br /&gt;
        var $filter;&lt;br /&gt;
        var $body;&lt;br /&gt;
        var $wrapper;&lt;br /&gt;
&lt;br /&gt;
        if ($(&#039;#muhro-floating-toc&#039;).length || !$toc.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList = $toc.find(&#039;&amp;gt; ul, .toc &amp;gt; ul&#039;).first().clone(false);&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            $tocList = $toc.find(&#039;ul&#039;).first().clone(false);&lt;br /&gt;
        }&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList.find(&#039;[id]&#039;).removeAttr(&#039;id&#039;);&lt;br /&gt;
        $tocList.find(&#039;.tocnumber&#039;).attr(&#039;aria-hidden&#039;, &#039;true&#039;);&lt;br /&gt;
&lt;br /&gt;
        $button = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                type: &#039;button&#039;,&lt;br /&gt;
                &#039;aria-expanded&#039;: &#039;false&#039;,&lt;br /&gt;
                &#039;aria-controls&#039;: &#039;muhro-floating-toc-panel&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-button&#039;)&lt;br /&gt;
            .text(&#039;Contents&#039;);&lt;br /&gt;
&lt;br /&gt;
        $filter = $(&#039;&amp;lt;input&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                type: &#039;search&#039;,&lt;br /&gt;
                placeholder: &#039;Filter contents&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Filter contents&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-filter&#039;);&lt;br /&gt;
&lt;br /&gt;
        $header = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-header&#039;)&lt;br /&gt;
            .append($filter);&lt;br /&gt;
&lt;br /&gt;
        $body = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-body&#039;)&lt;br /&gt;
            .append($tocList);&lt;br /&gt;
&lt;br /&gt;
        $panel = $(&#039;&amp;lt;nav&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-floating-toc-panel&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Page contents&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-panel&#039;)&lt;br /&gt;
            .append($header, $body);&lt;br /&gt;
&lt;br /&gt;
        $wrapper = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;id&#039;, &#039;muhro-floating-toc&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc noprint&#039;)&lt;br /&gt;
            .append($button, $panel);&lt;br /&gt;
&lt;br /&gt;
        $button.on(&#039;click&#039;, function () {&lt;br /&gt;
            var open = !$wrapper.hasClass(&#039;is-open&#039;);&lt;br /&gt;
            $wrapper.toggleClass(&#039;is-open&#039;, open);&lt;br /&gt;
            $button.attr(&#039;aria-expanded&#039;, open ? &#039;true&#039; : &#039;false&#039;);&lt;br /&gt;
            if (open) {&lt;br /&gt;
                window.setTimeout(function () {&lt;br /&gt;
                    $filter.trigger(&#039;focus&#039;);&lt;br /&gt;
                }, 0);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $filter.on(&#039;input&#039;, function () {&lt;br /&gt;
            filterToc($panel, $filter.val());&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $panel.on(&#039;click&#039;, &#039;a&#039;, function () {&lt;br /&gt;
            if (window.matchMedia(&#039;(max-width: 720px)&#039;).matches) {&lt;br /&gt;
                $wrapper.removeClass(&#039;is-open&#039;);&lt;br /&gt;
                $button.attr(&#039;aria-expanded&#039;, &#039;false&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $(&#039;body&#039;).append($wrapper);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(addFloatingToc);&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60102</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60102"/>
		<updated>2026-05-27T14:38:43Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Group floating page controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tbody &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; thead + tbody,&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; .mw-collapsible-content {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle {&lt;br /&gt;
  float: right;&lt;br /&gt;
  margin-left: 0.75rem;&lt;br /&gt;
  border: 0;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle:hover,&lt;br /&gt;
.muhro-early-toggle:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc,&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  z-index: 1000;&lt;br /&gt;
  max-width: min(22rem, calc(100vw - 2rem));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc {&lt;br /&gt;
  top: 4.5rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  top: 7.2rem;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.35rem;&lt;br /&gt;
  justify-content: flex-end;&lt;br /&gt;
  padding: 0.35rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button,&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button {&lt;br /&gt;
  float: right;&lt;br /&gt;
  padding: 0.3rem 0.8rem;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button:hover,&lt;br /&gt;
.muhro-floating-toc-button:focus,&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel {&lt;br /&gt;
  clear: both;&lt;br /&gt;
  display: none;&lt;br /&gt;
  width: 22rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  max-height: min(70vh, 44rem);&lt;br /&gt;
  margin-top: 0.4rem;&lt;br /&gt;
  overflow: auto;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);&lt;br /&gt;
  padding: 0.65rem 0.85rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc.is-open .muhro-floating-toc-panel {&lt;br /&gt;
  display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel ul {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding-left: 1.2rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel &amp;gt; ul {&lt;br /&gt;
  padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel li {&lt;br /&gt;
  margin: 0.15rem 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a {&lt;br /&gt;
  display: block;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  padding: 0.12rem 0;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a:hover,&lt;br /&gt;
.muhro-floating-toc-panel a:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .tocnumber {&lt;br /&gt;
  color: #54595d;&lt;br /&gt;
  margin-right: 0.35rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px) {&lt;br /&gt;
  .muhro-floating-toc,&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc {&lt;br /&gt;
    top: 0.5rem;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    top: 3.2rem;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc-panel {&lt;br /&gt;
    width: calc(100vw - 1rem);&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
    max-height: 55vh;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-button {&lt;br /&gt;
    padding: 0.2rem 0.55rem;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60101</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60101"/>
		<updated>2026-05-27T14:36:31Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Style floating table of contents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tbody &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; thead + tbody,&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; .mw-collapsible-content {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle {&lt;br /&gt;
  float: right;&lt;br /&gt;
  margin-left: 0.75rem;&lt;br /&gt;
  border: 0;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle:hover,&lt;br /&gt;
.muhro-early-toggle:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  top: 4.5rem;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  z-index: 1000;&lt;br /&gt;
  max-width: min(22rem, calc(100vw - 2rem));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button {&lt;br /&gt;
  float: right;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.3rem 0.8rem;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-button:hover,&lt;br /&gt;
.muhro-floating-toc-button:focus {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel {&lt;br /&gt;
  clear: both;&lt;br /&gt;
  display: none;&lt;br /&gt;
  width: 22rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  max-height: min(70vh, 44rem);&lt;br /&gt;
  margin-top: 0.4rem;&lt;br /&gt;
  overflow: auto;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);&lt;br /&gt;
  padding: 0.65rem 0.85rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc.is-open .muhro-floating-toc-panel {&lt;br /&gt;
  display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel ul {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding-left: 1.2rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel &amp;gt; ul {&lt;br /&gt;
  padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel li {&lt;br /&gt;
  margin: 0.15rem 0;&lt;br /&gt;
  list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a {&lt;br /&gt;
  display: block;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  padding: 0.12rem 0;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel a:hover,&lt;br /&gt;
.muhro-floating-toc-panel a:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-floating-toc-panel .tocnumber {&lt;br /&gt;
  color: #54595d;&lt;br /&gt;
  margin-right: 0.35rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  bottom: 1rem;&lt;br /&gt;
  z-index: 1000;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.35rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  padding: 0.35rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px) {&lt;br /&gt;
  .muhro-floating-toc {&lt;br /&gt;
    top: 0.5rem;&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-floating-toc-panel {&lt;br /&gt;
    width: calc(100vw - 1rem);&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
    max-height: 55vh;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    bottom: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-button {&lt;br /&gt;
    padding: 0.2rem 0.55rem;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60100</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60100"/>
		<updated>2026-05-27T14:35:53Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Add floating table of contents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function normalizeLegacyCollapsibles($root) {&lt;br /&gt;
        var $legacy = $root.find(&#039;table.collapsible, div.collapsible, ul.collapsible, ol.collapsible&#039;)&lt;br /&gt;
            .not(&#039;.mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
        $legacy.each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            $element.addClass(&#039;mw-collapsible&#039;);&lt;br /&gt;
            if ($element.hasClass(&#039;collapsed&#039;)) {&lt;br /&gt;
                $element.addClass(&#039;mw-collapsed&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $legacy.makeCollapsible();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible.mw-made-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible.mw-made-collapsible&#039;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
            var api = $element.data(&#039;mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!api || $element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (collapse) {&lt;br /&gt;
                api.collapse();&lt;br /&gt;
            } else {&lt;br /&gt;
                api.expand();&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function attachControls($root) {&lt;br /&gt;
        if ($(&#039;#muhro-collapse-controls&#039;).length || !findCollapsibles($root).length) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-collapse-controls&#039;,&lt;br /&gt;
                role: &#039;group&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Collapsible content controls&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls noprint&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click keydown&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        $(&#039;body&#039;).append($controls);&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
        var attempts = 0;&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        normalizeLegacyCollapsibles($root);&lt;br /&gt;
&lt;br /&gt;
        function tryAttach() {&lt;br /&gt;
            attempts++;&lt;br /&gt;
            if (attachControls($root) || attempts &amp;gt;= 20) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            window.setTimeout(tryAttach, 250);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tryAttach();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function addFloatingToc($content) {&lt;br /&gt;
        var $toc = $content.find(&#039;#toc&#039;).first();&lt;br /&gt;
        var $tocList;&lt;br /&gt;
        var $button;&lt;br /&gt;
        var $panel;&lt;br /&gt;
        var $wrapper;&lt;br /&gt;
&lt;br /&gt;
        if ($(&#039;#muhro-floating-toc&#039;).length || !$toc.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList = $toc.find(&#039;&amp;gt; ul, .toc &amp;gt; ul&#039;).first().clone(false);&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            $tocList = $toc.find(&#039;ul&#039;).first().clone(false);&lt;br /&gt;
        }&lt;br /&gt;
        if (!$tocList.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $tocList.find(&#039;[id]&#039;).removeAttr(&#039;id&#039;);&lt;br /&gt;
        $tocList.find(&#039;.tocnumber&#039;).attr(&#039;aria-hidden&#039;, &#039;true&#039;);&lt;br /&gt;
&lt;br /&gt;
        $button = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                type: &#039;button&#039;,&lt;br /&gt;
                &#039;aria-expanded&#039;: &#039;false&#039;,&lt;br /&gt;
                &#039;aria-controls&#039;: &#039;muhro-floating-toc-panel&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-button&#039;)&lt;br /&gt;
            .text(&#039;Contents&#039;);&lt;br /&gt;
&lt;br /&gt;
        $panel = $(&#039;&amp;lt;nav&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-floating-toc-panel&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Page contents&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc-panel&#039;)&lt;br /&gt;
            .append($tocList);&lt;br /&gt;
&lt;br /&gt;
        $wrapper = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;id&#039;, &#039;muhro-floating-toc&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-floating-toc noprint&#039;)&lt;br /&gt;
            .append($button, $panel);&lt;br /&gt;
&lt;br /&gt;
        $button.on(&#039;click&#039;, function () {&lt;br /&gt;
            var open = !$wrapper.hasClass(&#039;is-open&#039;);&lt;br /&gt;
            $wrapper.toggleClass(&#039;is-open&#039;, open);&lt;br /&gt;
            $button.attr(&#039;aria-expanded&#039;, open ? &#039;true&#039; : &#039;false&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $panel.on(&#039;click&#039;, &#039;a&#039;, function () {&lt;br /&gt;
            if (window.matchMedia(&#039;(max-width: 720px)&#039;).matches) {&lt;br /&gt;
                $wrapper.removeClass(&#039;is-open&#039;);&lt;br /&gt;
                $button.attr(&#039;aria-expanded&#039;, &#039;false&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $(&#039;body&#039;).append($wrapper);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(addFloatingToc);&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60099</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60099"/>
		<updated>2026-05-27T14:17:58Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Support early collapsible controls under Rocket Loader&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tbody &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; thead + tbody,&lt;br /&gt;
.muhro-early-collapsed &amp;gt; tr:not(:first-child),&lt;br /&gt;
.muhro-early-collapsed &amp;gt; .mw-collapsible-content {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle {&lt;br /&gt;
  float: right;&lt;br /&gt;
  margin-left: 0.75rem;&lt;br /&gt;
  border: 0;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  color: #36c;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-early-toggle:hover,&lt;br /&gt;
.muhro-early-toggle:focus {&lt;br /&gt;
  text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  bottom: 1rem;&lt;br /&gt;
  z-index: 1000;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.35rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  padding: 0.35rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px) {&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    bottom: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-button {&lt;br /&gt;
    padding: 0.2rem 0.55rem;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60098</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60098"/>
		<updated>2026-05-27T14:14:31Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Avoid reinitializing standard collapsible tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function normalizeLegacyCollapsibles($root) {&lt;br /&gt;
        var $legacy = $root.find(&#039;table.collapsible, div.collapsible, ul.collapsible, ol.collapsible&#039;)&lt;br /&gt;
            .not(&#039;.mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
        $legacy.each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            $element.addClass(&#039;mw-collapsible&#039;);&lt;br /&gt;
            if ($element.hasClass(&#039;collapsed&#039;)) {&lt;br /&gt;
                $element.addClass(&#039;mw-collapsed&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        $legacy.makeCollapsible();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible.mw-made-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible.mw-made-collapsible&#039;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
            var api = $element.data(&#039;mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!api || $element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (collapse) {&lt;br /&gt;
                api.collapse();&lt;br /&gt;
            } else {&lt;br /&gt;
                api.expand();&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function attachControls($root) {&lt;br /&gt;
        if ($(&#039;#muhro-collapse-controls&#039;).length || !findCollapsibles($root).length) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-collapse-controls&#039;,&lt;br /&gt;
                role: &#039;group&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Collapsible content controls&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls noprint&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click keydown&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        $(&#039;body&#039;).append($controls);&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
        var attempts = 0;&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        normalizeLegacyCollapsibles($root);&lt;br /&gt;
&lt;br /&gt;
        function tryAttach() {&lt;br /&gt;
            attempts++;&lt;br /&gt;
            if (attachControls($root) || attempts &amp;gt;= 20) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            window.setTimeout(tryAttach, 250);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        tryAttach();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60097</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60097"/>
		<updated>2026-05-27T14:09:57Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Fix global collapsible controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function normalizeLegacyCollapsibles($root) {&lt;br /&gt;
        $root.find(&#039;table.collapsible, div.collapsible, ul.collapsible, ol.collapsible&#039;).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            $element.addClass(&#039;mw-collapsible&#039;);&lt;br /&gt;
            if ($element.hasClass(&#039;collapsed&#039;)) {&lt;br /&gt;
                $element.addClass(&#039;mw-collapsed&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function prepareCollapsibles($root) {&lt;br /&gt;
        normalizeLegacyCollapsibles($root);&lt;br /&gt;
&lt;br /&gt;
        var $items = $root&lt;br /&gt;
            .find(&#039;.mw-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible&#039;));&lt;br /&gt;
&lt;br /&gt;
        $items.not(&#039;.mw-made-collapsible&#039;).makeCollapsible();&lt;br /&gt;
&lt;br /&gt;
        return $items.filter(&#039;.mw-made-collapsible&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible.mw-made-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible.mw-made-collapsible&#039;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, $items.length === 0 || collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
            var api = $element.data(&#039;mw-collapsible&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!api || $element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (collapse) {&lt;br /&gt;
                api.collapse();&lt;br /&gt;
            } else {&lt;br /&gt;
                api.expand();&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
        var $items;&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $items = prepareCollapsibles($root);&lt;br /&gt;
&lt;br /&gt;
        if ($(&#039;#muhro-collapse-controls&#039;).length || !$items.length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-collapse-controls&#039;,&lt;br /&gt;
                role: &#039;group&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Collapsible content controls&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls noprint&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click keydown&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        $(&#039;body&#039;).append($controls);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60096</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60096"/>
		<updated>2026-05-27T14:06:21Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Float collapsible controls while scrolling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  right: 1rem;&lt;br /&gt;
  bottom: 1rem;&lt;br /&gt;
  z-index: 1000;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.35rem;&lt;br /&gt;
  max-width: calc(100vw - 2rem);&lt;br /&gt;
  padding: 0.35rem;&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 4px;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 720px) {&lt;br /&gt;
  .muhro-collapse-controls {&lt;br /&gt;
    right: 0.5rem;&lt;br /&gt;
    bottom: 0.5rem;&lt;br /&gt;
    max-width: calc(100vw - 1rem);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  .muhro-collapse-button {&lt;br /&gt;
    padding: 0.2rem 0.55rem;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60095</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60095"/>
		<updated>2026-05-27T14:06:03Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Make collapsible controls available while scrolling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible.mw-made-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible.mw-made-collapsible&#039;));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findToggle($element) {&lt;br /&gt;
        var $toggle = $element&lt;br /&gt;
            .find(&#039;&amp;gt; .mw-collapsible-toggle, &amp;gt; caption .mw-collapsible-toggle, &amp;gt; tbody &amp;gt; tr:first-child .mw-collapsible-toggle, &amp;gt; tr:first-child .mw-collapsible-toggle&#039;)&lt;br /&gt;
            .first();&lt;br /&gt;
&lt;br /&gt;
        return $toggle.length ? $toggle : $element.find(&#039;.mw-collapsible-toggle&#039;).first();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            if ($element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            findToggle($element).trigger(&#039;click&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        window.setTimeout(function () {&lt;br /&gt;
            updateButtons($root, $expand, $collapse);&lt;br /&gt;
        }, 0);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($(&#039;#muhro-collapse-controls&#039;).length || !findCollapsibles($root).length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr({&lt;br /&gt;
                id: &#039;muhro-collapse-controls&#039;,&lt;br /&gt;
                role: &#039;group&#039;,&lt;br /&gt;
                &#039;aria-label&#039;: &#039;Collapsible content controls&#039;&lt;br /&gt;
            })&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls noprint&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        $(&#039;body&#039;).append($controls);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60094</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.css&amp;diff=60094"/>
		<updated>2026-05-27T13:59:03Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Style global collapsible controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Baloo+Paaji+2:wght@600;800&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* Changes the default font used for MediaWiki to Noto Sans (does not include headings or monospaced text): */&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Baloo Paaji 2&amp;quot;, cursive;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.copy-link{&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: #fff url(https://test.muhro.eu/flux/themes/th1/img/cowpattern.png) repeat;&lt;br /&gt;
}&lt;br /&gt;
#ca-viewsource { display: none !important; }&lt;br /&gt;
#footer-places-disclaimer { display: none; }&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-controls {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  gap: 0.5rem;&lt;br /&gt;
  margin: 0 0 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button {&lt;br /&gt;
  border: 1px solid #a2a9b1;&lt;br /&gt;
  border-radius: 3px;&lt;br /&gt;
  background: #f8f9fa;&lt;br /&gt;
  color: #202122;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  font: inherit;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  padding: 0.25rem 0.75rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:hover:not(:disabled),&lt;br /&gt;
.muhro-collapse-button:focus:not(:disabled) {&lt;br /&gt;
  border-color: #72777d;&lt;br /&gt;
  background: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.muhro-collapse-button:disabled {&lt;br /&gt;
  color: #72777d;&lt;br /&gt;
  cursor: default;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
	<entry>
		<id>https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60093</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.muhro.eu/index.php?title=MediaWiki:Common.js&amp;diff=60093"/>
		<updated>2026-05-27T13:58:48Z</updated>

		<summary type="html">&lt;p&gt;MuhRO maintenance: Add global collapsible expand/collapse controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
$(&#039;.copy-link&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
&lt;br /&gt;
    var link    = $(this);&lt;br /&gt;
    var copy_id = $(this).attr(&#039;id&#039;);&lt;br /&gt;
    var text    = $(this).text();&lt;br /&gt;
    var clipboard = new ClipboardJS(&#039;#&#039; + copy_id );&lt;br /&gt;
    clipboard.on(&#039;success&#039;, function(e) {&lt;br /&gt;
        link.text(&#039;Copied!&#039;);&lt;br /&gt;
        setTimeout(function() {&lt;br /&gt;
            link.text(&#039;&#039;+text);&lt;br /&gt;
        }, 2000);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    function findCollapsibles($root) {&lt;br /&gt;
        return $root&lt;br /&gt;
            .find(&#039;.mw-collapsible.mw-made-collapsible&#039;)&lt;br /&gt;
            .add($root.filter(&#039;.mw-collapsible.mw-made-collapsible&#039;))&lt;br /&gt;
            .filter(function () {&lt;br /&gt;
                return !$(this).closest(&#039;#muhro-collapse-controls&#039;).length;&lt;br /&gt;
            });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function findToggle($element) {&lt;br /&gt;
        var $toggle = $element&lt;br /&gt;
            .find(&#039;&amp;gt; .mw-collapsible-toggle, &amp;gt; caption .mw-collapsible-toggle, &amp;gt; tbody &amp;gt; tr:first-child .mw-collapsible-toggle, &amp;gt; tr:first-child .mw-collapsible-toggle&#039;)&lt;br /&gt;
            .first();&lt;br /&gt;
&lt;br /&gt;
        return $toggle.length ? $toggle : $element.find(&#039;.mw-collapsible-toggle&#039;).first();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function updateButtons($root, $expand, $collapse) {&lt;br /&gt;
        var $items = findCollapsibles($root);&lt;br /&gt;
        var collapsedCount = $items.filter(&#039;.mw-collapsed&#039;).length;&lt;br /&gt;
&lt;br /&gt;
        $expand.prop(&#039;disabled&#039;, collapsedCount === 0);&lt;br /&gt;
        $collapse.prop(&#039;disabled&#039;, collapsedCount === $items.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setAll($root, collapse, $expand, $collapse) {&lt;br /&gt;
        findCollapsibles($root).each(function () {&lt;br /&gt;
            var $element = $(this);&lt;br /&gt;
&lt;br /&gt;
            if ($element.hasClass(&#039;mw-collapsed&#039;) === collapse) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            findToggle($element).trigger(&#039;click&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        window.setTimeout(function () {&lt;br /&gt;
            updateButtons($root, $expand, $collapse);&lt;br /&gt;
        }, 0);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function addCollapsibleControls($content) {&lt;br /&gt;
        var $root = $content.find(&#039;.mw-parser-output&#039;).first();&lt;br /&gt;
&lt;br /&gt;
        if (!$root.length) {&lt;br /&gt;
            $root = $content;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($root.find(&#039;#muhro-collapse-controls&#039;).length || !findCollapsibles($root).length) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $expand = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Expand all&#039;);&lt;br /&gt;
        var $collapse = $(&#039;&amp;lt;button&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;type&#039;, &#039;button&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-button&#039;)&lt;br /&gt;
            .text(&#039;Collapse all&#039;);&lt;br /&gt;
        var $controls = $(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
            .attr(&#039;id&#039;, &#039;muhro-collapse-controls&#039;)&lt;br /&gt;
            .addClass(&#039;muhro-collapse-controls noprint&#039;)&lt;br /&gt;
            .append($expand, $collapse);&lt;br /&gt;
&lt;br /&gt;
        $expand.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, false, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $collapse.on(&#039;click&#039;, function () {&lt;br /&gt;
            setAll($root, true, $expand, $collapse);&lt;br /&gt;
        });&lt;br /&gt;
        $root.on(&#039;click&#039;, &#039;.mw-collapsible-toggle&#039;, function () {&lt;br /&gt;
            window.setTimeout(function () {&lt;br /&gt;
                updateButtons($root, $expand, $collapse);&lt;br /&gt;
            }, 0);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        updateButtons($root, $expand, $collapse);&lt;br /&gt;
        $root.prepend($controls);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.loader.using(&#039;jquery.makeCollapsible&#039;).then(function () {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(addCollapsibleControls);&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>MuhRO maintenance</name></author>
	</entry>
</feed>