<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cinnamontoastcrunch.colourversalwikis.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cinnadust</id>
	<title>Cinnamon Toast Crunch - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://cinnamontoastcrunch.colourversalwikis.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cinnadust"/>
	<link rel="alternate" type="text/html" href="https://cinnamontoastcrunch.colourversalwikis.com/index.php/Special:Contributions/Cinnadust"/>
	<updated>2026-05-01T14:32:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://cinnamontoastcrunch.colourversalwikis.com/index.php?title=MediaWiki:Common.js&amp;diff=3</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://cinnamontoastcrunch.colourversalwikis.com/index.php?title=MediaWiki:Common.js&amp;diff=3"/>
		<updated>2026-05-01T08:44:27Z</updated>

		<summary type="html">&lt;p&gt;Cinnadust: Created page with &amp;quot;/* ============================================================    GOLDEN GATE BRIDGE — MediaWiki Theme JavaScript    Paste into: MediaWiki:Common.js        Features:      1. Reading progress bar      2. Fog canvas animation      3. Scroll-reveal for content sections      4. Back-to-top button      5. Anchor links on headings      6. Time-based dynamic header gradient      7. Sidebar cable decoration      8. Smooth image lazy-load effect    ============================...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ============================================================&lt;br /&gt;
   GOLDEN GATE BRIDGE — MediaWiki Theme JavaScript&lt;br /&gt;
   Paste into: MediaWiki:Common.js&lt;br /&gt;
   &lt;br /&gt;
   Features:&lt;br /&gt;
     1. Reading progress bar&lt;br /&gt;
     2. Fog canvas animation&lt;br /&gt;
     3. Scroll-reveal for content sections&lt;br /&gt;
     4. Back-to-top button&lt;br /&gt;
     5. Anchor links on headings&lt;br /&gt;
     6. Time-based dynamic header gradient&lt;br /&gt;
     7. Sidebar cable decoration&lt;br /&gt;
     8. Smooth image lazy-load effect&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
&lt;br /&gt;
( function () {&lt;br /&gt;
  &#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     1. READING PROGRESS BAR&lt;br /&gt;
     A slim orange bar at the very top of the viewport that&lt;br /&gt;
     fills as the user scrolls through the page.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initProgress() {&lt;br /&gt;
    var bar = document.createElement( &#039;div&#039; );&lt;br /&gt;
    bar.id = &#039;ggb-progress&#039;;&lt;br /&gt;
    document.body.insertBefore( bar, document.body.firstChild );&lt;br /&gt;
&lt;br /&gt;
    function update() {&lt;br /&gt;
      var scrollTop = window.pageYOffset || document.documentElement.scrollTop;&lt;br /&gt;
      var docH = document.documentElement.scrollHeight - window.innerHeight;&lt;br /&gt;
      var pct  = docH &amp;gt; 0 ? Math.min( ( scrollTop / docH ) * 100, 100 ) : 0;&lt;br /&gt;
      bar.style.width = pct + &#039;%&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    window.addEventListener( &#039;scroll&#039;, update, { passive: true } );&lt;br /&gt;
    update();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     2. FOG CANVAS ANIMATION&lt;br /&gt;
     A canvas layered over the page renders softly drifting&lt;br /&gt;
     fog puffs that become visible as the user scrolls — &lt;br /&gt;
     simulating San Francisco&#039;s famous marine layer.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initFog() {&lt;br /&gt;
    var canvas = document.createElement( &#039;canvas&#039; );&lt;br /&gt;
    canvas.id = &#039;ggb-fog-canvas&#039;;&lt;br /&gt;
    Object.assign( canvas.style, {&lt;br /&gt;
      position:      &#039;fixed&#039;,&lt;br /&gt;
      top:           &#039;0&#039;,&lt;br /&gt;
      left:          &#039;0&#039;,&lt;br /&gt;
      width:         &#039;100%&#039;,&lt;br /&gt;
      height:        &#039;100%&#039;,&lt;br /&gt;
      pointerEvents: &#039;none&#039;,&lt;br /&gt;
      zIndex:        &#039;9998&#039;,&lt;br /&gt;
      opacity:       &#039;0&#039;,&lt;br /&gt;
      transition:    &#039;opacity 2.5s ease&#039;,&lt;br /&gt;
    } );&lt;br /&gt;
    document.body.appendChild( canvas );&lt;br /&gt;
&lt;br /&gt;
    var ctx = canvas.getContext( &#039;2d&#039; );&lt;br /&gt;
    var W, H, particles = [], raf;&lt;br /&gt;
&lt;br /&gt;
    function resize() {&lt;br /&gt;
      W = canvas.width  = window.innerWidth;&lt;br /&gt;
      H = canvas.height = window.innerHeight;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // A single fog puff&lt;br /&gt;
    function Puff() {&lt;br /&gt;
      var self = this;&lt;br /&gt;
      self.reset = function () {&lt;br /&gt;
        self.x     = Math.random() * W * 1.5 - W * 0.25;&lt;br /&gt;
        self.y     = Math.random() * H;&lt;br /&gt;
        self.r     = 100 + Math.random() * 220;&lt;br /&gt;
        self.alpha = 0.008 + Math.random() * 0.028;&lt;br /&gt;
        self.vx    = -0.06 - Math.random() * 0.1;&lt;br /&gt;
        self.vy    = -0.01 + Math.random() * 0.018;&lt;br /&gt;
      };&lt;br /&gt;
      self.reset();&lt;br /&gt;
&lt;br /&gt;
      self.update = function () {&lt;br /&gt;
        self.x += self.vx;&lt;br /&gt;
        self.y += self.vy;&lt;br /&gt;
        if ( self.x + self.r &amp;lt; 0 ) self.reset();&lt;br /&gt;
      };&lt;br /&gt;
&lt;br /&gt;
      self.draw = function () {&lt;br /&gt;
        var g = ctx.createRadialGradient( self.x, self.y, 0, self.x, self.y, self.r );&lt;br /&gt;
        g.addColorStop( 0,   &#039;rgba(245,242,236,&#039; + self.alpha + &#039;)&#039; );&lt;br /&gt;
        g.addColorStop( 0.5, &#039;rgba(240,236,228,&#039; + ( self.alpha * 0.5 ) + &#039;)&#039; );&lt;br /&gt;
        g.addColorStop( 1,   &#039;rgba(245,242,236,0)&#039; );&lt;br /&gt;
        ctx.fillStyle = g;&lt;br /&gt;
        ctx.beginPath();&lt;br /&gt;
        ctx.arc( self.x, self.y, self.r, 0, Math.PI * 2 );&lt;br /&gt;
        ctx.fill();&lt;br /&gt;
      };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function loop() {&lt;br /&gt;
      ctx.clearRect( 0, 0, W, H );&lt;br /&gt;
      for ( var i = 0; i &amp;lt; particles.length; i++ ) {&lt;br /&gt;
        particles[ i ].update();&lt;br /&gt;
        particles[ i ].draw();&lt;br /&gt;
      }&lt;br /&gt;
      raf = requestAnimationFrame( loop );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function init() {&lt;br /&gt;
      resize();&lt;br /&gt;
      particles = [];&lt;br /&gt;
      for ( var i = 0; i &amp;lt; 24; i++ ) {&lt;br /&gt;
        var p = new Puff();&lt;br /&gt;
        // Stagger starting positions so they don&#039;t all start at the same x&lt;br /&gt;
        p.x = Math.random() * W;&lt;br /&gt;
        particles.push( p );&lt;br /&gt;
      }&lt;br /&gt;
      loop();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    window.addEventListener( &#039;resize&#039;, resize, { passive: true } );&lt;br /&gt;
    init();&lt;br /&gt;
&lt;br /&gt;
    // Fog fades in after first scroll, fades out back to top&lt;br /&gt;
    var fogVisible = false;&lt;br /&gt;
    window.addEventListener( &#039;scroll&#039;, function () {&lt;br /&gt;
      var shouldShow = window.pageYOffset &amp;gt; 250;&lt;br /&gt;
      if ( shouldShow !== fogVisible ) {&lt;br /&gt;
        fogVisible = shouldShow;&lt;br /&gt;
        canvas.style.opacity = fogVisible ? &#039;1&#039; : &#039;0&#039;;&lt;br /&gt;
      }&lt;br /&gt;
    }, { passive: true } );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     3. SCROLL REVEAL&lt;br /&gt;
     Uses IntersectionObserver to slide content elements in&lt;br /&gt;
     as they enter the viewport — staggered for a wave feel.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initScrollReveal() {&lt;br /&gt;
    if ( !window.IntersectionObserver ) return;&lt;br /&gt;
&lt;br /&gt;
    var selectors = [&lt;br /&gt;
      &#039;.mw-body-content h2&#039;,&lt;br /&gt;
      &#039;.mw-body-content h3&#039;,&lt;br /&gt;
      &#039;.mw-body-content table.wikitable&#039;,&lt;br /&gt;
      &#039;.mw-body-content .thumb&#039;,&lt;br /&gt;
      &#039;.mw-body-content blockquote&#039;,&lt;br /&gt;
      &#039;.mw-body-content .infobox&#039;,&lt;br /&gt;
      &#039;.mw-body-content .hatnote&#039;,&lt;br /&gt;
      &#039;#toc&#039;,&lt;br /&gt;
    ].join( &#039;, &#039; );&lt;br /&gt;
&lt;br /&gt;
    var targets = document.querySelectorAll( selectors );&lt;br /&gt;
&lt;br /&gt;
    var observer = new IntersectionObserver( function ( entries ) {&lt;br /&gt;
      entries.forEach( function ( entry, i ) {&lt;br /&gt;
        if ( entry.isIntersecting ) {&lt;br /&gt;
          var el = entry.target;&lt;br /&gt;
          var delay = ( i % 4 ) * 70;&lt;br /&gt;
          setTimeout( function () {&lt;br /&gt;
            el.classList.add( &#039;ggb-in&#039; );&lt;br /&gt;
            if ( i % 2 === 1 ) el.classList.add( &#039;ggb-in-delay&#039; );&lt;br /&gt;
          }, delay );&lt;br /&gt;
          observer.unobserve( el );&lt;br /&gt;
        }&lt;br /&gt;
      } );&lt;br /&gt;
    }, {&lt;br /&gt;
      threshold:  0.1,&lt;br /&gt;
      rootMargin: &#039;0px 0px -50px 0px&#039;,&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    targets.forEach( function ( el ) {&lt;br /&gt;
      el.classList.add( &#039;ggb-reveal&#039; );&lt;br /&gt;
      observer.observe( el );&lt;br /&gt;
    } );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     4. BACK-TO-TOP BUTTON&lt;br /&gt;
     An orange circular button appears after scrolling 400px.&lt;br /&gt;
     Clicking it smoothly returns to the top of the page.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initBackToTop() {&lt;br /&gt;
    var btn = document.createElement( &#039;button&#039; );&lt;br /&gt;
    btn.id          = &#039;ggb-top-btn&#039;;&lt;br /&gt;
    btn.title       = &#039;Back to top&#039;;&lt;br /&gt;
    btn.textContent = &#039;↑&#039;;&lt;br /&gt;
    btn.setAttribute( &#039;aria-label&#039;, &#039;Back to top&#039; );&lt;br /&gt;
    document.body.appendChild( btn );&lt;br /&gt;
&lt;br /&gt;
    btn.addEventListener( &#039;click&#039;, function () {&lt;br /&gt;
      window.scrollTo( { top: 0, behavior: &#039;smooth&#039; } );&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    window.addEventListener( &#039;scroll&#039;, function () {&lt;br /&gt;
      if ( window.pageYOffset &amp;gt; 400 ) {&lt;br /&gt;
        btn.classList.add( &#039;visible&#039; );&lt;br /&gt;
      } else {&lt;br /&gt;
        btn.classList.remove( &#039;visible&#039; );&lt;br /&gt;
      }&lt;br /&gt;
    }, { passive: true } );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     5. HEADING ANCHOR LINKS&lt;br /&gt;
     Adds a ⚓ anchor icon that appears on heading hover,&lt;br /&gt;
     making it easy to copy links to specific sections.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initAnchorLinks() {&lt;br /&gt;
    var headlines = document.querySelectorAll( &#039;.mw-headline[id]&#039; );&lt;br /&gt;
&lt;br /&gt;
    headlines.forEach( function ( el ) {&lt;br /&gt;
      var icon = document.createElement( &#039;a&#039; );&lt;br /&gt;
      icon.href      = &#039;#&#039; + el.id;&lt;br /&gt;
      icon.className = &#039;ggb-anchor-link&#039;;&lt;br /&gt;
      icon.textContent = &#039; ¶&#039;;&lt;br /&gt;
      icon.title     = &#039;Link to this section&#039;;&lt;br /&gt;
      icon.setAttribute( &#039;aria-label&#039;, &#039;Link to section: &#039; + el.textContent );&lt;br /&gt;
      Object.assign( icon.style, {&lt;br /&gt;
        color:          &#039;rgba(200,92,43,0)&#039;,&lt;br /&gt;
        fontSize:       &#039;0.65em&#039;,&lt;br /&gt;
        fontFamily:     &amp;quot;&#039;Josefin Sans&#039;, sans-serif&amp;quot;,&lt;br /&gt;
        letterSpacing:  &#039;0&#039;,&lt;br /&gt;
        marginLeft:     &#039;8px&#039;,&lt;br /&gt;
        textDecoration: &#039;none&#039;,&lt;br /&gt;
        transition:     &#039;color 0.2s ease&#039;,&lt;br /&gt;
        verticalAlign:  &#039;middle&#039;,&lt;br /&gt;
      } );&lt;br /&gt;
&lt;br /&gt;
      var heading = el.parentElement;&lt;br /&gt;
      heading.addEventListener( &#039;mouseenter&#039;, function () {&lt;br /&gt;
        icon.style.color = &#039;rgba(200,92,43,0.55)&#039;;&lt;br /&gt;
      } );&lt;br /&gt;
      heading.addEventListener( &#039;mouseleave&#039;, function () {&lt;br /&gt;
        icon.style.color = &#039;rgba(200,92,43,0)&#039;;&lt;br /&gt;
      } );&lt;br /&gt;
      icon.addEventListener( &#039;mouseenter&#039;, function () {&lt;br /&gt;
        this.style.color = &#039;#C85C2B&#039;;&lt;br /&gt;
      } );&lt;br /&gt;
      icon.addEventListener( &#039;mouseleave&#039;, function () {&lt;br /&gt;
        this.style.color = &#039;rgba(200,92,43,0.55)&#039;;&lt;br /&gt;
      } );&lt;br /&gt;
&lt;br /&gt;
      el.appendChild( icon );&lt;br /&gt;
    } );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     6. TIME-BASED DYNAMIC GRADIENT&lt;br /&gt;
     The header and page background shift colour based on&lt;br /&gt;
     the time of day — from cold foggy dawn to warm sunset&lt;br /&gt;
     to deep bay-at-night, just like the real bridge.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initDynamicGradient() {&lt;br /&gt;
    var hour = new Date().getHours();&lt;br /&gt;
    var gradient;&lt;br /&gt;
&lt;br /&gt;
    if ( hour &amp;gt;= 5 &amp;amp;&amp;amp; hour &amp;lt; 8 ) {&lt;br /&gt;
      // Pre-dawn / dawn: lavender sky, orange horizon&lt;br /&gt;
      gradient = &#039;linear-gradient(150deg, #2A1A38 0%, #7A3020 45%, #C85C2B 100%)&#039;;&lt;br /&gt;
    } else if ( hour &amp;gt;= 8 &amp;amp;&amp;amp; hour &amp;lt; 11 ) {&lt;br /&gt;
      // Morning: fog burning off, cool deep navy&lt;br /&gt;
      gradient = &#039;linear-gradient(150deg, #0B1B2B 0%, #1A3A58 60%, #162840 100%)&#039;;&lt;br /&gt;
    } else if ( hour &amp;gt;= 11 &amp;amp;&amp;amp; hour &amp;lt; 16 ) {&lt;br /&gt;
      // Midday: classic deep bay navy&lt;br /&gt;
      gradient = &#039;linear-gradient(150deg, #0B1B2B 0%, #162840 50%, #0B1B2B 100%)&#039;;&lt;br /&gt;
    } else if ( hour &amp;gt;= 16 &amp;amp;&amp;amp; hour &amp;lt; 19 ) {&lt;br /&gt;
      // Golden hour: warm amber bleeds in from right&lt;br /&gt;
      gradient = &#039;linear-gradient(150deg, #0B1B2B 0%, #5A2010 55%, #C9A84C 100%)&#039;;&lt;br /&gt;
    } else if ( hour &amp;gt;= 19 &amp;amp;&amp;amp; hour &amp;lt; 21 ) {&lt;br /&gt;
      // Sunset: deep vermillion, spectacular&lt;br /&gt;
      gradient = &#039;linear-gradient(150deg, #180808 0%, #6A2010 35%, #C85C2B 80%, #C9A84C 100%)&#039;;&lt;br /&gt;
    } else {&lt;br /&gt;
      // Night: starless black bay&lt;br /&gt;
      gradient = &#039;linear-gradient(150deg, #04090E 0%, #0B1B2B 55%, #0F2235 100%)&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Apply to header elements&lt;br /&gt;
    var targets = [&lt;br /&gt;
      document.getElementById( &#039;mw-head&#039; ),&lt;br /&gt;
      document.getElementById( &#039;mw-head-base&#039; ),&lt;br /&gt;
      document.getElementById( &#039;mw-page-base&#039; ),&lt;br /&gt;
      document.querySelector( &#039;.vector-header&#039; ),&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    targets.forEach( function ( el ) {&lt;br /&gt;
      if ( el ) el.style.background = gradient;&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    // Also subtly tint the sidebar top&lt;br /&gt;
    var panel = document.getElementById( &#039;mw-panel&#039; ) ||&lt;br /&gt;
                document.querySelector( &#039;.vector-column-start&#039; );&lt;br /&gt;
    if ( panel ) {&lt;br /&gt;
      panel.style.background =&lt;br /&gt;
        &#039;linear-gradient(180deg, #0D1F30 0%, #0B1B2B 20%)&#039;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     7. SIDEBAR CABLE DECORATION&lt;br /&gt;
     Injects an animated SVG suspension cable graphic into&lt;br /&gt;
     the sidebar — a subtle architectural nod to the bridge.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initSidebarCable() {&lt;br /&gt;
    var panel = document.getElementById( &#039;mw-panel&#039; ) ||&lt;br /&gt;
                document.querySelector( &#039;.vector-column-start&#039; );&lt;br /&gt;
    if ( !panel ) return;&lt;br /&gt;
&lt;br /&gt;
    var svg = document.createElementNS( &#039;http://www.w3.org/2000/svg&#039;, &#039;svg&#039; );&lt;br /&gt;
    svg.setAttribute( &#039;viewBox&#039;, &#039;0 0 20 300&#039; );&lt;br /&gt;
    svg.setAttribute( &#039;preserveAspectRatio&#039;, &#039;none&#039; );&lt;br /&gt;
    Object.assign( svg.style, {&lt;br /&gt;
      position:   &#039;absolute&#039;,&lt;br /&gt;
      top:        &#039;0&#039;,&lt;br /&gt;
      right:      &#039;0&#039;,&lt;br /&gt;
      width:      &#039;20px&#039;,&lt;br /&gt;
      height:     &#039;100%&#039;,&lt;br /&gt;
      opacity:    &#039;0.6&#039;,&lt;br /&gt;
      pointerEvents: &#039;none&#039;,&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    // Main cable strand&lt;br /&gt;
    var cable = document.createElementNS( &#039;http://www.w3.org/2000/svg&#039;, &#039;line&#039; );&lt;br /&gt;
    cable.setAttribute( &#039;x1&#039;, &#039;10&#039; ); cable.setAttribute( &#039;y1&#039;, &#039;0&#039; );&lt;br /&gt;
    cable.setAttribute( &#039;x2&#039;, &#039;10&#039; ); cable.setAttribute( &#039;y2&#039;, &#039;300&#039; );&lt;br /&gt;
    cable.setAttribute( &#039;stroke&#039;, &#039;#C85C2B&#039; );&lt;br /&gt;
    cable.setAttribute( &#039;stroke-width&#039;, &#039;1.5&#039; );&lt;br /&gt;
    cable.setAttribute( &#039;stroke-opacity&#039;, &#039;0.5&#039; );&lt;br /&gt;
    svg.appendChild( cable );&lt;br /&gt;
&lt;br /&gt;
    // Horizontal suspender ticks&lt;br /&gt;
    for ( var y = 20; y &amp;lt; 300; y += 28 ) {&lt;br /&gt;
      var tick = document.createElementNS( &#039;http://www.w3.org/2000/svg&#039;, &#039;line&#039; );&lt;br /&gt;
      tick.setAttribute( &#039;x1&#039;, &#039;6&#039; );  tick.setAttribute( &#039;y1&#039;, String( y ) );&lt;br /&gt;
      tick.setAttribute( &#039;x2&#039;, &#039;14&#039; ); tick.setAttribute( &#039;y2&#039;, String( y ) );&lt;br /&gt;
      tick.setAttribute( &#039;stroke&#039;, &#039;#C85C2B&#039; );&lt;br /&gt;
      tick.setAttribute( &#039;stroke-width&#039;, &#039;0.8&#039; );&lt;br /&gt;
      tick.setAttribute( &#039;stroke-opacity&#039;, &#039;0.35&#039; );&lt;br /&gt;
      svg.appendChild( tick );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Animate: gentle cable-sway using CSS animation on the element&lt;br /&gt;
    var style = document.createElement( &#039;style&#039; );&lt;br /&gt;
    style.textContent = [&lt;br /&gt;
      &#039;@keyframes ggbCableSway {&#039;,&lt;br /&gt;
      &#039;  0%,100% { transform: scaleY(1.0) translateY(0px); }&#039;,&lt;br /&gt;
      &#039;  50%      { transform: scaleY(1.002) translateY(-2px); }&#039;,&lt;br /&gt;
      &#039;}&#039;,&lt;br /&gt;
      &#039;#ggb-cable-svg {&#039;,&lt;br /&gt;
      &#039;  animation: ggbCableSway 6s ease-in-out infinite;&#039;,&lt;br /&gt;
      &#039;  transform-origin: top center;&#039;,&lt;br /&gt;
      &#039;}&#039;,&lt;br /&gt;
    ].join( &#039;\n&#039; );&lt;br /&gt;
    document.head.appendChild( style );&lt;br /&gt;
    svg.id = &#039;ggb-cable-svg&#039;;&lt;br /&gt;
&lt;br /&gt;
    panel.style.position = &#039;relative&#039;;&lt;br /&gt;
    panel.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
    panel.appendChild( svg );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     8. IMAGE LAZY-LOAD FADE&lt;br /&gt;
     Images in the article content fade in as they load,&lt;br /&gt;
     rather than popping in abruptly.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initImageFade() {&lt;br /&gt;
    var images = document.querySelectorAll( &#039;.mw-body-content img&#039; );&lt;br /&gt;
    var fadeStyle = document.createElement( &#039;style&#039; );&lt;br /&gt;
    fadeStyle.textContent = [&lt;br /&gt;
      &#039;.mw-body-content img { opacity: 0; transition: opacity 0.6s ease; }&#039;,&lt;br /&gt;
      &#039;.mw-body-content img.ggb-img-loaded { opacity: 1; }&#039;,&lt;br /&gt;
    ].join( &#039;\n&#039; );&lt;br /&gt;
    document.head.appendChild( fadeStyle );&lt;br /&gt;
&lt;br /&gt;
    images.forEach( function ( img ) {&lt;br /&gt;
      if ( img.complete ) {&lt;br /&gt;
        img.classList.add( &#039;ggb-img-loaded&#039; );&lt;br /&gt;
      } else {&lt;br /&gt;
        img.addEventListener( &#039;load&#039;, function () {&lt;br /&gt;
          img.classList.add( &#039;ggb-img-loaded&#039; );&lt;br /&gt;
        } );&lt;br /&gt;
        img.addEventListener( &#039;error&#039;, function () {&lt;br /&gt;
          img.classList.add( &#039;ggb-img-loaded&#039; ); // show broken icon&lt;br /&gt;
        } );&lt;br /&gt;
      }&lt;br /&gt;
    } );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     9. ACTIVE TOC HIGHLIGHT&lt;br /&gt;
     Highlights the current section in the Table of Contents&lt;br /&gt;
     as the user scrolls through the article.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initTocHighlight() {&lt;br /&gt;
    var toc = document.getElementById( &#039;toc&#039; ) || document.querySelector( &#039;.toc&#039; );&lt;br /&gt;
    if ( !toc ) return;&lt;br /&gt;
&lt;br /&gt;
    var headings = Array.from(&lt;br /&gt;
      document.querySelectorAll( &#039;.mw-body-content h2[id], .mw-body-content h3[id]&#039; )&lt;br /&gt;
    );&lt;br /&gt;
    if ( !headings.length ) return;&lt;br /&gt;
&lt;br /&gt;
    // Inject highlight style&lt;br /&gt;
    var style = document.createElement( &#039;style&#039; );&lt;br /&gt;
    style.textContent = [&lt;br /&gt;
      &#039;.toc a.ggb-toc-active {&#039;,&lt;br /&gt;
      &#039;  color: #C85C2B !important;&#039;,&lt;br /&gt;
      &#039;  font-weight: 600;&#039;,&lt;br /&gt;
      &#039;  padding-left: 4px;&#039;,&lt;br /&gt;
      &#039;  border-left: 2px solid #C85C2B;&#039;,&lt;br /&gt;
      &#039;}&#039;,&lt;br /&gt;
    ].join( &#039;\n&#039; );&lt;br /&gt;
    document.head.appendChild( style );&lt;br /&gt;
&lt;br /&gt;
    function onScroll() {&lt;br /&gt;
      var scrollY = window.pageYOffset + 100;&lt;br /&gt;
      var current = headings[ 0 ];&lt;br /&gt;
&lt;br /&gt;
      for ( var i = 0; i &amp;lt; headings.length; i++ ) {&lt;br /&gt;
        if ( headings[ i ].getBoundingClientRect().top + window.pageYOffset &amp;lt;= scrollY ) {&lt;br /&gt;
          current = headings[ i ];&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      // Find the matching TOC link&lt;br /&gt;
      var id = current.id || ( current.querySelector( &#039;.mw-headline&#039; ) &amp;amp;&amp;amp; current.querySelector( &#039;.mw-headline&#039; ).id );&lt;br /&gt;
      if ( !id ) return;&lt;br /&gt;
&lt;br /&gt;
      toc.querySelectorAll( &#039;a&#039; ).forEach( function ( a ) {&lt;br /&gt;
        a.classList.remove( &#039;ggb-toc-active&#039; );&lt;br /&gt;
      } );&lt;br /&gt;
&lt;br /&gt;
      var active = toc.querySelector( &#039;a[href=&amp;quot;#&#039; + id + &#039;&amp;quot;]&#039; );&lt;br /&gt;
      if ( active ) active.classList.add( &#039;ggb-toc-active&#039; );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    window.addEventListener( &#039;scroll&#039;, onScroll, { passive: true } );&lt;br /&gt;
    onScroll();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     10. SEARCH BOX ENHANCEMENT&lt;br /&gt;
     Adds a keyboard shortcut (/) to focus the search box,&lt;br /&gt;
     and shows a subtle hint label near the input.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initSearchShortcut() {&lt;br /&gt;
    var searchInput = document.getElementById( &#039;searchInput&#039; ) ||&lt;br /&gt;
                      document.querySelector( &#039;.vector-search-box input[type=&amp;quot;search&amp;quot;]&#039; );&lt;br /&gt;
    if ( !searchInput ) return;&lt;br /&gt;
&lt;br /&gt;
    // Keyboard shortcut: / focuses search (unless user is in an input)&lt;br /&gt;
    document.addEventListener( &#039;keydown&#039;, function ( e ) {&lt;br /&gt;
      if ( e.key === &#039;/&#039; &amp;amp;&amp;amp;&lt;br /&gt;
           document.activeElement.tagName !== &#039;INPUT&#039; &amp;amp;&amp;amp;&lt;br /&gt;
           document.activeElement.tagName !== &#039;TEXTAREA&#039; ) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        searchInput.focus();&lt;br /&gt;
        searchInput.select();&lt;br /&gt;
      }&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    // ESC blurs search&lt;br /&gt;
    searchInput.addEventListener( &#039;keydown&#039;, function ( e ) {&lt;br /&gt;
      if ( e.key === &#039;Escape&#039; ) searchInput.blur();&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    // Hint label&lt;br /&gt;
    var hint = document.createElement( &#039;span&#039; );&lt;br /&gt;
    hint.textContent = &#039;/&#039;;&lt;br /&gt;
    Object.assign( hint.style, {&lt;br /&gt;
      background:    &#039;rgba(138,155,176,0.15)&#039;,&lt;br /&gt;
      border:        &#039;1px solid rgba(138,155,176,0.3)&#039;,&lt;br /&gt;
      borderRadius:  &#039;3px&#039;,&lt;br /&gt;
      color:         &#039;rgba(138,155,176,0.7)&#039;,&lt;br /&gt;
      fontFamily:    &amp;quot;&#039;Josefin Sans&#039;, sans-serif&amp;quot;,&lt;br /&gt;
      fontSize:      &#039;10px&#039;,&lt;br /&gt;
      fontWeight:    &#039;600&#039;,&lt;br /&gt;
      letterSpacing: &#039;0.05em&#039;,&lt;br /&gt;
      padding:       &#039;1px 5px&#039;,&lt;br /&gt;
      pointerEvents: &#039;none&#039;,&lt;br /&gt;
      position:      &#039;absolute&#039;,&lt;br /&gt;
      right:         &#039;40px&#039;,&lt;br /&gt;
      top:           &#039;50%&#039;,&lt;br /&gt;
      transform:     &#039;translateY(-50%)&#039;,&lt;br /&gt;
      transition:    &#039;opacity 0.2s ease&#039;,&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    var searchForm = searchInput.closest( &#039;form&#039; ) || searchInput.parentElement;&lt;br /&gt;
    if ( searchForm ) {&lt;br /&gt;
      searchForm.style.position = &#039;relative&#039;;&lt;br /&gt;
      searchForm.appendChild( hint );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    searchInput.addEventListener( &#039;focus&#039;, function () { hint.style.opacity = &#039;0&#039;; } );&lt;br /&gt;
    searchInput.addEventListener( &#039;blur&#039;,  function () { hint.style.opacity = &#039;1&#039;; } );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     11. EXTERNAL LINK ICON&lt;br /&gt;
     Adds a small external link indicator after links that&lt;br /&gt;
     point outside the wiki.&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function initExternalLinkIcons() {&lt;br /&gt;
    var style = document.createElement( &#039;style&#039; );&lt;br /&gt;
    style.textContent = [&lt;br /&gt;
      &#039;.mw-body-content a.external::after {&#039;,&lt;br /&gt;
      &#039;  content: &amp;quot; ↗&amp;quot;;&#039;,&lt;br /&gt;
      &#039;  color: rgba(200,92,43,0.6);&#039;,&lt;br /&gt;
      &#039;  font-size: 0.75em;&#039;,&lt;br /&gt;
      &#039;  vertical-align: super;&#039;,&lt;br /&gt;
      &#039;  margin-left: 1px;&#039;,&lt;br /&gt;
      &#039;}&#039;,&lt;br /&gt;
    ].join( &#039;\n&#039; );&lt;br /&gt;
    document.head.appendChild( style );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /* ─────────────────────────────────────────────────────────&lt;br /&gt;
     INIT — run everything after DOM is ready&lt;br /&gt;
  ───────────────────────────────────────────────────────── */&lt;br /&gt;
  function run() {&lt;br /&gt;
    // Core UI enhancements&lt;br /&gt;
    initProgress();&lt;br /&gt;
    initBackToTop();&lt;br /&gt;
    initDynamicGradient();&lt;br /&gt;
    initSidebarCable();&lt;br /&gt;
&lt;br /&gt;
    // Content enhancements&lt;br /&gt;
    initScrollReveal();&lt;br /&gt;
    initAnchorLinks();&lt;br /&gt;
    initTocHighlight();&lt;br /&gt;
    initImageFade();&lt;br /&gt;
&lt;br /&gt;
    // Search&lt;br /&gt;
    initSearchShortcut();&lt;br /&gt;
&lt;br /&gt;
    // Link icons&lt;br /&gt;
    initExternalLinkIcons();&lt;br /&gt;
&lt;br /&gt;
    // Fog — init last as it starts a canvas animation loop&lt;br /&gt;
    initFog();&lt;br /&gt;
&lt;br /&gt;
    // Console credit&lt;br /&gt;
    if ( window.console &amp;amp;&amp;amp; console.log ) {&lt;br /&gt;
      console.log( &#039;%c🌉 Golden Gate Bridge Theme active&#039;, &#039;color:#C85C2B;font-family:Georgia,serif;font-size:14px;&#039; );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( document.readyState === &#039;loading&#039; ) {&lt;br /&gt;
    document.addEventListener( &#039;DOMContentLoaded&#039;, run );&lt;br /&gt;
  } else {&lt;br /&gt;
    // mw.loader available: use MediaWiki&#039;s ready hook if possible&lt;br /&gt;
    if ( typeof mw !== &#039;undefined&#039; &amp;amp;&amp;amp; mw.hook ) {&lt;br /&gt;
      mw.hook( &#039;wikipage.content&#039; ).add( function () { run(); } );&lt;br /&gt;
    } else {&lt;br /&gt;
      run();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
} )();&lt;/div&gt;</summary>
		<author><name>Cinnadust</name></author>
	</entry>
	<entry>
		<id>https://cinnamontoastcrunch.colourversalwikis.com/index.php?title=MediaWiki:Common.css&amp;diff=2</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://cinnamontoastcrunch.colourversalwikis.com/index.php?title=MediaWiki:Common.css&amp;diff=2"/>
		<updated>2026-05-01T08:43:08Z</updated>

		<summary type="html">&lt;p&gt;Cinnadust: Created page with &amp;quot;/* ============================================================    THE ENCYCLOPEDIA OF THE COLORVERSE — Common.css    Golden Gate Bridge Theme (dominant) + Colorverse Systems        GGB palette : International Orange #C85C2B | Bay Navy #0B1B2B | Fog #F5F2EC    KC tokens   : used only by Colorverse template components    ============================================================ */  /* ── Google Fonts ── */ @import url(&amp;#039;https://fonts.googleapis.com/css2?family...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ============================================================&lt;br /&gt;
   THE ENCYCLOPEDIA OF THE COLORVERSE — Common.css&lt;br /&gt;
   Golden Gate Bridge Theme (dominant) + Colorverse Systems&lt;br /&gt;
   &lt;br /&gt;
   GGB palette : International Orange #C85C2B | Bay Navy #0B1B2B | Fog #F5F2EC&lt;br /&gt;
   KC tokens   : used only by Colorverse template components&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
&lt;br /&gt;
/* ── Google Fonts ── */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400&amp;amp;family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&amp;amp;family=Josefin+Sans:wght@300;400;600&amp;amp;family=Fredoka+One&amp;amp;family=Bubblegum+Sans&amp;amp;family=Schoolbell&amp;amp;family=Patrick+Hand&amp;amp;family=Boogaloo&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
/* ── Custom Fonts ── */&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Fredoka&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://db.onlinewebfonts.com/t/0ca2ea96737ff1b488509e1c766d1048.eot&amp;quot;);&lt;br /&gt;
    src: url(&amp;quot;https://db.onlinewebfonts.com/t/0ca2ea96737ff1b488509e1c766d1048.eot?#iefix&amp;quot;)format(&amp;quot;embedded-opentype&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/0ca2ea96737ff1b488509e1c766d1048.woff2&amp;quot;)format(&amp;quot;woff2&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/0ca2ea96737ff1b488509e1c766d1048.woff&amp;quot;)format(&amp;quot;woff&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/0ca2ea96737ff1b488509e1c766d1048.ttf&amp;quot;)format(&amp;quot;truetype&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/0ca2ea96737ff1b488509e1c766d1048.svg#Fredoka&amp;quot;)format(&amp;quot;svg&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@font-face {&lt;br /&gt;
    font-family: &amp;quot;Starborn&amp;quot;;&lt;br /&gt;
    src: url(&amp;quot;https://db.onlinewebfonts.com/t/2afe16b4e1a977f13d988de8a968ae7c.eot&amp;quot;);&lt;br /&gt;
    src: url(&amp;quot;https://db.onlinewebfonts.com/t/2afe16b4e1a977f13d988de8a968ae7c.eot?#iefix&amp;quot;)format(&amp;quot;embedded-opentype&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/2afe16b4e1a977f13d988de8a968ae7c.woff2&amp;quot;)format(&amp;quot;woff2&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/2afe16b4e1a977f13d988de8a968ae7c.woff&amp;quot;)format(&amp;quot;woff&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/2afe16b4e1a977f13d988de8a968ae7c.ttf&amp;quot;)format(&amp;quot;truetype&amp;quot;),&lt;br /&gt;
    url(&amp;quot;https://db.onlinewebfonts.com/t/2afe16b4e1a977f13d988de8a968ae7c.svg#Starborn&amp;quot;)format(&amp;quot;svg&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   CSS VARIABLES&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
:root {&lt;br /&gt;
  /* ── Golden Gate Bridge (dominant theme) ── */&lt;br /&gt;
  --ggb-orange:      #C85C2B;&lt;br /&gt;
  --ggb-orange-dk:   #9E3F18;&lt;br /&gt;
  --ggb-orange-lt:   #E67E4D;&lt;br /&gt;
  --ggb-navy:        #0B1B2B;&lt;br /&gt;
  --ggb-navy-mid:    #162840;&lt;br /&gt;
  --ggb-navy-light:  #2A4560;&lt;br /&gt;
  --ggb-fog:         #F5F2EC;&lt;br /&gt;
  --ggb-fog-mid:     #EAE6DC;&lt;br /&gt;
  --ggb-fog-dark:    #D8D3C6;&lt;br /&gt;
  --ggb-cable:       #8A9BB0;&lt;br /&gt;
  --ggb-water:       #1A4A6E;&lt;br /&gt;
  --ggb-gold:        #C9A84C;&lt;br /&gt;
  --ggb-text:        #1C1A15;&lt;br /&gt;
  --ggb-text-mid:    #4A4640;&lt;br /&gt;
  --ggb-text-light:  #7A7570;&lt;br /&gt;
  --ggb-radius:      6px;&lt;br /&gt;
  --ggb-shadow:      0 2px 20px rgba(11,27,43,0.14);&lt;br /&gt;
  --ggb-t:           0.25s ease;&lt;br /&gt;
&lt;br /&gt;
  /* ── Colorverse component tokens (templates, blinkies, page-color system) ── */&lt;br /&gt;
  --kc-yellow:  #FFE500;&lt;br /&gt;
  --kc-red:     #E8000D;&lt;br /&gt;
  --kc-blue:    #2B44FF;&lt;br /&gt;
  --kc-green:   #00B728;&lt;br /&gt;
  --kc-white:   #FFFFFF;&lt;br /&gt;
  --kc-black:   #1A1A1A;&lt;br /&gt;
&lt;br /&gt;
  --kc-border:        3px solid var(--kc-black);&lt;br /&gt;
  --kc-border-thick:  5px solid var(--kc-black);&lt;br /&gt;
  --kc-radius:        16px;&lt;br /&gt;
  --kc-radius-lg:     24px;&lt;br /&gt;
  --kc-shadow:        5px 5px 0px var(--kc-black);&lt;br /&gt;
&lt;br /&gt;
  /* Font tokens — GGB fonts for wiki UI, KC fonts for template components */&lt;br /&gt;
  --font-display:  &#039;Cormorant Garamond&#039;, Georgia, serif;&lt;br /&gt;
  --font-body:     &#039;Crimson Pro&#039;, Georgia, serif;&lt;br /&gt;
  --font-nav:      &#039;Josefin Sans&#039;, sans-serif;&lt;br /&gt;
  --font-heading:  &amp;quot;Fredoka&amp;quot;, &amp;quot;Fredoka One&amp;quot;, cursive;&lt;br /&gt;
  --font-accent:   &amp;quot;Bubblegum Sans&amp;quot;, cursive;&lt;br /&gt;
  --font-note:     &amp;quot;Schoolbell&amp;quot;, cursive;&lt;br /&gt;
&lt;br /&gt;
  /* Page-color system defaults (Colorverse {{PageColor}} template) */&lt;br /&gt;
  --kc-page-bg:      initial;&lt;br /&gt;
  --kc-page-text:    initial;&lt;br /&gt;
  --kc-page-links:   initial;&lt;br /&gt;
  --kc-page-h1:      initial;&lt;br /&gt;
  --kc-page-h1text:  initial;&lt;br /&gt;
  --kc-page-h2:      initial;&lt;br /&gt;
  --kc-page-h3:      initial;&lt;br /&gt;
  --kc-page-border:  initial;&lt;br /&gt;
  --kc-page-shadow:  initial;&lt;br /&gt;
  --kc-page-toc:     initial;&lt;br /&gt;
  --kc-page-cats:    initial;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   KEYFRAMES&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
@keyframes ggbFadeUp {&lt;br /&gt;
  from { opacity: 0; transform: translateY(18px); }&lt;br /&gt;
  to   { opacity: 1; transform: translateY(0); }&lt;br /&gt;
}&lt;br /&gt;
@keyframes ggbSlideRight {&lt;br /&gt;
  from { opacity: 0; transform: translateX(-16px); }&lt;br /&gt;
  to   { opacity: 1; transform: translateX(0); }&lt;br /&gt;
}&lt;br /&gt;
@keyframes ggbPageIn {&lt;br /&gt;
  from { opacity: 0; transform: translateY(8px); }&lt;br /&gt;
  to   { opacity: 1; transform: translateY(0); }&lt;br /&gt;
}&lt;br /&gt;
@keyframes ggbCableFlow {&lt;br /&gt;
  0%, 100% { background-position: 0 0; }&lt;br /&gt;
  50%       { background-position: 0 12px; }&lt;br /&gt;
}&lt;br /&gt;
@keyframes ggbPulse {&lt;br /&gt;
  0%, 100% { box-shadow: 0 0 0 0 rgba(200,92,43,0.45); }&lt;br /&gt;
  50%       { box-shadow: 0 0 0 8px rgba(200,92,43,0); }&lt;br /&gt;
}&lt;br /&gt;
@keyframes kc-sparkle-fade {&lt;br /&gt;
  0%   { opacity: 1; transform: scale(1) translateY(0); }&lt;br /&gt;
  100% { opacity: 0; transform: scale(0.4) translateY(-24px); }&lt;br /&gt;
}&lt;br /&gt;
@keyframes blinkie-border-cycle {&lt;br /&gt;
  0%   { outline-color: var(--kc-yellow); }&lt;br /&gt;
  25%  { outline-color: var(--kc-red); }&lt;br /&gt;
  50%  { outline-color: var(--kc-blue); }&lt;br /&gt;
  75%  { outline-color: var(--kc-green); }&lt;br /&gt;
  100% { outline-color: var(--kc-yellow); }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   GLOBAL RESET&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
*, *::before, *::after { box-sizing: border-box; }&lt;br /&gt;
html { scroll-behavior: smooth; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   BODY — GGB fog&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
body {&lt;br /&gt;
  background: var(--ggb-fog) !important;&lt;br /&gt;
  color: var(--ggb-text) !important;&lt;br /&gt;
  font-family: var(--font-body) !important;&lt;br /&gt;
  font-size: 18px !important;&lt;br /&gt;
  line-height: 1.78 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
  background: linear-gradient(180deg, var(--ggb-navy) 0%, var(--ggb-navy-mid) 55%, var(--ggb-fog) 100%) !important;&lt;br /&gt;
  height: 220px !important;&lt;br /&gt;
}&lt;br /&gt;
#mw-head-base { background: var(--ggb-navy) !important; }&lt;br /&gt;
&lt;br /&gt;
#mw-content-block {&lt;br /&gt;
  background-image: url(&#039;/images/Split.png&#039;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  background-position: center;&lt;br /&gt;
  background-attachment: fixed;&lt;br /&gt;
  background-size: cover;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   HEADER&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#mw-head, .vector-header {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border-bottom: 3px solid var(--ggb-orange) !important;&lt;br /&gt;
  box-shadow: 0 4px 28px rgba(11,27,43,0.5) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo { filter: drop-shadow(0 2px 10px rgba(200,92,43,0.25)); }&lt;br /&gt;
#p-logo a { display: block; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   NAVIGATION TABS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#left-navigation, .vector-menu-tabs, .vector-nav-tabs {&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-tabs li a,&lt;br /&gt;
#ca-nstab-main a, #ca-talk a,&lt;br /&gt;
#ca-view a, #ca-edit a, #ca-history a {&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  color: var(--ggb-cable) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11px !important;&lt;br /&gt;
  font-weight: 400 !important;&lt;br /&gt;
  letter-spacing: 0.1em !important;&lt;br /&gt;
  padding: 10px 16px !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
  transition: color var(--ggb-t), background var(--ggb-t) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-tabs li a:hover,&lt;br /&gt;
#ca-edit a:hover, #ca-history a:hover {&lt;br /&gt;
  background: rgba(200,92,43,0.08) !important;&lt;br /&gt;
  color: var(--ggb-orange-lt) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-tabs .selected a, li.selected a {&lt;br /&gt;
  border-bottom: 3px solid var(--ggb-orange) !important;&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Page tabs (Timeless skin) */&lt;br /&gt;
#p-views a {&lt;br /&gt;
  color: var(--ggb-cable) !important;&lt;br /&gt;
  background-color: transparent !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  transition: color var(--ggb-t), background var(--ggb-t) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-views a:hover { color: var(--ggb-orange-lt) !important; background: rgba(200,92,43,0.08) !important; transform: none !important; }&lt;br /&gt;
#p-views .selected a, #p-views li.selected a {&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  background-color: transparent !important;&lt;br /&gt;
  border-bottom: 3px solid var(--ggb-orange) !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ── Right Nav ── */&lt;br /&gt;
#right-navigation a, .vector-user-links a, #p-personal a {&lt;br /&gt;
  color: var(--ggb-cable) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11px !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  transition: color var(--ggb-t) !important;&lt;br /&gt;
}&lt;br /&gt;
#right-navigation a:hover, .vector-user-links a:hover, #p-personal a:hover {&lt;br /&gt;
  color: var(--ggb-orange-lt) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   SEARCH BAR&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#p-search form, .vector-search-box form { margin: 0 !important; }&lt;br /&gt;
&lt;br /&gt;
#searchInput, .vector-search-box input[type=&amp;quot;search&amp;quot;], .cdx-text-input__input,&lt;br /&gt;
input[name=&amp;quot;search&amp;quot;], .mw-searchInput {&lt;br /&gt;
  background: rgba(255,255,255,0.08) !important;&lt;br /&gt;
  border: 1px solid rgba(138,155,176,0.3) !important;&lt;br /&gt;
  border-radius: var(--ggb-radius) !important;&lt;br /&gt;
  color: var(--ggb-fog) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 12px !important;&lt;br /&gt;
  letter-spacing: 0.05em !important;&lt;br /&gt;
  padding: 8px 14px !important;&lt;br /&gt;
  transition: border var(--ggb-t), background var(--ggb-t), box-shadow var(--ggb-t) !important;&lt;br /&gt;
  width: 220px !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  outline: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchInput::placeholder, .vector-search-box input::placeholder {&lt;br /&gt;
  color: rgba(138,155,176,0.6) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchInput:focus, .vector-search-box input:focus, .mw-searchInput:focus {&lt;br /&gt;
  background: rgba(255,255,255,0.13) !important;&lt;br /&gt;
  border-color: var(--ggb-orange) !important;&lt;br /&gt;
  box-shadow: 0 0 0 3px rgba(200,92,43,0.18) !important;&lt;br /&gt;
  outline: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchButton, .vector-search-box .searchButton,&lt;br /&gt;
#mw-searchButton, input[type=&amp;quot;submit&amp;quot;][name=&amp;quot;fulltext&amp;quot;], .searchButton {&lt;br /&gt;
  background: var(--ggb-orange) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 0 var(--ggb-radius) var(--ggb-radius) 0 !important;&lt;br /&gt;
  color: white !important;&lt;br /&gt;
  cursor: pointer !important;&lt;br /&gt;
  padding: 8px 14px !important;&lt;br /&gt;
  transition: background var(--ggb-t) !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 12px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchButton:hover, #mw-searchButton:hover, .searchButton:hover {&lt;br /&gt;
  background: var(--ggb-orange-lt) !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   LEFT SIDEBAR — GGB navy with cable accent&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#mw-panel, #mw-site-navigation, .mw-site-navigation, .vector-column-start {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border-right: 1px solid rgba(138,155,176,0.12) !important;&lt;br /&gt;
  padding-top: 10px !important;&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Cable shimmer strip */&lt;br /&gt;
#mw-panel::after, .vector-column-start::after {&lt;br /&gt;
  content: &#039;&#039; !important;&lt;br /&gt;
  position: absolute !important;&lt;br /&gt;
  top: 0 !important; right: 0 !important;&lt;br /&gt;
  width: 2px !important; height: 100% !important;&lt;br /&gt;
  background: linear-gradient(180deg,&lt;br /&gt;
    transparent 0%,&lt;br /&gt;
    rgba(200,92,43,0.25) 20%,&lt;br /&gt;
    rgba(200,92,43,0.55) 50%,&lt;br /&gt;
    rgba(200,92,43,0.25) 80%,&lt;br /&gt;
    transparent 100%) !important;&lt;br /&gt;
  pointer-events: none !important;&lt;br /&gt;
  animation: ggbCableFlow 5s ease-in-out infinite !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel .portal, #mw-panel .vector-menu {&lt;br /&gt;
  border-bottom: 1px solid rgba(138,155,176,0.1) !important;&lt;br /&gt;
  margin-bottom: 0 !important;&lt;br /&gt;
  padding: 14px 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebar headings */&lt;br /&gt;
#mw-panel h3,&lt;br /&gt;
#mw-panel .vector-menu-heading,&lt;br /&gt;
#mw-panel .vector-menu-heading-label,&lt;br /&gt;
#mw-site-navigation h3,&lt;br /&gt;
.portal h3,&lt;br /&gt;
#mw-site-navigation .sidebar-chunk h3,&lt;br /&gt;
#mw-related-navigation .sidebar-chunk h3 {&lt;br /&gt;
  animation: ggbSlideRight 0.5s ease both !important;&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 9px !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: 0.22em !important;&lt;br /&gt;
  margin: 0 !important;&lt;br /&gt;
  padding: 0 16px 8px !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: 1px solid rgba(200,92,43,0.3) !important;&lt;br /&gt;
  text-shadow: none !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel .body ul, #mw-panel .vector-menu-content ul {&lt;br /&gt;
  list-style: none !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
#mw-panel .body li, #mw-panel .vector-menu-content li { margin: 0 !important; }&lt;br /&gt;
&lt;br /&gt;
#mw-panel .body li a,&lt;br /&gt;
#mw-panel .vector-menu-content li a,&lt;br /&gt;
#mw-site-navigation a,&lt;br /&gt;
#mw-panel a,&lt;br /&gt;
#mw-site-navigation .sidebar-chunk a,&lt;br /&gt;
#mw-related-navigation .sidebar-chunk a {&lt;br /&gt;
  color: var(--ggb-cable) !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11.5px !important;&lt;br /&gt;
  font-weight: 400 !important;&lt;br /&gt;
  letter-spacing: 0.04em !important;&lt;br /&gt;
  padding: 5px 16px 5px 26px !important;&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  transition: color var(--ggb-t), padding-left var(--ggb-t) !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel .body li a::before,&lt;br /&gt;
#mw-panel .vector-menu-content li a::before {&lt;br /&gt;
  background: rgba(138,155,176,0.3) !important;&lt;br /&gt;
  border-radius: 50% !important;&lt;br /&gt;
  content: &#039;&#039; !important;&lt;br /&gt;
  height: 4px !important; width: 4px !important;&lt;br /&gt;
  left: 11px !important;&lt;br /&gt;
  position: absolute !important;&lt;br /&gt;
  top: 50% !important;&lt;br /&gt;
  transform: translateY(-50%) !important;&lt;br /&gt;
  transition: background var(--ggb-t) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel .body li a:hover,&lt;br /&gt;
#mw-panel .vector-menu-content li a:hover,&lt;br /&gt;
#mw-site-navigation a:hover,&lt;br /&gt;
#mw-panel a:hover {&lt;br /&gt;
  color: var(--ggb-orange-lt) !important;&lt;br /&gt;
  background: transparent !important;&lt;br /&gt;
  padding-left: 30px !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-panel .body li a:hover::before,&lt;br /&gt;
#mw-panel .vector-menu-content li a:hover::before {&lt;br /&gt;
  background: var(--ggb-orange) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebar portal section containers — strip KC styles */&lt;br /&gt;
#p-navigation, #p-Explore, #p-managewiki-sidebar-header, #p-STAFF,&lt;br /&gt;
#p-boggio, #p-tb, #p-cactions, #p-pagemisc, #p-userpagetools,&lt;br /&gt;
#p-birthday, #p-event, #p-content, #p-more_categories, #p-wiki_tools {&lt;br /&gt;
  background-color: transparent !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  margin-bottom: 0 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo { background-color: transparent !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   RIGHT SIDEBAR&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#mw-related-navigation {&lt;br /&gt;
  background-color: var(--ggb-navy-mid) !important;&lt;br /&gt;
  border-left: 1px solid rgba(138,155,176,0.12) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-related-navigation h3 {&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 9px !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: 0.22em !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: 1px solid rgba(200,92,43,0.3) !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  text-shadow: none !important;&lt;br /&gt;
  padding: 0 16px 8px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-related-navigation a       { color: var(--ggb-cable) !important; font-weight: 400 !important; }&lt;br /&gt;
#mw-related-navigation a:hover { color: var(--ggb-orange-lt) !important; background: transparent !important; border-radius: 0 !important; }&lt;br /&gt;
#mw-related-navigation .portal { background-color: transparent !important; border-color: rgba(138,155,176,0.1) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   MAIN CONTENT&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#content, .mw-body, .vector-body {&lt;br /&gt;
  animation: ggbPageIn 0.55s ease both !important;&lt;br /&gt;
  background: var(--ggb-fog) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 10px 10px 0 0 !important;&lt;br /&gt;
  box-shadow: var(--ggb-shadow) !important;&lt;br /&gt;
  margin-left: 10px !important;&lt;br /&gt;
  padding: 36px 44px 50px !important;&lt;br /&gt;
  font-family: var(--font-body) !important;&lt;br /&gt;
  font-size: 18px !important;&lt;br /&gt;
  line-height: 1.78 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   HEADINGS — GGB typographic style&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
h1, #firstHeading, .mw-first-heading {&lt;br /&gt;
  animation: ggbFadeUp 0.65s ease 0.1s both !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  color: var(--ggb-navy) !important;&lt;br /&gt;
  font-family: var(--font-display) !important;&lt;br /&gt;
  font-size: 2.9em !important;&lt;br /&gt;
  font-weight: 300 !important;&lt;br /&gt;
  letter-spacing: -0.015em !important;&lt;br /&gt;
  line-height: 1.12 !important;&lt;br /&gt;
  margin-bottom: 28px !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  text-shadow: none !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1::after, #firstHeading::after, .mw-first-heading::after {&lt;br /&gt;
  background: linear-gradient(90deg, var(--ggb-orange), var(--ggb-gold)) !important;&lt;br /&gt;
  border-radius: 2px !important;&lt;br /&gt;
  content: &#039;&#039; !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  height: 3px !important;&lt;br /&gt;
  margin-top: 16px !important;&lt;br /&gt;
  width: 70px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2, .mw-body-content h2 {&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
  color: var(--ggb-navy) !important;&lt;br /&gt;
  font-family: var(--font-display) !important;&lt;br /&gt;
  font-size: 1.95em !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: -0.01em !important;&lt;br /&gt;
  margin-top: 2.2em !important;&lt;br /&gt;
  padding: 0 0 10px !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body-content h2 .mw-headline::before {&lt;br /&gt;
  background: var(--ggb-orange) !important;&lt;br /&gt;
  border-radius: 50% !important;&lt;br /&gt;
  content: &#039;&#039; !important;&lt;br /&gt;
  display: inline-block !important;&lt;br /&gt;
  height: 10px !important; width: 10px !important;&lt;br /&gt;
  margin-right: 10px !important;&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
  top: -2px !important;&lt;br /&gt;
  vertical-align: middle !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h3, .mw-body-content h3 {&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  color: var(--ggb-navy-mid) !important;&lt;br /&gt;
  font-family: var(--font-display) !important;&lt;br /&gt;
  font-size: 1.45em !important;&lt;br /&gt;
  font-style: italic !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  margin: 1.2rem 0 0.5rem !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h4, .mw-body-content h4,&lt;br /&gt;
h5, .mw-body-content h5,&lt;br /&gt;
h6, .mw-body-content h6 {&lt;br /&gt;
  color: var(--ggb-text-mid) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 0.88em !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: 0.13em !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   LINKS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
a, a:link {&lt;br /&gt;
  color: var(--ggb-water) !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  transition: color var(--ggb-t) !important;&lt;br /&gt;
  font-weight: normal !important;&lt;br /&gt;
}&lt;br /&gt;
a:visited { color: #3D5E7A !important; }&lt;br /&gt;
a:hover, a:focus {&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-color: rgba(200,92,43,0.5) !important;&lt;br /&gt;
  text-decoration-thickness: 2px !important;&lt;br /&gt;
  text-underline-offset: 3px !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
a.new, a.new:link, a.new:hover { color: #A03520 !important; text-decoration: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Bodytext links — extra specificity to override KC rules */&lt;br /&gt;
#bodyContent a         { color: var(--ggb-water) !important; font-weight: normal !important; text-decoration: none !important; }&lt;br /&gt;
#bodyContent a:visited { color: #3D5E7A !important; }&lt;br /&gt;
#bodyContent a:hover   {&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  text-decoration: underline !important;&lt;br /&gt;
  text-decoration-color: rgba(200,92,43,0.5) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   EDIT SECTION LINKS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mw-editsection { font-family: var(--font-nav) !important; font-size: 11px !important; letter-spacing: 0.07em !important; }&lt;br /&gt;
&lt;br /&gt;
.mw-editsection a {&lt;br /&gt;
  background: var(--ggb-orange) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 3px !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  color: white !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11px !important;&lt;br /&gt;
  margin-left: 8px !important;&lt;br /&gt;
  padding: 2px 8px !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
  transition: background var(--ggb-t) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-editsection a:hover {&lt;br /&gt;
  background: var(--ggb-orange-dk) !important;&lt;br /&gt;
  color: white !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-editsection-bracket { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   TABLE OF CONTENTS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#toc, .toc {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-left: 4px solid var(--ggb-orange) !important;&lt;br /&gt;
  border-radius: 0 8px 8px 0 !important;&lt;br /&gt;
  box-shadow: var(--ggb-shadow) !important;&lt;br /&gt;
  color: var(--ggb-fog) !important;&lt;br /&gt;
  display: inline-block !important;&lt;br /&gt;
  margin: 1.4em 1.5em 1.4em 0 !important;&lt;br /&gt;
  min-width: 210px !important;&lt;br /&gt;
  padding: 20px 26px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#toctitle, .toc .toctitle, #toc .toctitle h2, .toc .toctitle h2 {&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 9px !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: 0.22em !important;&lt;br /&gt;
  margin-bottom: 14px !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  text-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.toc a, #toc a {&lt;br /&gt;
  color: var(--ggb-cable) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11.5px !important;&lt;br /&gt;
  letter-spacing: 0.03em !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  transition: color var(--ggb-t) !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  display: inline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.toc a:hover, #toc a:hover { color: var(--ggb-orange-lt) !important; background: none !important; transform: none !important; }&lt;br /&gt;
.toc li, #toc li { margin: 5px 0 !important; }&lt;br /&gt;
.toc .tocnumber, #toc .tocnumber { color: var(--ggb-orange) !important; margin-right: 6px !important; }&lt;br /&gt;
.toc ul, #toc ul { margin-left: 16px !important; padding-left: 0 !important; list-style: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   WIKITABLES&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.wikitable, table.wikitable {&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-collapse: separate !important;&lt;br /&gt;
  border-radius: 10px !important;&lt;br /&gt;
  border-spacing: 0 !important;&lt;br /&gt;
  box-shadow: var(--ggb-shadow) !important;&lt;br /&gt;
  font-family: var(--font-body) !important;&lt;br /&gt;
  font-size: 0.95em !important;&lt;br /&gt;
  margin-bottom: 1.5em !important;&lt;br /&gt;
  overflow: hidden !important;&lt;br /&gt;
  width: 100% !important;&lt;br /&gt;
  background: white !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.wikitable &amp;gt; caption, table.wikitable &amp;gt; caption {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border-radius: 10px 10px 0 0 !important;&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 10px !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: 0.18em !important;&lt;br /&gt;
  padding: 12px 18px !important;&lt;br /&gt;
  text-align: left !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.wikitable th, table.wikitable th {&lt;br /&gt;
  background: var(--ggb-navy-mid) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: 2px solid var(--ggb-orange) !important;&lt;br /&gt;
  color: var(--ggb-fog) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 10px !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: 0.12em !important;&lt;br /&gt;
  padding: 13px 18px !important;&lt;br /&gt;
  text-align: left !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.wikitable td, table.wikitable td {&lt;br /&gt;
  background: white !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
  color: var(--ggb-text) !important;&lt;br /&gt;
  padding: 11px 18px !important;&lt;br /&gt;
  transition: background var(--ggb-t) !important;&lt;br /&gt;
  vertical-align: middle !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.wikitable tr:nth-child(even) td, table.wikitable tr:nth-child(even) td { background: var(--ggb-fog) !important; }&lt;br /&gt;
.wikitable tr:hover td, table.wikitable tr:hover td { background: rgba(200,92,43,0.06) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   STANDARD INFOBOX&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.infobox, table.infobox {&lt;br /&gt;
  background: white !important;&lt;br /&gt;
  border: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
  border-radius: 10px !important;&lt;br /&gt;
  box-shadow: var(--ggb-shadow) !important;&lt;br /&gt;
  float: right !important;&lt;br /&gt;
  font-size: 0.88em !important;&lt;br /&gt;
  margin: 0 0 1.5em 1.8em !important;&lt;br /&gt;
  overflow: hidden !important;&lt;br /&gt;
  width: 280px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox caption, table.infobox caption {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  color: var(--ggb-fog) !important;&lt;br /&gt;
  font-family: var(--font-display) !important;&lt;br /&gt;
  font-size: 1.15em !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  padding: 14px 16px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox th, table.infobox th {&lt;br /&gt;
  background: var(--ggb-fog) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
  color: var(--ggb-text-mid) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 9.5px !important;&lt;br /&gt;
  font-weight: 600 !important;&lt;br /&gt;
  letter-spacing: 0.1em !important;&lt;br /&gt;
  padding: 9px 12px !important;&lt;br /&gt;
  text-align: right !important;&lt;br /&gt;
  text-transform: uppercase !important;&lt;br /&gt;
  width: 42% !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox td, table.infobox td {&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-bottom: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
  color: var(--ggb-text) !important;&lt;br /&gt;
  font-family: var(--font-body) !important;&lt;br /&gt;
  padding: 9px 12px !important;&lt;br /&gt;
  background: white !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox a, table.infobox a             { color: var(--ggb-water) !important; }&lt;br /&gt;
.infobox a:hover, table.infobox a:hover { color: var(--ggb-orange) !important; background: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   PORTABLE INFOBOX — Colorverse, fully preserved&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.portable-infobox .pi-secondary-background {&lt;br /&gt;
    background: linear-gradient(to bottom, #414141, #191919);&lt;br /&gt;
    border: 4px solid #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.pi-border-color {&lt;br /&gt;
    border-color: black;&lt;br /&gt;
    border-width: 4px;&lt;br /&gt;
    border-radius: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portable-infobox .pi-image {&lt;br /&gt;
    background: repeating-linear-gradient(-45deg,&lt;br /&gt;
        rgba(0,0,0,0.2) 6%, rgba(0,0,0,0.2) 10%,&lt;br /&gt;
        transparent 10%, transparent 15%);&lt;br /&gt;
    background-color: rgba(0,0,0,0.2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portable-infobox .pi-title {&lt;br /&gt;
    border-radius: 15px 15px 0 0;&lt;br /&gt;
    border-width: 0 0 3px 0;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    border-color: black;&lt;br /&gt;
    color: white;&lt;br /&gt;
    font-size: 25px !important;&lt;br /&gt;
    font-family: Fredoka !important;&lt;br /&gt;
    text-shadow: 2px 0 0 black, -2px 0 0 black, 0 2px 0 black, 0 -2px 0 black,&lt;br /&gt;
                 2px 2px 0 black, -2px -2px 0 black, -2px 2px 0 black, 2px -2px 0 black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portable-infobox .pi-header {&lt;br /&gt;
    border-width: 3px 0 3px 0 !important;&lt;br /&gt;
    border-style: solid !important;&lt;br /&gt;
    border-color: black !important;&lt;br /&gt;
    color: white;&lt;br /&gt;
    font-size: 16px !important;&lt;br /&gt;
    font-family: Fredoka !important;&lt;br /&gt;
    text-shadow: 1px 0 0 black, -1px 0 0 black, 0 1px 0 black, 0 -1px 0 black,&lt;br /&gt;
                 1px 1px 0 black, -1px -1px 0 black, -1px 1px 0 black, 1px -1px 0 black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portable-infobox .pi-data-label {&lt;br /&gt;
  font-size: 0.68rem !important;&lt;br /&gt;
  padding: 1px 7px !important;&lt;br /&gt;
  line-height: 1.3 !important;&lt;br /&gt;
  border-radius: 20px !important;&lt;br /&gt;
  background: var(--ggb-orange) !important;&lt;br /&gt;
  color: white !important;&lt;br /&gt;
  border: 1px solid var(--kc-black) !important;&lt;br /&gt;
  display: inline-block !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portable-infobox .pi-image img {&lt;br /&gt;
  transition: none !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portable-infobox .pi-image img:hover {&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
  filter: none !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   BLOCKQUOTES&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mw-body-content blockquote, blockquote {&lt;br /&gt;
  background: rgba(200,92,43,0.05) !important;&lt;br /&gt;
  border-left: 4px solid var(--ggb-orange) !important;&lt;br /&gt;
  border-radius: 0 6px 6px 0 !important;&lt;br /&gt;
  color: var(--ggb-text-mid) !important;&lt;br /&gt;
  font-size: 1.05em !important;&lt;br /&gt;
  font-style: italic !important;&lt;br /&gt;
  margin: 1.6em 0 !important;&lt;br /&gt;
  padding: 18px 24px !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  font-family: var(--font-body) !important;&lt;br /&gt;
  border-top: none !important;&lt;br /&gt;
  border-right: none !important;&lt;br /&gt;
  border-bottom: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   CODE / PRE&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mw-body-content code, code, tt {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 4px !important;&lt;br /&gt;
  color: var(--ggb-orange-lt) !important;&lt;br /&gt;
  font-family: &#039;Fira Code&#039;, &#039;Courier New&#039;, monospace !important;&lt;br /&gt;
  font-size: 0.85em !important;&lt;br /&gt;
  padding: 2px 7px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body-content pre, pre {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-left: 3px solid var(--ggb-orange) !important;&lt;br /&gt;
  border-radius: 0 8px 8px 0 !important;&lt;br /&gt;
  color: var(--ggb-fog) !important;&lt;br /&gt;
  font-family: &#039;Fira Code&#039;, &#039;Courier New&#039;, monospace !important;&lt;br /&gt;
  font-size: 0.84em !important;&lt;br /&gt;
  line-height: 1.65 !important;&lt;br /&gt;
  margin: 1.4em 0 !important;&lt;br /&gt;
  overflow-x: auto !important;&lt;br /&gt;
  padding: 18px 24px !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   HORIZONTAL RULE&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mw-body-content hr {&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-top: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
  margin: 2.2em 0 !important;&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body-content hr::after {&lt;br /&gt;
  background: var(--ggb-orange) !important;&lt;br /&gt;
  border-radius: 50% !important;&lt;br /&gt;
  content: &#039;&#039; !important;&lt;br /&gt;
  display: block !important;&lt;br /&gt;
  height: 8px !important; width: 8px !important;&lt;br /&gt;
  left: 50% !important;&lt;br /&gt;
  margin-left: -4px !important;&lt;br /&gt;
  margin-top: -4px !important;&lt;br /&gt;
  position: absolute !important;&lt;br /&gt;
  top: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   IMAGES / THUMBNAILS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.thumb { background: transparent !important; border: none !important; }&lt;br /&gt;
&lt;br /&gt;
.thumb .thumbinner {&lt;br /&gt;
  background: white !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 8px !important;&lt;br /&gt;
  box-shadow: var(--ggb-shadow) !important;&lt;br /&gt;
  overflow: hidden !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumb .thumbcaption {&lt;br /&gt;
  background: var(--ggb-fog-mid) !important;&lt;br /&gt;
  border-top: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
  color: var(--ggb-text-light) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11px !important;&lt;br /&gt;
  letter-spacing: 0.04em !important;&lt;br /&gt;
  padding: 8px 12px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   CATEGORY LINKS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#catlinks, .mw-normal-catlinks {&lt;br /&gt;
  background: var(--ggb-fog-mid) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 0 0 8px 8px !important;&lt;br /&gt;
  border-top: 3px solid var(--ggb-orange) !important;&lt;br /&gt;
  color: var(--ggb-text-light) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11.5px !important;&lt;br /&gt;
  letter-spacing: 0.05em !important;&lt;br /&gt;
  margin-top: 2.5em !important;&lt;br /&gt;
  padding: 14px 22px !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  margin-bottom: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#catlinks a, .mw-normal-catlinks a {&lt;br /&gt;
  color: var(--ggb-water) !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  margin: 0 3px !important;&lt;br /&gt;
  display: inline !important;&lt;br /&gt;
  box-shadow: none !important;&lt;br /&gt;
  font-size: inherit !important;&lt;br /&gt;
  font-weight: normal !important;&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  transition: color var(--ggb-t) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#catlinks a:hover, .mw-normal-catlinks a:hover {&lt;br /&gt;
  color: var(--ggb-orange) !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   DIFF PAGES&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
table.diff { border-radius: 8px !important; overflow: hidden !important; }&lt;br /&gt;
td.diff-addedline, .diff-addedline   { background: rgba(26,74,110,0.09) !important; border-left: 5px solid var(--ggb-water) !important; }&lt;br /&gt;
td.diff-deletedline, .diff-deletedline { background: rgba(200,92,43,0.09) !important; border-left: 5px solid var(--ggb-orange) !important; }&lt;br /&gt;
td.diff-marker { color: var(--ggb-orange) !important; font-weight: 600 !important; }&lt;br /&gt;
.diffchange { background: rgba(201,168,76,0.3) !important; color: var(--ggb-text) !important; font-weight: bold; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   ALERTS &amp;amp; MESSAGES&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mw-message-box, .warningbox, .errorbox, .successbox {&lt;br /&gt;
  border-radius: 8px !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 13px !important;&lt;br /&gt;
  letter-spacing: 0.03em !important;&lt;br /&gt;
  padding: 14px 18px !important;&lt;br /&gt;
}&lt;br /&gt;
.warningbox  { background: rgba(201,168,76,0.12) !important; border-left: 4px solid var(--ggb-gold) !important; }&lt;br /&gt;
.errorbox    { background: rgba(200,92,43,0.1) !important;   border-left: 4px solid var(--ggb-orange) !important; }&lt;br /&gt;
.successbox  { background: rgba(26,74,110,0.08) !important;  border-left: 4px solid var(--ggb-water) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   TARGET HIGHLIGHT&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
:target {&lt;br /&gt;
  animation: ggbPulse 1.4s ease 0.2s !important;&lt;br /&gt;
  border-radius: var(--ggb-radius) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   NOTIFICATIONS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mw-notification {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border: 1px solid rgba(200,92,43,0.4) !important;&lt;br /&gt;
  border-radius: 8px !important;&lt;br /&gt;
  border-left: 4px solid var(--ggb-orange) !important;&lt;br /&gt;
  box-shadow: 0 8px 32px rgba(11,27,43,0.4) !important;&lt;br /&gt;
  color: var(--ggb-fog) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   FOOTER — GGB with bridge silhouette&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
#footer {&lt;br /&gt;
  background: var(--ggb-navy) !important;&lt;br /&gt;
  border-top: 3px solid var(--ggb-orange) !important;&lt;br /&gt;
  color: var(--ggb-cable) !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 11px !important;&lt;br /&gt;
  letter-spacing: 0.06em !important;&lt;br /&gt;
  margin-left: 0 !important;&lt;br /&gt;
  overflow: hidden !important;&lt;br /&gt;
  padding: 0 32px 28px !important;&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#footer::before {&lt;br /&gt;
  background-image: url(&amp;quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; viewBox=&#039;0 0 1200 160&#039;%3E%3Crect x=&#039;348&#039; y=&#039;8&#039; width=&#039;22&#039; height=&#039;120&#039; rx=&#039;4&#039; fill=&#039;%23C85C2B&#039; opacity=&#039;0.45&#039;/%3E%3Crect x=&#039;348&#039; y=&#039;8&#039; width=&#039;6&#039; height=&#039;120&#039; rx=&#039;3&#039; fill=&#039;%23C85C2B&#039; opacity=&#039;0.3&#039;/%3E%3Crect x=&#039;364&#039; y=&#039;8&#039; width=&#039;6&#039; height=&#039;120&#039; rx=&#039;3&#039; fill=&#039;%23C85C2B&#039; opacity=&#039;0.3&#039;/%3E%3Crect x=&#039;828&#039; y=&#039;8&#039; width=&#039;22&#039; height=&#039;120&#039; rx=&#039;4&#039; fill=&#039;%23C85C2B&#039; opacity=&#039;0.45&#039;/%3E%3Crect x=&#039;828&#039; y=&#039;8&#039; width=&#039;6&#039; height=&#039;120&#039; rx=&#039;3&#039; fill=&#039;%23C85C2B&#039; opacity=&#039;0.3&#039;/%3E%3Crect x=&#039;844&#039; y=&#039;8&#039; width=&#039;6&#039; height=&#039;120&#039; rx=&#039;3&#039; fill=&#039;%23C85C2B&#039; opacity=&#039;0.3&#039;/%3E%3Cpath d=&#039;M0 62 Q359 125 359 18 Q600 -12 839 18 Q839 125 1200 62&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;2.5&#039; fill=&#039;none&#039; opacity=&#039;0.5&#039;/%3E%3Cline x1=&#039;200&#039; y1=&#039;76&#039; x2=&#039;200&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;248&#039; y1=&#039;55&#039; x2=&#039;248&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;296&#039; y1=&#039;36&#039; x2=&#039;296&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;340&#039; y1=&#039;22&#039; x2=&#039;340&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;410&#039; y1=&#039;10&#039; x2=&#039;410&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;470&#039; y1=&#039;4&#039; x2=&#039;470&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;530&#039; y1=&#039;1&#039; x2=&#039;530&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;600&#039; y1=&#039;0&#039; x2=&#039;600&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1.2&#039; opacity=&#039;0.28&#039;/%3E%3Cline x1=&#039;670&#039; y1=&#039;1&#039; x2=&#039;670&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;730&#039; y1=&#039;4&#039; x2=&#039;730&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;790&#039; y1=&#039;10&#039; x2=&#039;790&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;860&#039; y1=&#039;22&#039; x2=&#039;860&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;904&#039; y1=&#039;36&#039; x2=&#039;904&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;952&#039; y1=&#039;55&#039; x2=&#039;952&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Cline x1=&#039;1000&#039; y1=&#039;76&#039; x2=&#039;1000&#039; y2=&#039;128&#039; stroke=&#039;%23C85C2B&#039; stroke-width=&#039;1&#039; opacity=&#039;0.22&#039;/%3E%3Crect y=&#039;128&#039; width=&#039;1200&#039; height=&#039;10&#039; rx=&#039;2&#039; fill=&#039;%23C85C2B&#039; opacity=&#039;0.4&#039;/%3E%3Crect y=&#039;138&#039; width=&#039;1200&#039; height=&#039;22&#039; fill=&#039;%231A4A6E&#039; opacity=&#039;0.3&#039;/%3E%3C/svg%3E&amp;quot;) !important;&lt;br /&gt;
  background-position: center top !important;&lt;br /&gt;
  background-repeat: no-repeat !important;&lt;br /&gt;
  background-size: 100% auto !important;&lt;br /&gt;
  content: &#039;&#039; !important;&lt;br /&gt;
  height: 160px !important;&lt;br /&gt;
  left: 0 !important;&lt;br /&gt;
  pointer-events: none !important;&lt;br /&gt;
  position: absolute !important;&lt;br /&gt;
  right: 0 !important;&lt;br /&gt;
  top: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#footer-info, #footer-places, #footer-icons {&lt;br /&gt;
  margin-top: 170px !important;&lt;br /&gt;
  position: relative !important;&lt;br /&gt;
  z-index: 1 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#footer li  { color: var(--ggb-cable) !important; }&lt;br /&gt;
#footer a   { color: rgba(138,155,176,0.85) !important; text-decoration: none !important; transition: color var(--ggb-t) !important; }&lt;br /&gt;
#footer a:hover { color: var(--ggb-orange-lt) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   JS-INJECTED ELEMENTS&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
/* GGB: reading progress bar */&lt;br /&gt;
#ggb-progress {&lt;br /&gt;
  background: linear-gradient(90deg, var(--ggb-orange-dk) 0%, var(--ggb-orange) 50%, var(--ggb-gold) 100%) !important;&lt;br /&gt;
  box-shadow: 0 0 10px rgba(200,92,43,0.5) !important;&lt;br /&gt;
  height: 3px !important;&lt;br /&gt;
  left: 0 !important; top: 0 !important;&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  transition: width 0.12s linear !important;&lt;br /&gt;
  width: 0% !important;&lt;br /&gt;
  z-index: 9999 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* GGB: back-to-top button */&lt;br /&gt;
#ggb-top-btn {&lt;br /&gt;
  align-items: center !important;&lt;br /&gt;
  background: var(--ggb-orange) !important;&lt;br /&gt;
  border: none !important;&lt;br /&gt;
  border-radius: 50% !important;&lt;br /&gt;
  bottom: 30px !important; right: 28px !important;&lt;br /&gt;
  box-shadow: 0 4px 18px rgba(200,92,43,0.45) !important;&lt;br /&gt;
  color: white !important;&lt;br /&gt;
  cursor: pointer !important;&lt;br /&gt;
  display: flex !important;&lt;br /&gt;
  font-family: var(--font-nav) !important;&lt;br /&gt;
  font-size: 20px !important;&lt;br /&gt;
  height: 44px !important; width: 44px !important;&lt;br /&gt;
  justify-content: center !important;&lt;br /&gt;
  line-height: 1 !important;&lt;br /&gt;
  opacity: 0 !important;&lt;br /&gt;
  position: fixed !important;&lt;br /&gt;
  transform: translateY(10px) !important;&lt;br /&gt;
  transition: opacity 0.3s ease, transform 0.3s ease, background 0.2s ease !important;&lt;br /&gt;
  z-index: 9990 !important;&lt;br /&gt;
}&lt;br /&gt;
#ggb-top-btn.visible { opacity: 1 !important; transform: translateY(0) !important; }&lt;br /&gt;
#ggb-top-btn:hover   { background: var(--ggb-orange-dk) !important; }&lt;br /&gt;
&lt;br /&gt;
/* Colorverse: sparkle effect */&lt;br /&gt;
.kc-sparkle {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
  z-index: 9999;&lt;br /&gt;
  font-size: 1.1rem;&lt;br /&gt;
  animation: kc-sparkle-fade 0.7s ease-out forwards;&lt;br /&gt;
  user-select: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#kc-confetti-canvas {&lt;br /&gt;
  position: fixed;&lt;br /&gt;
  top: 0; left: 0;&lt;br /&gt;
  width: 100%; height: 100%;&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
  z-index: 9998;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* GGB: scroll reveal */&lt;br /&gt;
.ggb-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.65s ease, transform 0.65s ease; }&lt;br /&gt;
.ggb-reveal.ggb-in { opacity: 1; transform: translateY(0); }&lt;br /&gt;
.ggb-reveal.ggb-in-delay { transition-delay: 0.1s; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   SCROLLBAR — GGB&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
::-webkit-scrollbar              { height: 7px; width: 7px; }&lt;br /&gt;
::-webkit-scrollbar-track        { background: var(--ggb-fog-dark); }&lt;br /&gt;
::-webkit-scrollbar-thumb        { background: var(--ggb-cable); border-radius: 4px; border: none; }&lt;br /&gt;
::-webkit-scrollbar-thumb:hover  { background: var(--ggb-orange); }&lt;br /&gt;
::-webkit-scrollbar-corner       { background: var(--ggb-fog); }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   TEXT SELECTION&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
::selection {&lt;br /&gt;
  background: rgba(200,92,43,0.22) !important;&lt;br /&gt;
  color: var(--ggb-navy) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   GRADIENT TEXT FIX (Colorverse {{Gradient}} template)&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mwgt {&lt;br /&gt;
    -webkit-text-stroke: 0 transparent !important;&lt;br /&gt;
    text-stroke: 0 transparent !important;&lt;br /&gt;
    paint-order: fill !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   DROPDOWN MENU TEMPLATE — restyled for GGB palette&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.mw-dropdown-item-inner { display: flex; align-items: center; gap: 6px; }&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown { position: relative; display: inline-block; margin: 2px 1px; }&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-toggle {&lt;br /&gt;
  background: var(--ggb-fog-mid);&lt;br /&gt;
  border: 1px solid var(--ggb-fog-dark);&lt;br /&gt;
  border-radius: var(--ggb-radius);&lt;br /&gt;
  padding: 5px 28px 5px 10px;&lt;br /&gt;
  font-size: 12px;&lt;br /&gt;
  font-family: var(--font-nav);&lt;br /&gt;
  letter-spacing: 0.05em;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  color: var(--ggb-text-mid);&lt;br /&gt;
  position: relative;&lt;br /&gt;
  white-space: nowrap;&lt;br /&gt;
  -webkit-user-select: none;&lt;br /&gt;
  user-select: none;&lt;br /&gt;
  transition: background var(--ggb-t), border-color var(--ggb-t);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-toggle::after {&lt;br /&gt;
  content: &#039;&#039;;&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  width: 0; height: 0;&lt;br /&gt;
  border-left: 4px solid transparent;&lt;br /&gt;
  border-right: 4px solid transparent;&lt;br /&gt;
  border-top: 5px solid var(--ggb-text-mid);&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  right: 10px; top: 50%;&lt;br /&gt;
  transform: translateY(-50%);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown:hover .mw-dropdown-toggle  { background: var(--ggb-fog-dark); border-color: var(--ggb-cable); }&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-content {&lt;br /&gt;
  display: none;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  top: 100%; left: 0;&lt;br /&gt;
  z-index: 100;&lt;br /&gt;
  background: var(--ggb-fog);&lt;br /&gt;
  border: 1px solid var(--ggb-fog-dark);&lt;br /&gt;
  border-radius: var(--ggb-radius);&lt;br /&gt;
  min-width: 180px;&lt;br /&gt;
  box-shadow: var(--ggb-shadow);&lt;br /&gt;
  padding: 4px 0;&lt;br /&gt;
  max-height: 60vh;&lt;br /&gt;
  overflow-y: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown:hover .mw-dropdown-content,&lt;br /&gt;
.mw-dropdown.open .mw-dropdown-content  { display: block !important; }&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-content a {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 6px 14px;&lt;br /&gt;
  font-size: 12px;&lt;br /&gt;
  font-family: var(--font-nav);&lt;br /&gt;
  letter-spacing: 0.04em;&lt;br /&gt;
  color: var(--ggb-water) !important;&lt;br /&gt;
  text-decoration: none;&lt;br /&gt;
  white-space: nowrap;&lt;br /&gt;
  transition: background var(--ggb-t), color var(--ggb-t);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-content a:hover { background: rgba(200,92,43,0.08); color: var(--ggb-orange) !important; }&lt;br /&gt;
.mw-dropdown-divider          { height: 1px; background: var(--ggb-fog-dark); margin: 4px 0; }&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-header {&lt;br /&gt;
  display: block;&lt;br /&gt;
  padding: 5px 14px 3px;&lt;br /&gt;
  font-size: 9px;&lt;br /&gt;
  font-family: var(--font-nav);&lt;br /&gt;
  text-transform: uppercase;&lt;br /&gt;
  letter-spacing: 0.15em;&lt;br /&gt;
  color: var(--ggb-orange);&lt;br /&gt;
  pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-right .mw-dropdown-content { left: auto; right: 0; }&lt;br /&gt;
&lt;br /&gt;
.mw-dropdown-toolbar .mw-dropdown-toggle           { background: transparent; border-color: transparent; }&lt;br /&gt;
.mw-dropdown-toolbar:hover .mw-dropdown-toggle     { background: var(--ggb-fog-mid); border-color: var(--ggb-fog-dark); }&lt;br /&gt;
.mw-dropdown.open .mw-dropdown-content             { display: block; }&lt;br /&gt;
.mw-dropdown.open .mw-dropdown-toggle              { background: var(--ggb-fog-dark); border-color: var(--ggb-cable); }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   PORTAL BUTTON GRID — restyled for GGB palette&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.portal-grid { display: grid; gap: 16px; margin: 1rem 0 1.5rem; }&lt;br /&gt;
.portal-grid &amp;gt; p { display: contents; }&lt;br /&gt;
&lt;br /&gt;
.portal-grid-cols-1 { grid-template-columns: repeat(1, 1fr); }&lt;br /&gt;
.portal-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }&lt;br /&gt;
.portal-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }&lt;br /&gt;
.portal-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }&lt;br /&gt;
.portal-grid-cols-5 { grid-template-columns: repeat(5, 1fr); }&lt;br /&gt;
.portal-grid-cols-6 { grid-template-columns: repeat(6, 1fr); }&lt;br /&gt;
.portal-grid:not([class*=&amp;quot;portal-grid-cols&amp;quot;]) { grid-template-columns: repeat(3, 1fr); }&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 900px) {&lt;br /&gt;
  .portal-grid,&lt;br /&gt;
  .portal-grid-cols-3,&lt;br /&gt;
  .portal-grid-cols-4,&lt;br /&gt;
  .portal-grid-cols-5,&lt;br /&gt;
  .portal-grid-cols-6 { grid-template-columns: repeat(2, 1fr) !important; }&lt;br /&gt;
}&lt;br /&gt;
@media (max-width: 540px) {&lt;br /&gt;
  .portal-grid { grid-template-columns: 1fr !important; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portal-grid-heading {&lt;br /&gt;
  font-family: var(--font-display);&lt;br /&gt;
  font-size: 1.4rem;&lt;br /&gt;
  font-weight: 600;&lt;br /&gt;
  color: var(--ggb-fog);&lt;br /&gt;
  background: var(--ggb-navy);&lt;br /&gt;
  border-left: 4px solid var(--ggb-orange);&lt;br /&gt;
  padding: 0.3em 0.8em;&lt;br /&gt;
  margin-bottom: 0.75rem;&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  border-radius: 0 var(--ggb-radius) var(--ggb-radius) 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portal-btn-wrap { display: contents; }&lt;br /&gt;
.portal-grid &amp;gt; p &amp;gt; .portal-btn-wrap, .portal-grid .portal-btn-wrap { display: contents; }&lt;br /&gt;
&lt;br /&gt;
div.portal-btn {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
  align-items: stretch;&lt;br /&gt;
  background: white;&lt;br /&gt;
  border: 1px solid var(--ggb-fog-dark);&lt;br /&gt;
  border-radius: 10px;&lt;br /&gt;
  box-shadow: var(--ggb-shadow);&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
  transition: transform var(--ggb-t), box-shadow var(--ggb-t);&lt;br /&gt;
  position: relative;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.portal-btn:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(11,27,43,0.18); }&lt;br /&gt;
div.portal-btn:active { transform: translateY(0); }&lt;br /&gt;
&lt;br /&gt;
.portal-btn-stretched-link { position: absolute; inset: 0; z-index: 1; display: block; }&lt;br /&gt;
&lt;br /&gt;
div.portal-btn a,&lt;br /&gt;
div.portal-btn a:hover {&lt;br /&gt;
  text-decoration: none !important;&lt;br /&gt;
  background: none !important;&lt;br /&gt;
  color: inherit !important;&lt;br /&gt;
  transform: none !important;&lt;br /&gt;
  padding: 0 !important;&lt;br /&gt;
  border-radius: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portal-btn-top {&lt;br /&gt;
  height: 4px;&lt;br /&gt;
  background: linear-gradient(90deg, var(--ggb-orange), var(--ggb-gold));&lt;br /&gt;
  flex-shrink: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portal-btn-img {&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  aspect-ratio: 16 / 9;&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
  background: var(--ggb-fog-mid);&lt;br /&gt;
  display: flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
  border-bottom: 1px solid var(--ggb-fog-dark);&lt;br /&gt;
  flex-shrink: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portal-btn-img img {&lt;br /&gt;
  width: 100% !important; height: 100% !important;&lt;br /&gt;
  object-fit: cover !important; display: block !important;&lt;br /&gt;
  transition: transform 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.portal-btn:hover .portal-btn-img img { transform: scale(1.05); }&lt;br /&gt;
.portal-btn-img:empty::after { content: &#039;🖼️&#039;; font-size: 2.5rem; opacity: 0.3; }&lt;br /&gt;
&lt;br /&gt;
.portal-btn-body { padding: 10px 14px 30px; flex: 1; display: flex; flex-direction: column; gap: 4px; }&lt;br /&gt;
&lt;br /&gt;
.portal-btn-title {&lt;br /&gt;
  font-family: var(--font-display);&lt;br /&gt;
  font-size: 1.05rem;&lt;br /&gt;
  font-weight: 600;&lt;br /&gt;
  color: var(--ggb-navy);&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portal-btn-dot {&lt;br /&gt;
  display: inline-block;&lt;br /&gt;
  width: 8px; height: 8px; min-width: 8px;&lt;br /&gt;
  background: var(--ggb-orange);&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  margin-right: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portal-btn-desc { font-family: var(--font-body); font-size: 0.85rem; color: var(--ggb-text-light); line-height: 1.4; margin-top: 2px; }&lt;br /&gt;
&lt;br /&gt;
.portal-btn-arrow {&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  bottom: 10px; right: 12px;&lt;br /&gt;
  font-family: var(--font-nav);&lt;br /&gt;
  font-size: 0.9rem;&lt;br /&gt;
  color: var(--ggb-orange);&lt;br /&gt;
  border: 1.5px solid var(--ggb-fog-dark);&lt;br /&gt;
  border-radius: 50%;&lt;br /&gt;
  width: 24px; height: 24px;&lt;br /&gt;
  display: flex;&lt;br /&gt;
  align-items: center;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
  transition: transform var(--ggb-t), border-color var(--ggb-t);&lt;br /&gt;
  line-height: 1;&lt;br /&gt;
  z-index: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.portal-btn:hover .portal-btn-arrow { transform: translateX(3px); border-color: var(--ggb-orange); }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   PAGE COLOR SYSTEM (Colorverse {{PageColor}} template)&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
body.has-page-color #content,&lt;br /&gt;
body.has-page-color .mw-body {&lt;br /&gt;
  background-color: var(--kc-page-bg) !important;&lt;br /&gt;
}&lt;br /&gt;
body.has-page-color #mw-content,&lt;br /&gt;
body.has-page-color #mw-content-wrapper,&lt;br /&gt;
body.has-page-color #mw-content-block,&lt;br /&gt;
body.has-page-color #mw-content-container,&lt;br /&gt;
body.has-page-color #mw-wrapper {&lt;br /&gt;
  background: var(--kc-page-bg) !important;&lt;br /&gt;
}&lt;br /&gt;
body.has-page-color #mw-content-text a       { color: var(--kc-page-links) !important; }&lt;br /&gt;
body.has-page-color #firstHeading,&lt;br /&gt;
body.has-page-color .firstHeading,&lt;br /&gt;
body.has-page-color .mw-first-heading        { background-color: var(--kc-page-h1) !important; color: var(--kc-page-h1text) !important; }&lt;br /&gt;
body.has-page-color .mw-body-content h2,&lt;br /&gt;
body.has-page-color .mw-heading2 &amp;gt; h2       { background-color: var(--kc-page-h2) !important; }&lt;br /&gt;
body.has-page-color .mw-body-content h3,&lt;br /&gt;
body.has-page-color .mw-heading3 &amp;gt; h3       { background-color: var(--kc-page-h3) !important; }&lt;br /&gt;
body.has-page-color #content,&lt;br /&gt;
body.has-page-color .mw-body                 { border-color: var(--kc-page-border) !important; box-shadow: 4px 4px 0 var(--kc-page-shadow) !important; }&lt;br /&gt;
body.has-page-color #toc,&lt;br /&gt;
body.has-page-color .toc                     { background-color: var(--kc-page-toc) !important; }&lt;br /&gt;
body.has-page-color #catlinks                { background-color: var(--kc-page-cats) !important; }&lt;br /&gt;
body.has-page-color #bodyContent a           { color: var(--kc-page-links, var(--ggb-water)) !important; }&lt;br /&gt;
body.has-page-color #bodyContent a:hover     { background: var(--kc-page-links, var(--ggb-water)) !important; color: #fff !important; }&lt;br /&gt;
body.has-page-color h1,&lt;br /&gt;
body.has-page-color .mw-first-heading,&lt;br /&gt;
body.has-page-color #firstHeading            { background: var(--kc-page-h1) !important; color: var(--kc-page-h1text) !important; border-color: var(--kc-page-border) !important; box-shadow: 5px 5px 0 var(--kc-page-shadow) !important; }&lt;br /&gt;
body.has-page-color h2                       { background: var(--kc-page-h2) !important; border-color: var(--kc-page-border) !important; }&lt;br /&gt;
body.has-page-color h3                       { background: var(--kc-page-h3) !important; border-color: var(--kc-page-border) !important; }&lt;br /&gt;
body.has-page-color h4                       { color: var(--kc-page-h2) !important; border-bottom-color: var(--kc-page-h2) !important; }&lt;br /&gt;
body.has-page-color #toc,&lt;br /&gt;
body.has-page-color .toc                     { background: var(--kc-page-toc) !important; border-color: var(--kc-page-border) !important; }&lt;br /&gt;
body.has-page-color #catlinks,&lt;br /&gt;
body.has-page-color .mw-normal-catlinks      { background: var(--kc-page-cats) !important; border-color: var(--kc-page-border) !important; }&lt;br /&gt;
body.has-page-color .wikitable th            { background: var(--kc-page-h2) !important; border-color: var(--kc-page-border) !important; }&lt;br /&gt;
body.has-page-color .wikitable td            { border-color: var(--kc-page-border) !important; }&lt;br /&gt;
body.has-page-color .mw-editsection a        { background: var(--kc-page-toc) !important; border-color: var(--kc-page-border) !important; }&lt;br /&gt;
body.has-page-color blockquote               { border-left-color: var(--kc-page-links, var(--ggb-orange)) !important; }&lt;br /&gt;
body.has-page-color ::selection              { background: var(--kc-page-toc) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   BLINKIE SYSTEM — restyled for GGB palette&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.blinkie-wrap {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    line-height: 0;&lt;br /&gt;
    vertical-align: middle;&lt;br /&gt;
    transition: transform 0.15s, filter 0.15s;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.blinkie-wrap:hover {&lt;br /&gt;
    transform: scale(1.12) rotate(-2deg);&lt;br /&gt;
    filter: brightness(1.15) drop-shadow(0 0 6px rgba(200,92,43,0.5));&lt;br /&gt;
    z-index: 2;&lt;br /&gt;
    position: relative;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.blinkie-wrap img, .blinkie-wrap a img {&lt;br /&gt;
    max-width: 100% !important;&lt;br /&gt;
    height: auto !important;&lt;br /&gt;
    object-fit: contain !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    image-rendering: pixelated;&lt;br /&gt;
    image-rendering: -moz-crisp-edges;&lt;br /&gt;
    border: none !important;&lt;br /&gt;
    outline: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.blinkie-box {&lt;br /&gt;
    font-family: var(--font-nav);&lt;br /&gt;
    background: var(--ggb-navy);&lt;br /&gt;
    border: 1px solid var(--ggb-navy-light);&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 6px 8px 8px;&lt;br /&gt;
    box-shadow: var(--ggb-shadow), 0 0 0 1px var(--ggb-orange);&lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.blinkie-box-title {&lt;br /&gt;
    font-family: var(--font-nav);&lt;br /&gt;
    font-size: 0.62rem;&lt;br /&gt;
    color: var(--ggb-orange);&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    letter-spacing: 0.15em;&lt;br /&gt;
    padding: 0 0 5px;&lt;br /&gt;
    border-bottom: 1px solid rgba(200,92,43,0.35);&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
    user-select: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.blinkie-box-inner { display: grid; gap: 4px; align-items: center; justify-items: center; }&lt;br /&gt;
.blinkie-pos-inline { display: inline-block; vertical-align: top; margin: 0.5rem 0; }&lt;br /&gt;
&lt;br /&gt;
.blinkie-pos-bottom-right,&lt;br /&gt;
.blinkie-pos-bottom-left,&lt;br /&gt;
.blinkie-pos-top-right,&lt;br /&gt;
.blinkie-pos-top-left {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    z-index: 5000;&lt;br /&gt;
    max-width: 200px;&lt;br /&gt;
    cursor: grab;&lt;br /&gt;
    transition: box-shadow 0.15s;&lt;br /&gt;
    animation: blinkie-border-cycle 3s linear infinite;&lt;br /&gt;
    outline: 2px solid var(--ggb-orange);&lt;br /&gt;
    outline-offset: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.blinkie-pos-bottom-right .blinkie-box-inner,&lt;br /&gt;
.blinkie-pos-bottom-left .blinkie-box-inner,&lt;br /&gt;
.blinkie-pos-top-right .blinkie-box-inner,&lt;br /&gt;
.blinkie-pos-top-left .blinkie-box-inner { grid-template-columns: repeat(2, auto); }&lt;br /&gt;
&lt;br /&gt;
.blinkie-pos-bottom-right:active,&lt;br /&gt;
.blinkie-pos-bottom-left:active,&lt;br /&gt;
.blinkie-pos-top-right:active,&lt;br /&gt;
.blinkie-pos-top-left:active { cursor: grabbing; }&lt;br /&gt;
&lt;br /&gt;
.blinkie-pos-bottom-right { bottom: 14px; right: 14px; }&lt;br /&gt;
.blinkie-pos-bottom-left  { bottom: 14px; left:  14px; }&lt;br /&gt;
.blinkie-pos-top-right    { top:    14px; right: 14px; }&lt;br /&gt;
.blinkie-pos-top-left     { top:    14px; left:  14px; }&lt;br /&gt;
&lt;br /&gt;
.blinkie-minimize-btn {&lt;br /&gt;
    display: block; width: 100%;&lt;br /&gt;
    background: none; border: none;&lt;br /&gt;
    border-bottom: 1px solid rgba(200,92,43,0.35);&lt;br /&gt;
    color: var(--ggb-orange);&lt;br /&gt;
    font-family: var(--font-nav);&lt;br /&gt;
    font-size: 0.6rem;&lt;br /&gt;
    text-transform: uppercase; letter-spacing: 0.1em;&lt;br /&gt;
    padding: 2px 0 5px; margin-bottom: 6px;&lt;br /&gt;
    cursor: pointer; text-align: center;&lt;br /&gt;
    transition: color var(--ggb-t);&lt;br /&gt;
}&lt;br /&gt;
.blinkie-minimize-btn:hover { color: var(--ggb-fog); }&lt;br /&gt;
.blinkie-box.blinkie-minimized .blinkie-box-inner { display: none; }&lt;br /&gt;
.blinkie-box.blinkie-minimized { padding-bottom: 4px; }&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 600px) {&lt;br /&gt;
    .blinkie-pos-bottom-right,&lt;br /&gt;
    .blinkie-pos-bottom-left,&lt;br /&gt;
    .blinkie-pos-top-right,&lt;br /&gt;
    .blinkie-pos-top-left { display: none; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   CARD LAYOUT (.square / .container)&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.page-wrapper { max-width: 1200px; margin: 0 auto; }&lt;br /&gt;
&lt;br /&gt;
.container {&lt;br /&gt;
    display: flex; flex-direction: row; flex-wrap: wrap;&lt;br /&gt;
    gap: 20px; padding: 20px; justify-content: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.square {&lt;br /&gt;
    width: 160px; height: auto; min-height: 320px;&lt;br /&gt;
    border: 1px solid var(--ggb-fog-dark) !important;&lt;br /&gt;
    border-radius: 10px !important;&lt;br /&gt;
    padding: 0; text-align: center;&lt;br /&gt;
    background: var(--ggb-navy);&lt;br /&gt;
    transition: transform var(--ggb-t), box-shadow var(--ggb-t);&lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    display: flex; flex-direction: column; overflow: hidden;&lt;br /&gt;
    box-shadow: var(--ggb-shadow) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.square:hover { transform: translateY(-6px) !important; box-shadow: 0 12px 32px rgba(11,27,43,0.22) !important; }&lt;br /&gt;
&lt;br /&gt;
.square .image-wrapper { width: 160px; height: auto; overflow: hidden; display: flex; align-items: center; justify-content: center; }&lt;br /&gt;
.square .image-wrapper img { width: 160px !important; height: auto !important; max-width: 160px !important; object-fit: contain; display: block; }&lt;br /&gt;
.square hr { margin: 10px 15px; border-color: rgba(138,155,176,0.2); }&lt;br /&gt;
.square p { margin: 5px 15px; font-weight: 600; font-size: 14px; font-family: var(--font-display) !important; color: var(--ggb-fog); }&lt;br /&gt;
&lt;br /&gt;
.square .placeholder {&lt;br /&gt;
    font-family: var(--font-nav) !important;&lt;br /&gt;
    font-weight: normal; color: var(--ggb-cable);&lt;br /&gt;
    font-size: 11px; margin: 5px 15px 15px 15px;&lt;br /&gt;
    opacity: 0; transition: opacity 0.3s ease;&lt;br /&gt;
    letter-spacing: 0.06em; text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.square:hover .placeholder { opacity: 1; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   UTILITY CLASSES — restyled for GGB&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
.kc-tag {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    background: var(--ggb-orange);&lt;br /&gt;
    color: white;&lt;br /&gt;
    font-family: var(--font-nav);&lt;br /&gt;
    font-size: 0.72rem;&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
    letter-spacing: 0.08em;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    padding: 2px 10px;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    border: none;&lt;br /&gt;
    box-shadow: none;&lt;br /&gt;
}&lt;br /&gt;
.kc-tag-blue   { background: var(--ggb-water) !important; }&lt;br /&gt;
.kc-tag-green  { background: #2A7A3A !important; }&lt;br /&gt;
.kc-tag-yellow { background: var(--ggb-gold) !important; color: var(--ggb-navy) !important; }&lt;br /&gt;
&lt;br /&gt;
.kc-callout {&lt;br /&gt;
    background: rgba(200,92,43,0.06);&lt;br /&gt;
    border: 1px solid var(--ggb-orange);&lt;br /&gt;
    border-left: 4px solid var(--ggb-orange);&lt;br /&gt;
    border-radius: 0 var(--ggb-radius) var(--ggb-radius) 0;&lt;br /&gt;
    padding: 0.8em 1.2em;&lt;br /&gt;
    font-family: var(--font-body);&lt;br /&gt;
    margin: 1rem 0;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    box-shadow: none;&lt;br /&gt;
}&lt;br /&gt;
.kc-callout::before {&lt;br /&gt;
    content: &#039;◆&#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: -11px; left: 12px;&lt;br /&gt;
    font-size: 0.9rem;&lt;br /&gt;
    color: var(--ggb-orange);&lt;br /&gt;
    line-height: 1;&lt;br /&gt;
}&lt;br /&gt;
.kc-callout-red   { background: rgba(200,92,43,0.08) !important; border-color: var(--ggb-orange-dk) !important; }&lt;br /&gt;
.kc-callout-blue  { background: rgba(26,74,110,0.08) !important; border-color: var(--ggb-water) !important; }&lt;br /&gt;
.kc-callout-green { background: rgba(42,122,58,0.08) !important; border-color: #2A7A3A !important; }&lt;br /&gt;
&lt;br /&gt;
/* ============================================================&lt;br /&gt;
   RESPONSIVE&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
@media screen and (max-width: 800px) {&lt;br /&gt;
  #content, .mw-body {&lt;br /&gt;
    border-radius: 0 !important;&lt;br /&gt;
    margin: 0 !important;&lt;br /&gt;
    padding: 20px 18px 36px !important;&lt;br /&gt;
  }&lt;br /&gt;
  #firstHeading, .mw-first-heading { font-size: 2.1em !important; }&lt;br /&gt;
  table.wikitable, .infobox, table.infobox { font-size: 0.85em !important; }&lt;br /&gt;
  #ggb-top-btn { bottom: 18px !important; right: 14px !important; }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Cinnadust</name></author>
	</entry>
</feed>