الفرق بين المراجعتين لصفحة: «ميدياويكي:Common.css»
المظهر
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر ١: | سطر ١: | ||
/* =========================================================================== | /* =========================================================================== | ||
PROFESSIONAL FORMAL TIMELESS WIKI DESIGN | |||
=========================================================================== */ | =========================================================================== */ | ||
/* CSS Variables for | /* CSS Variables for Professional Color Palette */ | ||
:root { | :root { | ||
/* | /* Professional Primary Colors */ | ||
- | --primary: #2563eb; | ||
- | --primary-light: #3b82f6; | ||
- | --primary-dark: #1d4ed8; | ||
/* | /* Professional Secondary Colors */ | ||
- | --secondary: #64748b; | ||
- | --secondary-light: #94a3b8; | ||
-- | --secondary-dark: #475569; | ||
/* | /* Professional Neutral Colors */ | ||
-- | --bg-primary: #ffffff; | ||
- | --bg-secondary: #f8fafc; | ||
-- | --bg-tertiary: #f1f5f9; | ||
- | --surface: #ffffff; | ||
-- | --surface-hover: #f8fafc; | ||
/* | /* Professional Border Colors */ | ||
-- | --border-primary: #e2e8f0; | ||
-- | --border-secondary: #cbd5e1; | ||
-- | --border-accent: #2563eb; | ||
/* | /* Professional Text Colors */ | ||
-- | --text-primary: #1e293b; | ||
-- | --text-secondary: #475569; | ||
-- | --text-muted: #64748b; | ||
-- | --text-inverse: #ffffff; | ||
/* | /* Professional Accent Colors */ | ||
-- | --accent-blue: #0ea5e9; | ||
-- | --accent-success: #059669; | ||
--accent-warning: #d97706; | |||
--accent-error: #dc2626; | |||
/* | /* Professional Typography */ | ||
-- | --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; | ||
--font-secondary: Georgia, 'Times New Roman', serif; | |||
--font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace; | |||
-- | |||
-- | |||
/* Shadows */ | /* Professional Spacing System */ | ||
--space-1: 0.25rem; | |||
--space-2: 0.5rem; | |||
--space-3: 0.75rem; | |||
--space-4: 1rem; | |||
--space-5: 1.25rem; | |||
--space-6: 1.5rem; | |||
--space-8: 2rem; | |||
--space-10: 2.5rem; | |||
--space-12: 3rem; | |||
--space-16: 4rem; | |||
/* Professional Shadows */ | |||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); | --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); | ||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); | --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); | ||
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); | --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); | ||
/* Border Radius */ | /* Professional Border Radius */ | ||
--radius-sm: 0. | --radius-sm: 0.25rem; | ||
--radius-md: 0. | --radius-md: 0.375rem; | ||
--radius-lg: 0. | --radius-lg: 0.5rem; | ||
/* Transitions */ | /* Professional Transitions */ | ||
--transition | --transition: 0.2s ease-in-out; | ||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
GLOBAL STYLES | GLOBAL RESET & BASE STYLES | ||
=========================================================================== */ | =========================================================================== */ | ||
* { | * { | ||
box-sizing: border-box; | box-sizing: border-box; | ||
margin: 0; | |||
padding: 0; | |||
} | } | ||
html { | html { | ||
font-size: 16px; | font-size: 16px; | ||
line-height: 1.5; | |||
} | } | ||
سطر ٨٣: | سطر ٨٩: | ||
font-size: 1rem; | font-size: 1rem; | ||
line-height: 1.6; | line-height: 1.6; | ||
color: var(- | color: var(--text-primary); | ||
background: | background-color: var(--bg-secondary); | ||
-webkit-font-smoothing: antialiased; | |||
-moz-osx-font-smoothing: grayscale; | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
TYPOGRAPHY | PROFESSIONAL TYPOGRAPHY | ||
=========================================================================== */ | =========================================================================== */ | ||
h1, h2, h3, h4, h5, h6 { | h1, h2, h3, h4, h5, h6 { | ||
font-family: var(--font-primary); | |||
font-weight: 600; | font-weight: 600; | ||
line-height: 1. | line-height: 1.25; | ||
color: var(--text-primary); | |||
color: var(-- | margin-bottom: var(--space-4); | ||
} | } | ||
h1 { | h1 { | ||
font-size: 2. | font-size: 2.25rem; | ||
font-weight: 700; | font-weight: 700; | ||
color: var(--primary-dark); | |||
- | margin-bottom: var(--space-6); | ||
letter-spacing: -0.025em; | |||
} | } | ||
h2 { | h2 { | ||
font-size: | font-size: 1.875rem; | ||
color: var(--primary); | |||
padding-bottom: var(-- | margin-top: var(--space-8); | ||
margin-bottom: var(--space-5); | |||
padding-bottom: var(--space-3); | |||
border-bottom: 2px solid var(--border-primary); | |||
} | } | ||
h3 { | h3 { | ||
font-size: 1.5rem; | font-size: 1.5rem; | ||
color: var(-- | color: var(--primary); | ||
margin-top: var(--space-6); | |||
} | } | ||
h4 { | h4 { | ||
font-size: 1.25rem; | font-size: 1.25rem; | ||
color: var(--text-primary); | |||
margin-top: var(--space-5); | |||
} | } | ||
h5 { | h5 { | ||
font-size: 1.125rem; | font-size: 1.125rem; | ||
color: var(--text-primary); | |||
margin-top: var(--space-4); | |||
} | } | ||
h6 { | h6 { | ||
font-size: 1rem; | font-size: 1rem; | ||
color: var(--text-secondary); | |||
text-transform: uppercase; | text-transform: uppercase; | ||
letter-spacing: 0.05em; | letter-spacing: 0.05em; | ||
font-weight: 600; | |||
margin-top: var(--space-4); | |||
} | } | ||
p { | p { | ||
margin: | margin-bottom: var(--space-4); | ||
color: var(- | color: var(--text-secondary); | ||
line-height: 1.7; | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
LAYOUT | PROFESSIONAL LAYOUT | ||
=========================================================================== */ | =========================================================================== */ | ||
.mw-body-container { | .mw-body-container { | ||
max-width: | max-width: 1200px; | ||
margin: 0; | margin: 0 auto; | ||
padding: | padding: var(--space-6); | ||
} | } | ||
.mw-body { | .mw-body { | ||
background: var(-- | background: var(--bg-primary); | ||
border: 1px solid var(--border-primary); | |||
border-radius: var(--radius- | border-radius: var(--radius-lg); | ||
box-shadow: var(--shadow-sm); | |||
overflow: hidden; | |||
} | } | ||
.mw- | .mw-content-container { | ||
padding: var(--space-8); | |||
} | } | ||
.mw-content | .mw-content { | ||
max-width: | max-width: 100%; | ||
font-size: 1rem; | |||
line-height: 1.7; | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
HEADER | PROFESSIONAL HEADER | ||
=========================================================================== */ | =========================================================================== */ | ||
.mw-header { | .mw-header { | ||
background: | background: var(--bg-primary); | ||
border-bottom: 1px solid var(--border-primary); | |||
padding: var(-- | padding: var(--space-4) 0; | ||
position: sticky; | position: sticky; | ||
top: 0; | top: 0; | ||
z-index: | z-index: 100; | ||
backdrop-filter: blur( | backdrop-filter: blur(8px); | ||
} | } | ||
سطر ١٩٢: | سطر ٢٠٢: | ||
max-width: 1200px; | max-width: 1200px; | ||
margin: 0 auto; | margin: 0 auto; | ||
padding: 0 var(-- | padding: 0 var(--space-6); | ||
display: flex; | display: flex; | ||
align-items: center; | align-items: center; | ||
سطر ٢٠١: | سطر ٢١١: | ||
font-size: 1.5rem; | font-size: 1.5rem; | ||
font-weight: 700; | font-weight: 700; | ||
color: var(--primary); | |||
text-decoration: none; | text-decoration: none; | ||
transition: var(--transition); | |||
transition: | |||
} | } | ||
.mw-logo:hover { | .mw-logo:hover { | ||
color: var(--primary-light); | |||
} | } | ||
/* | /* =========================================================================== | ||
PROFESSIONAL NAVIGATION | |||
=========================================================================== */ | |||
.mw-portlet { | .mw-portlet { | ||
background: var(-- | background: var(--bg-primary); | ||
border | border: 1px solid var(--border-primary); | ||
border-radius: var(--radius-md); | |||
margin: var(-- | margin-bottom: var(--space-4); | ||
overflow: hidden; | overflow: hidden; | ||
} | } | ||
.mw-portlet-head { | .mw-portlet-head { | ||
background: | background: var(--bg-tertiary); | ||
color: var(--text-primary); | |||
padding: var(--space-3) var(--space-4); | |||
font-weight: 600; | font-weight: 600; | ||
font-size: 0.875rem; | |||
text-transform: uppercase; | text-transform: uppercase; | ||
letter-spacing: 0.05em; | letter-spacing: 0.05em; | ||
border-bottom: 1px solid var(--border-primary); | |||
} | } | ||
.mw-portlet-body { | .mw-portlet-body { | ||
padding: var(-- | padding: var(--space-2); | ||
} | } | ||
.mw-portlet-body ul { | .mw-portlet-body ul { | ||
list-style: none; | list-style: none; | ||
} | } | ||
سطر ٢٥٢: | سطر ٢٥٧: | ||
.mw-portlet-body a { | .mw-portlet-body a { | ||
display: block; | display: block; | ||
padding: var(-- | padding: var(--space-2) var(--space-4); | ||
color: var(- | color: var(--text-secondary); | ||
text-decoration: none; | text-decoration: none; | ||
border-radius: var(--radius-sm); | border-radius: var(--radius-sm); | ||
transition: | transition: var(--transition); | ||
font-size: 0.9375rem; | |||
} | } | ||
.mw-portlet-body a:hover { | .mw-portlet-body a:hover { | ||
background: var(- | background: var(--surface-hover); | ||
color: var(- | color: var(--primary); | ||
} | } | ||
.mw-portlet-body a:active, | |||
.mw-portlet-body a.active { | |||
background: var(--primary); | |||
color: var(--text-inverse); | |||
.mw- | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
LINKS | PROFESSIONAL LINKS | ||
=========================================================================== */ | =========================================================================== */ | ||
a { | a { | ||
color: var(- | color: var(--primary); | ||
text-decoration: none; | text-decoration: none; | ||
transition: | transition: var(--transition); | ||
} | } | ||
a:hover { | a:hover { | ||
color: var(- | color: var(--primary-light); | ||
text-decoration: underline; | |||
} | } | ||
a:visited { | a:visited { | ||
color: var(- | color: var(--primary-dark); | ||
} | } | ||
/* External | /* External links */ | ||
a.external::after { | a.external::after { | ||
content: '↗'; | content: ' ↗'; | ||
font-size: 0.75em; | font-size: 0.75em; | ||
color: var(--text-muted); | |||
margin-left: 0.25em; | margin-left: 0.25em; | ||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
TABLES | PROFESSIONAL TABLES | ||
=========================================================================== */ | =========================================================================== */ | ||
سطر ٣٤٥: | سطر ٣١٠: | ||
width: 100%; | width: 100%; | ||
border-collapse: collapse; | border-collapse: collapse; | ||
margin: var(-- | margin: var(--space-6) 0; | ||
background: var(-- | background: var(--bg-primary); | ||
border-radius: var(--radius- | border: 1px solid var(--border-primary); | ||
border-radius: var(--radius-md); | |||
overflow: hidden; | overflow: hidden; | ||
} | } | ||
th { | th { | ||
background: | background: var(--bg-tertiary); | ||
color: var(--text-primary); | |||
padding: var(--space-3) var(--space-4); | |||
text-align: left; | text-align: left; | ||
font-weight: 600; | font-weight: 600; | ||
font-size: 0.875rem; | |||
text-transform: uppercase; | text-transform: uppercase; | ||
letter-spacing: 0.05em; | letter-spacing: 0.05em; | ||
border-bottom: 1px solid var(--border-primary); | |||
} | } | ||
td { | td { | ||
padding: var(-- | padding: var(--space-3) var(--space-4); | ||
border-bottom: 1px solid var(- | border-bottom: 1px solid var(--border-primary); | ||
color: var(--text-secondary); | |||
vertical-align: top; | |||
} | } | ||
tr:hover | tr:hover { | ||
background: var(-- | background: var(--surface-hover); | ||
} | } | ||
سطر ٣٧٨: | سطر ٣٤٥: | ||
/* =========================================================================== | /* =========================================================================== | ||
FORMS | PROFESSIONAL FORMS | ||
=========================================================================== */ | =========================================================================== */ | ||
سطر ٣٨٨: | سطر ٣٥٥: | ||
select { | select { | ||
width: 100%; | width: 100%; | ||
padding: var(-- | padding: var(--space-3) var(--space-4); | ||
border: | border: 1px solid var(--border-secondary); | ||
border-radius: var(--radius-md); | border-radius: var(--radius-md); | ||
font-family: var(--font-primary); | font-family: var(--font-primary); | ||
font-size: 1rem; | font-size: 1rem; | ||
color: var(--text-primary); | |||
background: var(-- | background: var(--bg-primary); | ||
transition: var(--transition); | |||
} | } | ||
سطر ٤٠٥: | سطر ٣٧٢: | ||
select:focus { | select:focus { | ||
outline: none; | outline: none; | ||
border-color: var(- | border-color: var(--primary); | ||
box-shadow: 0 0 0 3px rgba( | box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); | ||
} | } | ||
سطر ٤١٣: | سطر ٣٧٩: | ||
input[type="submit"], | input[type="submit"], | ||
.mw-ui-button { | .mw-ui-button { | ||
padding: var(-- | padding: var(--space-3) var(--space-6); | ||
background: | background: var(--primary); | ||
color: var(- | color: var(--text-inverse); | ||
border: none; | border: none; | ||
border-radius: var(--radius-md); | border-radius: var(--radius-md); | ||
font-family: var(--font-primary); | font-family: var(--font-primary); | ||
font-size: 0.9375rem; | |||
font-weight: 600; | font-weight: 600; | ||
cursor: pointer; | |||
transition: var(--transition); | |||
text-transform: uppercase; | text-transform: uppercase; | ||
letter-spacing: 0.05em; | letter-spacing: 0.05em; | ||
} | } | ||
سطر ٤٤٥: | سطر ٣٩٦: | ||
input[type="submit"]:hover, | input[type="submit"]:hover, | ||
.mw-ui-button:hover { | .mw-ui-button:hover { | ||
background: var(--primary-light); | |||
} | } | ||
سطر ٤٥٨: | سطر ٤٠٢: | ||
input[type="submit"]:active, | input[type="submit"]:active, | ||
.mw-ui-button:active { | .mw-ui-button:active { | ||
background: var(--primary-dark); | |||
} | |||
/* Secondary button style */ | |||
.mw-ui-button.mw-ui-quiet { | |||
background: transparent; | |||
color: var(--primary); | |||
border: 1px solid var(--primary); | |||
} | |||
.mw-ui-button.mw-ui-quiet:hover { | |||
background: var(--primary); | |||
color: var(--text-inverse); | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
CODE BLOCKS | PROFESSIONAL CODE BLOCKS | ||
=========================================================================== */ | =========================================================================== */ | ||
code { | code { | ||
background: var(-- | background: var(--bg-tertiary); | ||
padding: var(-- | color: var(--text-primary); | ||
padding: var(--space-1) var(--space-2); | |||
border-radius: var(--radius-sm); | border-radius: var(--radius-sm); | ||
font-family: var(--font-mono); | font-family: var(--font-mono); | ||
font-size: 0.875rem; | font-size: 0.875rem; | ||
border: 1px solid var(--border-primary); | |||
border: 1px solid var(- | |||
} | } | ||
pre { | pre { | ||
background: var(-- | background: var(--bg-tertiary); | ||
color: var(- | color: var(--text-primary); | ||
padding: var(-- | padding: var(--space-4); | ||
border-radius: var(--radius- | border-radius: var(--radius-md); | ||
overflow-x: auto; | overflow-x: auto; | ||
margin: var(-- | margin: var(--space-6) 0; | ||
border: 1px solid var(--border-primary); | |||
font-family: var(--font-mono); | |||
font-size: 0.875rem; | |||
line-height: 1.5; | |||
} | } | ||
سطر ٤٩٤: | سطر ٤٥٢: | ||
/* =========================================================================== | /* =========================================================================== | ||
BLOCKQUOTES | PROFESSIONAL BLOCKQUOTES | ||
=========================================================================== */ | =========================================================================== */ | ||
blockquote { | blockquote { | ||
margin: var(-- | margin: var(--space-6) 0; | ||
padding: var(-- | padding: var(--space-4) var(--space-6); | ||
background: var(- | background: var(--bg-tertiary); | ||
border-left: 4px solid var(-- | border-left: 4px solid var(--primary); | ||
border-radius: var(--radius-md); | border-radius: var(--radius-md); | ||
color: var(--text-secondary); | |||
font-style: italic; | font-style: italic; | ||
position: relative; | position: relative; | ||
} | } | ||
blockquote: | blockquote p:last-child { | ||
margin-bottom: 0; | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
LISTS | PROFESSIONAL LISTS | ||
=========================================================================== */ | =========================================================================== */ | ||
ul, ol { | ul, ol { | ||
padding-left: var(-- | padding-left: var(--space-6); | ||
margin: var(-- | margin: var(--space-4) 0; | ||
} | } | ||
li { | li { | ||
margin: var(-- | margin: var(--space-2) 0; | ||
color: var(- | color: var(--text-secondary); | ||
line-height: 1.6; | |||
} | } | ||
li::marker { | ul li::marker { | ||
color: var(-- | color: var(--primary); | ||
} | |||
ol li::marker { | |||
color: var(--primary); | |||
font-weight: 600; | |||
} | |||
/* Definition lists */ | |||
dl { | |||
margin: var(--space-4) 0; | |||
} | |||
dt { | |||
font-weight: 600; | |||
color: var(--text-primary); | |||
margin-top: var(--space-3); | |||
} | |||
dd { | |||
margin-left: var(--space-4); | |||
color: var(--text-secondary); | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
IMAGES | PROFESSIONAL IMAGES | ||
=========================================================================== */ | =========================================================================== */ | ||
سطر ٥٤٥: | سطر ٥١٨: | ||
height: auto; | height: auto; | ||
border-radius: var(--radius-md); | border-radius: var(--radius-md); | ||
border: 1px solid var(--border-primary); | |||
} | } | ||
.thumb { | .thumb { | ||
background: var(-- | background: var(--bg-primary); | ||
border-radius: var(--radius- | border: 1px solid var(--border-primary); | ||
padding: var(-- | border-radius: var(--radius-md); | ||
margin: var(-- | padding: var(--space-3); | ||
margin: var(--space-4); | |||
box-shadow: var(--shadow-sm); | box-shadow: var(--shadow-sm); | ||
} | } | ||
. | .thumbcaption { | ||
color: var(--text-muted); | |||
font-size: 0.875rem; | |||
margin-top: var(--space-2); | |||
text-align: center; | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
SEARCH | PROFESSIONAL SEARCH | ||
=========================================================================== */ | =========================================================================== */ | ||
.mw-search-form { | .mw-search-form { | ||
background: var(-- | background: var(--bg-primary); | ||
border: 1px solid var(--border-primary); | |||
border-radius: var(--radius- | border-radius: var(--radius-md); | ||
padding: var(--space-4); | |||
margin: var(-- | margin: var(--space-6) 0; | ||
} | } | ||
.mw-search-form input[type="search"] { | .mw-search-form input[type="search"] { | ||
font-size: 1rem; | |||
margin-bottom: var(--space-3); | |||
} | |||
/* =========================================================================== | |||
PROFESSIONAL MESSAGES & ALERTS | |||
=========================================================================== */ | |||
.mw-message { | |||
padding: var(--space-4); | |||
border-radius: var(--radius-md); | border-radius: var(--radius-md); | ||
margin: var(--space-4) 0; | |||
border-left: 4px solid; | |||
} | |||
.mw-message.mw-message-success { | |||
background: #f0fdf4; | |||
border-color: var(--accent-success); | |||
color: #166534; | |||
} | |||
.mw-message.mw-message-warning { | |||
background: #fefbf1; | |||
border-color: var(--accent-warning); | |||
color: #92400e; | |||
} | |||
.mw-message.mw-message-error { | |||
background: #fef2f2; | |||
border-color: var(--accent-error); | |||
color: #991b1b; | |||
} | } | ||
.mw- | .mw-message.mw-message-info { | ||
background: #eff6ff; | |||
border-color: var(--accent-blue); | |||
color: #1e40af; | |||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
RESPONSIVE DESIGN | PROFESSIONAL RESPONSIVE DESIGN | ||
=========================================================================== */ | =========================================================================== */ | ||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
.mw-body-container { | |||
padding: var(--space-4); | |||
} | } | ||
.mw- | .mw-content-container { | ||
padding: var(--space-6); | |||
padding: var(-- | |||
} | } | ||
.mw-header | .mw-header-container { | ||
padding: 0 var(--space-4); | |||
padding: 0 var(-- | |||
} | } | ||
h1 { | h1 { | ||
font-size: | font-size: 1.875rem; | ||
} | } | ||
سطر ٦٢٠: | سطر ٦١٤: | ||
} | } | ||
h3 { | |||
font-size: 1.25rem; | |||
} | } | ||
سطر ٦٢٩: | سطر ٦٢٣: | ||
th, td { | th, td { | ||
padding: var(-- | padding: var(--space-2) var(--space-3); | ||
} | } | ||
} | } | ||
@media (max-width: 480px) { | @media (max-width: 480px) { | ||
.mw-body-container { | |||
padding: var(--space-2); | |||
} | } | ||
.mw-content-container { | |||
padding: var(--space-4); | |||
} | } | ||
.mw- | .mw-header-container { | ||
padding: 0 var(--space-2); | |||
padding: var(-- | |||
} | } | ||
. | h1 { | ||
font-size: 1.5rem; | |||
} | |||
h2 { | |||
font-size: 1.25rem; | |||
} | } | ||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
PROFESSIONAL PRINT STYLES | |||
=========================================================================== */ | =========================================================================== */ | ||
@ | @media print { | ||
* { | |||
background: transparent !important; | |||
color: black !important; | |||
box-shadow: none !important; | |||
text-shadow: none !important; | |||
} | } | ||
a, | |||
a:visited { | |||
text-decoration: underline; | |||
} | } | ||
} | |||
a[href]:after { | |||
content: " (" attr(href) ")"; | |||
} | |||
abbr[title]:after { | |||
content: " (" attr(title) ")"; | |||
} | |||
.mw-header, | |||
.mw-portlet { | |||
display: none; | |||
} | } | ||
h1, h2, h3, h4, h5, h6 { | |||
page-break-after: avoid; | |||
} | } | ||
p, blockquote { | |||
orphans: 3; | |||
widows: 3; | |||
} | } | ||
blockquote { | |||
page-break-inside: avoid; | |||
} | } | ||
} | } | ||
/* =========================================================================== | /* =========================================================================== | ||
ACCESSIBILITY | PROFESSIONAL ACCESSIBILITY | ||
=========================================================================== */ | =========================================================================== */ | ||
/* Focus | /* Focus styles */ | ||
*:focus { | *:focus { | ||
outline: 2px solid var(-- | outline: 2px solid var(--primary); | ||
outline-offset: 2px; | outline-offset: 2px; | ||
} | } | ||
/* Reduced motion | /* Reduced motion */ | ||
@media (prefers-reduced-motion: reduce) { | @media (prefers-reduced-motion: reduce) { | ||
* { | * { | ||
سطر ٧٢٣: | سطر ٧١٥: | ||
@media (prefers-contrast: high) { | @media (prefers-contrast: high) { | ||
:root { | :root { | ||
-- | --border-primary: #000000; | ||
- | --text-primary: #000000; | ||
- | --text-secondary: #000000; | ||
} | } | ||
} | } |
مراجعة ١٠:٤٧، ٨ يوليو ٢٠٢٥
/* ===========================================================================
PROFESSIONAL FORMAL TIMELESS WIKI DESIGN
=========================================================================== */
/* CSS Variables for Professional Color Palette */
:root {
/* Professional Primary Colors */
--primary: #2563eb;
--primary-light: #3b82f6;
--primary-dark: #1d4ed8;
/* Professional Secondary Colors */
--secondary: #64748b;
--secondary-light: #94a3b8;
--secondary-dark: #475569;
/* Professional Neutral Colors */
--bg-primary: #ffffff;
--bg-secondary: #f8fafc;
--bg-tertiary: #f1f5f9;
--surface: #ffffff;
--surface-hover: #f8fafc;
/* Professional Border Colors */
--border-primary: #e2e8f0;
--border-secondary: #cbd5e1;
--border-accent: #2563eb;
/* Professional Text Colors */
--text-primary: #1e293b;
--text-secondary: #475569;
--text-muted: #64748b;
--text-inverse: #ffffff;
/* Professional Accent Colors */
--accent-blue: #0ea5e9;
--accent-success: #059669;
--accent-warning: #d97706;
--accent-error: #dc2626;
/* Professional Typography */
--font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
--font-secondary: Georgia, 'Times New Roman', serif;
--font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;
/* Professional Spacing System */
--space-1: 0.25rem;
--space-2: 0.5rem;
--space-3: 0.75rem;
--space-4: 1rem;
--space-5: 1.25rem;
--space-6: 1.5rem;
--space-8: 2rem;
--space-10: 2.5rem;
--space-12: 3rem;
--space-16: 4rem;
/* Professional Shadows */
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
/* Professional Border Radius */
--radius-sm: 0.25rem;
--radius-md: 0.375rem;
--radius-lg: 0.5rem;
/* Professional Transitions */
--transition: 0.2s ease-in-out;
}
/* ===========================================================================
GLOBAL RESET & BASE STYLES
=========================================================================== */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
font-size: 16px;
line-height: 1.5;
}
body {
font-family: var(--font-primary);
font-size: 1rem;
line-height: 1.6;
color: var(--text-primary);
background-color: var(--bg-secondary);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* ===========================================================================
PROFESSIONAL TYPOGRAPHY
=========================================================================== */
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-primary);
font-weight: 600;
line-height: 1.25;
color: var(--text-primary);
margin-bottom: var(--space-4);
}
h1 {
font-size: 2.25rem;
font-weight: 700;
color: var(--primary-dark);
margin-bottom: var(--space-6);
letter-spacing: -0.025em;
}
h2 {
font-size: 1.875rem;
color: var(--primary);
margin-top: var(--space-8);
margin-bottom: var(--space-5);
padding-bottom: var(--space-3);
border-bottom: 2px solid var(--border-primary);
}
h3 {
font-size: 1.5rem;
color: var(--primary);
margin-top: var(--space-6);
}
h4 {
font-size: 1.25rem;
color: var(--text-primary);
margin-top: var(--space-5);
}
h5 {
font-size: 1.125rem;
color: var(--text-primary);
margin-top: var(--space-4);
}
h6 {
font-size: 1rem;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 0.05em;
font-weight: 600;
margin-top: var(--space-4);
}
p {
margin-bottom: var(--space-4);
color: var(--text-secondary);
line-height: 1.7;
}
/* ===========================================================================
PROFESSIONAL LAYOUT
=========================================================================== */
.mw-body-container {
max-width: 1200px;
margin: 0 auto;
padding: var(--space-6);
}
.mw-body {
background: var(--bg-primary);
border: 1px solid var(--border-primary);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
overflow: hidden;
}
.mw-content-container {
padding: var(--space-8);
}
.mw-content {
max-width: 100%;
font-size: 1rem;
line-height: 1.7;
}
/* ===========================================================================
PROFESSIONAL HEADER
=========================================================================== */
.mw-header {
background: var(--bg-primary);
border-bottom: 1px solid var(--border-primary);
padding: var(--space-4) 0;
position: sticky;
top: 0;
z-index: 100;
backdrop-filter: blur(8px);
}
.mw-header-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--space-6);
display: flex;
align-items: center;
justify-content: space-between;
}
.mw-logo {
font-size: 1.5rem;
font-weight: 700;
color: var(--primary);
text-decoration: none;
transition: var(--transition);
}
.mw-logo:hover {
color: var(--primary-light);
}
/* ===========================================================================
PROFESSIONAL NAVIGATION
=========================================================================== */
.mw-portlet {
background: var(--bg-primary);
border: 1px solid var(--border-primary);
border-radius: var(--radius-md);
margin-bottom: var(--space-4);
overflow: hidden;
}
.mw-portlet-head {
background: var(--bg-tertiary);
color: var(--text-primary);
padding: var(--space-3) var(--space-4);
font-weight: 600;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.05em;
border-bottom: 1px solid var(--border-primary);
}
.mw-portlet-body {
padding: var(--space-2);
}
.mw-portlet-body ul {
list-style: none;
}
.mw-portlet-body li {
margin: 0;
}
.mw-portlet-body a {
display: block;
padding: var(--space-2) var(--space-4);
color: var(--text-secondary);
text-decoration: none;
border-radius: var(--radius-sm);
transition: var(--transition);
font-size: 0.9375rem;
}
.mw-portlet-body a:hover {
background: var(--surface-hover);
color: var(--primary);
}
.mw-portlet-body a:active,
.mw-portlet-body a.active {
background: var(--primary);
color: var(--text-inverse);
}
/* ===========================================================================
PROFESSIONAL LINKS
=========================================================================== */
a {
color: var(--primary);
text-decoration: none;
transition: var(--transition);
}
a:hover {
color: var(--primary-light);
text-decoration: underline;
}
a:visited {
color: var(--primary-dark);
}
/* External links */
a.external::after {
content: ' ↗';
font-size: 0.75em;
color: var(--text-muted);
margin-left: 0.25em;
}
/* ===========================================================================
PROFESSIONAL TABLES
=========================================================================== */
table {
width: 100%;
border-collapse: collapse;
margin: var(--space-6) 0;
background: var(--bg-primary);
border: 1px solid var(--border-primary);
border-radius: var(--radius-md);
overflow: hidden;
}
th {
background: var(--bg-tertiary);
color: var(--text-primary);
padding: var(--space-3) var(--space-4);
text-align: left;
font-weight: 600;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.05em;
border-bottom: 1px solid var(--border-primary);
}
td {
padding: var(--space-3) var(--space-4);
border-bottom: 1px solid var(--border-primary);
color: var(--text-secondary);
vertical-align: top;
}
tr:hover {
background: var(--surface-hover);
}
tr:last-child td {
border-bottom: none;
}
/* ===========================================================================
PROFESSIONAL FORMS
=========================================================================== */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
textarea,
select {
width: 100%;
padding: var(--space-3) var(--space-4);
border: 1px solid var(--border-secondary);
border-radius: var(--radius-md);
font-family: var(--font-primary);
font-size: 1rem;
color: var(--text-primary);
background: var(--bg-primary);
transition: var(--transition);
}
input[type="text"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
button,
input[type="submit"],
.mw-ui-button {
padding: var(--space-3) var(--space-6);
background: var(--primary);
color: var(--text-inverse);
border: none;
border-radius: var(--radius-md);
font-family: var(--font-primary);
font-size: 0.9375rem;
font-weight: 600;
cursor: pointer;
transition: var(--transition);
text-transform: uppercase;
letter-spacing: 0.05em;
}
button:hover,
input[type="submit"]:hover,
.mw-ui-button:hover {
background: var(--primary-light);
}
button:active,
input[type="submit"]:active,
.mw-ui-button:active {
background: var(--primary-dark);
}
/* Secondary button style */
.mw-ui-button.mw-ui-quiet {
background: transparent;
color: var(--primary);
border: 1px solid var(--primary);
}
.mw-ui-button.mw-ui-quiet:hover {
background: var(--primary);
color: var(--text-inverse);
}
/* ===========================================================================
PROFESSIONAL CODE BLOCKS
=========================================================================== */
code {
background: var(--bg-tertiary);
color: var(--text-primary);
padding: var(--space-1) var(--space-2);
border-radius: var(--radius-sm);
font-family: var(--font-mono);
font-size: 0.875rem;
border: 1px solid var(--border-primary);
}
pre {
background: var(--bg-tertiary);
color: var(--text-primary);
padding: var(--space-4);
border-radius: var(--radius-md);
overflow-x: auto;
margin: var(--space-6) 0;
border: 1px solid var(--border-primary);
font-family: var(--font-mono);
font-size: 0.875rem;
line-height: 1.5;
}
pre code {
background: transparent;
padding: 0;
border: none;
color: inherit;
}
/* ===========================================================================
PROFESSIONAL BLOCKQUOTES
=========================================================================== */
blockquote {
margin: var(--space-6) 0;
padding: var(--space-4) var(--space-6);
background: var(--bg-tertiary);
border-left: 4px solid var(--primary);
border-radius: var(--radius-md);
color: var(--text-secondary);
font-style: italic;
position: relative;
}
blockquote p:last-child {
margin-bottom: 0;
}
/* ===========================================================================
PROFESSIONAL LISTS
=========================================================================== */
ul, ol {
padding-left: var(--space-6);
margin: var(--space-4) 0;
}
li {
margin: var(--space-2) 0;
color: var(--text-secondary);
line-height: 1.6;
}
ul li::marker {
color: var(--primary);
}
ol li::marker {
color: var(--primary);
font-weight: 600;
}
/* Definition lists */
dl {
margin: var(--space-4) 0;
}
dt {
font-weight: 600;
color: var(--text-primary);
margin-top: var(--space-3);
}
dd {
margin-left: var(--space-4);
color: var(--text-secondary);
}
/* ===========================================================================
PROFESSIONAL IMAGES
=========================================================================== */
img {
max-width: 100%;
height: auto;
border-radius: var(--radius-md);
border: 1px solid var(--border-primary);
}
.thumb {
background: var(--bg-primary);
border: 1px solid var(--border-primary);
border-radius: var(--radius-md);
padding: var(--space-3);
margin: var(--space-4);
box-shadow: var(--shadow-sm);
}
.thumbcaption {
color: var(--text-muted);
font-size: 0.875rem;
margin-top: var(--space-2);
text-align: center;
}
/* ===========================================================================
PROFESSIONAL SEARCH
=========================================================================== */
.mw-search-form {
background: var(--bg-primary);
border: 1px solid var(--border-primary);
border-radius: var(--radius-md);
padding: var(--space-4);
margin: var(--space-6) 0;
}
.mw-search-form input[type="search"] {
font-size: 1rem;
margin-bottom: var(--space-3);
}
/* ===========================================================================
PROFESSIONAL MESSAGES & ALERTS
=========================================================================== */
.mw-message {
padding: var(--space-4);
border-radius: var(--radius-md);
margin: var(--space-4) 0;
border-left: 4px solid;
}
.mw-message.mw-message-success {
background: #f0fdf4;
border-color: var(--accent-success);
color: #166534;
}
.mw-message.mw-message-warning {
background: #fefbf1;
border-color: var(--accent-warning);
color: #92400e;
}
.mw-message.mw-message-error {
background: #fef2f2;
border-color: var(--accent-error);
color: #991b1b;
}
.mw-message.mw-message-info {
background: #eff6ff;
border-color: var(--accent-blue);
color: #1e40af;
}
/* ===========================================================================
PROFESSIONAL RESPONSIVE DESIGN
=========================================================================== */
@media (max-width: 768px) {
.mw-body-container {
padding: var(--space-4);
}
.mw-content-container {
padding: var(--space-6);
}
.mw-header-container {
padding: 0 var(--space-4);
}
h1 {
font-size: 1.875rem;
}
h2 {
font-size: 1.5rem;
}
h3 {
font-size: 1.25rem;
}
table {
font-size: 0.875rem;
}
th, td {
padding: var(--space-2) var(--space-3);
}
}
@media (max-width: 480px) {
.mw-body-container {
padding: var(--space-2);
}
.mw-content-container {
padding: var(--space-4);
}
.mw-header-container {
padding: 0 var(--space-2);
}
h1 {
font-size: 1.5rem;
}
h2 {
font-size: 1.25rem;
}
}
/* ===========================================================================
PROFESSIONAL PRINT STYLES
=========================================================================== */
@media print {
* {
background: transparent !important;
color: black !important;
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
.mw-header,
.mw-portlet {
display: none;
}
h1, h2, h3, h4, h5, h6 {
page-break-after: avoid;
}
p, blockquote {
orphans: 3;
widows: 3;
}
blockquote {
page-break-inside: avoid;
}
}
/* ===========================================================================
PROFESSIONAL ACCESSIBILITY
=========================================================================== */
/* Focus styles */
*:focus {
outline: 2px solid var(--primary);
outline-offset: 2px;
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* High contrast mode */
@media (prefers-contrast: high) {
:root {
--border-primary: #000000;
--text-primary: #000000;
--text-secondary: #000000;
}
}