MediaWiki talk:Common.css

From PsychoactiveWiki
Revision as of 06:18, 26 November 2025 by Arzachel (talk | contribs) (Created page with "→‎******************************** * 70s Prog / Psych Sunburst BG ********************************: :root { --prog70s-bg: #050009; --prog70s-color-a: #ff9a00; --prog70s-color-b: #ff005c; --prog70s-color-c: #7b5cff; --prog70s-color-d: #00f0ff; } →‎Turned on from Common.js: body.prog70s-bg { background: var(--prog70s-bg); color: #f5f5f5; overflow-x: hidden; } →‎Content card styling so background peeks around edges: body.prog70s-b...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

/*********************************

* 70s Prog / Psych Sunburst BG
*********************************/
root {
   --prog70s-bg: #050009;
   --prog70s-color-a: #ff9a00;
   --prog70s-color-b: #ff005c;
   --prog70s-color-c: #7b5cff;
   --prog70s-color-d: #00f0ff;

}

/* Turned on from Common.js */ body.prog70s-bg {

   background: var(--prog70s-bg);
   color: #f5f5f5;
   overflow-x: hidden;

}

/* Content card styling so background peeks around edges */ body.prog70s-bg #content, body.prog70s-bg .mw-body {

   background: rgba(6, 3, 22, 0.92);
   border-radius: 14px;
   box-shadow:
       0 0 0 1px rgba(255, 255, 255, 0.03),
       0 30px 80px rgba(0, 0, 0, 0.9);

}

/* Keep header areas clean-ish */ body.prog70s-bg #mw-page-base, body.prog70s-bg #mw-head-base {

   background: transparent;

}

/* Rotating conic sunburst – big 70s record/poster vibe */ body.prog70s-bg::before {

   content: "";
   position: fixed;
   inset: -40vh;
   z-index: -2;
   pointer-events: none;
   background:
       radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.9), transparent 60%),
       conic-gradient(
           from 0deg,
           var(--prog70s-color-a) 0deg,
           var(--prog70s-color-b) 45deg,
           var(--prog70s-color-c) 90deg,
           var(--prog70s-color-d) 135deg,
           var(--prog70s-color-a) 180deg,
           var(--prog70s-color-b) 225deg,
           var(--prog70s-color-c) 270deg,
           var(--prog70s-color-d) 315deg,
           var(--prog70s-color-a) 360deg
       );
   filter: blur(1px) saturate(1.3);
   mix-blend-mode: screen;
   animation: prog70s-spin 80s linear infinite;
   opacity: 0.85;

}

/* Horizontal psychedelic bands that drift + shimmer */ body.prog70s-bg::after {

   content: "";
   position: fixed;
   inset: -20vh;
   z-index: -1;
   pointer-events: none;
   background-image:
       linear-gradient(
           0deg,
           rgba(0, 0, 0, 0.85),
           rgba(0, 0, 0, 0.4),
           rgba(0, 0, 0, 0.85)
       ),
       repeating-linear-gradient(
           0deg,
           var(--prog70s-color-a) 0,
           var(--prog70s-color-a) 15px,
           var(--prog70s-color-b) 15px,
           var(--prog70s-color-b) 30px,
           var(--prog70s-color-c) 30px,
           var(--prog70s-color-c) 45px,
           var(--prog70s-color-d) 45px,
           var(--prog70s-color-d) 60px
       );
   background-size: 100% 100%, 100% 260%;
   mix-blend-mode: screen;
   animation:
       prog70s-bands-shift 55s ease-in-out infinite alternate,
       prog70s-bands-wobble 18s ease-in-out infinite alternate;
   opacity: 0.9;

}

/* “Off” state when user toggles it */ body.prog70s-bg.prog70s-off::before, body.prog70s-bg.prog70s-off::after {

   opacity: 0;
   transition: opacity 0.6s ease-out;

}

/* Slight color shift when off to keep the page readable */ body.prog70s-bg.prog70s-off {

   background: #050009;

}

/* Rotating record / sunburst */ @keyframes prog70s-spin {

   0% {
       transform: rotate(0deg) scale(1.05);
   }
   50% {
       transform: rotate(180deg) scale(1.08);
   }
   100% {
       transform: rotate(360deg) scale(1.05);
   }

}

/* Bands sliding up and down */ @keyframes prog70s-bands-shift {

   0% {
       background-position: 0 0, 0 0;
   }
   100% {
       background-position: 0 0, 0 -200%;
   }

}

/* Gentle wobble like a warped LP */ @keyframes prog70s-bands-wobble {

   0% {
       transform: translate3d(0, 0, 0) skewY(0deg);
       filter: hue-rotate(0deg);
   }
   50% {
       transform: translate3d(0, -1.5%, 0) skewY(1.2deg);
       filter: hue-rotate(25deg);
   }
   100% {
       transform: translate3d(0, 1.5%, 0) skewY(-1.2deg);
       filter: hue-rotate(50deg);
   }

}

/* Optional: grain overlay for extra analog feel */ body.prog70s-bg #prog70s-grain {

   pointer-events: none;
   position: fixed;
   inset: -20vh;
   z-index: -1;
   opacity: 0.12;
   mix-blend-mode: soft-light;
   background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E");
   background-size: 160px 160px;

}

/* Toggle button */

  1. prog70s-toggle {
   position: fixed;
   right: 1.4rem;
   bottom: 1.4rem;
   z-index: 2000;
   padding: 0.35rem 0.9rem;
   border-radius: 999px;
   border: 1px solid rgba(255, 255, 255, 0.2);
   cursor: pointer;
   background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.85));
   color: #ffe8ff;
   font-size: 0.78rem;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
   box-shadow:
       0 0 0 1px rgba(0, 0, 0, 0.9),
       0 0 25px rgba(255, 0, 150, 0.4);
   backdrop-filter: blur(5px);
   font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

}

  1. prog70s-toggle:hover {
   transform: translateY(-1px);
   box-shadow:
       0 0 0 1px rgba(0, 0, 0, 0.9),
       0 0 35px rgba(0, 240, 255, 0.6);

}