MediaWiki:Common.css: различия между версиями
Страница интерфейса MediaWiki
Дополнительные действия
Vynnix (обсуждение | вклад) Мобильный фикс 2: min-width:0 для grid-контейнеров |
Vynnix (обсуждение | вклад) Белые ссылки и заголовки, убран лишний декор (звёздочки, свечение, градиенты) |
||
| Строка 316: | Строка 316: | ||
/* ============================================================ | /* ============================================================ | ||
Junction Wiki — тема «Voris» поверх Citizen 3.x | Junction Wiki — тема «Voris» поверх Citizen 3.x | ||
Ревизия 2026-07-19: белый текст и ссылки, минимум декора. | |||
Шрифты самохост (/resources/assets/junction/fonts). | |||
============================================================ */ | ============================================================ */ | ||
| Строка 327: | Строка 328: | ||
--jv-border-soft: #1d1d2b; | --jv-border-soft: #1d1d2b; | ||
--jv-violet: #9d6ee0; | --jv-violet: #9d6ee0; | ||
--jv-violet-deep: #5a3b8c; | --jv-violet-deep: #5a3b8c; | ||
--jv-gold: #e8c06b; | --jv-gold: #e8c06b; | ||
--jv-text: #e8e6ee; | --jv-text: #e8e6ee; | ||
--jv-muted: # | --jv-white: #ffffff; | ||
--jv-muted: #a3a0ae; | |||
--color-primary: var(--jv-violet); | --color-primary: var(--jv-violet); | ||
--color-primary--hover: | --color-primary--hover: #b088e8; | ||
--color-progressive: var(--jv-violet); | --color-progressive: var(--jv-violet); | ||
--color-progressive--hover: | --color-progressive--hover: #b088e8; | ||
--color-progressive--active: #c7a6f0; | --color-progressive--active: #c7a6f0; | ||
--color-link: var(--jv- | --color-link: var(--jv-white); | ||
--color-link-- | --color-link--visited: var(--jv-white); | ||
--color-link--active: var(--jv-white); | |||
--border-color-base: var(--jv-border); | --border-color-base: var(--jv-border); | ||
--font-family-heading: 'Oswald', 'Arial Narrow', sans-serif; | --font-family-heading: 'Oswald', 'Arial Narrow', sans-serif; | ||
} | } | ||
/* ---------- 2. | /* ---------- 2. Фон: мягкая глубина без «звёзд» ---------- */ | ||
body.skin-citizen { | body.skin-citizen { | ||
background-image: | background-image: | ||
radial-gradient(900px 400px at 50% -160px, #16112a 0%, transparent 62%), | |||
radial-gradient(700px 500px at 85% 110%, #100d1c 0%, transparent 55%); | |||
radial-gradient(900px 400px at 50% -160px, # | |||
radial-gradient(700px 500px at 85% 110%, # | |||
background-attachment: fixed; | background-attachment: fixed; | ||
} | } | ||
| Строка 368: | Строка 360: | ||
font-weight: 500; | font-weight: 500; | ||
letter-spacing: .035em; | letter-spacing: .035em; | ||
color: var(--jv-white); | |||
} | } | ||
.citizen-page-heading { | .citizen-page-heading { | ||
border-bottom: 1px solid var(--jv-border); | |||
padding-bottom: .45rem; | padding-bottom: .45rem; | ||
} | } | ||
.mw-parser-output h2, | .mw-parser-output h2, | ||
| Строка 385: | Строка 372: | ||
font-weight: 500; | font-weight: 500; | ||
letter-spacing: .03em; | letter-spacing: .03em; | ||
color: var(--jv-white); | |||
} | } | ||
.mw-parser-output h2 { | .mw-parser-output h2 { | ||
border-bottom: 1px solid | border-bottom: 1px solid var(--jv-border); | ||
padding-bottom: .25rem; | padding-bottom: .25rem; | ||
} | } | ||
.mw-parser-output | |||
/* Ссылки: белые, в тексте статьи — с тонким подчёркиванием */ | |||
color: var(--jv- | .mw-parser-output a { | ||
color: var(--jv-white); | |||
text-decoration: underline; | |||
text-underline-offset: 3px; | |||
text-decoration-thickness: 1px; | |||
text-decoration-color: rgba(255,255,255,.3); | |||
} | } | ||
.mw-parser-output a:hover { | .mw-parser-output a:hover { | ||
text- | text-decoration-color: var(--jv-white); | ||
} | } | ||
/* Красные ссылки — | /* Красные ссылки — приглушённая терракота */ | ||
.mw-parser-output a.new { color: #d98d7a; } | .mw-parser-output a.new, | ||
.mw-parser-output a.new:visited { color: #d98d7a; } | |||
/* ---------- 4. Таблицы ---------- */ | /* ---------- 4. Таблицы ---------- */ | ||
| Строка 410: | Строка 398: | ||
background: rgba(19,19,27,.82); | background: rgba(19,19,27,.82); | ||
border: 1px solid var(--jv-border); | border: 1px solid var(--jv-border); | ||
border-radius: .45rem; | |||
border-radius: . | |||
border-collapse: separate; | border-collapse: separate; | ||
border-spacing: 0; | border-spacing: 0; | ||
overflow: hidden; | overflow: hidden; | ||
} | } | ||
.mw-parser-output .wikitable > * > tr > th { | .mw-parser-output .wikitable > * > tr > th { | ||
background: | background: var(--jv-surface-2); | ||
color: var(--jv- | color: var(--jv-white); | ||
font-family: var(--font-family-heading); | font-family: var(--font-family-heading); | ||
font-weight: 500; | font-weight: 500; | ||
| Строка 434: | Строка 420: | ||
.mw-parser-output .wikitable > * > tr:last-child > td { border-bottom: 0; } | .mw-parser-output .wikitable > * > tr:last-child > td { border-bottom: 0; } | ||
.mw-parser-output .wikitable > * > tr:nth-child(even) > td { background: rgba(255,255,255,.018); } | .mw-parser-output .wikitable > * > tr:nth-child(even) > td { background: rgba(255,255,255,.018); } | ||
/* ---------- 5. Лор-цитата ---------- */ | /* ---------- 5. Лор-цитата ---------- */ | ||
.lore-quote { | .lore-quote { | ||
font-family: 'Spectral', Georgia, serif; | font-family: 'Spectral', Georgia, serif; | ||
font-style: italic; | font-style: italic; | ||
font-size: 1.12em; | font-size: 1.12em; | ||
color: # | color: #c9c5d4; | ||
border-left: 3px solid var(--jv-violet-deep); | border-left: 3px solid var(--jv-violet-deep); | ||
margin: 0 0 1.1em; | margin: 0 0 1.1em; | ||
padding: . | padding: .45em 1em .45em 1.2em; | ||
} | } | ||
/* ---------- 6. Инфобокс ---------- */ | /* ---------- 6. Инфобокс ---------- */ | ||
.infobox { | .infobox { | ||
background: | background: var(--jv-surface); | ||
border: 1px solid var(--jv-border); | border: 1px solid var(--jv-border); | ||
border-radius: . | border-radius: .45rem; | ||
color: var(--jv-text); | color: var(--jv-text); | ||
float: right; clear: right; | float: right; clear: right; | ||
| Строка 471: | Строка 444: | ||
} | } | ||
.infobox .infobox-title { | .infobox .infobox-title { | ||
background: | background: var(--jv-surface-2); | ||
border-bottom: 1px solid var(--jv-border); | |||
color: var(--jv-white); | |||
color: | |||
font-family: var(--font-family-heading); | font-family: var(--font-family-heading); | ||
font-size: 1.15em; font-weight: 500; letter-spacing: .05em; | font-size: 1.15em; font-weight: 500; letter-spacing: .05em; | ||
padding: .55em .7em; text-align: center; | padding: .55em .7em; text-align: center; | ||
} | } | ||
.infobox th { text-align: left; color: var(--jv- | .infobox th { text-align: left; color: var(--jv-muted); font-weight: 500; padding: .38em .75em; width: 38%; vertical-align: top; } | ||
.infobox td { padding: .38em .75em; } | .infobox td { padding: .38em .75em; } | ||
.infobox tr + tr th, .infobox tr + tr td { border-top: 1px solid var(--jv-border-soft); } | .infobox tr + tr th, .infobox tr + tr td { border-top: 1px solid var(--jv-border-soft); } | ||
| Строка 487: | Строка 457: | ||
/* ---------- 7. Код и прочее ---------- */ | /* ---------- 7. Код и прочее ---------- */ | ||
.mw-parser-output code { | .mw-parser-output code { | ||
background: | background: var(--jv-surface-2); | ||
border: 1px solid var(--jv-border-soft); | border: 1px solid var(--jv-border-soft); | ||
border-radius: .3rem; | border-radius: .3rem; | ||
color: | color: var(--jv-text); | ||
padding: .1em .35em; | padding: .1em .35em; | ||
} | } | ||
| Строка 496: | Строка 466: | ||
background: rgba(19,19,27,.85); | background: rgba(19,19,27,.85); | ||
border: 1px solid var(--jv-border-soft); | border: 1px solid var(--jv-border-soft); | ||
border-radius: .45rem; | border-radius: .45rem; | ||
color: # | color: #d4d0de; | ||
} | } | ||
.mw-parser-output hr { | .mw-parser-output hr { | ||
border: 0; height: 1px; | border: 0; height: 1px; | ||
background: | background: var(--jv-border); | ||
margin: 1.6em 0; | margin: 1.6em 0; | ||
} | } | ||
| Строка 519: | Строка 488: | ||
.catlinks li a { | .catlinks li a { | ||
display: inline-block; | display: inline-block; | ||
background: rgba( | background: rgba(255,255,255,.04); | ||
border: 1px solid var(--jv-border); | border: 1px solid var(--jv-border); | ||
border-radius: 99px; | border-radius: 99px; | ||
padding: .12em .8em; | padding: .12em .8em; | ||
font-size: .92em; | font-size: .92em; | ||
transition: border-color | text-decoration: none; | ||
transition: border-color .2s; | |||
} | } | ||
.catlinks li a:hover { | .catlinks li a:hover { | ||
border-color: var(--jv- | border-color: var(--jv-muted); | ||
text-decoration: none; | text-decoration: none; | ||
} | } | ||
| Строка 536: | Строка 505: | ||
.portal-hero .lore-quote { | .portal-hero .lore-quote { | ||
background: none; border: 0; text-align: center; | background: none; border: 0; text-align: center; | ||
font-size: 1.45em; color: # | font-size: 1.45em; color: #d6d3de; | ||
max-width: 680px; margin: 0 auto .7em; padding: 0; | max-width: 680px; margin: 0 auto .7em; padding: 0; | ||
} | } | ||
.portal-sub { | .portal-sub { | ||
color: var(--jv-muted); | color: var(--jv-muted); | ||
| Строка 552: | Строка 520: | ||
} | } | ||
.portal-box { | .portal-box { | ||
background: rgba(19,19,27,.8); | background: rgba(19,19,27,.8); | ||
border: 1px solid var(--jv-border); | border: 1px solid var(--jv-border); | ||
border-radius: . | border-radius: .45rem; | ||
padding: 1rem 1.15rem .85rem; | padding: 1rem 1.15rem .85rem; | ||
overflow: hidden; | overflow: hidden; | ||
transition: border-color . | transition: border-color .2s; | ||
} | } | ||
.portal-box:hover { border-color: var(--jv-muted); } | |||
.portal-box .ph { | .portal-box .ph { | ||
display: block; | display: block; | ||
color: var(--jv- | color: var(--jv-white); | ||
font-family: var(--font-family-heading); | font-family: var(--font-family-heading); | ||
font-size: 1.08em; font-weight: 500; | font-size: 1.08em; font-weight: 500; | ||
| Строка 581: | Строка 538: | ||
.portal-box ul { margin: 0; padding-left: 1.1em; } | .portal-box ul { margin: 0; padding-left: 1.1em; } | ||
.portal-box li { margin: .22em 0; } | .portal-box li { margin: .22em 0; } | ||
.portal-box li::marker { color: var(--jv- | .portal-box li::marker { color: var(--jv-muted); } | ||
/* Миры — пилюли */ | /* Миры — пилюли */ | ||
| Строка 587: | Строка 544: | ||
.world-pills a { | .world-pills a { | ||
display: inline-block; | display: inline-block; | ||
background: rgba( | background: rgba(255,255,255,.04); | ||
border: 1px solid var(--jv-border); | border: 1px solid var(--jv-border); | ||
border-radius: 99px; | border-radius: 99px; | ||
| Строка 594: | Строка 551: | ||
font-family: var(--font-family-heading); | font-family: var(--font-family-heading); | ||
letter-spacing: .04em; | letter-spacing: .04em; | ||
transition: border-color | text-decoration: none; | ||
transition: border-color .2s; | |||
} | } | ||
.world-pills a:hover { | .world-pills a:hover { | ||
border-color: var(--jv- | border-color: var(--jv-muted); | ||
text-decoration: none; | text-decoration: none; | ||
} | } | ||
/* Изображения и галереи */ | |||
.mw-parser-output .thumbinner, | |||
.mw-parser-output figure[typeof~="mw:File/Thumb"] { | |||
background: var(--jv-surface); | |||
border: 1px solid var(--jv-border); | |||
border-radius: .45rem; | |||
} | |||
.mw-parser-output figcaption, | |||
.mw-parser-output .thumbcaption { color: var(--jv-muted); font-size: .9em; } | |||
/* ---------- 9. Мобильная адаптация ---------- */ | /* ---------- 9. Мобильная адаптация ---------- */ | ||
Версия от 11:52, 19 июля 2026
/* cyrillic-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlbHYjedg.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlSHYjedg.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlZHYjedg.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlYHYjedg.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlWHYg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlbHYjedg.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlSHYjedg.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlZHYjedg.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlYHYjedg.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlWHYg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlbHYjedg.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlSHYjedg.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlZHYjedg.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlYHYjedg.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlWHYg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlbHYjedg.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlSHYjedg.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlZHYjedg.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlYHYjedg.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/resources/assets/junction/fonts/TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlWHYg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCt-xNNww_2s0amA9M8onfmTMuk.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCt-xNNww_2s0amA9M8on7mTMuk.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCt-xNNww_2s0amA9M8onXmTMuk.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCt-xNNww_2s0amA9M8onTmTMuk.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCt-xNNww_2s0amA9M8onrmTA.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCr-xNNww_2s0amA9M0knj-SA.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCr-xNNww_2s0amA9M9knj-SA.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCr-xNNww_2s0amA9M2knj-SA.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCr-xNNww_2s0amA9M3knj-SA.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCr-xNNww_2s0amA9M5kng.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCs-xNNww_2s0amA9vKsW3MafadWQ.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCs-xNNww_2s0amA9vKsW3FafadWQ.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCs-xNNww_2s0amA9vKsW3OafadWQ.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCs-xNNww_2s0amA9vKsW3PafadWQ.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/resources/assets/junction/fonts/rnCs-xNNww_2s0amA9vKsW3BafY.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
Junction Wiki — тема «Voris» поверх Citizen 3.x
Ревизия 2026-07-19: белый текст и ссылки, минимум декора.
Шрифты самохост (/resources/assets/junction/fonts).
============================================================ */
/* ---------- 1. Палитра ---------- */
:root, html, .skin-citizen {
--jv-bg: #0c0c12;
--jv-surface: #13131b;
--jv-surface-2: #181822;
--jv-border: #26263a;
--jv-border-soft: #1d1d2b;
--jv-violet: #9d6ee0;
--jv-violet-deep: #5a3b8c;
--jv-gold: #e8c06b;
--jv-text: #e8e6ee;
--jv-white: #ffffff;
--jv-muted: #a3a0ae;
--color-primary: var(--jv-violet);
--color-primary--hover: #b088e8;
--color-progressive: var(--jv-violet);
--color-progressive--hover: #b088e8;
--color-progressive--active: #c7a6f0;
--color-link: var(--jv-white);
--color-link--visited: var(--jv-white);
--color-link--active: var(--jv-white);
--border-color-base: var(--jv-border);
--font-family-heading: 'Oswald', 'Arial Narrow', sans-serif;
}
/* ---------- 2. Фон: мягкая глубина без «звёзд» ---------- */
body.skin-citizen {
background-image:
radial-gradient(900px 400px at 50% -160px, #16112a 0%, transparent 62%),
radial-gradient(700px 500px at 85% 110%, #100d1c 0%, transparent 55%);
background-attachment: fixed;
}
/* ---------- 3. Типографика ---------- */
.citizen-page-heading .mw-page-title-main,
#firstHeading {
font-family: var(--font-family-heading);
font-weight: 500;
letter-spacing: .035em;
color: var(--jv-white);
}
.citizen-page-heading {
border-bottom: 1px solid var(--jv-border);
padding-bottom: .45rem;
}
.mw-parser-output h2,
.mw-parser-output h3,
.mw-parser-output h4 {
font-family: var(--font-family-heading);
font-weight: 500;
letter-spacing: .03em;
color: var(--jv-white);
}
.mw-parser-output h2 {
border-bottom: 1px solid var(--jv-border);
padding-bottom: .25rem;
}
/* Ссылки: белые, в тексте статьи — с тонким подчёркиванием */
.mw-parser-output a {
color: var(--jv-white);
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
text-decoration-color: rgba(255,255,255,.3);
}
.mw-parser-output a:hover {
text-decoration-color: var(--jv-white);
}
/* Красные ссылки — приглушённая терракота */
.mw-parser-output a.new,
.mw-parser-output a.new:visited { color: #d98d7a; }
/* ---------- 4. Таблицы ---------- */
.mw-parser-output .wikitable {
background: rgba(19,19,27,.82);
border: 1px solid var(--jv-border);
border-radius: .45rem;
border-collapse: separate;
border-spacing: 0;
overflow: hidden;
}
.mw-parser-output .wikitable > * > tr > th {
background: var(--jv-surface-2);
color: var(--jv-white);
font-family: var(--font-family-heading);
font-weight: 500;
letter-spacing: .04em;
border: 0;
border-bottom: 1px solid var(--jv-border);
padding: .5em .8em;
}
.mw-parser-output .wikitable > * > tr > td {
border: 0;
border-bottom: 1px solid var(--jv-border-soft);
padding: .48em .8em;
}
.mw-parser-output .wikitable > * > tr:last-child > td { border-bottom: 0; }
.mw-parser-output .wikitable > * > tr:nth-child(even) > td { background: rgba(255,255,255,.018); }
/* ---------- 5. Лор-цитата ---------- */
.lore-quote {
font-family: 'Spectral', Georgia, serif;
font-style: italic;
font-size: 1.12em;
color: #c9c5d4;
border-left: 3px solid var(--jv-violet-deep);
margin: 0 0 1.1em;
padding: .45em 1em .45em 1.2em;
}
/* ---------- 6. Инфобокс ---------- */
.infobox {
background: var(--jv-surface);
border: 1px solid var(--jv-border);
border-radius: .45rem;
color: var(--jv-text);
float: right; clear: right;
margin: 0 0 1em 1.2em; padding: 0;
width: 300px; max-width: 92vw;
font-size: .9em; overflow: hidden;
}
.infobox .infobox-title {
background: var(--jv-surface-2);
border-bottom: 1px solid var(--jv-border);
color: var(--jv-white);
font-family: var(--font-family-heading);
font-size: 1.15em; font-weight: 500; letter-spacing: .05em;
padding: .55em .7em; text-align: center;
}
.infobox th { text-align: left; color: var(--jv-muted); font-weight: 500; padding: .38em .75em; width: 38%; vertical-align: top; }
.infobox td { padding: .38em .75em; }
.infobox tr + tr th, .infobox tr + tr td { border-top: 1px solid var(--jv-border-soft); }
/* ---------- 7. Код и прочее ---------- */
.mw-parser-output code {
background: var(--jv-surface-2);
border: 1px solid var(--jv-border-soft);
border-radius: .3rem;
color: var(--jv-text);
padding: .1em .35em;
}
.mw-parser-output pre {
background: rgba(19,19,27,.85);
border: 1px solid var(--jv-border-soft);
border-radius: .45rem;
color: #d4d0de;
}
.mw-parser-output hr {
border: 0; height: 1px;
background: var(--jv-border);
margin: 1.6em 0;
}
/* Категории → пилюли */
.catlinks {
background: transparent;
border: 0;
padding-left: 0;
}
.catlinks li {
border: 0;
margin: .15rem .3rem .15rem 0;
padding: 0;
}
.catlinks li a {
display: inline-block;
background: rgba(255,255,255,.04);
border: 1px solid var(--jv-border);
border-radius: 99px;
padding: .12em .8em;
font-size: .92em;
text-decoration: none;
transition: border-color .2s;
}
.catlinks li a:hover {
border-color: var(--jv-muted);
text-decoration: none;
}
/* ---------- 8. Главная: портал ---------- */
.portal-hero { text-align: center; padding: 1.6rem 0 .4rem; }
.portal-hero .lore-quote {
background: none; border: 0; text-align: center;
font-size: 1.45em; color: #d6d3de;
max-width: 680px; margin: 0 auto .7em; padding: 0;
}
.portal-sub {
color: var(--jv-muted);
font-family: var(--font-family-heading);
letter-spacing: .12em;
text-transform: uppercase;
font-size: .85em;
}
.portal-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1rem; margin: 1.5rem 0;
}
.portal-box {
background: rgba(19,19,27,.8);
border: 1px solid var(--jv-border);
border-radius: .45rem;
padding: 1rem 1.15rem .85rem;
overflow: hidden;
transition: border-color .2s;
}
.portal-box:hover { border-color: var(--jv-muted); }
.portal-box .ph {
display: block;
color: var(--jv-white);
font-family: var(--font-family-heading);
font-size: 1.08em; font-weight: 500;
letter-spacing: .06em; text-transform: uppercase;
margin-bottom: .55rem;
}
.portal-box ul { margin: 0; padding-left: 1.1em; }
.portal-box li { margin: .22em 0; }
.portal-box li::marker { color: var(--jv-muted); }
/* Миры — пилюли */
.world-pills { margin: .4rem 0 1.4rem; }
.world-pills a {
display: inline-block;
background: rgba(255,255,255,.04);
border: 1px solid var(--jv-border);
border-radius: 99px;
padding: .22em 1em;
margin: .18rem .28rem .18rem 0;
font-family: var(--font-family-heading);
letter-spacing: .04em;
text-decoration: none;
transition: border-color .2s;
}
.world-pills a:hover {
border-color: var(--jv-muted);
text-decoration: none;
}
/* Изображения и галереи */
.mw-parser-output .thumbinner,
.mw-parser-output figure[typeof~="mw:File/Thumb"] {
background: var(--jv-surface);
border: 1px solid var(--jv-border);
border-radius: .45rem;
}
.mw-parser-output figcaption,
.mw-parser-output .thumbcaption { color: var(--jv-muted); font-size: .9em; }
/* ---------- 9. Мобильная адаптация ---------- */
.infobox code { white-space: normal; overflow-wrap: anywhere; }
/* Широкий контент не должен распирать grid-колонки Citizen */
.citizen-body-container, .citizen-body, .mw-body, #mw-content-text { min-width: 0; }
@media (max-width: 640px) {
.infobox { float: none; width: 100%; margin: 0 0 1em; table-layout: fixed; }
.infobox th { width: 34%; }
.mw-parser-output .wikitable { display: block; overflow-x: auto; }
.mw-parser-output { max-width: 100%; overflow-x: hidden; }
}