MediaWiki:Timeless.css
From Immortality
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* ============================================================
MediaWiki Timeless — строгий научный стиль
Тема: «Жизнь и смерть» / longevity / biomarkers / biohacking
Вставить в: MediaWiki:Timeless.css
============================================================ */
/* ---------- 1. Токены дизайна ---------- */
body.skin-timeless {
--life-bg-0: #0b1114;
--life-bg-1: #10191d;
--life-bg-2: #162226;
--life-bg-3: #1d2b30;
--life-paper: #f3f0e8;
--life-paper-soft: #e7e1d4;
--life-ink: #172023;
--life-muted: #657174;
--life-teal: #25b8a5;
--life-teal-soft: #d9f3ee;
--life-cyan: #7fd7e8;
--life-green: #67b26f;
--life-blood: #8f2f3f;
--life-blood-soft: #f4d9dc;
--life-gold: #b99a5b;
--life-border: #cfc8ba;
--life-border-dark: #2c3b40;
--life-radius-sm: 4px;
--life-radius-md: 8px;
--life-radius-lg: 14px;
--life-shadow-soft: 0 10px 30px rgba(8, 14, 16, 0.16);
--life-shadow-card: 0 1px 0 rgba(255,255,255,0.55) inset, 0 12px 32px rgba(8,14,16,0.10);
background:
radial-gradient(circle at 18% 0%, rgba(37,184,165,0.13), transparent 34rem),
radial-gradient(circle at 92% 10%, rgba(143,47,63,0.10), transparent 32rem),
linear-gradient(180deg, var(--life-bg-0), var(--life-bg-1));
color: var(--life-ink);
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
font-size: 16px;
line-height: 1.62;
}
/* ---------- 2. Основной контейнер Timeless ---------- */
body.skin-timeless #mw-content-container {
background:
linear-gradient(180deg, rgba(243,240,232,0.98), rgba(231,225,212,0.98)),
repeating-linear-gradient(
90deg,
rgba(23,32,35,0.035) 0,
rgba(23,32,35,0.035) 1px,
transparent 1px,
transparent 80px
);
border-bottom: 4px solid var(--life-teal);
box-shadow: 0 20px 80px rgba(0,0,0,0.25);
}
body.skin-timeless .mw-body {
background: var(--life-paper);
border: 1px solid var(--life-border);
border-radius: var(--life-radius-lg);
box-shadow: var(--life-shadow-soft);
padding: 2.2rem 2.5rem;
}
body.skin-timeless #bodyContentOuter {
max-width: 1280px;
}
/* ---------- 3. Верхняя зона, логотип, поиск ---------- */
body.skin-timeless .mw-header-container,
body.skin-timeless #mw-header-container {
background:
linear-gradient(90deg, rgba(11,17,20,0.98), rgba(16,25,29,0.96)),
linear-gradient(180deg, transparent, rgba(37,184,165,0.08));
border-bottom: 1px solid rgba(127,215,232,0.24);
box-shadow: 0 8px 24px rgba(0,0,0,0.22);
}
body.skin-timeless #p-logo-text a,
body.skin-timeless #p-logo-text a:visited {
color: var(--life-paper);
font-family: Georgia, "Times New Roman", serif;
font-variant: small-caps;
letter-spacing: 0.055em;
text-shadow: 0 0 18px rgba(127,215,232,0.18);
}
body.skin-timeless #p-banner.mw-wiki-title::after {
content: "Жизнь Смерть Данные";
display: block;
margin-top: 0.15rem;
color: #7fd7e8;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.50rem;
letter-spacing: 0.14em;
text-transform: uppercase;
}
body.skin-timeless #simpleSearch {
background: rgba(243,240,232,0.96);
border: 1px solid rgba(127,215,232,0.38);
border-radius: 999px;
box-shadow: inset 0 1px 6px rgba(0,0,0,0.16), 0 0 0 1px rgba(255,255,255,0.04);
overflow: hidden;
}
body.skin-timeless #searchInput {
color: var(--life-ink);
font-size: 0.95rem;
}
body.skin-timeless #searchInput::placeholder {
color: #778488;
}
/* ---------- 4. Навигация и вкладки ---------- */
body.skin-timeless a {
color: #126f76;
text-decoration-thickness: 1px;
text-underline-offset: 0.16em;
}
body.skin-timeless a:visited {
color: #5b4f91;
}
body.skin-timeless a:hover {
color: var(--life-blood);
text-decoration-thickness: 2px;
}
body.skin-timeless .tools-inline li,
body.skin-timeless .mw-portlet li,
body.skin-timeless .vector-menu li {
border-bottom-color: transparent;
}
body.skin-timeless .tools-inline li.selected,
body.skin-timeless .tools-inline li:hover {
border-bottom-color: var(--life-teal);
}
body.skin-timeless .mw-portlet h3,
body.skin-timeless .sidebar-chunk h3,
body.skin-timeless .mw-parser-output h3 {
letter-spacing: 0.025em;
}
/* ---------- 5. Заголовки статьи ---------- */
body.skin-timeless .firstHeading,
body.skin-timeless h1 {
color: var(--life-ink);
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.1rem, 4vw, 3.8rem);
font-weight: 600;
letter-spacing: -0.035em;
line-height: 1.04;
border-bottom: 0;
margin-bottom: 0.7rem;
}
body.skin-timeless .firstHeading::after {
content: "";
display: block;
width: min(28rem, 58%);
height: 3px;
margin-top: 0.65rem;
background: linear-gradient(90deg, var(--life-blood), var(--life-teal), transparent);
border-radius: 999px;
}
body.skin-timeless .mw-parser-output h2 {
position: relative;
margin-top: 2.5rem;
padding: 0.68rem 0 0.55rem 1rem;
color: var(--life-bg-1);
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(1.45rem, 2vw, 2rem);
font-weight: 600;
border-bottom: 1px solid var(--life-border);
}
body.skin-timeless .mw-parser-output h2::before {
content: "";
position: absolute;
left: 0;
top: 0.8rem;
bottom: 0.65rem;
width: 4px;
background: linear-gradient(180deg, var(--life-teal), var(--life-blood));
border-radius: 999px;
}
body.skin-timeless .mw-parser-output h3 {
margin-top: 1.8rem;
color: #243236;
font-size: 1.22rem;
font-weight: 700;
}
/* ---------- 6. Текст, цитаты, научные блоки ---------- */
body.skin-timeless .mw-parser-output p {
max-width: 78ch;
}
body.skin-timeless .mw-parser-output blockquote {
margin: 1.4rem 0;
padding: 1rem 1.25rem 1rem 1.4rem;
background: linear-gradient(90deg, rgba(37,184,165,0.10), rgba(255,255,255,0.3));
border-left: 4px solid var(--life-teal);
border-radius: 0 var(--life-radius-md) var(--life-radius-md) 0;
color: #243236;
}
body.skin-timeless .mw-parser-output hr {
border: 0;
height: 1px;
background: linear-gradient(90deg, transparent, var(--life-border), transparent);
margin: 2.2rem 0;
}
body.skin-timeless .mw-parser-output code,
body.skin-timeless .mw-parser-output pre,
body.skin-timeless code,
body.skin-timeless pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}
body.skin-timeless .mw-parser-output code {
background: #ece7dc;
border: 1px solid #d6cec0;
border-radius: 4px;
color: #263437;
padding: 0.08em 0.32em;
}
body.skin-timeless .mw-parser-output pre {
background:
linear-gradient(180deg, #10191d94, #0b1114d1);
color: #d9f3ee;
border: 1px solid var(--life-border-dark);
border-radius: var(--life-radius-md);
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
padding: 1rem 1.15rem;
}
/* ---------- 7. Оглавление ---------- */
body.skin-timeless #toc,
body.skin-timeless .toc {
background: #eee8dc;
border: 1px solid var(--life-border);
border-radius: var(--life-radius-lg);
box-shadow: var(--life-shadow-card);
padding: 1rem 1.15rem;
}
body.skin-timeless #toc .toctitle,
body.skin-timeless .toc .toctitle {
border-bottom: 1px solid #d7d0c2;
margin-bottom: 0.6rem;
}
body.skin-timeless #toc .toctitle h2,
body.skin-timeless .toc .toctitle h2 {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
font-size: 0.9rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #334347;
}
body.skin-timeless #toc a,
body.skin-timeless .toc a {
color: #213136;
}
/* ---------- 8. Таблицы: научный журнал / biomarker dashboard ---------- */
body.skin-timeless .wikitable,
body.skin-timeless table.wikitable,
body.skin-timeless .mw-parser-output table {
border-collapse: separate;
border-spacing: 0;
background: #f8f5ed;
border: 1px solid var(--life-border);
border-radius: var(--life-radius-md);
box-shadow: 0 8px 24px rgba(8,14,16,0.08);
overflow: hidden;
}
body.skin-timeless .wikitable th,
body.skin-timeless table.wikitable th {
background:
linear-gradient(180deg, #18262a, #10191d);
color: var(--life-paper);
border: 0;
border-right: 1px solid rgba(255,255,255,0.08);
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
font-size: 0.84rem;
letter-spacing: 0.06em;
text-transform: uppercase;
}
body.skin-timeless .wikitable td,
body.skin-timeless table.wikitable td {
border-color: #ddd5c7;
}
body.skin-timeless .wikitable tr:nth-child(even) td {
background: #f0eadf;
}
body.skin-timeless .wikitable tr:hover td {
background: var(--life-teal-soft);
}
/* ---------- 9. Инфобоксы, карточки, боковые блоки ---------- */
body.skin-timeless .infobox,
body.skin-timeless .toccolours,
body.skin-timeless .catlinks,
body.skin-timeless .mw-parser-output .thumbinner {
background: #f8f5ed;
border: 1px solid var(--life-border);
border-radius: var(--life-radius-md);
box-shadow: var(--life-shadow-card);
}
body.skin-timeless .infobox {
border-top: 4px solid var(--life-teal);
}
body.skin-timeless .infobox th,
body.skin-timeless .infobox-title,
body.skin-timeless .infobox-above {
background: linear-gradient(90deg, #10191d, #18262a);
color: var(--life-paper);
font-family: Georgia, "Times New Roman", serif;
letter-spacing: 0.02em;
}
body.skin-timeless .thumbcaption {
color: var(--life-muted);
font-size: 0.92rem;
}
.infobox-table th{
vertical-align: top !important;
}
/* ---------- 10. Категории, уведомления, системные сообщения ---------- */
body.skin-timeless .catlinks {
margin-top: 2rem;
padding: 0.85rem 1rem;
color: #344348;
}
body.skin-timeless .catlinks a {
color: #126f76;
}
body.skin-timeless .mw-message-box,
body.skin-timeless .warningbox,
body.skin-timeless .errorbox,
body.skin-timeless .successbox {
border-radius: var(--life-radius-md);
box-shadow: 0 8px 22px rgba(8,14,16,0.08);
}
body.skin-timeless .warningbox {
background: #fff5df;
border-color: var(--life-gold);
}
body.skin-timeless .errorbox {
background: var(--life-blood-soft);
border-color: var(--life-blood);
}
body.skin-timeless .successbox {
background: var(--life-teal-soft);
border-color: var(--life-teal);
}
/* ---------- 11. Формы, кнопки, действия ---------- */
body.skin-timeless input,
body.skin-timeless textarea,
body.skin-timeless select {
border: 1px solid #bfb7a9;
border-radius: var(--life-radius-sm);
background: #fffdf7;
color: var(--life-ink);
}
body.skin-timeless input:focus,
body.skin-timeless textarea:focus,
body.skin-timeless select:focus {
outline: 2px solid rgba(37,184,165,0.35);
border-color: var(--life-teal);
}
body.skin-timeless .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button,
body.skin-timeless input[type="submit"],
body.skin-timeless button {
border-radius: 999px;
border-color: #12776f;
background: linear-gradient(180deg, #2fc7b3, #168477);
color: #061012;
font-weight: 700;
box-shadow: 0 8px 18px rgba(37,184,165,0.20);
}
body.skin-timeless .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover,
body.skin-timeless input[type="submit"]:hover,
body.skin-timeless button:hover {
filter: brightness(1.04);
box-shadow: 0 10px 24px rgba(37,184,165,0.28);
}
/* ---------- 12. Специальные классы для ваших статей ---------- */
/* Можно использовать прямо в вики-тексте:
<div class="bio-card">...</div>
<span class="bio-status bio-optimal">Оптимум</span>
<span class="bio-status bio-risk">Риск</span>
<span class="bio-status bio-unknown">Недостаточно данных</span>
*/
body.skin-timeless .bio-card {
background:
linear-gradient(180deg, rgba(255,255,255,0.52), rgba(243,240,232,0.92)),
linear-gradient(90deg, rgba(37,184,165,0.10), transparent);
border: 1px solid var(--life-border);
border-left: 4px solid var(--life-teal);
border-radius: var(--life-radius-lg);
box-shadow: var(--life-shadow-card);
margin: 1.4rem 0;
padding: 1.15rem 1.25rem;
}
body.skin-timeless .bio-card.death {
border-left-color: var(--life-blood);
background:
linear-gradient(180deg, rgba(255,255,255,0.5), rgba(243,240,232,0.92)),
linear-gradient(90deg, rgba(143,47,63,0.11), transparent);
}
body.skin-timeless .bio-kpi {
display: inline-flex;
align-items: baseline;
gap: 0.35rem;
margin: 0.25rem 0.35rem 0.25rem 0;
padding: 0.45rem 0.65rem;
background: #10191d;
color: var(--life-paper);
border: 1px solid rgba(127,215,232,0.25);
border-radius: 999px;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
font-size: 0.88rem;
}
body.skin-timeless .bio-kpi strong {
color: var(--life-cyan);
font-size: 1.08em;
}
body.skin-timeless .bio-status {
display: inline-block;
padding: 0.18em 0.55em;
border-radius: 999px;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
font-size: 0.78em;
font-weight: 700;
letter-spacing: 0.055em;
text-transform: uppercase;
white-space: nowrap;
}
body.skin-timeless .bio-optimal {
background: #dff3e2;
color: #1f6a36;
border: 1px solid #9ecfa8;
}
body.skin-timeless .bio-watch {
background: #fff1c8;
color: #72551a;
border: 1px solid #d5b75d;
}
body.skin-timeless .bio-risk {
background: var(--life-blood-soft);
color: var(--life-blood);
border: 1px solid #c98d96;
}
body.skin-timeless .bio-unknown {
background: #e5e7e8;
color: #4d595c;
border: 1px solid #c4cacc;
}
/* ---------- 13. Ссылки на внешние источники и сноски ---------- */
body.skin-timeless .reference,
body.skin-timeless .mw-ref {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}
body.skin-timeless .references {
background: #eee8dc;
border: 1px solid var(--life-border);
border-radius: var(--life-radius-md);
padding: 1rem 1.25rem;
}
body.skin-timeless .mw-parser-output a.external {
color: #0f7178;
}
/* ---------- 14. Подвал ---------- */
body.skin-timeless .mw-footer-container {
background: #0b1114;
color: #cfd8d9;
border-top: 1px solid rgba(127,215,232,0.22);
box-shadow: inset 0 8px 18px rgba(0,0,0,0.28);
}
body.skin-timeless .mw-footer-container a {
color: var(--life-cyan);
}
/* ---------- 15. Мобильная адаптация ---------- */
@media screen and (max-width: 850px) {
body.skin-timeless .mw-body {
border-radius: 0;
padding: 1.25rem 1rem;
}
body.skin-timeless .firstHeading,
body.skin-timeless h1 {
font-size: 2rem;
}
body.skin-timeless .mw-parser-output table,
body.skin-timeless .wikitable {
display: block;
max-width: 100%;
overflow-x: auto;
}
body.skin-timeless #p-logo-text a::after {
display: none;
}
}
/* ---------- 16. Печать: оставить научную чистоту ---------- */
@media print {
body.skin-timeless {
background: #fff;
color: #000;
}
body.skin-timeless .mw-body,
body.skin-timeless .infobox,
body.skin-timeless .wikitable,
body.skin-timeless .bio-card {
box-shadow: none;
}
body.skin-timeless a {
color: #000;
text-decoration: underline;
}
}