<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://mediawiki.hornyjail.space/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MaintenanceScript</id>
	<title>Horny Jail WIKI - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://mediawiki.hornyjail.space/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MaintenanceScript"/>
	<link rel="alternate" type="text/html" href="http://mediawiki.hornyjail.space/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/MaintenanceScript"/>
	<updated>2026-08-29T07:12:29Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://mediawiki.hornyjail.space/index.php?title=MediaWiki:Common.js&amp;diff=2672</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hornyjail.space/index.php?title=MediaWiki:Common.js&amp;diff=2672"/>
		<updated>2026-08-25T20:29:40Z</updated>

		<summary type="html">&lt;p&gt;MaintenanceScript: Do not strip TabberNeue tab styles inside #orb-content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* MediaWiki:Common.js — Orbitalis Wiki&lt;br /&gt;
 * This code runs on every wiki page.&lt;br /&gt;
 * Paste this into MediaWiki:Common.js on the wiki (requires admin rights).&lt;br /&gt;
 *&lt;br /&gt;
 * Parallax space background that follows the mouse cursor,&lt;br /&gt;
 * matching the in-game lobby style.&lt;br /&gt;
 */&lt;br /&gt;
(function () {&lt;br /&gt;
  &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Only activate on the main page (or everywhere — your choice)&lt;br /&gt;
  var parallaxBg = document.getElementById(&amp;quot;orbitalis-parallax-bg&amp;quot;);&lt;br /&gt;
  if (!parallaxBg) return; // no parallax container on this page&lt;br /&gt;
&lt;br /&gt;
  var nebulaEl = document.getElementById(&amp;quot;parallax-nebula&amp;quot;);&lt;br /&gt;
  var starsSmallEl = document.getElementById(&amp;quot;parallax-stars-small&amp;quot;);&lt;br /&gt;
  var starsBigEl = document.getElementById(&amp;quot;parallax-stars-big&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // Disable parallax on diff/comparison and old revision pages&lt;br /&gt;
  var params = new URLSearchParams(window.location.search);&lt;br /&gt;
  if (&lt;br /&gt;
    params.has(&amp;quot;diff&amp;quot;) ||&lt;br /&gt;
    params.has(&amp;quot;oldid&amp;quot;) ||&lt;br /&gt;
    params.get(&amp;quot;action&amp;quot;) === &amp;quot;historysubmit&amp;quot;&lt;br /&gt;
  ) {&lt;br /&gt;
    var hideEls = [&lt;br /&gt;
      parallaxBg,&lt;br /&gt;
      nebulaEl,&lt;br /&gt;
      starsSmallEl,&lt;br /&gt;
      starsBigEl,&lt;br /&gt;
      document.getElementById(&amp;quot;orbitalis-vignette&amp;quot;),&lt;br /&gt;
    ];&lt;br /&gt;
    for (var h = 0; h &amp;lt; hideEls.length; h++) {&lt;br /&gt;
      if (hideEls[h]) hideEls[h].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    // Restore opaque background so diff/old revision is readable&lt;br /&gt;
    document.body.style.background = &amp;quot;#060608&amp;quot;;&lt;br /&gt;
    var contentEl = document.getElementById(&amp;quot;content&amp;quot;);&lt;br /&gt;
    if (contentEl) {&lt;br /&gt;
      contentEl.style.background = &amp;quot;#14141a&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // ---- Apply styles to the parallax elements ----------------------------&lt;br /&gt;
  // We do it from JS because MediaWiki strips complex inline styles&lt;br /&gt;
&lt;br /&gt;
  // Background container&lt;br /&gt;
  parallaxBg.style.cssText =&lt;br /&gt;
    &amp;quot;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-10;pointer-events:none;overflow:hidden;background:#060608;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Shared layer base&lt;br /&gt;
  var layerBase =&lt;br /&gt;
    &amp;quot;position:fixed;top:-50px;left:-50px;width:calc(100% + 100px);height:calc(100% + 100px);pointer-events:none;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Nebula&lt;br /&gt;
  if (nebulaEl) {&lt;br /&gt;
    nebulaEl.style.cssText =&lt;br /&gt;
      layerBase +&lt;br /&gt;
      &amp;quot;background:&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(ellipse at 70% 40%, rgba(30,50,80,0.4) 0%, transparent 50%),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(ellipse at 85% 60%, rgba(50,30,60,0.3) 0%, transparent 45%),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(ellipse at 60% 70%, rgba(20,40,70,0.35) 0%, transparent 55%);&amp;quot; +&lt;br /&gt;
      &amp;quot;opacity:0.7;z-index:-9;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Small stars&lt;br /&gt;
  if (starsSmallEl) {&lt;br /&gt;
    starsSmallEl.style.cssText =&lt;br /&gt;
      layerBase +&lt;br /&gt;
      &amp;quot;background-image:&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 25% 35%, rgba(255,255,255,0.6), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 40% 10%, rgba(255,255,255,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 55% 45%, rgba(255,255,255,0.5), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 70% 25%, rgba(255,255,255,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 85% 55%, rgba(255,255,255,0.6), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 15% 60%, rgba(255,255,255,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 30% 75%, rgba(255,255,255,0.5), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 45% 85%, rgba(255,255,255,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 60% 70%, rgba(255,255,255,0.6), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 75% 90%, rgba(255,255,255,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 90% 15%, rgba(255,255,255,0.5), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 5% 40%, rgba(255,255,255,0.6), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 20% 95%, rgba(255,255,255,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 35% 50%, rgba(255,255,255,0.5), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 50% 30%, rgba(255,255,255,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 65% 5%, rgba(255,255,255,0.6), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 80% 65%, rgba(255,255,255,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 95% 80%, rgba(255,255,255,0.5), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(1px 1px at 12% 88%, rgba(255,255,255,0.6), transparent);&amp;quot; +&lt;br /&gt;
      &amp;quot;background-size:200px 200px;opacity:0.8;z-index:-8;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Big stars&lt;br /&gt;
  if (starsBigEl) {&lt;br /&gt;
    starsBigEl.style.cssText =&lt;br /&gt;
      layerBase +&lt;br /&gt;
      &amp;quot;background-image:&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 8% 15%, rgba(200,220,255,0.9), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 22% 42%, rgba(255,240,220,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 38% 8%, rgba(220,255,255,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 52% 68%, rgba(255,255,220,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 68% 32%, rgba(200,200,255,0.9), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 82% 78%, rgba(255,220,200,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 18% 55%, rgba(220,255,220,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 48% 92%, rgba(255,200,255,0.7), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 72% 18%, rgba(200,255,255,0.8), transparent),&amp;quot; +&lt;br /&gt;
      &amp;quot;radial-gradient(2px 2px at 92% 45%, rgba(255,255,200,0.7), transparent);&amp;quot; +&lt;br /&gt;
      &amp;quot;background-size:300px 300px;opacity:0.6;z-index:-7;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Vignette overlay&lt;br /&gt;
  var vignetteEl = document.getElementById(&amp;quot;orbitalis-vignette&amp;quot;);&lt;br /&gt;
  if (vignetteEl) {&lt;br /&gt;
    vignetteEl.style.cssText =&lt;br /&gt;
      &amp;quot;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-6;pointer-events:none;&amp;quot; +&lt;br /&gt;
      &amp;quot;background:radial-gradient(ellipse at center, rgba(6,6,8,0) 30%, rgba(6,6,8,0.6) 70%, #060608 100%);&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // ---- Override MediaWiki default backgrounds ----------------------------&lt;br /&gt;
  document.body.style.background = &amp;quot;transparent&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  var ids = [&amp;quot;mw-page-base&amp;quot;, &amp;quot;mw-head-base&amp;quot;];&lt;br /&gt;
  for (var i = 0; i &amp;lt; ids.length; i++) {&lt;br /&gt;
    var el = document.getElementById(ids[i]);&lt;br /&gt;
    if (el) el.style.background = &amp;quot;none&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var content = document.getElementById(&amp;quot;content&amp;quot;);&lt;br /&gt;
  if (content) {&lt;br /&gt;
    content.style.background = &amp;quot;none&amp;quot;;&lt;br /&gt;
    content.style.border = &amp;quot;none&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var bodyContent = document.getElementById(&amp;quot;bodyContent&amp;quot;);&lt;br /&gt;
  if (bodyContent) {&lt;br /&gt;
    bodyContent.style.position = &amp;quot;relative&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // ---- Mouse-tracking parallax animation --------------------------------&lt;br /&gt;
  var targetX = 0,&lt;br /&gt;
    targetY = 0;&lt;br /&gt;
  var currentX = 0,&lt;br /&gt;
    currentY = 0;&lt;br /&gt;
&lt;br /&gt;
  document.addEventListener(&amp;quot;mousemove&amp;quot;, function (e) {&lt;br /&gt;
    var w = window.innerWidth || document.documentElement.clientWidth;&lt;br /&gt;
    var h = window.innerHeight || document.documentElement.clientHeight;&lt;br /&gt;
    targetX = (e.clientX / w - 0.5) * 2;&lt;br /&gt;
    targetY = (e.clientY / h - 0.5) * 2;&lt;br /&gt;
  });&lt;br /&gt;
&lt;br /&gt;
  function animate() {&lt;br /&gt;
    currentX += (targetX - currentX) * 0.06;&lt;br /&gt;
    currentY += (targetY - currentY) * 0.06;&lt;br /&gt;
&lt;br /&gt;
    if (nebulaEl) {&lt;br /&gt;
      nebulaEl.style.left = currentX * 12 - 50 + &amp;quot;px&amp;quot;;&lt;br /&gt;
      nebulaEl.style.top = currentY * 12 - 50 + &amp;quot;px&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    if (starsSmallEl) {&lt;br /&gt;
      starsSmallEl.style.left = currentX * 25 - 50 + &amp;quot;px&amp;quot;;&lt;br /&gt;
      starsSmallEl.style.top = currentY * 25 - 50 + &amp;quot;px&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    if (starsBigEl) {&lt;br /&gt;
      starsBigEl.style.left = currentX * 40 - 50 + &amp;quot;px&amp;quot;;&lt;br /&gt;
      starsBigEl.style.top = currentY * 40 - 50 + &amp;quot;px&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    requestAnimationFrame(animate);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  animate();&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
/* ---- Server online status + info ---- */&lt;br /&gt;
/* Queries /api/status.php on the same wiki host — which sends a UDP BYOND&lt;br /&gt;
 * topic to localhost:41060 and returns JSON { players, map_name, chaos_level, ... }.&lt;br /&gt;
 * No proxy needed: wiki and game server share the same machine.&lt;br /&gt;
 */&lt;br /&gt;
(function () {&lt;br /&gt;
  &amp;quot;use strict&amp;quot;;&lt;br /&gt;
  var elOnline = document.getElementById(&amp;quot;orb-online&amp;quot;);&lt;br /&gt;
  var elMap = document.getElementById(&amp;quot;orb-map-val&amp;quot;);&lt;br /&gt;
  var elST = document.getElementById(&amp;quot;orb-st-val&amp;quot;);&lt;br /&gt;
  if (!elOnline) return;&lt;br /&gt;
&lt;br /&gt;
  var STATUS_URL = &amp;quot;/api/status.json&amp;quot;;&lt;br /&gt;
  var REFRESH_MS = 30000;&lt;br /&gt;
&lt;br /&gt;
  function update() {&lt;br /&gt;
    fetch(STATUS_URL)&lt;br /&gt;
      .then(function (r) {&lt;br /&gt;
        console.log(&amp;quot;[Orbitalis Status] HTTP&amp;quot;, r.status, r.url);&lt;br /&gt;
        if (!r.ok) throw new Error(&amp;quot;HTTP &amp;quot; + r.status);&lt;br /&gt;
        return r.json();&lt;br /&gt;
      })&lt;br /&gt;
      .then(function (data) {&lt;br /&gt;
        console.log(&amp;quot;[Orbitalis Status] Data:&amp;quot;, data);&lt;br /&gt;
        var count = parseInt(data.players, 10);&lt;br /&gt;
        if (isNaN(count)) throw new Error(&amp;quot;bad data: players=&amp;quot; + data.players);&lt;br /&gt;
&lt;br /&gt;
        elOnline.textContent = count + &amp;quot; онлайн&amp;quot;;&lt;br /&gt;
        elOnline.style.color =&lt;br /&gt;
          count &amp;gt; 0 ? &amp;quot;rgba(100,220,180,0.75)&amp;quot; : &amp;quot;rgba(100,220,180,0.35)&amp;quot;;&lt;br /&gt;
        elOnline.style.textShadow =&lt;br /&gt;
          count &amp;gt; 0 ? &amp;quot;0 0 15px rgba(100,220,180,0.2)&amp;quot; : &amp;quot;none&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        if (elMap &amp;amp;&amp;amp; data.map_name) {&lt;br /&gt;
          elMap.textContent = data.map_name;&lt;br /&gt;
          elMap.style.color = &amp;quot;rgba(255,255,255,0.55)&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        if (elST &amp;amp;&amp;amp; data.chaos_level) {&lt;br /&gt;
          elST.textContent = data.chaos_level;&lt;br /&gt;
          elST.style.color = &amp;quot;rgba(255,255,255,0.55)&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
      })&lt;br /&gt;
      .catch(function (err) {&lt;br /&gt;
        console.error(&amp;quot;[Orbitalis Status] Fetch failed:&amp;quot;, err);&lt;br /&gt;
        elOnline.textContent = &amp;quot;оффлайн&amp;quot;;&lt;br /&gt;
        elOnline.style.color = &amp;quot;rgba(255,120,120,0.5)&amp;quot;;&lt;br /&gt;
        elOnline.style.textShadow = &amp;quot;none&amp;quot;;&lt;br /&gt;
        if (elMap) elMap.textContent = &amp;quot;—&amp;quot;;&lt;br /&gt;
        if (elST) elST.textContent = &amp;quot;—&amp;quot;;&lt;br /&gt;
      });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  update();&lt;br /&gt;
  setInterval(update, REFRESH_MS);&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
/* ---- Main page: interactive engine ---- */&lt;br /&gt;
/* All visual styling is in Common.css (CSS-first approach).&lt;br /&gt;
   JS handles: nuclear strip for &amp;lt;a&amp;gt; tags, click handlers.&lt;br /&gt;
   Safe to re-run on Citizen DOM updates. */&lt;br /&gt;
(function () {&lt;br /&gt;
  &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  function run() {&lt;br /&gt;
    var orb = document.getElementById(&amp;quot;orb-content&amp;quot;);&lt;br /&gt;
    if (!orb) return;&lt;br /&gt;
&lt;br /&gt;
    /* Nuclear strip: clear Citizen-applied backgrounds on &amp;lt;a&amp;gt; tags only */&lt;br /&gt;
    var links = orb.querySelectorAll(&amp;quot;a&amp;quot;);&lt;br /&gt;
    for (var i = 0; i &amp;lt; links.length; i++) {&lt;br /&gt;
      var a = links[i];&lt;br /&gt;
      if (a.classList.contains(&amp;quot;tabber__tab&amp;quot;) || a.closest(&amp;quot;.tabber__header&amp;quot;)) {&lt;br /&gt;
        continue;&lt;br /&gt;
      }&lt;br /&gt;
      a.style.setProperty(&amp;quot;background&amp;quot;, &amp;quot;none&amp;quot;, &amp;quot;important&amp;quot;);&lt;br /&gt;
      a.style.setProperty(&amp;quot;background-color&amp;quot;, &amp;quot;transparent&amp;quot;, &amp;quot;important&amp;quot;);&lt;br /&gt;
      a.style.setProperty(&amp;quot;background-image&amp;quot;, &amp;quot;none&amp;quot;, &amp;quot;important&amp;quot;);&lt;br /&gt;
      a.style.setProperty(&amp;quot;box-shadow&amp;quot;, &amp;quot;none&amp;quot;, &amp;quot;important&amp;quot;);&lt;br /&gt;
      a.style.setProperty(&amp;quot;border&amp;quot;, &amp;quot;none&amp;quot;, &amp;quot;important&amp;quot;);&lt;br /&gt;
      a.style.setProperty(&amp;quot;padding&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;important&amp;quot;);&lt;br /&gt;
      a.style.setProperty(&amp;quot;text-decoration&amp;quot;, &amp;quot;none&amp;quot;, &amp;quot;important&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /* Connect button — byond:// link */&lt;br /&gt;
    var addr = document.getElementById(&amp;quot;orb-addr&amp;quot;);&lt;br /&gt;
    if (addr &amp;amp;&amp;amp; !addr._orbClick) {&lt;br /&gt;
      addr._orbClick = true;&lt;br /&gt;
      addr.addEventListener(&amp;quot;click&amp;quot;, function () {&lt;br /&gt;
        window.location.href = &amp;quot;byond://45.141.208.222:41060&amp;quot;;&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /* Make entire card area clickable */&lt;br /&gt;
    var cardIds = [&lt;br /&gt;
      &amp;quot;orb-card-1&amp;quot;,&lt;br /&gt;
      &amp;quot;orb-card-2&amp;quot;,&lt;br /&gt;
      &amp;quot;orb-card-3&amp;quot;,&lt;br /&gt;
      &amp;quot;orb-card-4&amp;quot;,&lt;br /&gt;
      &amp;quot;orb-card-5&amp;quot;,&lt;br /&gt;
      &amp;quot;orb-card-6&amp;quot;,&lt;br /&gt;
      &amp;quot;orb-card-7&amp;quot;,&lt;br /&gt;
      &amp;quot;orb-card-8&amp;quot;,&lt;br /&gt;
    ];&lt;br /&gt;
    for (var j = 0; j &amp;lt; cardIds.length; j++) {&lt;br /&gt;
      var card = document.getElementById(cardIds[j]);&lt;br /&gt;
      if (card &amp;amp;&amp;amp; !card._orbClick) {&lt;br /&gt;
        card._orbClick = true;&lt;br /&gt;
        (function (c) {&lt;br /&gt;
          var link = c.querySelector(&amp;quot;a&amp;quot;);&lt;br /&gt;
          if (link) {&lt;br /&gt;
            c.addEventListener(&amp;quot;click&amp;quot;, function (ev) {&lt;br /&gt;
              if (&lt;br /&gt;
                ev.target.tagName !== &amp;quot;A&amp;quot; &amp;amp;&amp;amp;&lt;br /&gt;
                (!ev.target.parentNode || ev.target.parentNode.tagName !== &amp;quot;A&amp;quot;)&lt;br /&gt;
              ) {&lt;br /&gt;
                link.click();&lt;br /&gt;
              }&lt;br /&gt;
            });&lt;br /&gt;
          }&lt;br /&gt;
        })(card);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* Hook into multiple events — retry for Citizen&#039;s late DOM updates */&lt;br /&gt;
  if (typeof mw !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; mw.hook) {&lt;br /&gt;
    mw.hook(&amp;quot;wikipage.content&amp;quot;).add(run);&lt;br /&gt;
  }&lt;br /&gt;
  document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, run);&lt;br /&gt;
  window.addEventListener(&amp;quot;load&amp;quot;, function () {&lt;br /&gt;
    setTimeout(run, 50);&lt;br /&gt;
    setTimeout(run, 500);&lt;br /&gt;
  });&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// Переключение вкладок и классов &amp;quot;chaos-*&amp;quot;.&lt;br /&gt;
mw.hook(&amp;quot;wikipage.content&amp;quot;).add(function ($root) {&lt;br /&gt;
  $root.find(&amp;quot;.hj-chaos-container&amp;quot;).each(function () {&lt;br /&gt;
    var $container = $(this);&lt;br /&gt;
    var $buttons = $container.find(&amp;quot;.hj-chaos-tab-button&amp;quot;);&lt;br /&gt;
    var $blocks = $container.find(&amp;quot;.hj-chaos-block&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    if (!$buttons.length || !$blocks.length) return;&lt;br /&gt;
&lt;br /&gt;
    var CHAOS_CLASSES = &amp;quot;chaos-overview chaos-calm chaos-medium chaos-high&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    function activate(key, $btn) {&lt;br /&gt;
      // активная кнопка&lt;br /&gt;
      $buttons.removeClass(&amp;quot;active&amp;quot;);&lt;br /&gt;
      $btn.addClass(&amp;quot;active&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
      // активный блок&lt;br /&gt;
      $blocks.removeClass(&amp;quot;active&amp;quot;).hide();&lt;br /&gt;
      $blocks&lt;br /&gt;
        .filter(&#039;[data-chaos=&amp;quot;&#039; + key + &#039;&amp;quot;]&#039;)&lt;br /&gt;
        .addClass(&amp;quot;active&amp;quot;)&lt;br /&gt;
        .show();&lt;br /&gt;
&lt;br /&gt;
      // класс на контейнере для раскраски рамок/фона&lt;br /&gt;
      $container.removeClass(CHAOS_CLASSES).addClass(&amp;quot;chaos-&amp;quot; + key);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Инициализация&lt;br /&gt;
    var $activeBtn = $buttons.filter(&amp;quot;.active&amp;quot;).first();&lt;br /&gt;
    if ($activeBtn.length) {&lt;br /&gt;
      activate($activeBtn.data(&amp;quot;chaos&amp;quot;), $activeBtn);&lt;br /&gt;
    } else {&lt;br /&gt;
      var $first = $buttons.first();&lt;br /&gt;
      activate($first.data(&amp;quot;chaos&amp;quot;), $first);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Клики&lt;br /&gt;
    $buttons.off(&amp;quot;click.hjChaos&amp;quot;).on(&amp;quot;click.hjChaos&amp;quot;, function () {&lt;br /&gt;
      var $btn = $(this);&lt;br /&gt;
      activate($btn.data(&amp;quot;chaos&amp;quot;), $btn);&lt;br /&gt;
    });&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ---- Orbitalis custom TOC ---- */&lt;br /&gt;
/* Activates when the page contains &amp;lt;div id=&amp;quot;orb-toc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; (or class=&amp;quot;orb-toc&amp;quot;).&lt;br /&gt;
   Creates #orb-toc-sidebar directly in document.body so position:fixed&lt;br /&gt;
   is never broken by skin containers with transform/will-change. */&lt;br /&gt;
(function () {&lt;br /&gt;
  &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  function initOrbToc() {&lt;br /&gt;
    // Already built?&lt;br /&gt;
    if (document.getElementById(&amp;quot;orb-toc-sidebar&amp;quot;)) return;&lt;br /&gt;
&lt;br /&gt;
    // Don&#039;t show in editor or other non-view actions&lt;br /&gt;
    if (document.body.classList.contains(&amp;quot;action-edit&amp;quot;) ||&lt;br /&gt;
        document.body.classList.contains(&amp;quot;action-submit&amp;quot;) ||&lt;br /&gt;
        document.body.classList.contains(&amp;quot;action-history&amp;quot;)) return;&lt;br /&gt;
&lt;br /&gt;
    // Look for the opt-in marker&lt;br /&gt;
    var marker =&lt;br /&gt;
      document.getElementById(&amp;quot;orb-toc&amp;quot;) || document.querySelector(&amp;quot;.orb-toc&amp;quot;);&lt;br /&gt;
    if (!marker) return;&lt;br /&gt;
&lt;br /&gt;
    // Find content root&lt;br /&gt;
    var root =&lt;br /&gt;
      document.querySelector(&amp;quot;.mw-parser-output&amp;quot;) ||&lt;br /&gt;
      document.getElementById(&amp;quot;mw-content-text&amp;quot;) ||&lt;br /&gt;
      document.getElementById(&amp;quot;bodyContent&amp;quot;);&lt;br /&gt;
    if (!root) return;&lt;br /&gt;
&lt;br /&gt;
    // Scan ALL heading levels (h1 through h4)&lt;br /&gt;
    var headings = root.querySelectorAll(&amp;quot;h1, h2, h3, h4&amp;quot;);&lt;br /&gt;
    if (!headings.length) return;&lt;br /&gt;
&lt;br /&gt;
    var items = [];&lt;br /&gt;
    for (var i = 0; i &amp;lt; headings.length; i++) {&lt;br /&gt;
      var h = headings[i];&lt;br /&gt;
&lt;br /&gt;
      // Citizen skin: heading text in .mw-headline span&lt;br /&gt;
      var headline = h.querySelector(&amp;quot;.mw-headline&amp;quot;);&lt;br /&gt;
      var text = headline&lt;br /&gt;
        ? headline.textContent&lt;br /&gt;
        : h.textContent&lt;br /&gt;
            .replace(/\[\s*править[^\]]*\]/gi, &amp;quot;&amp;quot;)&lt;br /&gt;
            .replace(/\[edit[^\]]*\]/gi, &amp;quot;&amp;quot;)&lt;br /&gt;
            .trim();&lt;br /&gt;
      if (!text) continue;&lt;br /&gt;
&lt;br /&gt;
      var id = headline ? headline.id : h.id;&lt;br /&gt;
      if (!id) {&lt;br /&gt;
        id = &amp;quot;orb-h-&amp;quot; + i;&lt;br /&gt;
        if (headline) headline.id = id;&lt;br /&gt;
        else h.id = id;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      var tag = h.tagName.toLowerCase();&lt;br /&gt;
      items.push({ id: id, text: text, tag: tag, el: h });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (items.length &amp;lt; 2) return;&lt;br /&gt;
&lt;br /&gt;
    // --- Create sidebar in document.body ---&lt;br /&gt;
    var sidebar = document.createElement(&amp;quot;nav&amp;quot;);&lt;br /&gt;
    sidebar.id = &amp;quot;orb-toc-sidebar&amp;quot;;&lt;br /&gt;
    sidebar.setAttribute(&amp;quot;aria-label&amp;quot;, &amp;quot;Table of Contents&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    var head = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
    head.className = &amp;quot;orb-toc-head&amp;quot;;&lt;br /&gt;
    head.textContent =&lt;br /&gt;
      &amp;quot;\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435&amp;quot;;&lt;br /&gt;
    sidebar.appendChild(head);&lt;br /&gt;
&lt;br /&gt;
    var ul = document.createElement(&amp;quot;ul&amp;quot;);&lt;br /&gt;
    for (var j = 0; j &amp;lt; items.length; j++) {&lt;br /&gt;
      var item = items[j];&lt;br /&gt;
      var li = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;
      li.className = &amp;quot;orb-toc-&amp;quot; + item.tag;&lt;br /&gt;
      li.setAttribute(&amp;quot;data-target&amp;quot;, item.id);&lt;br /&gt;
&lt;br /&gt;
      var a = document.createElement(&amp;quot;a&amp;quot;);&lt;br /&gt;
      a.href = &amp;quot;#&amp;quot; + item.id;&lt;br /&gt;
      a.textContent = item.text;&lt;br /&gt;
&lt;br /&gt;
      (function (targetId) {&lt;br /&gt;
        a.addEventListener(&amp;quot;click&amp;quot;, function (e) {&lt;br /&gt;
          var target = document.getElementById(targetId);&lt;br /&gt;
          if (target) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            target.scrollIntoView({ behavior: &amp;quot;smooth&amp;quot;, block: &amp;quot;start&amp;quot; });&lt;br /&gt;
            history.replaceState(null, &amp;quot;&amp;quot;, &amp;quot;#&amp;quot; + targetId);&lt;br /&gt;
          }&lt;br /&gt;
        });&lt;br /&gt;
      })(item.id);&lt;br /&gt;
&lt;br /&gt;
      li.appendChild(a);&lt;br /&gt;
      ul.appendChild(li);&lt;br /&gt;
    }&lt;br /&gt;
    sidebar.appendChild(ul);&lt;br /&gt;
&lt;br /&gt;
    // Append to body - outside any Citizen container&lt;br /&gt;
    document.body.appendChild(sidebar);&lt;br /&gt;
&lt;br /&gt;
    // --- Scroll spy ---&lt;br /&gt;
    var allLi = ul.querySelectorAll(&amp;quot;li&amp;quot;);&lt;br /&gt;
    var headingEls = [];&lt;br /&gt;
    for (var k = 0; k &amp;lt; items.length; k++) {&lt;br /&gt;
      headingEls.push(items[k].el);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var ticking = false;&lt;br /&gt;
    function onScroll() {&lt;br /&gt;
      if (ticking) return;&lt;br /&gt;
      ticking = true;&lt;br /&gt;
      requestAnimationFrame(function () {&lt;br /&gt;
        ticking = false;&lt;br /&gt;
        var current = -1;&lt;br /&gt;
        for (var s = 0; s &amp;lt; headingEls.length; s++) {&lt;br /&gt;
          if (headingEls[s].getBoundingClientRect().top &amp;lt;= 120) {&lt;br /&gt;
            current = s;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        for (var t = 0; t &amp;lt; allLi.length; t++) {&lt;br /&gt;
          if (t === current) {&lt;br /&gt;
            allLi[t].classList.add(&amp;quot;orb-toc-active&amp;quot;);&lt;br /&gt;
          } else {&lt;br /&gt;
            allLi[t].classList.remove(&amp;quot;orb-toc-active&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    window.addEventListener(&amp;quot;scroll&amp;quot;, onScroll, { passive: true });&lt;br /&gt;
    onScroll();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Run on multiple hooks for skin compat&lt;br /&gt;
  if (typeof mw !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; mw.hook) {&lt;br /&gt;
    mw.hook(&amp;quot;wikipage.content&amp;quot;).add(initOrbToc);&lt;br /&gt;
  }&lt;br /&gt;
  document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, initOrbToc);&lt;br /&gt;
  window.addEventListener(&amp;quot;load&amp;quot;, function () {&lt;br /&gt;
    setTimeout(initOrbToc, 150);&lt;br /&gt;
  });&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>MaintenanceScript</name></author>
	</entry>
	<entry>
		<id>http://mediawiki.hornyjail.space/index.php?title=MediaWiki:Common.css&amp;diff=2671</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://mediawiki.hornyjail.space/index.php?title=MediaWiki:Common.css&amp;diff=2671"/>
		<updated>2026-08-25T20:29:39Z</updated>

		<summary type="html">&lt;p&gt;MaintenanceScript: Do not strip TabberNeue tab padding inside #orb-content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;@import url(&amp;quot;https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&amp;amp;display=swap&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, cursive, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ================== СИСТЕМА ХАОСА: ТАБЫ И БЛОКИ ================== */&lt;br /&gt;
&lt;br /&gt;
/* Контейнер */&lt;br /&gt;
.hj-chaos-container {&lt;br /&gt;
  margin-bottom: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ряд вкладок */&lt;br /&gt;
.hj-chaos-tabs {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  border-radius: 6px 6px 0 0;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Кнопки-вкладки как большие карточки */&lt;br /&gt;
.hj-chaos-tab-button {&lt;br /&gt;
  flex: 1 1 0;&lt;br /&gt;
  padding: 10px 14px;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
  gap: 4px;&lt;br /&gt;
  background: #191919;&lt;br /&gt;
  border: none;&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button:last-child {&lt;br /&gt;
  border-right: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Заголовок/подзаголовок кнопки */&lt;br /&gt;
.hj-chaos-tab-title {&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
  font-size: 1em;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-desc {&lt;br /&gt;
  font-size: 0.85em;&lt;br /&gt;
  opacity: 0.9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Базовые цвета вкладок (не активные) */&lt;br /&gt;
.hj-chaos-tab-button[data-chaos=&amp;quot;overview&amp;quot;] {&lt;br /&gt;
  background: #222833;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button[data-chaos=&amp;quot;calm&amp;quot;] {&lt;br /&gt;
  background: #1e2b20;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button[data-chaos=&amp;quot;medium&amp;quot;] {&lt;br /&gt;
  background: #2b2615;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button[data-chaos=&amp;quot;high&amp;quot;] {&lt;br /&gt;
  background: #2b1818;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button[data-chaos=&amp;quot;storytellers&amp;quot;] {&lt;br /&gt;
  background: #1f1c28;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Активные цвета (фон) */&lt;br /&gt;
.hj-chaos-tab-button.active[data-chaos=&amp;quot;overview&amp;quot;] {&lt;br /&gt;
  background: #2f3b4d;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button.active[data-chaos=&amp;quot;calm&amp;quot;] {&lt;br /&gt;
  background: #234526;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button.active[data-chaos=&amp;quot;medium&amp;quot;] {&lt;br /&gt;
  background: #5c4716;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button.active[data-chaos=&amp;quot;high&amp;quot;] {&lt;br /&gt;
  background: #5c1f1f;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-tab-button.active[data-chaos=&amp;quot;storytellers&amp;quot;] {&lt;br /&gt;
  background: #2a2238;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Глобальный ресет рамок у активной вкладки,&lt;br /&gt;
   чтобы режимные правила не конфликтовали */&lt;br /&gt;
.hj-chaos-tab-button.active {&lt;br /&gt;
  border: none;&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
  margin-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок контента — без верхней границы, только бока + низ */&lt;br /&gt;
.hj-chaos-block {&lt;br /&gt;
  display: none;&lt;br /&gt;
  padding: 16px 18px;&lt;br /&gt;
  border-style: solid;&lt;br /&gt;
  border-width: 0 3px 3px; /* top=0, left/right/bottom=3px */&lt;br /&gt;
  border-color: transparent;&lt;br /&gt;
  border-radius: 0 0 6px 6px;&lt;br /&gt;
  background: #111;&lt;br /&gt;
}&lt;br /&gt;
.hj-chaos-block.active {&lt;br /&gt;
  display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------------------&lt;br /&gt;
   OVERVIEW (СИНИЙ)&lt;br /&gt;
------------------------------------------------------------------ */&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-overview .hj-chaos-tabs {&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* рамка вокруг активной вкладки */&lt;br /&gt;
.hj-chaos-container.chaos-overview&lt;br /&gt;
  .hj-chaos-tab-button.active[data-chaos=&amp;quot;overview&amp;quot;] {&lt;br /&gt;
  border: 3px solid #4b6284;&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
  border-radius: 6px 6px 0 0;&lt;br /&gt;
  margin-bottom: -3px; /* вкладка нависает над блоком */&lt;br /&gt;
  z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* рамка и фон блока */&lt;br /&gt;
.hj-chaos-container.chaos-overview .hj-chaos-block[data-chaos=&amp;quot;overview&amp;quot;] {&lt;br /&gt;
  border-color: #4b6284;&lt;br /&gt;
  background: #2f3b4d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* нижняя линия у НЕактивных вкладок */&lt;br /&gt;
.hj-chaos-container.chaos-overview .hj-chaos-tab-button:not(.active) {&lt;br /&gt;
  border-bottom: 3px solid #4b6284;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------------------&lt;br /&gt;
   CALM (ЗЕЛЁНЫЙ)&lt;br /&gt;
------------------------------------------------------------------ */&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-calm .hj-chaos-tabs {&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-calm .hj-chaos-tab-button.active[data-chaos=&amp;quot;calm&amp;quot;] {&lt;br /&gt;
  border: 3px solid #3f7a47;&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
  border-radius: 6px 6px 0 0;&lt;br /&gt;
  margin-bottom: -3px;&lt;br /&gt;
  z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-calm .hj-chaos-block[data-chaos=&amp;quot;calm&amp;quot;] {&lt;br /&gt;
  border-color: #3f7a47;&lt;br /&gt;
  background: #234526;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-calm .hj-chaos-tab-button:not(.active) {&lt;br /&gt;
  border-bottom: 3px solid #3f7a47;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------------------&lt;br /&gt;
   MEDIUM (ЖЁЛТО-КОРИЧНЕВЫЙ)&lt;br /&gt;
------------------------------------------------------------------ */&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-medium .hj-chaos-tabs {&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-medium&lt;br /&gt;
  .hj-chaos-tab-button.active[data-chaos=&amp;quot;medium&amp;quot;] {&lt;br /&gt;
  border: 3px solid #c9982b;&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
  border-radius: 6px 6px 0 0;&lt;br /&gt;
  margin-bottom: -3px;&lt;br /&gt;
  z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-medium .hj-chaos-block[data-chaos=&amp;quot;medium&amp;quot;] {&lt;br /&gt;
  border-color: #c9982b;&lt;br /&gt;
  background: #5c4716;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-medium .hj-chaos-tab-button:not(.active) {&lt;br /&gt;
  border-bottom: 3px solid #c9982b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------------------&lt;br /&gt;
   HIGH (КРАСНЫЙ)&lt;br /&gt;
------------------------------------------------------------------ */&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-high .hj-chaos-tabs {&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-high .hj-chaos-tab-button.active[data-chaos=&amp;quot;high&amp;quot;] {&lt;br /&gt;
  border: 3px solid #c33a3a;&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
  border-radius: 6px 6px 0 0;&lt;br /&gt;
  margin-bottom: -3px;&lt;br /&gt;
  z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-high .hj-chaos-block[data-chaos=&amp;quot;high&amp;quot;] {&lt;br /&gt;
  border-color: #c33a3a;&lt;br /&gt;
  background: #5c1f1f;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-high .hj-chaos-tab-button:not(.active) {&lt;br /&gt;
  border-bottom: 3px solid #c33a3a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------------------&lt;br /&gt;
   STORYTELLERS (ФИОЛЕТОВЫЙ)&lt;br /&gt;
------------------------------------------------------------------ */&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-storytellers .hj-chaos-tabs {&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-storytellers&lt;br /&gt;
  .hj-chaos-tab-button.active[data-chaos=&amp;quot;storytellers&amp;quot;] {&lt;br /&gt;
  border: 3px solid #6b5a8a;&lt;br /&gt;
  border-bottom: none;&lt;br /&gt;
  border-radius: 6px 6px 0 0;&lt;br /&gt;
  margin-bottom: -3px;&lt;br /&gt;
  z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-storytellers&lt;br /&gt;
  .hj-chaos-block[data-chaos=&amp;quot;storytellers&amp;quot;] {&lt;br /&gt;
  border-color: #6b5a8a;&lt;br /&gt;
  background: #2a2238;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-chaos-container.chaos-storytellers .hj-chaos-tab-button:not(.active) {&lt;br /&gt;
  border-bottom: 3px solid #6b5a8a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* --- Шахматный макет для рассказчиков --- */&lt;br /&gt;
.hj-storyteller-row {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  gap: 16px;&lt;br /&gt;
  margin-bottom: 20px;&lt;br /&gt;
  align-items: stretch;&lt;br /&gt;
}&lt;br /&gt;
.hj-storyteller-row.reverse {&lt;br /&gt;
  flex-direction: row-reverse;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-storyteller-card {&lt;br /&gt;
  flex: 3;&lt;br /&gt;
  padding: 18px 20px;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
  border: 1px solid rgba(255, 255, 255, 0.08);&lt;br /&gt;
  background: rgba(0, 0, 0, 0.3);&lt;br /&gt;
}&lt;br /&gt;
.hj-storyteller-card h3 {&lt;br /&gt;
  margin: 0 0 4px 0;&lt;br /&gt;
  font-size: 1.3em;&lt;br /&gt;
}&lt;br /&gt;
.hj-storyteller-card .hj-st-subtitle {&lt;br /&gt;
  font-size: 0.9em;&lt;br /&gt;
  opacity: 0.7;&lt;br /&gt;
  margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
.hj-storyteller-card .hj-st-quote {&lt;br /&gt;
  font-style: italic;&lt;br /&gt;
  opacity: 0.8;&lt;br /&gt;
  margin-bottom: 12px;&lt;br /&gt;
  font-size: 0.95em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-storyteller-art {&lt;br /&gt;
  flex: 2;&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
  background: rgba(0, 0, 0, 0.3);&lt;br /&gt;
  border: 1px solid rgba(255, 255, 255, 0.08);&lt;br /&gt;
  min-height: 280px;&lt;br /&gt;
  position: relative;&lt;br /&gt;
}&lt;br /&gt;
/* Nuke every MW wrapper inside the art block */&lt;br /&gt;
.hj-storyteller-art *:not(img) {&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 100% !important;&lt;br /&gt;
  height: 100% !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  min-width: 0 !important;&lt;br /&gt;
  margin: 0 !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  float: none !important;&lt;br /&gt;
  overflow: hidden !important;&lt;br /&gt;
  position: static !important;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
.hj-storyteller-art .thumbcaption,&lt;br /&gt;
.hj-storyteller-art .magnify {&lt;br /&gt;
  display: none !important;&lt;br /&gt;
  height: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.hj-storyteller-art img {&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  width: 100% !important;&lt;br /&gt;
  height: 100% !important;&lt;br /&gt;
  max-width: none !important;&lt;br /&gt;
  object-fit: cover;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 0;&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блоки параметров внутри карточки рассказчика */&lt;br /&gt;
.hj-st-stats {&lt;br /&gt;
  display: grid;&lt;br /&gt;
  grid-template-columns: 1fr 1fr;&lt;br /&gt;
  gap: 8px;&lt;br /&gt;
  margin-top: 12px;&lt;br /&gt;
}&lt;br /&gt;
.hj-st-stat {&lt;br /&gt;
  padding: 8px 10px;&lt;br /&gt;
  border-radius: 6px;&lt;br /&gt;
  background: rgba(255, 255, 255, 0.04);&lt;br /&gt;
  border: 1px solid rgba(255, 255, 255, 0.06);&lt;br /&gt;
  font-size: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
.hj-st-stat b {&lt;br /&gt;
  display: block;&lt;br /&gt;
  font-size: 0.85em;&lt;br /&gt;
  opacity: 0.6;&lt;br /&gt;
  margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Полноширинные блоки деталей */&lt;br /&gt;
.hj-st-details {&lt;br /&gt;
  margin-top: 12px;&lt;br /&gt;
  padding: 12px 14px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
  background: rgba(255, 255, 255, 0.03);&lt;br /&gt;
  border: 1px solid rgba(255, 255, 255, 0.06);&lt;br /&gt;
}&lt;br /&gt;
.hj-st-details h4 {&lt;br /&gt;
  margin: 0 0 6px 0;&lt;br /&gt;
  font-size: 0.95em;&lt;br /&gt;
}&lt;br /&gt;
.hj-st-details ul {&lt;br /&gt;
  margin: 4px 0 0 1.2em;&lt;br /&gt;
}&lt;br /&gt;
.hj-st-details li {&lt;br /&gt;
  margin-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Мобилки */&lt;br /&gt;
@media (max-width: 800px) {&lt;br /&gt;
  .hj-storyteller-row,&lt;br /&gt;
  .hj-storyteller-row.reverse {&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
  }&lt;br /&gt;
  .hj-storyteller-art {&lt;br /&gt;
    min-height: 200px;&lt;br /&gt;
    max-height: 300px;&lt;br /&gt;
  }&lt;br /&gt;
  .hj-st-stats {&lt;br /&gt;
    grid-template-columns: 1fr;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------------------------------------ */&lt;br /&gt;
&lt;br /&gt;
/* Оформление самих карточек */&lt;br /&gt;
.hj-rule-card {&lt;br /&gt;
  padding: 14px 16px;&lt;br /&gt;
  border-radius: 8px;&lt;br /&gt;
  border: 1px solid #00000055;&lt;br /&gt;
  background: rgba(&lt;br /&gt;
    0,&lt;br /&gt;
    0,&lt;br /&gt;
    0,&lt;br /&gt;
    0.22&lt;br /&gt;
  ); /* дефолтный фон, потом JS его подкрашивает */&lt;br /&gt;
  box-shadow:&lt;br /&gt;
    inset 0 1px 0 #ffffff10,&lt;br /&gt;
    0 0 0 1px #00000022;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Заголовок внутри блока */&lt;br /&gt;
.hj-chaos-block h2 {&lt;br /&gt;
  margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Карточки сеткой */&lt;br /&gt;
.hj-rule-cards {&lt;br /&gt;
  display: grid;&lt;br /&gt;
  grid-template-columns: repeat(2, minmax(0, 1fr));&lt;br /&gt;
  gap: 12px;&lt;br /&gt;
  margin-top: 8px;&lt;br /&gt;
}&lt;br /&gt;
@media (max-width: 980px) {&lt;br /&gt;
  .hj-rule-cards {&lt;br /&gt;
    grid-template-columns: 1fr;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hj-rule-card h3,&lt;br /&gt;
.hj-rule-card h4 {&lt;br /&gt;
  margin: 0 0 0.4em 0;&lt;br /&gt;
}&lt;br /&gt;
.hj-rule-card p {&lt;br /&gt;
  margin: 0 0 0.6em 0;&lt;br /&gt;
}&lt;br /&gt;
.hj-rule-card ul {&lt;br /&gt;
  margin: 0.4em 0 0 1.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Архив (как было) */&lt;br /&gt;
.hj-legacy {&lt;br /&gt;
  margin-top: 20px;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  border: 0;&lt;br /&gt;
}&lt;br /&gt;
.hj-legacy .wikitable {&lt;br /&gt;
  background: #111;&lt;br /&gt;
  color: inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Убираем серый фон у всех миниатюр и одиночных картинок */&lt;br /&gt;
.thumbinner,&lt;br /&gt;
.thumb {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.inline-img {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Base dark theme overrides ===== */&lt;br /&gt;
html {&lt;br /&gt;
  background: #060608 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-head-base {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#content {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.8);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#bodyContent {&lt;br /&gt;
  position: relative;&lt;br /&gt;
  /* No z-index here — avoids creating a stacking context&lt;br /&gt;
     that traps the parallax layers inside it */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Parallax layers (structure only — visuals applied via JS) ===== */&lt;br /&gt;
#orbitalis-parallax-bg,&lt;br /&gt;
.orb-parallax-layer,&lt;br /&gt;
#orbitalis-vignette {&lt;br /&gt;
  /* These divs are inserted via mainpage wikitext.&lt;br /&gt;
       JS in Common.js applies the actual styles.&lt;br /&gt;
       In case JS hasn&#039;t loaded yet, hide them to avoid layout issues. */&lt;br /&gt;
  display: block;&lt;br /&gt;
  height: 0;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Wiki content link colours for dark theme ===== */&lt;br /&gt;
#content a,&lt;br /&gt;
#content a:visited {&lt;br /&gt;
  color: rgba(130, 170, 255, 0.85);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#content a:hover {&lt;br /&gt;
  color: rgba(170, 200, 255, 1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Main page: override Citizen skin link styles ===== */&lt;br /&gt;
/* CSS fallback — JS engine in Common.js also handles this via DOM */&lt;br /&gt;
/* TabberNeue tabs are &amp;lt;a class=&amp;quot;tabber__tab&amp;quot;&amp;gt;; keep their padding. */&lt;br /&gt;
#orb-content a:not(.tabber__tab),&lt;br /&gt;
#orb-content a:not(.tabber__tab):link,&lt;br /&gt;
#orb-content a:not(.tabber__tab):visited,&lt;br /&gt;
#orb-content a:not(.tabber__tab):hover,&lt;br /&gt;
#orb-content a:not(.tabber__tab):active,&lt;br /&gt;
#orb-content a:not(.tabber__tab):focus {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  background-color: transparent !important;&lt;br /&gt;
  background-image: none !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: none !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  outline: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#orb-content small {&lt;br /&gt;
  display: block;&lt;br /&gt;
  margin-top: 3px;&lt;br /&gt;
}&lt;br /&gt;
#orb-content .tabber__tab {&lt;br /&gt;
  padding: 0.5em 0.75em !important;&lt;br /&gt;
  outline: none !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
#orb-content .tabber__tab[aria-selected=&amp;quot;true&amp;quot;] {&lt;br /&gt;
  color: var(--color-progressive, #36c) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[id^=&amp;quot;orb-card-&amp;quot;] {&lt;br /&gt;
  transition:&lt;br /&gt;
    border-color 0.25s ease,&lt;br /&gt;
    box-shadow 0.25s ease,&lt;br /&gt;
    background 0.25s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Main page: Orbitalis visual design (CSS-first) ===== */&lt;br /&gt;
&lt;br /&gt;
/* Description block */&lt;br /&gt;
#orb-desc {&lt;br /&gt;
  border-left: 2px solid rgba(91, 141, 239, 0.2) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Section titles */&lt;br /&gt;
#orb-title-docs {&lt;br /&gt;
  color: rgba(91, 141, 239, 0.8) !important;&lt;br /&gt;
  text-shadow: 0 0 25px rgba(91, 141, 239, 0.2) !important;&lt;br /&gt;
}&lt;br /&gt;
#orb-title-play {&lt;br /&gt;
  color: rgba(180, 130, 255, 0.8) !important;&lt;br /&gt;
  text-shadow: 0 0 25px rgba(180, 130, 255, 0.2) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Decorative underline bars */&lt;br /&gt;
#orb-title-docs::after,&lt;br /&gt;
#orb-title-play::after {&lt;br /&gt;
  content: &amp;quot;&amp;quot;;&lt;br /&gt;
  display: block;&lt;br /&gt;
  width: 40px;&lt;br /&gt;
  height: 1px;&lt;br /&gt;
  margin-top: 10px;&lt;br /&gt;
}&lt;br /&gt;
#orb-title-docs::after {&lt;br /&gt;
  background: rgba(91, 141, 239, 0.35);&lt;br /&gt;
  box-shadow: 0 0 12px rgba(91, 141, 239, 0.12);&lt;br /&gt;
}&lt;br /&gt;
#orb-title-play::after {&lt;br /&gt;
  background: rgba(180, 130, 255, 0.35);&lt;br /&gt;
  box-shadow: 0 0 12px rgba(180, 130, 255, 0.12);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Doc cards — blue accent */&lt;br /&gt;
#orb-card-1 {&lt;br /&gt;
  border-left: 2px solid rgba(91, 141, 239, 0.3) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(91, 141, 239, 0.04) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
#orb-card-2 {&lt;br /&gt;
  border-left: 2px solid rgba(91, 141, 239, 0.25) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(91, 141, 239, 0.032) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
#orb-card-3 {&lt;br /&gt;
  border-left: 2px solid rgba(91, 141, 239, 0.2) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(91, 141, 239, 0.024) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
#orb-card-4 {&lt;br /&gt;
  border-left: 2px solid rgba(91, 141, 239, 0.15) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(91, 141, 239, 0.016) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Play cards — purple accent */&lt;br /&gt;
#orb-card-5 {&lt;br /&gt;
  border-left: 2px solid rgba(180, 130, 255, 0.3) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(180, 130, 255, 0.04) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
#orb-card-6 {&lt;br /&gt;
  border-left: 2px solid rgba(180, 130, 255, 0.25) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(180, 130, 255, 0.032) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
#orb-card-7 {&lt;br /&gt;
  border-left: 2px solid rgba(180, 130, 255, 0.2) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(180, 130, 255, 0.024) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
#orb-card-8 {&lt;br /&gt;
  border-left: 2px solid rgba(180, 130, 255, 0.15) !important;&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(180, 130, 255, 0.016) 0%,&lt;br /&gt;
    transparent 70%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Card hover — blue docs */&lt;br /&gt;
#orb-card-1:hover,&lt;br /&gt;
#orb-card-2:hover,&lt;br /&gt;
#orb-card-3:hover,&lt;br /&gt;
#orb-card-4:hover {&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(91, 141, 239, 0.08) 0%,&lt;br /&gt;
    rgba(91, 141, 239, 0.02) 60%,&lt;br /&gt;
    transparent 100%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-left-color: rgba(91, 141, 239, 0.6) !important;&lt;br /&gt;
  box-shadow:&lt;br /&gt;
    inset 3px 0 20px -4px rgba(91, 141, 239, 0.15),&lt;br /&gt;
    0 0 25px rgba(91, 141, 239, 0.04) !important;&lt;br /&gt;
}&lt;br /&gt;
/* Card hover — purple play */&lt;br /&gt;
#orb-card-5:hover,&lt;br /&gt;
#orb-card-6:hover,&lt;br /&gt;
#orb-card-7:hover,&lt;br /&gt;
#orb-card-8:hover {&lt;br /&gt;
  background: linear-gradient(&lt;br /&gt;
    90deg,&lt;br /&gt;
    rgba(180, 130, 255, 0.08) 0%,&lt;br /&gt;
    rgba(180, 130, 255, 0.02) 60%,&lt;br /&gt;
    transparent 100%&lt;br /&gt;
  ) !important;&lt;br /&gt;
  border-left-color: rgba(180, 130, 255, 0.6) !important;&lt;br /&gt;
  box-shadow:&lt;br /&gt;
    inset 3px 0 20px -4px rgba(180, 130, 255, 0.15),&lt;br /&gt;
    0 0 25px rgba(180, 130, 255, 0.04) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Server block */&lt;br /&gt;
#orb-server {&lt;br /&gt;
  border-left: 2px solid rgba(100, 220, 180, 0.3) !important;&lt;br /&gt;
  border-radius: 0 4px 4px 0 !important;&lt;br /&gt;
}&lt;br /&gt;
#orb-online {&lt;br /&gt;
  color: rgba(100, 220, 180, 0.55);&lt;br /&gt;
  text-shadow: 0 0 15px rgba(100, 220, 180, 0.15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons */&lt;br /&gt;
#orb-addr {&lt;br /&gt;
  border: 1px solid rgba(100, 220, 180, 0.25) !important;&lt;br /&gt;
  border-radius: 4px !important;&lt;br /&gt;
  background: rgba(100, 220, 180, 0.06) !important;&lt;br /&gt;
  color: rgba(100, 220, 180, 0.7) !important;&lt;br /&gt;
  cursor: pointer !important;&lt;br /&gt;
}&lt;br /&gt;
#orb-addr:hover {&lt;br /&gt;
  background: rgba(100, 220, 180, 0.12) !important;&lt;br /&gt;
  border-color: rgba(100, 220, 180, 0.4) !important;&lt;br /&gt;
}&lt;br /&gt;
#orb-btn-proxy {&lt;br /&gt;
  border: 1px solid rgba(100, 220, 180, 0.2) !important;&lt;br /&gt;
  border-radius: 4px !important;&lt;br /&gt;
  background: rgba(100, 220, 180, 0.04) !important;&lt;br /&gt;
}&lt;br /&gt;
#orb-btn-proxy:hover {&lt;br /&gt;
  background: rgba(100, 220, 180, 0.1) !important;&lt;br /&gt;
  border-color: rgba(100, 220, 180, 0.35) !important;&lt;br /&gt;
}&lt;br /&gt;
#orb-btn-byond {&lt;br /&gt;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;&lt;br /&gt;
  border-radius: 4px !important;&lt;br /&gt;
  background: rgba(255, 255, 255, 0.015) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer */&lt;br /&gt;
#orb-footer {&lt;br /&gt;
  border-top: 1px solid rgba(255, 255, 255, 0.04) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Heading styles ===== */&lt;br /&gt;
#content h1,&lt;br /&gt;
#content h2,&lt;br /&gt;
#content h3,&lt;br /&gt;
#content h4 {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.85);&lt;br /&gt;
  border-bottom-color: rgba(255, 255, 255, 0.1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#firstHeading {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Navigation / sidebar dark overrides ===== */&lt;br /&gt;
#mw-panel .portal h3 {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.5) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel .portal .body a {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel .portal .body a:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.95) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Top navigation bar ===== */&lt;br /&gt;
#mw-head a {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-head a:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.95) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Page action tabs (Edit, View source, History, etc.) ===== */&lt;br /&gt;
/* Vector skin */&lt;br /&gt;
.vector-menu-tabs li a,&lt;br /&gt;
.vector-menu-tabs li a:visited,&lt;br /&gt;
#p-views li a,&lt;br /&gt;
#p-cactions li a,&lt;br /&gt;
#p-namespaces li a {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-tabs li a:hover,&lt;br /&gt;
#p-views li a:hover,&lt;br /&gt;
#p-cactions li a:hover,&lt;br /&gt;
#p-namespaces li a:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.95) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-tabs li.selected a,&lt;br /&gt;
#p-views li.selected a,&lt;br /&gt;
#p-namespaces li.selected a {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.9) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vector tab underline/border */&lt;br /&gt;
.vector-menu-tabs li {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-tabs li.selected {&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border-bottom-color: rgba(140, 180, 255, 0.6) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Citizen skin page actions */&lt;br /&gt;
.citizen-header,&lt;br /&gt;
.citizen-page-header {&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.page-actions a,&lt;br /&gt;
.page-actions button,&lt;br /&gt;
.citizen-page-heading__actions a,&lt;br /&gt;
.citizen-page-heading__actions button {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.page-actions a:hover,&lt;br /&gt;
.page-actions button:hover,&lt;br /&gt;
.citizen-page-heading__actions a:hover,&lt;br /&gt;
.citizen-page-heading__actions button:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.95) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Section edit links [edit] ===== */&lt;br /&gt;
.mw-editsection,&lt;br /&gt;
.mw-editsection a,&lt;br /&gt;
.mw-editsection-bracket {&lt;br /&gt;
  color: rgba(140, 180, 255, 0.5) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-editsection a:hover {&lt;br /&gt;
  color: rgba(180, 210, 255, 0.9) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Dropdown menus / portlets (More, Tools, etc.) ===== */&lt;br /&gt;
.vector-menu-content,&lt;br /&gt;
.vector-menu-content ul,&lt;br /&gt;
#p-cactions .vector-menu-content,&lt;br /&gt;
.mw-portlet .mw-portlet-body {&lt;br /&gt;
  background: #14141a !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.1) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-content li a,&lt;br /&gt;
.mw-portlet .mw-portlet-body a {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-content li a:hover,&lt;br /&gt;
.mw-portlet .mw-portlet-body a:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.95) !important;&lt;br /&gt;
  background: rgba(255, 255, 255, 0.06) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Citizen skin sidebar ===== */&lt;br /&gt;
.citizen-drawer,&lt;br /&gt;
.citizen-drawer__content,&lt;br /&gt;
.citizen-menu__card {&lt;br /&gt;
  background: #14141a !important;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.citizen-menu__card a {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.citizen-menu__card a:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.95) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Citizen top header bar */&lt;br /&gt;
.citizen-header__logo,&lt;br /&gt;
.citizen-header__inner {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Notifications / user menu ===== */&lt;br /&gt;
#pt-notifications-alert a,&lt;br /&gt;
#pt-notifications-notice a,&lt;br /&gt;
#p-personal li a,&lt;br /&gt;
.mw-header-notifications a {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-personal li a:hover,&lt;br /&gt;
.mw-header-notifications a:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.95) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Edit page / form elements ===== */&lt;br /&gt;
textarea,&lt;br /&gt;
input[type=&amp;quot;text&amp;quot;],&lt;br /&gt;
input[type=&amp;quot;search&amp;quot;],&lt;br /&gt;
input[type=&amp;quot;password&amp;quot;],&lt;br /&gt;
select {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.06) !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.12) !important;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Edit toolbar */&lt;br /&gt;
.oo-ui-toolbar-bar {&lt;br /&gt;
  background: #14141a !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.1) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-toolbar-bar .oo-ui-buttonElement-button {&lt;br /&gt;
  color: rgba(200, 200, 200, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Diff / special pages ===== */&lt;br /&gt;
.diff-context {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.03) !important;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.diff-addedline {&lt;br /&gt;
  background: rgba(50, 120, 50, 0.15) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.diff-deletedline {&lt;br /&gt;
  background: rgba(120, 50, 50, 0.15) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Tables (wikitable) ===== */&lt;br /&gt;
.wikitable {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.03) !important;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.8) !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.12) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.wikitable th {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.06) !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.12) !important;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.85) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.wikitable td {&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.08) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Infobox / messagebox ===== */&lt;br /&gt;
.mbox-small,&lt;br /&gt;
.ambox,&lt;br /&gt;
.tmbox,&lt;br /&gt;
.ombox,&lt;br /&gt;
.cmbox,&lt;br /&gt;
.fmbox {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.04) !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.1) !important;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.7) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Search box ===== */&lt;br /&gt;
#simpleSearch {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.06) !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.12) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchInput {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Footer ===== */&lt;br /&gt;
#footer {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.3);&lt;br /&gt;
  border-top-color: rgba(255, 255, 255, 0.08) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#footer a {&lt;br /&gt;
  color: rgba(140, 180, 255, 0.6) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Category links ===== */&lt;br /&gt;
#catlinks {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.03) !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.08) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Table of Contents (native fallback) ===== */&lt;br /&gt;
#toc,&lt;br /&gt;
.toc {&lt;br /&gt;
  background: rgba(255, 255, 255, 0.04) !important;&lt;br /&gt;
  border-color: rgba(255, 255, 255, 0.1) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ===== Orbitalis custom TOC ===== */&lt;br /&gt;
/* Opt-in: add &amp;lt;div id=&amp;quot;orb-toc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; to page wikitext to activate.&lt;br /&gt;
   JS creates #orb-toc-sidebar in document.body (outside any skin container). */&lt;br /&gt;
&lt;br /&gt;
/* Hide the marker div */&lt;br /&gt;
#orb-toc {&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* The actual sidebar (appended to body by JS) */&lt;br /&gt;
#orb-toc-sidebar {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  left: 0;&lt;br /&gt;
  top: 56px;&lt;br /&gt;
  width: 220px;&lt;br /&gt;
  max-height: calc(100vh - 72px);&lt;br /&gt;
  overflow-y: auto;&lt;br /&gt;
  overflow-x: hidden;&lt;br /&gt;
  z-index: 200;&lt;br /&gt;
  background: transparent;&lt;br /&gt;
  border-right: none;&lt;br /&gt;
  padding: 20px 12px 20px 16px;&lt;br /&gt;
  pointer-events: auto;&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, sans-serif;&lt;br /&gt;
  font-size: 0.82em;&lt;br /&gt;
  line-height: 1.45;&lt;br /&gt;
  transition: opacity 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Title */&lt;br /&gt;
#orb-toc-sidebar .orb-toc-head {&lt;br /&gt;
  display: block;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.85);&lt;br /&gt;
  font-size: 0.72em;&lt;br /&gt;
  font-weight: 600;&lt;br /&gt;
  letter-spacing: 4px;&lt;br /&gt;
  text-transform: uppercase;&lt;br /&gt;
  margin-bottom: 14px;&lt;br /&gt;
  padding-bottom: 10px;&lt;br /&gt;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#orb-toc-sidebar .orb-toc-head::before {&lt;br /&gt;
  display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* List reset */&lt;br /&gt;
#orb-toc-sidebar ul {&lt;br /&gt;
  list-style: none;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* All items */&lt;br /&gt;
#orb-toc-sidebar li {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#orb-toc-sidebar li a {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px 0 5px 12px;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.45);&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  transition:&lt;br /&gt;
    color 0.2s,&lt;br /&gt;
    background 0.2s;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#orb-toc-sidebar li a:hover {&lt;br /&gt;
  color: rgba(255, 255, 255, 0.92);&lt;br /&gt;
  background: rgba(91, 141, 239, 0.04) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Active section (works for all heading levels) */&lt;br /&gt;
#orb-toc-sidebar li.orb-toc-active &amp;gt; a {&lt;br /&gt;
  color: rgba(140, 180, 255, 0.95);&lt;br /&gt;
  background: rgba(91, 141, 239, 0.06) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* h2 (sub-section under h1) */&lt;br /&gt;
#orb-toc-sidebar li.orb-toc-h2 a {&lt;br /&gt;
  padding-left: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* h3 indent */&lt;br /&gt;
#orb-toc-sidebar li.orb-toc-h3 a {&lt;br /&gt;
  padding-left: 24px;&lt;br /&gt;
  font-size: 0.92em;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.35);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#orb-toc-sidebar li.orb-toc-h3.orb-toc-active &amp;gt; a {&lt;br /&gt;
  color: rgba(140, 180, 255, 0.95);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* h4 indent */&lt;br /&gt;
#orb-toc-sidebar li.orb-toc-h4 a {&lt;br /&gt;
  padding-left: 36px;&lt;br /&gt;
  font-size: 0.85em;&lt;br /&gt;
  color: rgba(255, 255, 255, 0.28);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#orb-toc-sidebar li.orb-toc-h4.orb-toc-active &amp;gt; a {&lt;br /&gt;
  color: rgba(140, 180, 255, 0.95);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Custom scrollbar */&lt;br /&gt;
#orb-toc-sidebar::-webkit-scrollbar {&lt;br /&gt;
  width: 3px;&lt;br /&gt;
}&lt;br /&gt;
#orb-toc-sidebar::-webkit-scrollbar-track {&lt;br /&gt;
  background: transparent;&lt;br /&gt;
}&lt;br /&gt;
#orb-toc-sidebar::-webkit-scrollbar-thumb {&lt;br /&gt;
  background: rgba(91, 141, 239, 0.15);&lt;br /&gt;
  border-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Mobile: hide fixed sidebar */&lt;br /&gt;
@media (max-width: 1100px) {&lt;br /&gt;
  #orb-toc-sidebar {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MaintenanceScript</name></author>
	</entry>
</feed>