Actions

MediaWiki

Monobook.css: Difference between revisions

From The Canon of Nora Wiki

No edit summary
No edit summary
Line 1: Line 1:
/* ==========================================================================
/* ==========================================================================
   The Canon of Nora — MonoBook skin overrides
   The Canon of Nora — Pivot skin overrides
   Paste this into MediaWiki:Monobook.css on-wiki
   Paste this into MediaWiki:Pivot.css on-wiki
   MonoBook uses plain CSS with fixed selectors — no design-token system,
   Built against the real selectors in skins/Pivot/assets/stylesheets/pivot.css
   so these are real, final values (not variables that get reformulated
   (not guessed — pulled directly from the installed source).
  by the skin internally).
   ========================================================================== */
   ========================================================================== */


@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,500&family=Source+Sans+3:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,500&family=Source+Sans+3:wght@400;600;700&display=swap');


/* ---- Palette (plain hex, reused via CSS custom props for convenience —
  these are OUR OWN variables, not MonoBook's, so there's no hidden
  coupling or formula to fight) ---- */
:root {
:root {
   --canon-plum-darkest: #2a1a40;
   --canon-plum-darkest: #2a1a40;
Line 24: Line 20:
}
}


/* ---- Base page ---- */
/* ---- Base page (overrides body { background-color: #DCEAEA; }) ---- */
body {
body {
   background-color: var(--canon-cream);
   background-color: var(--canon-cream) !important;
   font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
   font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
   color: var(--canon-text-dark);
   color: var(--canon-text-dark);
}
}


#column-content {
/* ---- Top bar (overrides .tab-bar { background: #517398; }) ---- */
   background-color: var(--canon-cream);
.tab-bar {
   background: var(--canon-plum-darkest) !important;
}
}
 
.tab-bar .title,
#content {
.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
  background-color: #ffffff;
   font-family: 'Cormorant Garamond', serif;
  border: 1px solid var(--canon-gold-light);
   color: #ffffff !important;
   border-radius: 10px;
   color: var(--canon-text-dark);
}
}


/* ---- Headings ---- */
/* ---- Headings ---- */
h1, h2, h3, h4, h5, h6,
h1, h2, h3, h4, h5, h6 {
#firstHeading {
   font-family: 'Cormorant Garamond', serif;
   font-family: 'Cormorant Garamond', serif;
   font-weight: 600;
   font-weight: 600;
   color: var(--canon-plum-darkest);
   color: var(--canon-plum-darkest);
  letter-spacing: 0.01em;
  border-bottom: 1px solid var(--canon-gold-light);
}
#firstHeading {
  font-size: 2.4em;
  font-weight: 700;
  border-bottom: none;
}
}


/* ---- Links ---- */
/* ---- Links (overrides a { color: #0645ad; } / a:hover { color: #0b0080; }) ---- */
a {
a {
   color: var(--canon-plum);
   color: var(--canon-plum) !important;
}
a:visited {
  color: var(--canon-plum-dark);
}
}
a:hover {
a:hover {
   color: var(--canon-plum-darkest);
   color: var(--canon-plum-darkest) !important;
}
}


/* ---- Sidebar width: widened to 250px (MonoBook default is ~12em/192px) ---- */
/* ---- Sidebar section headers: "Navigation" / "Tools"
#column-content {
  (overrides ul.side-nav label { background: #517398; color: #fff; }) ---- */
   margin-left: -250px;
ul.side-nav label {
}
   background: var(--canon-plum-dark) !important;
#column-content #content {
  color: #ffffff !important;
   margin-left: 250px;
   font-family: 'Cormorant Garamond', serif;
}
  font-variant: normal;
#p-logo a,
   letter-spacing: 0.03em;
#p-logo a:hover {
  border-radius: 6px;
   width: 250px;
}
#p-cactions {
  left: 245px;
}
}


/* ---- Sidebar (left column) ---- */
/* ---- Sidebar links (overrides .side-nav li a:not(.button) { color: #0645ad; }) ---- */
 
.side-nav li a:not(.button) {
/* Logo placeholder: 250x375, blends into sidebar until a real logo is
   color: var(--canon-text-dark) !important;
  uploaded at /images/canon-of-nora-logo.png. Once uploaded, the image
  will show on top of this background color automatically. */
#p-logo {
  height: 375px;
}
#p-logo a,
#p-logo a:hover {
  width: 250px;
  height: 375px;
  background-color: var(--canon-cream);
  background-image: url('/images/canon-of-nora-logo.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
 
/* Sidebar breathing room from the left edge */
#column-one {
  padding-left: 0.8em;
  padding-right: 0.8em;
}
 
/* ---- Flatten portlets: no boxed cards, just clean rows on the
  sidebar's own background (matches mockup's borderless nav list) ---- */
.portlet {
  width: auto;
  box-sizing: border-box;
  background: transparent;
  border: none;
  margin-bottom: 0.4em;
   padding: 0;
}
 
/* Hide the small grey section labels ("navigation", "tools") —
  the mockup shows a clean list with no section headers.
  Search keeps its own styling below since it's a visible input. */
#p-navigation h5,
#p-tb h5,
#p-personal h5 {
  display: none;
}
 
.portlet li,
.portlet a {
   font-size: 1.05em;
   font-size: 1.05em;
  padding: 0.4em 0.5em !important;
}
}
 
.side-nav li a:not(.button):hover,
.portlet ul {
.side-nav li a:not(.button):focus {
  list-style: none;
   background: var(--canon-lavender) !important;
   margin: 0;
   color: var(--canon-plum-darkest) !important;
   padding: 0;
   border-radius: 6px;
}
 
/* Each nav row: padded, rounded, room for a future icon */
#p-navigation li,
#p-tb li {
   margin: 0;
}
}


#p-navigation li a,
/* ---- Off-canvas mobile menu background ---- */
#p-tb li a {
.right-off-canvas-menu, .left-off-canvas-menu {
  display: block;
   background: var(--canon-lavender) !important;
  padding: 0.55em 0.7em;
  border-radius: 8px;
   color: var(--canon-text-dark);
  text-decoration: none;
  font-weight: 500;
}
}


#p-navigation li a:hover,
/* ---- Logo container ---- */
#p-tb li a:hover {
li.name.logo {
  background-color: var(--canon-lavender);
   padding: 0.5em 0;
   color: var(--canon-plum-darkest);
}
}


/* "Main Page" row styled as the active/highlighted item, matching
/* ---- Page actions menu strip (overrides #p-cactions background) ---- */
  the mockup's dark plum highlighted state — applied directly since
#p-cactions {
  MonoBook doesn't auto-mark the current sidebar page */
   background-color: var(--canon-lavender) !important;
#n-mainpage a {
   border-left: 1px solid var(--canon-gold-light) !important;
   background-color: var(--canon-plum-darkest);
   border-right: 1px solid var(--canon-gold-light) !important;
  color: #ffffff !important;
   font-weight: 600;
}
#n-mainpage a:hover {
  background-color: var(--canon-plum-dark);
  color: #ffffff !important;
}
 
/* Search box: styled as a rounded pill input near the bottom,
  closer to the mockup's search field */
#p-search {
  margin-top: 1.5em;
}
#p-search input[type="text"] {
   border-radius: 20px;
  border: 1px solid var(--canon-gold-light);
  padding: 0.5em 1em;
  width: 100%;
  box-sizing: border-box;
}
 
.pBody {
  border: none;
  background: transparent;
}
}


/* ---- Footer ---- */
/* ---- Footer ---- */
#footer {
footer.row {
   background-color: var(--canon-lavender);
   background-color: var(--canon-lavender) !important;
   border-top: 1px solid var(--canon-gold-light);
   border-top: 1px solid var(--canon-gold-light) !important;
}
}


/* ---- Buttons ---- */
/* ---- Buttons: Save/Submit (overrides green input[type=submit]) ---- */
.canon-button-primary {
input[type="submit"] {
   display: inline-block;
   background-color: var(--canon-plum-darkest) !important;
   background-color: var(--canon-plum-darkest);
   border-color: var(--canon-plum-darkest) !important;
   color: #ffffff !important;
   color: #ffffff !important;
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 600;
  border-radius: 8px;
  padding: 0.6em 1.2em;
  text-decoration: none;
}
}
 
input#wpPreview {
.canon-button-secondary {
   background-color: #ffffff !important;
  display: inline-block;
   border: 1px solid var(--canon-plum-darkest) !important;
   background-color: transparent;
   border: 1px solid var(--canon-plum-darkest);
   color: var(--canon-plum-darkest) !important;
   color: var(--canon-plum-darkest) !important;
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 600;
  border-radius: 8px;
  padding: 0.6em 1.2em;
  text-decoration: none;
}
}


/* ---- Homepage hero banner ---- */
/* ---- Homepage hero banner (for Main Page custom layout) ---- */
.canon-hero {
.canon-hero {
   background: #ffffff;
   background: #ffffff;
Line 234: Line 122:
   margin-bottom: 1.5em;
   margin-bottom: 1.5em;
}
}
.canon-hero-text { flex: 1.4; }
.canon-hero-image { flex: 1; text-align: center; }
.canon-hero-image img { max-width: 100%; border-radius: 10px; }
.canon-hero h1 { font-size: 2.2em; margin-top: 0; }
.canon-hero p { color: var(--canon-text-muted); font-size: 1.05em; line-height: 1.6; }


.canon-hero-text {
/* ---- Homepage portal card grid (for Main Page custom layout) ---- */
  flex: 1.4;
}
 
.canon-hero-image {
  flex: 1;
  text-align: center;
}
 
.canon-hero-image img {
  max-width: 100%;
  border-radius: 10px;
}
 
.canon-hero h1 {
  font-size: 2.2em;
  margin-top: 0;
  border-bottom: none;
}
 
.canon-hero p {
  color: var(--canon-text-muted);
  font-size: 1.05em;
  line-height: 1.6;
}
 
/* ---- Homepage portal card grid ---- */
.canon-portal-grid {
.canon-portal-grid {
   display: grid;
   display: grid;
Line 268: Line 135:
   margin: 1.5em 0;
   margin: 1.5em 0;
}
}
.canon-portal-card {
.canon-portal-card {
   background: #ffffff;
   background: #ffffff;
Line 276: Line 142:
   box-shadow: 0 1px 3px rgba(42, 26, 64, 0.06);
   box-shadow: 0 1px 3px rgba(42, 26, 64, 0.06);
}
}
.canon-portal-card h3 {
.canon-portal-card h3 {
  font-family: 'Cormorant Garamond', serif;
   font-size: 1.3em;
   font-size: 1.3em;
   border-bottom: 1px solid var(--canon-gold-light);
   border-bottom: 1px solid var(--canon-gold-light);
   padding-bottom: 0.4em;
   padding-bottom: 0.4em;
   margin-bottom: 0.6em;
   margin-bottom: 0.6em;
  display: flex;
  align-items: center;
  gap: 0.4em;
}
.canon-portal-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
}
 
.canon-portal-card ul { list-style: none; margin: 0; padding: 0; }
.canon-portal-card li a {
.canon-portal-card li a {
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;
   padding: 0.35em 0;
   padding: 0.35em 0;
  color: var(--canon-plum);
   border-bottom: 1px solid #f0ecf6;
   border-bottom: 1px solid #f0ecf6;
  text-decoration: none;
}
.canon-portal-card li:last-child a {
  border-bottom: none;
}
}
.canon-portal-card li:last-child a { border-bottom: none; }


/* Responsive: stack hero on narrow screens */
@media (max-width: 700px) {
@media (max-width: 700px) {
   .canon-hero {
   .canon-hero { flex-direction: column; }
    flex-direction: column;
  }
}
}

Revision as of 00:08, 23 June 2026

/* ==========================================================================
   The Canon of Nora — Pivot skin overrides
   Paste this into MediaWiki:Pivot.css on-wiki
   Built against the real selectors in skins/Pivot/assets/stylesheets/pivot.css
   (not guessed — pulled directly from the installed source).
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,500&family=Source+Sans+3:wght@400;600;700&display=swap');

:root {
  --canon-plum-darkest: #2a1a40;
  --canon-plum-dark:    #3d2563;
  --canon-plum:         #4a2d73;
  --canon-gold:         #b8923f;
  --canon-gold-light:   #d4af6a;
  --canon-cream:        #f6f3f9;
  --canon-lavender:     #ece6f4;
  --canon-text-dark:    #2a1a40;
  --canon-text-muted:   #6b6378;
}

/* ---- Base page (overrides body { background-color: #DCEAEA; }) ---- */
body {
  background-color: var(--canon-cream) !important;
  font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
  color: var(--canon-text-dark);
}

/* ---- Top bar (overrides .tab-bar { background: #517398; }) ---- */
.tab-bar {
  background: var(--canon-plum-darkest) !important;
}
.tab-bar .title,
.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
  font-family: 'Cormorant Garamond', serif;
  color: #ffffff !important;
}

/* ---- Headings ---- */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  color: var(--canon-plum-darkest);
}

/* ---- Links (overrides a { color: #0645ad; } / a:hover { color: #0b0080; }) ---- */
a {
  color: var(--canon-plum) !important;
}
a:hover {
  color: var(--canon-plum-darkest) !important;
}

/* ---- Sidebar section headers: "Navigation" / "Tools"
   (overrides ul.side-nav label { background: #517398; color: #fff; }) ---- */
ul.side-nav label {
  background: var(--canon-plum-dark) !important;
  color: #ffffff !important;
  font-family: 'Cormorant Garamond', serif;
  font-variant: normal;
  letter-spacing: 0.03em;
  border-radius: 6px;
}

/* ---- Sidebar links (overrides .side-nav li a:not(.button) { color: #0645ad; }) ---- */
.side-nav li a:not(.button) {
  color: var(--canon-text-dark) !important;
  font-size: 1.05em;
  padding: 0.4em 0.5em !important;
}
.side-nav li a:not(.button):hover,
.side-nav li a:not(.button):focus {
  background: var(--canon-lavender) !important;
  color: var(--canon-plum-darkest) !important;
  border-radius: 6px;
}

/* ---- Off-canvas mobile menu background ---- */
.right-off-canvas-menu, .left-off-canvas-menu {
  background: var(--canon-lavender) !important;
}

/* ---- Logo container ---- */
li.name.logo {
  padding: 0.5em 0;
}

/* ---- Page actions menu strip (overrides #p-cactions background) ---- */
#p-cactions {
  background-color: var(--canon-lavender) !important;
  border-left: 1px solid var(--canon-gold-light) !important;
  border-right: 1px solid var(--canon-gold-light) !important;
}

/* ---- Footer ---- */
footer.row {
  background-color: var(--canon-lavender) !important;
  border-top: 1px solid var(--canon-gold-light) !important;
}

/* ---- Buttons: Save/Submit (overrides green input[type=submit]) ---- */
input[type="submit"] {
  background-color: var(--canon-plum-darkest) !important;
  border-color: var(--canon-plum-darkest) !important;
  color: #ffffff !important;
}
input#wpPreview {
  background-color: #ffffff !important;
  border: 1px solid var(--canon-plum-darkest) !important;
  color: var(--canon-plum-darkest) !important;
}

/* ---- Homepage hero banner (for Main Page custom layout) ---- */
.canon-hero {
  background: #ffffff;
  border: 1px solid var(--canon-gold-light);
  border-radius: 14px;
  padding: 2em;
  display: flex;
  gap: 2em;
  align-items: center;
  margin-bottom: 1.5em;
}
.canon-hero-text { flex: 1.4; }
.canon-hero-image { flex: 1; text-align: center; }
.canon-hero-image img { max-width: 100%; border-radius: 10px; }
.canon-hero h1 { font-size: 2.2em; margin-top: 0; }
.canon-hero p { color: var(--canon-text-muted); font-size: 1.05em; line-height: 1.6; }

/* ---- Homepage portal card grid (for Main Page custom layout) ---- */
.canon-portal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.2em;
  margin: 1.5em 0;
}
.canon-portal-card {
  background: #ffffff;
  border: 1px solid var(--canon-gold-light);
  border-radius: 10px;
  padding: 1.2em 1.4em;
  box-shadow: 0 1px 3px rgba(42, 26, 64, 0.06);
}
.canon-portal-card h3 {
  font-size: 1.3em;
  border-bottom: 1px solid var(--canon-gold-light);
  padding-bottom: 0.4em;
  margin-bottom: 0.6em;
}
.canon-portal-card ul { list-style: none; margin: 0; padding: 0; }
.canon-portal-card li a {
  display: flex;
  justify-content: space-between;
  padding: 0.35em 0;
  border-bottom: 1px solid #f0ecf6;
}
.canon-portal-card li:last-child a { border-bottom: none; }

@media (max-width: 700px) {
  .canon-hero { flex-direction: column; }
}