MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
Updated page content |
Updated page content |
||
| Line 688: | Line 688: | ||
#pagehistory li.selected, | #pagehistory li.selected, | ||
#pagehistory li.mw-history-line-selected { | #pagehistory li.mw-history-line-selected { | ||
background-color: # | background-color: #333232 !important; | ||
border-color: var(-- | border-color: var(--border-header) !important; | ||
} | } | ||
Revision as of 23:11, 22 August 2026
/* ==========================================================================
PotterCraft Wiki — Official Theme Stylesheet
========================================================================== */
/* ── 1. Color Palette & Variables (:root) ────────────────────────────────── */
:root {
--bg-main: #1f1e1e;
/*#171717*/
--bg-card: #282727;
--border-main: #383838;
--border-header: #484848;
--accent-gold: #f59e0b;
--accent-yellow: #fde047;
--text-bright: #ffffff;
--text-body: #e5e5e5;
--text-muted: #d4d4d4;
--text-subtle: #a3a3a3;
--color-danger: #ef4444;
}
/* ── 2. Base Page & Typography ────────────────────────────────────────────── */
html, body,
#mw-page-base, #mw-head-base,
#content, .mw-body,
#mw-navigation, #mw-head, #mw-panel,
.vector-header-container, .mw-page-container,
.mw-workspace-container, #mw-content-container,
#footer, .mw-footer {
background-color: var(--bg-main) !important;
background-image: none !important;
color: var(--text-bright) !important;
}
#content, .mw-body {
border-color: var(--border-main) !important;
}
.mw-body-content, p, li, dd, dt, table {
color: var(--text-body) !important;
}
/* Lists & Bullet Visibility on Dark Backgrounds */
.mw-body-content ul,
.mw-parser-output ul,
ul {
list-style-type: disc !important;
list-style-image: none !important;
}
.mw-body-content ol,
.mw-parser-output ol,
ol {
list-style-image: none !important;
}
.mw-body-content li::marker,
.mw-parser-output li::marker,
li::marker {
color: var(--accent-gold) !important;
}
#footer, .mw-footer {
color: var(--text-subtle) !important;
border-top: 1px solid var(--border-main) !important;
}
#footer a, .mw-footer a {
color: var(--text-muted) !important;
}
/* ── 3. Links & Headings ─────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.firstHeading, #firstHeading, .mw-first-heading {
color: var(--accent-yellow) !important;
font-family: 'Cinzel', Georgia, serif !important;
border-bottom: 1px solid var(--border-main) !important;
}
h1, .firstHeading, #firstHeading {
border-bottom: 2px solid var(--accent-gold) !important;
}
a, .mw-body-content a {
color: var(--accent-gold) !important;
font-weight: inherit !important;
text-decoration: underline !important;
text-decoration-color: var(--accent-gold) !important;
}
a:hover, .mw-body-content a:hover {
color: var(--accent-yellow) !important;
text-decoration: underline !important;
text-decoration-color: var(--accent-yellow) !important;
}
a.new, .mw-body-content a.new {
color: var(--color-danger) !important;
}
/* ── 4. Vector Navigation & Sidebar ──────────────────────────────────────── */
.vector-menu-tabs, .vector-menu-tabs *,
.vector-tab-noicon, .vector-menu-dropdown {
background: transparent !important;
}
.vector-menu-tabs li {
background-color: var(--bg-card) !important;
border-color: var(--border-main) !important;
}
.vector-menu-tabs li a {
color: var(--text-muted) !important;
}
.vector-menu-tabs li.selected {
background-color: var(--border-main) !important;
border-color: var(--accent-gold) !important;
}
.vector-menu-tabs li.selected a {
color: var(--accent-yellow) !important;
}
#mw-panel *, .vector-menu-portal * {
color: var(--text-muted) !important;
}
/* Sidebar & Header Logo Scaling */
#p-logo,
#p-logo .mw-wiki-logo,
.mw-wiki-logo,
#p-logo a {
background-size: contain !important;
background-position: center center !important;
background-repeat: no-repeat !important;
width: 100% !important;
max-width: 155px !important;
height: 120px !important;
margin: 0 auto 10px auto !important;
}
.mw-logo,
.mw-logo-icon,
.mw-logo-wordmark {
object-fit: contain !important;
max-height: 50px !important;
max-width: 160px !important;
width: auto !important;
}
/* ── 5. Form Inputs & OOUI Popup Modals ─────────────────────────────────── */
input, select, textarea, button,
.oo-ui-inputWidget-input,
.oo-ui-dropdownWidget-handle,
.oo-ui-dropdownInputWidget-select,
.oo-ui-buttonElement-button,
.mw-searchInput {
background-color: var(--bg-card) !important;
color: var(--text-bright) !important;
border: 1px solid var(--border-main) !important;
border-radius: 6px;
}
/* ── Login Form & OAuth Priority Button ──────────────────────────────────── */
#pt-createaccount,
#mw-createaccount-cta,
a[href*="Special:CreateAccount"] {
display: none !important;
}
#userloginForm form,
form[name="userlogin"],
.mw-userlogin-form form,
.mw-htmlform-codex {
display: flex !important;
flex-direction: column !important;
max-width: 440px !important;
margin: 0 auto !important;
background-color: var(--bg-card) !important;
border: 1px solid var(--border-main) !important;
border-radius: 10px !important;
padding: 24px !important;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}
/* 1. PotterCraft OAuth Button (Hero CTA at Top) */
div.cdx-field:has(#mw-input-pluggableauthlogin0),
div.mw-htmlform-field-HTMLSubmitField:has(#mw-input-pluggableauthlogin0),
div.mw-htmlform-field-HTMLSubmitField:has([name^="pluggableauthlogin"]) {
order: -10 !important;
margin: 0 0 24px 0 !important;
padding-bottom: 20px !important;
border-bottom: 1px solid var(--border-main) !important;
display: flex !important;
flex-direction: column !important;
}
#mw-input-pluggableauthlogin0 {
width: 100% !important;
background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%) !important;
border: 1px solid #8b5cf6 !important;
color: #ffffff !important;
font-weight: bold !important;
font-size: 1.15em !important;
padding: 14px 20px !important;
border-radius: 8px !important;
cursor: pointer !important;
box-shadow: 0 4px 14px rgba(124, 58, 237, 0.4) !important;
transition: all 0.2s ease-in-out !important;
text-align: center !important;
}
#mw-input-pluggableauthlogin0:hover {
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%) !important;
border-color: #a78bfa !important;
transform: translateY(-1px) !important;
box-shadow: 0 6px 18px rgba(124, 58, 237, 0.55) !important;
}
div.cdx-field:has(#mw-input-pluggableauthlogin0)::after {
content: "— or local admin login —";
display: block;
text-align: center;
color: var(--text-subtle);
font-size: 0.82em;
text-transform: uppercase;
letter-spacing: 1px;
margin-top: 18px;
}
/* 2. Deemphasize Local Admin Inputs Below */
div.cdx-field:has(#wpName1) {
order: 1 !important;
}
div.cdx-field:has(#wpPassword1) {
order: 2 !important;
}
div.cdx-field:has(#wpRemember) {
order: 3 !important;
}
div.cdx-field:has(#wpLoginAttempt) {
order: 4 !important;
}
#wpLoginAttempt {
background-color: var(--border-main) !important;
border: 1px solid var(--border-header) !important;
color: var(--text-muted) !important;
font-size: 0.95em !important;
border-radius: 6px !important;
}
#wpLoginAttempt:hover {
background-color: #454545 !important;
color: var(--text-bright) !important;
}
div.mw-form-related-link-container {
order: 5 !important;
}
.oo-ui-window-frame,
.oo-ui-window-content,
.oo-ui-window-body,
.oo-ui-panelLayout,
.oo-ui-panelLayout-padded,
.oo-ui-panelLayout-framed,
.ve-ui-mwSaveDialog,
.ve-ui-mwSaveDialog-options,
.ve-ui-mwSaveDialog-checkboxes,
.oo-ui-popupWidget-popup,
.oo-ui-menuSelectWidget,
.oo-ui-menuOptionWidget,
.oo-ui-selectWidget,
.oo-ui-optionWidget,
.oo-ui-toolbar,
.oo-ui-toolbar-bar,
.ve-ui-toolbar,
.ve-ui-toolbar-bar,
.ve-init-mw-desktopArticleTarget-toolbar,
.ve-init-mw-target-surface .ve-ui-toolbar-bar,
.oo-ui-toolGroup-tools,
.oo-ui-popupToolGroup-tools,
.oo-ui-listToolGroup-tools,
.oo-ui-menuToolGroup-tools,
.oo-ui-toolGroup-tools .oo-ui-tool,
.oo-ui-toolGroup-tools .oo-ui-tool-link,
.oo-ui-popupHeader,
.mwe-popups,
.ve-ui-overlay,
.editor-toolbar {
background-color: var(--bg-card) !important;
background-image: none !important;
color: var(--text-bright) !important;
border-color: var(--border-main) !important;
}
.oo-ui-menuOptionWidget-highlighted,
.oo-ui-menuOptionWidget-selected,
.oo-ui-optionWidget-highlighted,
.oo-ui-optionWidget-selected,
.oo-ui-tool-active,
.oo-ui-tool-active .oo-ui-tool-link,
.oo-ui-tool:hover,
.oo-ui-tool-link:hover,
.oo-ui-toolGroup-header:hover,
.oo-ui-popupToolGroup-header:hover,
.oo-ui-listToolGroup-header:hover,
.oo-ui-menuToolGroup-header:hover,
.oo-ui-toolGroup-handle:hover,
.oo-ui-popupToolGroup-handle:hover,
.oo-ui-listToolGroup-handle:hover,
.oo-ui-menuToolGroup-handle:hover,
.oo-ui-toolGroup-active .oo-ui-toolGroup-handle,
.oo-ui-popupToolGroup-active .oo-ui-popupToolGroup-handle,
.oo-ui-toolGroup-tools .oo-ui-tool:hover {
background-color: var(--border-main) !important;
background-image: none !important;
color: var(--accent-yellow) !important;
}
.oo-ui-toolGroup-handle,
.oo-ui-popupToolGroup-handle,
.oo-ui-listToolGroup-handle,
.oo-ui-menuToolGroup-handle {
background-color: var(--bg-card) !important;
background-image: none !important;
color: var(--text-bright) !important;
}
.oo-ui-labelElement-label,
.oo-ui-tool-name,
.oo-ui-tool-title,
.oo-ui-fieldLayout-header,
.oo-ui-fieldLayout-body,
.oo-ui-messageWidget,
.oo-ui-optionWidget .oo-ui-labelElement-label,
.oo-ui-toolGroup-tools .oo-ui-tool-title,
.oo-ui-toolGroup-tools .oo-ui-tool-name {
color: var(--text-bright) !important;
}
.oo-ui-tool:hover .oo-ui-tool-title,
.oo-ui-tool:hover .oo-ui-tool-name,
.oo-ui-toolGroup-header:hover .oo-ui-labelElement-label,
.oo-ui-popupToolGroup-header:hover .oo-ui-labelElement-label,
.oo-ui-toolGroup-handle:hover .oo-ui-labelElement-label,
.oo-ui-popupToolGroup-handle:hover .oo-ui-labelElement-label {
color: var(--accent-yellow) !important;
}
/* Invert OOUI & VisualEditor SVG icons for dark mode contrast */
.oo-ui-iconElement-icon,
.oo-ui-indicatorElement-indicator {
filter: invert(0.85) !important;
}
/* ── 6. Component Styles (.tl-* Timeline, wikitables, code) ─────────────── */
/* Timeline System */
.tl-container {
position: relative;
max-width: 800px;
margin: 30px auto;
padding: 10px 0;
}
.tl-container::before {
content: '';
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 2px;
background: var(--border-main);
transform: translateX(-50%);
}
.tl-item {
display: flex;
margin-bottom: 35px;
position: relative;
}
.tl-left {
justify-content: flex-start;
}
.tl-right {
justify-content: flex-end;
}
.tl-card {
width: 44%;
background: var(--bg-card);
border: 1px solid var(--border-main);
border-radius: 8px;
padding: 14px 18px;
}
.tl-left .tl-card {
text-align: right;
}
.tl-right .tl-card {
text-align: left;
}
.tl-date {
color: var(--text-subtle);
font-size: 0.85em;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 2px;
}
.tl-title {
color: var(--accent-gold);
font-size: 1.35em;
font-weight: bold;
font-family: 'Cinzel', Georgia, serif;
margin-bottom: 6px;
}
.tl-text {
color: var(--text-muted);
font-size: 0.95em;
line-height: 1.45;
}
.tl-dot {
position: absolute;
left: 50%;
top: 22px;
width: 12px;
height: 12px;
background: var(--accent-gold);
border-radius: 50%;
transform: translate(-50%, -50%);
}
/* Wikitables */
table.wikitable {
background-color: var(--bg-card) !important;
color: var(--text-bright) !important;
border: 1px solid var(--border-main) !important;
border-radius: 8px;
overflow: hidden;
}
table.wikitable th {
background-color: var(--border-main) !important;
color: var(--accent-yellow) !important;
border-color: var(--border-header) !important;
}
table.wikitable td {
border-color: var(--border-main) !important;
}
table.wikitable tr:nth-child(even) {
background-color: rgba(255, 255, 255, 0.03) !important;
}
/* Code & Pre Blocks */
code, pre {
background-color: var(--bg-card) !important;
color: var(--accent-yellow) !important;
border: 1px solid var(--border-main) !important;
border-radius: 4px;
}
/* Table of Contents (#toc Dark Card Theme) */
#toc, .toc, .mw-toc, .vector-toc {
background-color: var(--bg-card) !important;
border: 1px solid var(--border-main) !important;
border-radius: 8px !important;
padding: 14px 18px !important;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
color: var(--text-body) !important;
}
#toctitle, .toctitle, .mw-toc-heading, #toctitle h2, .toctitle h2 {
color: var(--accent-yellow) !important;
font-family: 'Cinzel', Georgia, serif !important;
font-size: 1.15em !important;
border-bottom: 1px solid var(--border-main) !important;
padding-bottom: 6px !important;
margin-bottom: 10px !important;
}
.toctogglelabel {
color: var(--accent-gold) !important;
}
.tocnumber {
color: var(--accent-gold) !important;
font-weight: bold !important;
margin-right: 4px !important;
}
.toctext {
color: var(--text-bright) !important;
}
#toc a:hover .toctext,
.toc a:hover .toctext {
color: var(--accent-yellow) !important;
}
/* ── MediaWiki Message Boxes & Special:Upload Notices ─────────────────────── */
.mw-message-box,
.messagebox,
.warningbox,
.errorbox,
.successbox,
.cdx-message,
.mw-destfile-warning,
.mw-warning-with-logexcerpt,
#mw-upload-permitted,
#wpDestFile-warning {
background-color: var(--bg-card) !important;
border: 1px solid var(--border-main) !important;
color: var(--text-body) !important;
border-radius: 6px !important;
padding: 12px 16px !important;
margin: 12px 0 !important;
}
.mw-message-box-notice,
.cdx-message--notice,
.mw-destfile-warning,
#wpDestFile-warning {
border-left: 4px solid var(--accent-gold) !important;
background-color: var(--bg-card) !important;
color: var(--text-bright) !important;
}
.mw-message-box-warning,
.warningbox,
.cdx-message--warning {
border-left: 4px solid var(--accent-yellow) !important;
background-color: var(--bg-card) !important;
color: var(--text-bright) !important;
}
.mw-message-box-error,
.errorbox,
.cdx-message--error {
border-left: 4px solid #ef4444 !important;
background-color: var(--bg-card) !important;
color: var(--text-bright) !important;
}
.mw-message-box-success,
.successbox,
.cdx-message--success {
border-left: 4px solid #22c55e !important;
background-color: var(--bg-card) !important;
color: var(--text-bright) !important;
}
#mw-upload-thumbnail,
.mw-upload-editform {
background-color: var(--bg-card) !important;
border: 1px solid var(--border-main) !important;
color: var(--text-body) !important;
}
/* ── Categories Bar (#catlinks) ──────────────────────────────────────────── */
#catlinks,
.catlinks {
background-color: var(--bg-card) !important;
border-color: var(--border-main) !important;
}
/* ── Standard Wikipedia Infobox ──────────────────────────────────────────── */
.infobox {
border: 1px solid var(--border-main) !important;
background-color: var(--bg-card) !important;
color: var(--text-body) !important;
margin: 0.5em 0 1em 1.5em !important;
padding: 0 !important;
float: right !important;
clear: right !important;
width: 290px !important;
font-size: 88% !important;
line-height: 1.5em !important;
border-collapse: collapse !important;
}
.infobox th,
.infobox td {
padding: 6px 10px !important;
border-bottom: 1px solid var(--border-main) !important;
vertical-align: top !important;
}
.infobox-title {
background-color: #202020 !important;
color: var(--accent-yellow) !important;
font-family: 'Cinzel', Georgia, serif !important;
font-size: 1.2em !important;
text-align: center !important;
padding: 10px 12px !important;
border-bottom: 2px solid var(--accent-gold) !important;
}
.infobox-subheader {
text-align: center !important;
font-size: 90% !important;
color: #c4b5fd !important;
text-transform: uppercase !important;
letter-spacing: 1px !important;
background-color: #24202c !important;
}
.infobox-image {
text-align: center !important;
padding: 10px !important;
background-color: #171717 !important;
}
.infobox-header {
background-color: #333333 !important;
color: var(--accent-yellow) !important;
text-align: center !important;
font-weight: bold !important;
}
.infobox-label {
text-align: left !important;
color: var(--accent-gold) !important;
font-weight: bold !important;
width: 35% !important;
}
.infobox-data {
text-align: left !important;
color: var(--text-body) !important;
}
.infobox-below {
text-align: center !important;
font-size: 85% !important;
color: var(--text-muted) !important;
}
/* ── Edit Saved Toast Notification ───────────────────────────────────────── */
.mw-notification,
.mw-notification-visible,
.mw-notification-area .mw-notification {
background-color: var(--bg-card) !important;
color: var(--text-bright) !important;
border-color: var(--border-main) !important;
}
/* ── 7. Revision History & Diff Pages ────────────────────────────────────── */
#pagehistory,
#pagehistory li,
.mw-history-line,
.mw-history-revision,
.citizen-history-revision,
.cdx-card,
.cdx-card--framed,
fieldset#mw-history-search,
.mw-history-legend {
background-color: var(--bg-card) !important;
background-image: none !important;
color: var(--text-body) !important;
border-color: var(--border-main) !important;
}
#pagehistory li {
border: 1px solid var(--border-main) !important;
border-radius: 6px !important;
padding: 8px 12px !important;
margin-bottom: 6px !important;
}
#pagehistory li:hover {
background-color: #302f2f !important;
border-color: var(--border-header) !important;
}
#pagehistory li.selected,
#pagehistory li.mw-history-line-selected {
background-color: #333232 !important;
border-color: var(--border-header) !important;
}
#pagehistory li * {
color: var(--text-body) !important;
}
#pagehistory li a,
.mw-history-histlinks a,
.mw-userlink,
.mw-history-undo a {
color: var(--accent-gold) !important;
}
#pagehistory li a:hover,
.mw-userlink:hover {
color: var(--accent-yellow) !important;
}
.mw-history-date,
.mw-history-revisiondate {
color: var(--accent-yellow) !important;
font-weight: bold !important;
}
.comment,
.mw-history-comment {
color: var(--text-subtle) !important;
font-style: italic !important;
}
.mw-plusminus-pos {
color: #22c55e !important;
}
.mw-plusminus-neg {
color: #ef4444 !important;
}
.mw-plusminus-null {
color: var(--text-subtle) !important;
}
.mw-tag-marker {
background-color: var(--border-main) !important;
color: var(--accent-yellow) !important;
border: 1px solid var(--border-header) !important;
border-radius: 4px !important;
padding: 1px 6px !important;
}
/* Diff Comparison Table */
table.diff,
.diff-context,
.diff-lineno {
background-color: var(--bg-card) !important;
color: var(--text-body) !important;
border-color: var(--border-main) !important;
}
.diff-deletedline {
background-color: rgba(239, 68, 68, 0.15) !important;
border-color: #ef4444 !important;
color: #fca5a5 !important;
}
.diff-deletedline del,
.diffchange-inline {
background-color: rgba(239, 68, 68, 0.35) !important;
color: #ffffff !important;
}
.diff-addedline {
background-color: rgba(34, 197, 94, 0.15) !important;
border-color: #22c55e !important;
color: #86efac !important;
}
.diff-addedline ins,
.diffchange-inline {
background-color: rgba(34, 197, 94, 0.35) !important;
color: #ffffff !important;
}
.diff-marker {
color: var(--accent-gold) !important;
font-weight: bold !important;
}