MediaWiki:Common.css: Difference between revisions
Appearance
Created page with "→Remove MediaWiki branding and clutter: #mw-page-base, #mw-head-base, .mw-wiki-logo, #p-logo, .printfooter, .catlinks, #footer-info, #footer-places, .mw-editsection, .mw-jump-link { display: none !important; } →Hide edit links unless hovering: .mw-editsection { opacity: 0; transition: opacity 0.3s ease; } .mw-body:hover .mw-editsection { opacity: 1; } →Minimal page tabs: #p-views ul li { background: none; border: none; margin: 0..." |
No edit summary |
||
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
/* | /* EJ Fox MediaWiki Theme - Consistent with main site */ | ||
#mw-page-base, | |||
#mw-head-base, | /* ==================== VARIABLES ==================== */ | ||
:root { | |||
/* Typography - Match main site exactly */ | |||
--font-primary: Georgia, serif; | |||
--font-mono: ui-monospace, 'SF Mono', Monaco, monospace; | |||
/* Spacing - Minimal set */ | |||
--space-2: 0.5rem; | |||
--space-3: 0.75rem; | |||
--space-4: 1rem; | |||
--space-6: 1.5rem; | |||
--space-8: 2rem; | |||
/* Layout */ | |||
--max-width: 48rem; | |||
/* Transitions */ | |||
--transition: 200ms ease-out; | |||
} | |||
/* Colors - Tailwind zinc scale matching main site */ | |||
:root { | |||
--bg-primary: #fafafa; /* zinc-50 */ | |||
--bg-secondary: #f4f4f5; /* zinc-100 */ | |||
--border-light: #e4e4e7; /* zinc-200 */ | |||
--border-medium: #d4d4d8; /* zinc-300 */ | |||
--text-primary: #27272a; /* zinc-800 */ | |||
--text-secondary: #52525b; /* zinc-600 */ | |||
--text-muted: #a1a1aa; /* zinc-400 */ | |||
--accent-error: #dc2626; /* red-600 */ | |||
} | |||
/* Dark mode */ | |||
@media (prefers-color-scheme: dark) { | |||
:root { | |||
--bg-primary: #18181b; /* zinc-900 */ | |||
--bg-secondary: #27272a; /* zinc-800 */ | |||
--border-light: #3f3f46; /* zinc-700 */ | |||
--border-medium: #52525b; /* zinc-600 */ | |||
--text-primary: #f4f4f5; /* zinc-100 */ | |||
--text-secondary: #d4d4d8; /* zinc-300 */ | |||
--text-muted: #71717a; /* zinc-500 */ | |||
--accent-error: #f87171; /* red-400 */ | |||
} | |||
} | |||
/* ==================== BASE ==================== */ | |||
/* Typography - Match main site exactly */ | |||
body, html, | |||
#mw-page-base, #mw-head, #mw-panel, #content, #bodyContent, | |||
.mw-body, .mw-body-content, .mw-content, | |||
#p-logo, #p-navigation, #p-search, #p-tb, #p-lang, | |||
.vectorTabs, .vectorMenu, .vectorMenuCheckbox, | |||
#ca-edit, #ca-history, #ca-talk, #ca-viewsource, | |||
.oo-ui-widget, .oo-ui-element, .oo-ui-layout, | |||
#mw-head-base, .mw-wiki-logo, .vector-menu, | |||
.mw-portlet, .mw-portlet-body, .mw-list-item, | |||
input, select, textarea, button, | |||
.suggestions, .suggestions-result, | |||
.vector-menu-content, | |||
.vector-menu-heading, | |||
.vector-menu-content-list { | |||
font-family: var(--font-primary) !important; | |||
} | |||
/* Headings use same Georgia font as body */ | |||
h1, h2, h3, h4, h5, h6, | |||
.mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6, | |||
#content h1, #content h2, #content h3, #content h4, #content h5, #content h6, | |||
.firstHeading { | |||
font-family: var(--font-primary) !important; | |||
} | |||
/* Monospace elements */ | |||
code, pre, kbd, samp, tt, | |||
.mw-code, .mw-pre, .codehilite, | |||
.mw-changeslist-time, .mw-diff-bytes, | |||
#searchInput { | |||
font-family: var(--font-mono) !important; | |||
} | |||
body { | |||
background: var(--bg-primary) !important; | |||
color: var(--text-primary) !important; | |||
font-size: 1rem !important; | |||
line-height: 1.6 !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
transition: background-color var(--transition), color var(--transition) !important; | |||
} | |||
/* ==================== LAYOUT ==================== */ | |||
/* Hide unnecessary elements */ | |||
#p-search, | |||
#p-logo, | |||
.mw-wiki-logo, | .mw-wiki-logo, | ||
# | #footer, | ||
.printfooter, | .printfooter, | ||
#catlinks, | |||
# | #f-poweredbyico, | ||
# | #f-copyrightico { | ||
display: none !important; | display: none !important; | ||
} | } | ||
/* | /* Edit buttons - minimal styling */ | ||
#p-views, #p-cactions { | |||
margin: var(--space-3) 0 !important; | |||
padding: 0 !important; | |||
background: transparent !important; | |||
border: none !important; | |||
} | } | ||
.mw-body:hover .mw- | |||
#p-views ul, #p-cactions ul { | |||
display: flex !important; | |||
gap: var(--space-4) !important; | |||
list-style: none !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
} | |||
#p-views li, #p-cactions li { | |||
margin: 0 !important; | |||
} | |||
#p-views a, #p-cactions a { | |||
color: var(--text-muted) !important; | |||
font-family: var(--font-mono) !important; | |||
font-size: 0.875rem !important; | |||
text-decoration: none !important; | |||
border-bottom: 1px dotted var(--border-medium) !important; | |||
padding: 1px 2px !important; | |||
transition: all var(--transition) !important; | |||
background: transparent !important; | |||
} | |||
#p-views a:hover, #p-cactions a:hover { | |||
color: var(--text-primary) !important; | |||
border-bottom-color: var(--text-primary) !important; | |||
} | |||
/* Content layout */ | |||
.mw-body { | |||
margin: 0 auto !important; | |||
border: none !important; | |||
padding: var(--space-6) !important; | |||
background: transparent !important; | |||
max-width: var(--max-width) !important; | |||
} | |||
#content { | |||
margin-left: 0 !important; | |||
background: transparent !important; | |||
border: none !important; | |||
} | |||
/* ==================== TYPOGRAPHY ==================== */ | |||
.mw-body h1 { | |||
color: var(--text-primary) !important; | |||
font-size: 2rem !important; | |||
font-weight: 400 !important; | |||
line-height: 1.2 !important; | |||
margin: 0 0 var(--space-6) 0 !important; | |||
border-bottom: none !important; | |||
} | |||
.mw-body h2 { | |||
color: var(--text-primary) !important; | |||
font-size: 1.5rem !important; | |||
font-weight: 400 !important; | |||
line-height: 1.3 !important; | |||
margin: var(--space-8) 0 var(--space-4) 0 !important; | |||
border-bottom: 1px dotted var(--border-medium) !important; | |||
padding-bottom: var(--space-2) !important; | |||
} | |||
.mw-body h3 { | |||
color: var(--text-primary) !important; | |||
font-size: 1.125rem !important; | |||
font-weight: 600 !important; | |||
margin: var(--space-6) 0 var(--space-3) 0 !important; | |||
} | |||
.mw-body p { | |||
color: var(--text-primary) !important; | |||
line-height: 1.6 !important; | |||
margin-bottom: var(--space-4) !important; | |||
} | |||
/* ==================== LINKS ==================== */ | |||
.mw-body a:not(.external) { | |||
color: var(--text-primary) !important; | |||
text-decoration: none !important; | |||
border-bottom: 1px solid var(--border-medium) !important; | |||
padding: 1px 2px !important; | |||
transition: all var(--transition) !important; | |||
} | |||
.mw-body a:not(.external):hover { | |||
border-bottom-color: var(--text-primary) !important; | |||
} | |||
/* External links */ | |||
.mw-body a.external { | |||
color: var(--text-secondary) !important; | |||
text-decoration: none !important; | |||
border-bottom: 1px solid var(--text-secondary) !important; | |||
padding: 1px 15px 1px 2px !important; | |||
transition: all var(--transition) !important; | |||
} | |||
.mw-body a.external:hover { | |||
color: var(--text-primary) !important; | |||
border-bottom-color: var(--text-primary) !important; | |||
} | |||
.mw-body .external { | |||
background-position: right center !important; | |||
background-repeat: no-repeat !important; | |||
} | |||
/* ==================== TABLES ==================== */ | |||
.wikitable { | |||
background: var(--bg-secondary) !important; | |||
border: 1px solid var(--border-light) !important; | |||
border-collapse: collapse !important; | |||
font-family: var(--font-mono) !important; | |||
font-size: var(--text-sm) !important; | |||
margin: var(--space-5) 0 !important; /* Reduced from space-6 */ | |||
width: 100% !important; | |||
border-radius: 4px !important; | |||
overflow: hidden !important; | |||
} | |||
.wikitable th { | |||
background: var(--bg-tertiary) !important; | |||
border: 1px solid var(--border-medium) !important; | |||
color: var(--text-primary) !important; | |||
padding: var(--space-3) !important; /* Reduced from space-4 */ | |||
font-weight: 600 !important; | |||
text-align: left !important; | |||
} | |||
.wikitable td { | |||
border: 1px solid var(--border-light) !important; | |||
color: var(--text-primary) !important; | |||
padding: var(--space-3) !important; /* Reduced from space-4 */ | |||
} | |||
.wikitable tr:nth-child(even) td { | |||
background: rgba(0, 0, 0, 0.02) !important; | |||
} | |||
@media (prefers-color-scheme: dark) { | |||
.wikitable tr:nth-child(even) td { | |||
background: rgba(255, 255, 255, 0.02) !important; | |||
} | |||
} | |||
/* ==================== CODE ==================== */ | |||
code, pre { | |||
font-family: var(--font-mono) !important; | |||
font-feature-settings: "tnum", "zero" !important; | |||
background: var(--bg-secondary) !important; | |||
border: 1px solid var(--border-light) !important; | |||
border-radius: 4px !important; | |||
color: var(--text-primary) !important; | |||
} | |||
code { | |||
padding: 2px 4px !important; | |||
font-size: var(--text-sm) !important; | |||
} | |||
pre { | |||
padding: var(--space-4) !important; | |||
margin: var(--space-5) 0 !important; /* Reduced from space-6 */ | |||
overflow-x: auto !important; | |||
line-height: 1.5 !important; | |||
} | |||
/* ==================== LISTS ==================== */ | |||
.mw-body ul, .mw-body ol { | |||
margin: var(--space-3) 0 !important; /* Reduced from space-4 */ | |||
padding-left: var(--space-6) !important; | |||
} | |||
.mw-body li { | |||
margin-bottom: var(--space-1) !important; /* Reduced from space-2 */ | |||
color: var(--text-primary) !important; | |||
} | |||
/* ==================== SPECIAL PAGES - Basic fixes only ==================== */ | |||
/* Fix overlapping issues on special pages */ | |||
.ns-special .mw-body { | |||
padding: var(--space-4) !important; | |||
line-height: 1.4 !important; | |||
} | |||
.ns-special .mw-body p { | |||
margin-bottom: var(--space-3) !important; | |||
line-height: 1.4 !important; | |||
} | |||
/* Recent Changes specific fixes */ | |||
.mw-changeslist-line { | |||
margin-bottom: var(--space-2) !important; | |||
line-height: 1.3 !important; | |||
clear: both !important; | |||
} | |||
.mw-changeslist .mw-title { | |||
display: inline !important; | |||
margin-right: var(--space-2) !important; | |||
} | |||
.mw-changeslist-date { | |||
margin-bottom: var(--space-3) !important; | |||
font-weight: 600 !important; | |||
} | |||
/* Fix timestamps and metadata */ | |||
.mw-changeslist-time { | |||
font-family: var(--font-mono) !important; | |||
font-size: var(--text-sm) !important; | |||
margin-right: var(--space-2) !important; | |||
} | |||
.mw-usertoollinks { | |||
font-size: var(--text-xs) !important; | |||
margin-left: var(--space-1) !important; | |||
} | |||
/* Fix diff links and counters */ | |||
.mw-diff-bytes { | |||
font-family: var(--font-mono) !important; | |||
font-size: var(--text-xs) !important; | |||
margin: 0 var(--space-1) !important; | |||
} | |||
/* Fix summary text */ | |||
.comment { | |||
font-style: italic !important; | |||
color: var(--text-tertiary) !important; | |||
margin-left: var(--space-2) !important; | |||
} | |||
/* ==================== RESPONSIVE ==================== */ | |||
@media (max-width: 768px) { | |||
:root { | |||
--text-base: 0.95rem; /* Slightly smaller on mobile */ | |||
} | |||
.mw-body { | |||
padding: var(--space-4) !important; | |||
margin-left: 0 !important; | |||
} | |||
#mw-panel { | |||
position: relative !important; | |||
width: 100% !important; | |||
margin: 0 0 var(--space-4) 0 !important; /* Reduced from space-6 */ | |||
backdrop-filter: blur(16px) !important; | |||
background: rgba(var(--bg-secondary), 0.8) !important; | |||
} | |||
.mw-body h1 { | |||
font-size: var(--text-3xl) !important; | |||
} | |||
.mw-body h2 { | |||
font-size: var(--text-lg) !important; | |||
} | |||
/* Simple mobile edit buttons */ | |||
#p-views ul, #p-cactions ul { | |||
flex-direction: column !important; | |||
gap: var(--space-2) !important; | |||
} | |||
/* Mobile fixes for special pages */ | |||
.ns-special .mw-changeslist-line { | |||
font-size: var(--text-sm) !important; | |||
padding: var(--space-1) 0 !important; | |||
} | |||
.ns-special .mw-changeslist-time { | |||
display: block !important; | |||
margin-bottom: var(--space-1) !important; | |||
} | |||
} | |||
/* ==================== SEARCH (if you want to show it) ==================== */ | |||
#searchform { | |||
background: var(--bg-secondary) !important; | |||
border: 1px solid var(--border-light) !important; | |||
border-radius: 4px !important; | |||
margin: var(--space-4) 0 !important; | |||
overflow: hidden !important; | |||
} | |||
#searchInput { | |||
background: transparent !important; | |||
border: none !important; | |||
color: var(--text-primary) !important; | |||
font-family: var(--font-mono) !important; | |||
font-size: var(--text-sm) !important; | |||
padding: var(--space-2) var(--space-4) !important; | |||
width: calc(100% - var(--space-8)) !important; | |||
} | |||
#searchInput::placeholder { | |||
color: var(--text-muted) !important; | |||
} | |||
#searchInput:focus { | |||
outline: none !important; | |||
box-shadow: 0 0 0 1px var(--focus-ring) !important; | |||
} | |||
/* ==================== GEOMETRIC ACCENTS ==================== */ | |||
.mw-body::before { | |||
content: ""; | |||
position: fixed; | |||
top: var(--space-4); | |||
right: var(--space-4); | |||
width: 8px; | |||
height: 8px; | |||
background: var(--accent-primary); | |||
border-radius: 50%; | |||
z-index: 1000; | |||
} | |||
/* ==================== UNCREATED PAGES (RED LINKS) ==================== */ | |||
/* Override styles for non-existent pages */ | |||
.mw-body a.new, | |||
.mw-body a.new:visited { | |||
color: var(--accent-error) !important; | |||
border-bottom-color: var(--accent-error) !important; | |||
opacity: 0.8; | |||
} | |||
.mw-body a.new:hover { | |||
color: var(--accent-error) !important; | |||
border-bottom-color: var(--accent-error) !important; | |||
background: var(--hover-bg) !important; | |||
opacity: 1; | opacity: 1; | ||
} | } | ||
/* | /* Question mark indicator for uncreated pages */ | ||
# | .mw-body a.new::after { | ||
background: | content: "?"; | ||
border: | font-size: 0.75em; | ||
margin: 0 | margin-left: 2px; | ||
opacity: 0.6; | |||
font-weight: 400; | |||
} | |||
/* Special styling for uncreated user/talk pages */ | |||
.mw-body a.new.mw-userlink, | |||
.mw-body a.new[title*="User:"], | |||
.mw-body a.new[title*="User talk:"] { | |||
font-style: italic; | |||
} | |||
/* FPV part infobox styling */ | |||
/* FPV Part Infobox Styling - Light & Dark Mode Compatible */ | |||
.fpvpart-infobox { | |||
float: right; | |||
width: 300px; | |||
margin: 0 0 1em 1em; | |||
border: 1px solid #555; | |||
background: #2a2a2a; | |||
color: #e0e0e0; | |||
padding: 5px; | |||
font-size: 88%; | |||
clear: right; | |||
} | |||
/* Light mode overrides */ | |||
body.skin-light .fpvpart-infobox, | |||
body.mw-light-mode .fpvpart-infobox, | |||
body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-infobox { | |||
border: 1px solid #aaa; | |||
background: #f9f9f9; | |||
color: #000; | |||
} | |||
.fpvpart-header { | |||
background: #555; | |||
color: white; | |||
padding: 5px; | |||
font-weight: bold; | |||
text-align: center; | |||
font-size: 110%; | |||
} | |||
.fpvpart-type { | |||
background: #666; | |||
color: white; | |||
padding: 3px; | |||
text-align: center; | |||
font-size: 90%; | |||
} | |||
.fpvpart-specs { | |||
width: 100%; | |||
margin: 5px 0; | |||
border-collapse: collapse; | |||
} | |||
.fpvpart-specs th { | |||
background: #3a3a3a; | |||
color: #e0e0e0; | |||
padding: 3px 5px; | |||
text-align: left; | |||
width: 40%; | |||
font-weight: bold; | |||
border: 1px solid #555; | |||
} | |||
.fpvpart-specs td { | |||
background: #2a2a2a; | |||
color: #e0e0e0; | |||
padding: 3px 5px; | |||
border: 1px solid #555; | |||
} | |||
/* Light mode table overrides */ | |||
body.skin-light .fpvpart-specs th, | |||
body.mw-light-mode .fpvpart-specs th, | |||
body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-specs th { | |||
background: #e0e0e0; | |||
color: #000; | |||
border: 1px solid #ccc; | |||
} | |||
body.skin-light .fpvpart-specs td, | |||
body.mw-light-mode .fpvpart-specs td, | |||
body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-specs td { | |||
background: #fff; | |||
color: #000; | |||
border: 1px solid #ccc; | |||
} | |||
/* Status colors - work in both modes */ | |||
.fpvpart-status { | |||
padding: 5px; | |||
text-align: center; | |||
font-weight: bold; | |||
margin: 5px 0; | |||
} | |||
.fpvpart-status.status-IN_STOCK { | |||
background: #2d5a2d; | |||
color: #90EE90; | |||
} | |||
body.skin-light .fpvpart-status.status-IN_STOCK, | |||
body.mw-light-mode .fpvpart-status.status-IN_STOCK, | |||
body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-status.status-IN_STOCK { | |||
background: #90EE90; | |||
color: darkgreen; | |||
} | |||
.fpvpart-status.status-OUT_OF_STOCK { | |||
background: #5a2d2d; | |||
color: #FFB6C1; | |||
} | |||
body.skin-light .fpvpart-status.status-OUT_OF_STOCK, | |||
body.mw-light-mode .fpvpart-status.status-OUT_OF_STOCK, | |||
body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-status.status-OUT_OF_STOCK { | |||
background: #FFB6C1; | |||
color: darkred; | |||
} | |||
.fpvpart-status.status-LIMITED { | |||
background: #5a5a2d; | |||
color: #FFD700; | |||
} | } | ||
body.skin-light .fpvpart-status.status-LIMITED, | |||
background: | body.mw-light-mode .fpvpart-status.status-LIMITED, | ||
color: # | body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-status.status-LIMITED { | ||
border: | background: #FFD700; | ||
padding: 5px | color: #8B4513; | ||
} | |||
font-size: | |||
.fpvpart-notes { | |||
background: #3a3a2d; | |||
border: 1px solid #666633; | |||
color: #ffff99; | |||
padding: 5px; | |||
margin-top: 5px; | |||
font-size: 85%; | |||
} | |||
body.skin-light .fpvpart-notes, | |||
body.mw-light-mode .fpvpart-notes, | |||
body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-notes { | |||
background: #ffffcc; | |||
border: 1px solid #cccc00; | |||
color: #000; | |||
} | |||
/* Links in infobox */ | |||
.fpvpart-infobox a { | |||
color: #6db3ec; | |||
} | } | ||
body.skin-light .fpvpart-infobox a, | |||
color: # | body.mw-light-mode .fpvpart-infobox a, | ||
body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-infobox a { | |||
color: #0645ad; | |||
} | } |
Latest revision as of 19:07, 29 August 2025
/* EJ Fox MediaWiki Theme - Consistent with main site */ /* ==================== VARIABLES ==================== */ :root { /* Typography - Match main site exactly */ --font-primary: Georgia, serif; --font-mono: ui-monospace, 'SF Mono', Monaco, monospace; /* Spacing - Minimal set */ --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-6: 1.5rem; --space-8: 2rem; /* Layout */ --max-width: 48rem; /* Transitions */ --transition: 200ms ease-out; } /* Colors - Tailwind zinc scale matching main site */ :root { --bg-primary: #fafafa; /* zinc-50 */ --bg-secondary: #f4f4f5; /* zinc-100 */ --border-light: #e4e4e7; /* zinc-200 */ --border-medium: #d4d4d8; /* zinc-300 */ --text-primary: #27272a; /* zinc-800 */ --text-secondary: #52525b; /* zinc-600 */ --text-muted: #a1a1aa; /* zinc-400 */ --accent-error: #dc2626; /* red-600 */ } /* Dark mode */ @media (prefers-color-scheme: dark) { :root { --bg-primary: #18181b; /* zinc-900 */ --bg-secondary: #27272a; /* zinc-800 */ --border-light: #3f3f46; /* zinc-700 */ --border-medium: #52525b; /* zinc-600 */ --text-primary: #f4f4f5; /* zinc-100 */ --text-secondary: #d4d4d8; /* zinc-300 */ --text-muted: #71717a; /* zinc-500 */ --accent-error: #f87171; /* red-400 */ } } /* ==================== BASE ==================== */ /* Typography - Match main site exactly */ body, html, #mw-page-base, #mw-head, #mw-panel, #content, #bodyContent, .mw-body, .mw-body-content, .mw-content, #p-logo, #p-navigation, #p-search, #p-tb, #p-lang, .vectorTabs, .vectorMenu, .vectorMenuCheckbox, #ca-edit, #ca-history, #ca-talk, #ca-viewsource, .oo-ui-widget, .oo-ui-element, .oo-ui-layout, #mw-head-base, .mw-wiki-logo, .vector-menu, .mw-portlet, .mw-portlet-body, .mw-list-item, input, select, textarea, button, .suggestions, .suggestions-result, .vector-menu-content, .vector-menu-heading, .vector-menu-content-list { font-family: var(--font-primary) !important; } /* Headings use same Georgia font as body */ h1, h2, h3, h4, h5, h6, .mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6, #content h1, #content h2, #content h3, #content h4, #content h5, #content h6, .firstHeading { font-family: var(--font-primary) !important; } /* Monospace elements */ code, pre, kbd, samp, tt, .mw-code, .mw-pre, .codehilite, .mw-changeslist-time, .mw-diff-bytes, #searchInput { font-family: var(--font-mono) !important; } body { background: var(--bg-primary) !important; color: var(--text-primary) !important; font-size: 1rem !important; line-height: 1.6 !important; margin: 0 !important; padding: 0 !important; transition: background-color var(--transition), color var(--transition) !important; } /* ==================== LAYOUT ==================== */ /* Hide unnecessary elements */ #p-search, #p-logo, .mw-wiki-logo, #footer, .printfooter, #catlinks, #f-poweredbyico, #f-copyrightico { display: none !important; } /* Edit buttons - minimal styling */ #p-views, #p-cactions { margin: var(--space-3) 0 !important; padding: 0 !important; background: transparent !important; border: none !important; } #p-views ul, #p-cactions ul { display: flex !important; gap: var(--space-4) !important; list-style: none !important; margin: 0 !important; padding: 0 !important; } #p-views li, #p-cactions li { margin: 0 !important; } #p-views a, #p-cactions a { color: var(--text-muted) !important; font-family: var(--font-mono) !important; font-size: 0.875rem !important; text-decoration: none !important; border-bottom: 1px dotted var(--border-medium) !important; padding: 1px 2px !important; transition: all var(--transition) !important; background: transparent !important; } #p-views a:hover, #p-cactions a:hover { color: var(--text-primary) !important; border-bottom-color: var(--text-primary) !important; } /* Content layout */ .mw-body { margin: 0 auto !important; border: none !important; padding: var(--space-6) !important; background: transparent !important; max-width: var(--max-width) !important; } #content { margin-left: 0 !important; background: transparent !important; border: none !important; } /* ==================== TYPOGRAPHY ==================== */ .mw-body h1 { color: var(--text-primary) !important; font-size: 2rem !important; font-weight: 400 !important; line-height: 1.2 !important; margin: 0 0 var(--space-6) 0 !important; border-bottom: none !important; } .mw-body h2 { color: var(--text-primary) !important; font-size: 1.5rem !important; font-weight: 400 !important; line-height: 1.3 !important; margin: var(--space-8) 0 var(--space-4) 0 !important; border-bottom: 1px dotted var(--border-medium) !important; padding-bottom: var(--space-2) !important; } .mw-body h3 { color: var(--text-primary) !important; font-size: 1.125rem !important; font-weight: 600 !important; margin: var(--space-6) 0 var(--space-3) 0 !important; } .mw-body p { color: var(--text-primary) !important; line-height: 1.6 !important; margin-bottom: var(--space-4) !important; } /* ==================== LINKS ==================== */ .mw-body a:not(.external) { color: var(--text-primary) !important; text-decoration: none !important; border-bottom: 1px solid var(--border-medium) !important; padding: 1px 2px !important; transition: all var(--transition) !important; } .mw-body a:not(.external):hover { border-bottom-color: var(--text-primary) !important; } /* External links */ .mw-body a.external { color: var(--text-secondary) !important; text-decoration: none !important; border-bottom: 1px solid var(--text-secondary) !important; padding: 1px 15px 1px 2px !important; transition: all var(--transition) !important; } .mw-body a.external:hover { color: var(--text-primary) !important; border-bottom-color: var(--text-primary) !important; } .mw-body .external { background-position: right center !important; background-repeat: no-repeat !important; } /* ==================== TABLES ==================== */ .wikitable { background: var(--bg-secondary) !important; border: 1px solid var(--border-light) !important; border-collapse: collapse !important; font-family: var(--font-mono) !important; font-size: var(--text-sm) !important; margin: var(--space-5) 0 !important; /* Reduced from space-6 */ width: 100% !important; border-radius: 4px !important; overflow: hidden !important; } .wikitable th { background: var(--bg-tertiary) !important; border: 1px solid var(--border-medium) !important; color: var(--text-primary) !important; padding: var(--space-3) !important; /* Reduced from space-4 */ font-weight: 600 !important; text-align: left !important; } .wikitable td { border: 1px solid var(--border-light) !important; color: var(--text-primary) !important; padding: var(--space-3) !important; /* Reduced from space-4 */ } .wikitable tr:nth-child(even) td { background: rgba(0, 0, 0, 0.02) !important; } @media (prefers-color-scheme: dark) { .wikitable tr:nth-child(even) td { background: rgba(255, 255, 255, 0.02) !important; } } /* ==================== CODE ==================== */ code, pre { font-family: var(--font-mono) !important; font-feature-settings: "tnum", "zero" !important; background: var(--bg-secondary) !important; border: 1px solid var(--border-light) !important; border-radius: 4px !important; color: var(--text-primary) !important; } code { padding: 2px 4px !important; font-size: var(--text-sm) !important; } pre { padding: var(--space-4) !important; margin: var(--space-5) 0 !important; /* Reduced from space-6 */ overflow-x: auto !important; line-height: 1.5 !important; } /* ==================== LISTS ==================== */ .mw-body ul, .mw-body ol { margin: var(--space-3) 0 !important; /* Reduced from space-4 */ padding-left: var(--space-6) !important; } .mw-body li { margin-bottom: var(--space-1) !important; /* Reduced from space-2 */ color: var(--text-primary) !important; } /* ==================== SPECIAL PAGES - Basic fixes only ==================== */ /* Fix overlapping issues on special pages */ .ns-special .mw-body { padding: var(--space-4) !important; line-height: 1.4 !important; } .ns-special .mw-body p { margin-bottom: var(--space-3) !important; line-height: 1.4 !important; } /* Recent Changes specific fixes */ .mw-changeslist-line { margin-bottom: var(--space-2) !important; line-height: 1.3 !important; clear: both !important; } .mw-changeslist .mw-title { display: inline !important; margin-right: var(--space-2) !important; } .mw-changeslist-date { margin-bottom: var(--space-3) !important; font-weight: 600 !important; } /* Fix timestamps and metadata */ .mw-changeslist-time { font-family: var(--font-mono) !important; font-size: var(--text-sm) !important; margin-right: var(--space-2) !important; } .mw-usertoollinks { font-size: var(--text-xs) !important; margin-left: var(--space-1) !important; } /* Fix diff links and counters */ .mw-diff-bytes { font-family: var(--font-mono) !important; font-size: var(--text-xs) !important; margin: 0 var(--space-1) !important; } /* Fix summary text */ .comment { font-style: italic !important; color: var(--text-tertiary) !important; margin-left: var(--space-2) !important; } /* ==================== RESPONSIVE ==================== */ @media (max-width: 768px) { :root { --text-base: 0.95rem; /* Slightly smaller on mobile */ } .mw-body { padding: var(--space-4) !important; margin-left: 0 !important; } #mw-panel { position: relative !important; width: 100% !important; margin: 0 0 var(--space-4) 0 !important; /* Reduced from space-6 */ backdrop-filter: blur(16px) !important; background: rgba(var(--bg-secondary), 0.8) !important; } .mw-body h1 { font-size: var(--text-3xl) !important; } .mw-body h2 { font-size: var(--text-lg) !important; } /* Simple mobile edit buttons */ #p-views ul, #p-cactions ul { flex-direction: column !important; gap: var(--space-2) !important; } /* Mobile fixes for special pages */ .ns-special .mw-changeslist-line { font-size: var(--text-sm) !important; padding: var(--space-1) 0 !important; } .ns-special .mw-changeslist-time { display: block !important; margin-bottom: var(--space-1) !important; } } /* ==================== SEARCH (if you want to show it) ==================== */ #searchform { background: var(--bg-secondary) !important; border: 1px solid var(--border-light) !important; border-radius: 4px !important; margin: var(--space-4) 0 !important; overflow: hidden !important; } #searchInput { background: transparent !important; border: none !important; color: var(--text-primary) !important; font-family: var(--font-mono) !important; font-size: var(--text-sm) !important; padding: var(--space-2) var(--space-4) !important; width: calc(100% - var(--space-8)) !important; } #searchInput::placeholder { color: var(--text-muted) !important; } #searchInput:focus { outline: none !important; box-shadow: 0 0 0 1px var(--focus-ring) !important; } /* ==================== GEOMETRIC ACCENTS ==================== */ .mw-body::before { content: ""; position: fixed; top: var(--space-4); right: var(--space-4); width: 8px; height: 8px; background: var(--accent-primary); border-radius: 50%; z-index: 1000; } /* ==================== UNCREATED PAGES (RED LINKS) ==================== */ /* Override styles for non-existent pages */ .mw-body a.new, .mw-body a.new:visited { color: var(--accent-error) !important; border-bottom-color: var(--accent-error) !important; opacity: 0.8; } .mw-body a.new:hover { color: var(--accent-error) !important; border-bottom-color: var(--accent-error) !important; background: var(--hover-bg) !important; opacity: 1; } /* Question mark indicator for uncreated pages */ .mw-body a.new::after { content: "?"; font-size: 0.75em; margin-left: 2px; opacity: 0.6; font-weight: 400; } /* Special styling for uncreated user/talk pages */ .mw-body a.new.mw-userlink, .mw-body a.new[title*="User:"], .mw-body a.new[title*="User talk:"] { font-style: italic; } /* FPV part infobox styling */ /* FPV Part Infobox Styling - Light & Dark Mode Compatible */ .fpvpart-infobox { float: right; width: 300px; margin: 0 0 1em 1em; border: 1px solid #555; background: #2a2a2a; color: #e0e0e0; padding: 5px; font-size: 88%; clear: right; } /* Light mode overrides */ body.skin-light .fpvpart-infobox, body.mw-light-mode .fpvpart-infobox, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-infobox { border: 1px solid #aaa; background: #f9f9f9; color: #000; } .fpvpart-header { background: #555; color: white; padding: 5px; font-weight: bold; text-align: center; font-size: 110%; } .fpvpart-type { background: #666; color: white; padding: 3px; text-align: center; font-size: 90%; } .fpvpart-specs { width: 100%; margin: 5px 0; border-collapse: collapse; } .fpvpart-specs th { background: #3a3a3a; color: #e0e0e0; padding: 3px 5px; text-align: left; width: 40%; font-weight: bold; border: 1px solid #555; } .fpvpart-specs td { background: #2a2a2a; color: #e0e0e0; padding: 3px 5px; border: 1px solid #555; } /* Light mode table overrides */ body.skin-light .fpvpart-specs th, body.mw-light-mode .fpvpart-specs th, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-specs th { background: #e0e0e0; color: #000; border: 1px solid #ccc; } body.skin-light .fpvpart-specs td, body.mw-light-mode .fpvpart-specs td, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-specs td { background: #fff; color: #000; border: 1px solid #ccc; } /* Status colors - work in both modes */ .fpvpart-status { padding: 5px; text-align: center; font-weight: bold; margin: 5px 0; } .fpvpart-status.status-IN_STOCK { background: #2d5a2d; color: #90EE90; } body.skin-light .fpvpart-status.status-IN_STOCK, body.mw-light-mode .fpvpart-status.status-IN_STOCK, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-status.status-IN_STOCK { background: #90EE90; color: darkgreen; } .fpvpart-status.status-OUT_OF_STOCK { background: #5a2d2d; color: #FFB6C1; } body.skin-light .fpvpart-status.status-OUT_OF_STOCK, body.mw-light-mode .fpvpart-status.status-OUT_OF_STOCK, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-status.status-OUT_OF_STOCK { background: #FFB6C1; color: darkred; } .fpvpart-status.status-LIMITED { background: #5a5a2d; color: #FFD700; } body.skin-light .fpvpart-status.status-LIMITED, body.mw-light-mode .fpvpart-status.status-LIMITED, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-status.status-LIMITED { background: #FFD700; color: #8B4513; } .fpvpart-notes { background: #3a3a2d; border: 1px solid #666633; color: #ffff99; padding: 5px; margin-top: 5px; font-size: 85%; } body.skin-light .fpvpart-notes, body.mw-light-mode .fpvpart-notes, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-notes { background: #ffffcc; border: 1px solid #cccc00; color: #000; } /* Links in infobox */ .fpvpart-infobox a { color: #6db3ec; } body.skin-light .fpvpart-infobox a, body.mw-light-mode .fpvpart-infobox a, body:not(.skin-dark):not(.mw-dark-mode) .fpvpart-infobox a { color: #0645ad; }