MediaWiki:Common.css: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 86: | Line 86: | ||
/* ==================== RESET & BASE ==================== */ | /* ==================== RESET & BASE ==================== */ | ||
/* | /* Specific font overrides - don't use universal selector */ | ||
body, html, | body, html, | ||
#mw-page-base, #mw-head, #mw-panel, #content, #bodyContent, | #mw-page-base, #mw-head, #mw-panel, #content, #bodyContent, | ||
Line 103: | Line 98: | ||
input, select, textarea, button, | input, select, textarea, button, | ||
.suggestions, .suggestions-result, | .suggestions, .suggestions-result, | ||
.vector-menu-content, | |||
.vector-menu-heading, | |||
.vector-menu-content-list { | |||
font-family: var(--font-primary) !important; | font-family: var(--font-primary) !important; | ||
} | } |
Revision as of 18:53, 31 May 2025
/* EJ Fox MediaWiki Theme - Consistent with main site */ /* ==================== IMPORTS ==================== */ @import url('https://fonts.googleapis.com/css2?family=Signika+Negative:wght@200;300;400;500;600;700;800&family=Red+Hat+Mono:wght@300;400&family=Fjalla+One:wght@400&display=swap'); /* ==================== ROOT VARIABLES ==================== */ :root { /* Typography */ --font-primary: 'Signika Negative', sans-serif; --font-mono: 'Red Hat Mono', monospace; --font-heading: 'Fjalla One', sans-serif; /* Font Sizes - slightly reduced */ --text-base: 1rem; /* 16px - reduced from 18px */ --text-lg: 1.125rem; /* 18px - reduced from 20px */ --text-sm: 0.875rem; /* 14px */ --text-xs: 0.75rem; /* 12px */ --text-3xl: 1.75rem; /* 28px - reduced from 30px */ --text-4xl: 2rem; /* 32px - reduced from 36px */ --text-5xl: 2.75rem; /* 44px - reduced from 48px */ /* Spacing - tightened up */ --space-1: 0.25rem; /* 4px */ --space-2: 0.5rem; /* 8px */ --space-3: 0.75rem; /* 12px */ --space-4: 1rem; /* 16px */ --space-5: 1.25rem; /* 20px */ --space-6: 1.5rem; /* 24px */ --space-8: 2rem; /* 32px */ --space-12: 3rem; /* 48px */ /* Layout */ --max-width-3xl: 48rem; /* 768px */ --max-width-4xl: 56rem; /* 896px */ /* Transitions */ --transition-fast: 200ms ease-out; --transition-normal: 300ms ease-out; } /* Light mode colors */ :root { --bg-primary: rgb(250, 250, 250); /* zinc-50 */ --bg-secondary: rgb(244, 244, 245); /* zinc-100 */ --bg-tertiary: rgb(228, 228, 231); /* zinc-200 */ --border-light: rgb(228, 228, 231); /* zinc-200 */ --border-medium: rgb(212, 212, 216); /* zinc-300 */ --border-dark: rgb(161, 161, 170); /* zinc-400 */ --text-primary: rgb(39, 39, 42); /* zinc-800 */ --text-secondary: rgb(82, 82, 91); /* zinc-600 */ --text-tertiary: rgb(113, 113, 122); /* zinc-500 */ --text-muted: rgb(161, 161, 170); /* zinc-400 */ --accent-primary: rgb(22, 163, 74); /* green-600 */ --accent-error: rgb(220, 38, 38); /* red-600 */ --hover-bg: rgb(228, 228, 231, 0.3); /* zinc-200/30 */ --focus-ring: rgb(161, 161, 170); /* zinc-400 */ } /* Dark mode colors */ @media (prefers-color-scheme: dark) { :root { --bg-primary: rgb(24, 24, 27); /* zinc-900 */ --bg-secondary: rgb(39, 39, 42); /* zinc-800 */ --bg-tertiary: rgb(63, 63, 70); /* zinc-700 */ --border-light: rgb(63, 63, 70); /* zinc-700 */ --border-medium: rgb(82, 82, 91); /* zinc-600 */ --border-dark: rgb(113, 113, 122); /* zinc-500 */ --text-primary: rgb(244, 244, 245); /* zinc-100 */ --text-secondary: rgb(212, 212, 216); /* zinc-300 */ --text-tertiary: rgb(161, 161, 170); /* zinc-400 */ --text-muted: rgb(113, 113, 122); /* zinc-500 */ --accent-primary: rgb(74, 222, 128); /* green-400 */ --accent-error: rgb(248, 113, 113); /* red-400 */ --hover-bg: rgb(63, 63, 70, 0.3); /* zinc-700/30 */ --focus-ring: rgb(82, 82, 91); /* zinc-600 */ } } /* ==================== RESET & BASE ==================== */ /* Specific font overrides - don't use universal selector */ 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; } /* Force headings to use heading font */ 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-heading) !important; } /* Force monospace where appropriate */ 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: var(--text-base) !important; line-height: 1.6 !important; /* Reduced from 2rem for tighter spacing */ margin: 0 !important; padding: 0 !important; transition: background-color var(--transition-normal), color var(--transition-normal) !important; } /* ==================== CLEANUP - Keep edit buttons visible ==================== */ #p-search, #p-logo, .mw-wiki-logo, #footer, .printfooter, #catlinks, #f-poweredbyico, #f-copyrightico { display: none !important; } /* Keep edit buttons visible - removed #p-views and #p-cactions from hidden list */ /* ==================== EDIT BUTTONS STYLING - Minimal ==================== */ #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-tertiary) !important; font-family: var(--font-mono) !important; font-size: var(--text-sm) !important; text-decoration: none !important; border-bottom: 1px dotted var(--border-medium) !important; padding: 1px 2px !important; transition: all var(--transition-fast) !important; background: transparent !important; border-radius: 0 !important; } #p-views a:hover, #p-cactions a:hover { color: var(--text-primary) !important; border-bottom-color: var(--text-primary) !important; background: transparent !important; } /* ==================== LAYOUT ==================== */ .mw-body { margin: 0 !important; border: none !important; padding: var(--space-6) !important; /* Reduced from space-8 */ background: transparent !important; max-width: var(--max-width-3xl) !important; margin: 0 auto !important; } #content { margin-left: 0 !important; background: transparent !important; border: none !important; } /* ==================== TYPOGRAPHY ==================== */ .mw-body h1 { color: var(--text-primary) !important; font-family: var(--font-heading) !important; font-size: var(--text-4xl) !important; font-weight: 400 !important; line-height: 1.2 !important; margin: 0 0 var(--space-5) 0 !important; /* Reduced from space-6 */ border-bottom: none !important; } .mw-body h2 { color: var(--text-primary) !important; font-family: var(--font-heading) !important; font-size: var(--text-3xl) !important; font-weight: 400 !important; line-height: 1.3 !important; margin: var(--space-6) 0 var(--space-3) 0 !important; /* Reduced bottom margin */ border-bottom: 1px dotted var(--border-medium) !important; padding-bottom: var(--space-2) !important; } .mw-body h3 { color: var(--text-primary) !important; font-family: var(--font-primary) !important; font-size: var(--text-lg) !important; font-weight: 600 !important; margin: var(--space-5) 0 var(--space-3) 0 !important; /* Reduced margins */ } /* Removed geometric symbols */ /* Body text */ .mw-body p { color: var(--text-primary) !important; font-family: var(--font-primary) !important; font-size: var(--text-base) !important; line-height: 1.6 !important; /* Reduced from 2rem */ margin-bottom: var(--space-4) !important; /* Reduced from space-6 */ } /* ==================== LINKS - Clean and simple ==================== */ .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-fast) !important; } .mw-body a:not(.external):hover { color: var(--text-primary) !important; border-bottom-color: var(--text-primary) !important; background: var(--hover-bg) !important; } /* External links - keep accent color */ .mw-body a.external { color: var(--accent-primary) !important; text-decoration: none !important; border-bottom: 1px solid var(--accent-primary) !important; padding: 1px 2px !important; transition: all var(--transition-fast) !important; } .mw-body a.external:hover { background: var(--hover-bg) !important; border-bottom-color: var(--accent-primary) !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; }