MediaWiki:Common.css

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Revision as of 01:58, 29 April 2026 by Magent (talk | contribs) (Post style: replace v7 with Justin's zine/Substack design (paper palette, hero, drop cap, dark mode, two variants); monobook chrome hides added (via update-page on MediaWiki MCP Server))
Jump to navigationJump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* CSS placed here will be applied to all skins */

#siteSub {
    display: block;
    font-size: 10px;
}

@media screen and (max-width: 600px) {
    .show-infobox {
        float: none !important;
        width: 100% !important;
        margin: 0 0 1em 0 !important;
        box-sizing: border-box;
    }
}

/* ============================================================
 * Pickipedia — User-subpage zine/Substack styling (Justin's design)
 *
 * The matching JS in MediaWiki:Common.js adds the body class
 *   .pickipedia-userpost
 * on User:<name>/<subpage> view pages, plus injects the hero,
 * colophon, tucked corner-nav, and dark-mode toggle.
 *
 * Two layout variants are toggled by a body class:
 *   .pickipedia-variant-letter   (default — centered narrow column)
 *   .pickipedia-variant-masthead (asymmetric, full-bleed media)
 * ============================================================ */

/* ---------- Tokens ---------- */
.pickipedia-userpost {
  --pp-paper:   #f5efe4;
  --pp-ink:     #2b1d12;
  --pp-muted:   #7a6450;
  --pp-rule:    #d9cdb8;
  --pp-accent:  #9a3b1b;
  --pp-card:    #ede4d2;
  --pp-serif:   Georgia, "Iowan Old Style", "Charter", "Times New Roman", serif;
  --pp-mono:    ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;
  --pp-sans:    -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}

.pickipedia-userpost.pickipedia-dark {
  --pp-paper:   #1a1410;
  --pp-ink:     #e8dccb;
  --pp-muted:   #a89888;
  --pp-rule:    #3a2e22;
  --pp-accent:  #d97a4a;
  --pp-card:    #221a14;
}

/* ---------- Page chrome reset ---------- */
.pickipedia-userpost {
  background: var(--pp-paper) !important;
  color: var(--pp-ink);
}

/* Hide left sidebar / portals — selectors covering monobook,
   Vector legacy, Vector 2022, MinervaNeue, defensively. */
.pickipedia-userpost #column-one,
.pickipedia-userpost #sidebar,
.pickipedia-userpost #mw-panel,
.pickipedia-userpost .vector-main-menu-container,
.pickipedia-userpost .vector-page-toolbar,
.pickipedia-userpost #mw-navigation .portal,
.pickipedia-userpost .mw-sidebar-container {
  display: none !important;
}

/* Hide page-action tabs row + footer; tucked links re-added below. */
.pickipedia-userpost #p-views,
.pickipedia-userpost #p-cactions,
.pickipedia-userpost #p-cactions-mobile,
.pickipedia-userpost #p-personal,
.pickipedia-userpost #p-logo,
.pickipedia-userpost .vector-page-tools,
.pickipedia-userpost .mw-footer,
.pickipedia-userpost #footer,
.pickipedia-userpost .printfooter,
.pickipedia-userpost .catlinks,
.pickipedia-userpost .mw-indicators,
.pickipedia-userpost #siteSub,
.pickipedia-userpost #contentSub,
.pickipedia-userpost .subpages,
.pickipedia-userpost #jump-to-nav,
.pickipedia-userpost .mw-jump-link {
  display: none !important;
}

/* Reset monobook's column-content float / margin so the page can flow. */
.pickipedia-userpost #globalWrapper,
.pickipedia-userpost #column-content,
.pickipedia-userpost .monobook-body {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  background: transparent !important;
}

/* Widen content container, kill default content background. */
.pickipedia-userpost #content,
.pickipedia-userpost .mw-body,
.pickipedia-userpost #bodyContent,
.pickipedia-userpost .mw-content-container {
  background: var(--pp-paper) !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  color: var(--pp-ink);
}

/* Hide MW's auto h1 (firstHeading) — we render our own hero. */
.pickipedia-userpost .mw-first-heading,
.pickipedia-userpost #firstHeading,
.pickipedia-userpost h1.firstHeading {
  display: none !important;
}

/* ---------- Tucked edit/history corner (injected by JS) ---------- */
.pickipedia-corner {
  position: fixed;
  top: 56px;
  right: 24px;
  display: flex;
  gap: 14px;
  font-family: var(--pp-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  z-index: 50;
}
.pickipedia-corner a {
  color: var(--pp-muted);
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  padding-bottom: 1px;
}
.pickipedia-corner a:hover { color: var(--pp-accent); }

/* ---------- Hero (injected by JS, before .mw-parser-output) ---------- */
.pickipedia-hero {
  font-family: var(--pp-serif);
  color: var(--pp-ink);
}
.pickipedia-hero .pp-kicker {
  font-family: var(--pp-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pp-accent);
  margin-bottom: 22px;
  font-weight: 600;
}
.pickipedia-hero .pp-title {
  font-family: var(--pp-serif);
  font-weight: 700;
  letter-spacing: -0.018em;
  margin: 0 0 18px;
  color: var(--pp-ink);
  text-wrap: balance;
}
.pickipedia-hero .pp-dek {
  font-family: var(--pp-serif);
  font-style: italic;
  color: var(--pp-muted);
  text-wrap: pretty;
  margin: 0 0 36px;
}
.pickipedia-hero .pp-byline {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 28px;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--pp-rule);
}
.pickipedia-hero .pp-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--pp-card);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--pp-serif);
  font-weight: 700;
  font-size: 16px;
  color: var(--pp-accent);
}
.pickipedia-hero .pp-byline-name {
  font-family: var(--pp-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--pp-ink);
  text-decoration: none;
}
.pickipedia-hero .pp-byline-meta {
  font-family: var(--pp-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--pp-muted);
  text-transform: uppercase;
  margin-top: 2px;
}

/* ---------- Body type — applied to .mw-parser-output children ---------- */
.pickipedia-userpost .mw-parser-output {
  font-family: var(--pp-serif);
  color: var(--pp-ink);
}

.pickipedia-userpost .mw-parser-output > p {
  text-wrap: pretty;
  margin: 0 0 24px;
}

.pickipedia-userpost .mw-parser-output > h2 {
  font-family: var(--pp-serif);
  font-weight: 700;
  border: none;
  padding: 0;
  margin: 44px 0 16px;
  color: var(--pp-ink);
  letter-spacing: -0.01em;
}
.pickipedia-userpost .mw-parser-output > h3 {
  font-family: var(--pp-serif);
  font-weight: 700;
  margin: 32px 0 12px;
  color: var(--pp-ink);
}

.pickipedia-userpost .mw-parser-output a {
  color: var(--pp-ink);
  text-decoration: none;
  background-image: linear-gradient(var(--pp-accent), var(--pp-accent));
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: 0 100%;
  padding-bottom: 1px;
  transition: color .15s, background-size .15s;
}
.pickipedia-userpost .mw-parser-output a:hover {
  color: var(--pp-accent);
}
.pickipedia-userpost .mw-parser-output a.new {
  color: var(--pp-muted);
  background-image: linear-gradient(var(--pp-muted), var(--pp-muted));
  background-size: 100% 1px;
  background-repeat: repeat-x;
  background-position: 0 100%;
  font-style: italic;
}

.pickipedia-userpost .mw-parser-output blockquote {
  border-left: 3px solid var(--pp-accent);
  margin: 32px 0;
  padding: 4px 0 4px 24px;
  font-family: var(--pp-serif);
  font-style: italic;
  color: var(--pp-ink);
}

.pickipedia-userpost .mw-parser-output hr {
  border: none;
  text-align: center;
  margin: 40px 0;
  height: 1em;
  color: var(--pp-muted);
}
.pickipedia-userpost .mw-parser-output hr::before {
  content: "❦";
  font-size: 18px;
  color: var(--pp-muted);
}

/* embedded media (videos, iframes) */
.pickipedia-userpost .mw-parser-output figure,
.pickipedia-userpost .mw-parser-output .thumb,
.pickipedia-userpost .mw-parser-output iframe,
.pickipedia-userpost .mw-parser-output video,
.pickipedia-userpost .mw-parser-output embed,
.pickipedia-userpost .mw-parser-output .hls-video-player {
  margin: 36px 0;
  max-width: 100%;
}
.pickipedia-userpost .mw-parser-output .thumb,
.pickipedia-userpost .mw-parser-output figure {
  border: none;
  background: transparent;
}
.pickipedia-userpost .mw-parser-output .thumbcaption,
.pickipedia-userpost .mw-parser-output figcaption {
  font-family: var(--pp-serif);
  font-style: italic;
  font-size: 14px;
  color: var(--pp-muted);
  text-align: center;
  margin-top: 12px;
  text-wrap: balance;
}

/* drop-cap on first body paragraph (variant-letter) */
.pickipedia-variant-letter .mw-parser-output > p:first-of-type::first-letter {
  font-family: var(--pp-serif);
  font-size: 76px;
  line-height: 0.86;
  font-weight: 700;
  float: left;
  padding: 6px 10px 0 0;
  color: var(--pp-accent);
}

/* ---------- Variant: Letter (default) ---------- */
.pickipedia-variant-letter .pickipedia-hero,
.pickipedia-variant-letter .mw-parser-output {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
.pickipedia-variant-letter .pickipedia-hero {
  padding-top: 64px;
}
.pickipedia-variant-letter .pickipedia-hero .pp-title {
  font-size: 52px;
  line-height: 1.08;
}
.pickipedia-variant-letter .pickipedia-hero .pp-dek {
  font-size: 21px;
  line-height: 1.45;
}
.pickipedia-variant-letter .mw-parser-output {
  font-size: 19px;
  line-height: 1.65;
  padding-bottom: 80px;
}
.pickipedia-variant-letter .mw-parser-output > h2 { font-size: 28px; line-height: 1.2; }
.pickipedia-variant-letter .mw-parser-output > h3 { font-size: 22px; line-height: 1.25; }
.pickipedia-variant-letter .mw-parser-output blockquote { font-size: 22px; line-height: 1.45; }

/* ---------- Variant: Masthead ---------- */
.pickipedia-variant-masthead .pickipedia-hero {
  max-width: 1080px;
  margin: 0 auto;
  padding: 56px 48px 36px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 32px;
  align-items: end;
  position: relative;
}
.pickipedia-variant-masthead .pickipedia-hero .pp-topbar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 0;
}
.pickipedia-variant-masthead .pickipedia-hero .pp-topbar-rule {
  flex: 1; height: 1px; background: var(--pp-rule);
}
.pickipedia-variant-masthead .pickipedia-hero .pp-topbar-vol {
  font-family: var(--pp-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--pp-muted);
}
.pickipedia-variant-masthead .pickipedia-hero .pp-titlewrap {
  grid-column: span 9;
}
.pickipedia-variant-masthead .pickipedia-hero .pp-title {
  font-size: 76px;
  line-height: 0.96;
  letter-spacing: -0.025em;
  margin: 0;
}
.pickipedia-variant-masthead .pickipedia-hero .pp-dek {
  font-size: 22px;
  line-height: 1.4;
  margin: 22px 0 0;
  max-width: 620px;
}
.pickipedia-variant-masthead .pickipedia-hero .pp-byline {
  grid-column: span 3;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border-left: 1px solid var(--pp-rule);
  border-bottom: none;
  padding: 0 0 0 20px;
  margin: 0;
}
.pickipedia-variant-masthead .pickipedia-hero .pp-avatar {
  width: 56px; height: 56px;
  font-size: 19px;
}

.pickipedia-variant-masthead .mw-parser-output {
  max-width: 1080px;
  margin: 0 auto;
  padding: 12px 48px 80px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 32px;
  font-size: 19px;
  line-height: 1.7;
}
.pickipedia-variant-masthead .mw-parser-output > * {
  grid-column: 4 / span 7;
}
.pickipedia-variant-masthead .mw-parser-output > figure,
.pickipedia-variant-masthead .mw-parser-output > .thumb,
.pickipedia-variant-masthead .mw-parser-output > iframe,
.pickipedia-variant-masthead .mw-parser-output > video,
.pickipedia-variant-masthead .mw-parser-output > .hls-video-player {
  grid-column: 1 / -1;
  margin: 24px 0 48px;
}
.pickipedia-variant-masthead .mw-parser-output > h2 {
  font-size: 26px;
  margin: 40px 0 14px;
}
.pickipedia-variant-masthead .mw-parser-output blockquote {
  font-size: 28px;
  line-height: 1.3;
  color: var(--pp-accent);
  border: none;
  border-top: 1px solid var(--pp-rule);
  border-bottom: 1px solid var(--pp-rule);
  padding: 12px 0;
  margin: 36px 0;
  text-wrap: balance;
}

/* ---------- Colophon (injected by JS at end) ---------- */
.pickipedia-colophon {
  max-width: 1080px;
  margin: 56px auto 64px;
  padding: 24px 48px 0;
  border-top: 1px solid var(--pp-rule);
  display: flex;
  justify-content: space-between;
  font-family: var(--pp-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pp-muted);
}
.pickipedia-variant-letter .pickipedia-colophon {
  max-width: 640px;
  padding-left: 24px;
  padding-right: 24px;
}

/* ---------- Light/dark toggle button (injected) ---------- */
.pickipedia-mode {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: var(--pp-card);
  color: var(--pp-ink);
  border: 1px solid var(--pp-rule);
  border-radius: 999px;
  padding: 8px 14px;
  font-family: var(--pp-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  z-index: 50;
  transition: background .15s, color .15s, border-color .15s;
}
.pickipedia-mode:hover {
  border-color: var(--pp-accent);
  color: var(--pp-accent);
}

/* ---------- Responsive ---------- */
@media (max-width: 880px) {
  .pickipedia-corner { top: 50px; right: 12px; }
  .pickipedia-variant-letter .pickipedia-hero { padding-top: 36px; }
  .pickipedia-variant-letter .pickipedia-hero .pp-title { font-size: 36px; }
  .pickipedia-variant-letter .pickipedia-hero .pp-dek { font-size: 18px; }
  .pickipedia-variant-letter .mw-parser-output { font-size: 17px; }
  .pickipedia-variant-letter .mw-parser-output > p:first-of-type::first-letter { font-size: 56px; }

  .pickipedia-variant-masthead .pickipedia-hero {
    padding: 36px 20px 24px;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .pickipedia-variant-masthead .pickipedia-hero .pp-titlewrap,
  .pickipedia-variant-masthead .pickipedia-hero .pp-byline {
    grid-column: 1 / -1;
  }
  .pickipedia-variant-masthead .pickipedia-hero .pp-byline {
    border-left: none;
    border-top: 1px solid var(--pp-rule);
    padding: 16px 0 0;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .pickipedia-variant-masthead .pickipedia-hero .pp-title { font-size: 40px; }
  .pickipedia-variant-masthead .mw-parser-output {
    padding: 12px 20px 64px;
    grid-template-columns: 1fr;
    font-size: 17px;
  }
  .pickipedia-variant-masthead .mw-parser-output > * { grid-column: 1; }
}