MediaWiki:Common.css: различия между версиями
Страница интерфейса MediaWiki
Дополнительные действия
Vynnix (обсуждение | вклад) Оформление и структура |
Vynnix (обсуждение | вклад) Редизайн темы Voris: самохост-шрифты Oswald/Spectral, звёздное небо, таблицы, пилюли |
||
| Строка 1: | Строка 1: | ||
/* ===== | /* 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-18. Шрифты самохост (fonts@/resources/assets/junction/fonts). | |||
============================================================ */ | |||
/* ---------- 1. Палитра ---------- */ | |||
:root, html, .skin-citizen { | :root, html, .skin-citizen { | ||
--color-primary: | --jv-bg: #0c0c12; | ||
--color-primary--hover: | --jv-surface: #13131b; | ||
--color-progressive: | --jv-surface-2: #181822; | ||
--color-progressive--hover: | --jv-border: #26263a; | ||
--jv-border-soft: #1d1d2b; | |||
--jv-violet: #9d6ee0; | |||
--jv-violet-soft: #b088e8; | |||
--jv-violet-deep: #5a3b8c; | |||
--jv-gold: #e8c06b; | |||
--jv-text: #e8e6ee; | |||
--jv-muted: #a49db3; | |||
--color-primary: var(--jv-violet); | |||
--color-primary--hover: var(--jv-violet-soft); | |||
--color-progressive: var(--jv-violet); | |||
--color-progressive--hover: var(--jv-violet-soft); | |||
--color-progressive--active: #c7a6f0; | --color-progressive--active: #c7a6f0; | ||
--color-link: | --color-link: var(--jv-violet-soft); | ||
--color-link--visited: | --color-link--visited: var(--jv-violet); | ||
--border-color-base: | --border-color-base: var(--jv-border); | ||
--font-family-heading: 'Oswald', 'Arial Narrow', sans-serif; | |||
} | } | ||
/* ---------- 2. Небо: туманность + звёзды ---------- */ | |||
body.skin-citizen { | body.skin-citizen { | ||
background-image: radial-gradient(900px | background-image: | ||
radial-gradient(1.2px 1.2px at 8% 12%, rgba(255,255,255,.38) 50%, transparent 51%), | |||
radial-gradient(1px 1px at 23% 44%, rgba(255,255,255,.22) 50%, transparent 51%), | |||
radial-gradient(1.4px 1.4px at 37% 8%, rgba(232,192,107,.30) 50%, transparent 51%), | |||
radial-gradient(1px 1px at 52% 31%, rgba(255,255,255,.20) 50%, transparent 51%), | |||
radial-gradient(1.2px 1.2px at 66% 15%, rgba(176,136,232,.32) 50%, transparent 51%), | |||
radial-gradient(1px 1px at 78% 40%, rgba(255,255,255,.24) 50%, transparent 51%), | |||
radial-gradient(1.3px 1.3px at 91% 9%, rgba(255,255,255,.30) 50%, transparent 51%), | |||
radial-gradient(1px 1px at 15% 72%, rgba(255,255,255,.14) 50%, transparent 51%), | |||
radial-gradient(1.2px 1.2px at 60% 84%, rgba(176,136,232,.16) 50%, transparent 51%), | |||
radial-gradient(1px 1px at 86% 66%, rgba(255,255,255,.16) 50%, transparent 51%), | |||
radial-gradient(900px 400px at 50% -160px, #1a1130 0%, transparent 62%), | |||
radial-gradient(700px 500px at 85% 110%, #120d22 0%, transparent 55%); | |||
background-attachment: fixed; | background-attachment: fixed; | ||
} | } | ||
/* Инфобокс */ | |||
/* ---------- 3. Типографика ---------- */ | |||
.citizen-page-heading .mw-page-title-main, | |||
#firstHeading { | |||
font-family: var(--font-family-heading); | |||
font-weight: 500; | |||
letter-spacing: .035em; | |||
} | |||
.citizen-page-heading { | |||
position: relative; | |||
padding-bottom: .45rem; | |||
} | |||
.citizen-page-heading::after { | |||
content: ""; | |||
position: absolute; left: 0; bottom: 0; | |||
width: 100%; height: 2px; | |||
background: linear-gradient(90deg, var(--jv-violet) 0%, rgba(157,110,224,.25) 45%, transparent 100%); | |||
} | |||
.mw-parser-output h2, | |||
.mw-parser-output h3, | |||
.mw-parser-output h4 { | |||
font-family: var(--font-family-heading); | |||
font-weight: 500; | |||
letter-spacing: .03em; | |||
} | |||
.mw-parser-output h2 { | |||
border-bottom: 1px solid transparent; | |||
border-image: linear-gradient(90deg, var(--jv-violet-deep), transparent 70%) 1; | |||
padding-bottom: .25rem; | |||
} | |||
.mw-parser-output h2 .mw-headline::before { | |||
content: "✦ "; | |||
color: var(--jv-violet); | |||
font-size: .72em; | |||
vertical-align: .18em; | |||
} | |||
.mw-parser-output h3 { color: var(--jv-violet-soft); } | |||
/* Ссылки: мягкое свечение при наведении */ | |||
.mw-parser-output a:hover { | |||
text-shadow: 0 0 12px rgba(176,136,232,.55); | |||
} | |||
/* Красные ссылки — приглушить в терракоту, чтобы не резали тьму */ | |||
.mw-parser-output a.new { color: #d98d7a; } | |||
/* ---------- 4. Таблицы ---------- */ | |||
.mw-parser-output .wikitable { | |||
background: rgba(19,19,27,.82); | |||
border: 1px solid var(--jv-border); | |||
border-top: 2px solid var(--jv-violet-deep); | |||
border-radius: .55rem; | |||
border-collapse: separate; | |||
border-spacing: 0; | |||
overflow: hidden; | |||
box-shadow: 0 6px 22px -12px rgba(0,0,0,.8); | |||
} | |||
.mw-parser-output .wikitable > * > tr > th { | |||
background: linear-gradient(180deg, #221636, #191026); | |||
color: var(--jv-violet-soft); | |||
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); } | |||
.mw-parser-output .wikitable > * > tr:hover > td { background: rgba(157,110,224,.07); } | |||
/* ---------- 5. Лор-цитата ---------- */ | |||
.lore-quote { | |||
position: relative; | |||
font-family: 'Spectral', Georgia, serif; | |||
font-style: italic; | |||
font-size: 1.12em; | |||
color: #beb3d6; | |||
background: linear-gradient(90deg, rgba(90,59,140,.14), transparent 70%); | |||
border-left: 3px solid var(--jv-violet-deep); | |||
border-radius: 0 .5rem .5rem 0; | |||
margin: 0 0 1.1em; | |||
padding: .55em 1em .55em 2.2em; | |||
} | |||
.lore-quote::before { | |||
content: "✦"; | |||
position: absolute; left: .7em; top: .5em; | |||
color: var(--jv-violet); | |||
font-style: normal; | |||
font-size: .85em; | |||
opacity: .9; | |||
} | |||
/* ---------- 6. Инфобокс ---------- */ | |||
.infobox { | .infobox { | ||
background: # | background: linear-gradient(180deg, #16121f 0%, var(--jv-surface) 30%); | ||
color: | border: 1px solid var(--jv-border); | ||
margin: 0 0 1em 1.2em; padding: 0; width: 300px; max-width: 92vw; | border-radius: .6rem; | ||
box-shadow: 0 0 0 1px rgba(157,110,224,.08), 0 10px 30px -18px rgba(0,0,0,.9); | |||
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; | font-size: .9em; overflow: hidden; | ||
} | } | ||
.infobox .infobox-title { | .infobox .infobox-title { | ||
background: linear-gradient(90deg, #5a3b8c, #7a52b8); color: #fff; | background: | ||
font-family: | radial-gradient(1px 1px at 12% 30%, rgba(255,255,255,.5) 50%, transparent 51%), | ||
padding: . | radial-gradient(1px 1px at 85% 60%, rgba(255,255,255,.4) 50%, transparent 51%), | ||
radial-gradient(1.3px 1.3px at 65% 25%, rgba(232,192,107,.6) 50%, transparent 51%), | |||
linear-gradient(90deg, #5a3b8c, #7a52b8); | |||
color: #fff; | |||
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-violet-soft); 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: #191322; | |||
border: 1px solid var(--jv-border-soft); | |||
border-radius: .3rem; | |||
color: #d9c7f5; | |||
padding: .1em .35em; | |||
} | |||
.mw-parser-output pre { | |||
background: rgba(19,19,27,.85); | |||
border: 1px solid var(--jv-border-soft); | |||
border-left: 3px solid var(--jv-violet-deep); | |||
border-radius: .45rem; | |||
color: #cfc6e0; | |||
} | |||
.mw-parser-output hr { | |||
border: 0; height: 1px; | |||
background: linear-gradient(90deg, transparent, var(--jv-violet-deep), transparent); | |||
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(90,59,140,.16); | ||
border: 1px solid var(--jv-border); | |||
. | border-radius: 99px; | ||
border- | padding: .12em .8em; | ||
font-size: .92em; | |||
transition: border-color .2s, background .2s; | |||
} | |||
.catlinks li a:hover { | |||
border-color: var(--jv-violet); | |||
background: rgba(90,59,140,.3); | |||
text-decoration: none; | |||
} | } | ||
/* | |||
.portal-hero { text-align: center; padding: | /* ---------- 8. Главная: портал ---------- */ | ||
.portal-hero { text-align: center; padding: 1.6rem 0 .4rem; } | |||
.portal-hero .lore-quote { | .portal-hero .lore-quote { | ||
border: 0; text-align: center; font-size: 1. | background: none; border: 0; text-align: center; | ||
max-width: | font-size: 1.45em; color: #d6d0e4; | ||
max-width: 680px; margin: 0 auto .7em; padding: 0; | |||
} | |||
.portal-hero .lore-quote::before { content: none; } | |||
.portal-sub { | |||
color: var(--jv-muted); | |||
font-family: var(--font-family-heading); | |||
letter-spacing: .12em; | |||
text-transform: uppercase; | |||
font-size: .85em; | |||
} | } | ||
.portal-grid { | .portal-grid { | ||
display: grid; grid-template-columns: repeat(auto-fit, minmax( | display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); | ||
gap: 1rem; margin: 1. | gap: 1rem; margin: 1.5rem 0; | ||
} | } | ||
.portal-box { | .portal-box { | ||
background: | position: relative; | ||
padding: . | background: rgba(19,19,27,.8); | ||
border: 1px solid var(--jv-border); | |||
border-radius: .65rem; | |||
padding: 1rem 1.15rem .85rem; | |||
overflow: hidden; | |||
transition: border-color .25s, transform .25s, box-shadow .25s; | |||
} | |||
.portal-box::before { | |||
content: ""; | |||
position: absolute; top: 0; left: 0; right: 0; height: 2px; | |||
background: linear-gradient(90deg, var(--jv-violet-deep), transparent 80%); | |||
opacity: .8; | |||
} | |||
.portal-box:hover { | |||
border-color: var(--jv-violet-deep); | |||
transform: translateY(-3px); | |||
box-shadow: 0 14px 34px -18px rgba(157,110,224,.45); | |||
} | } | ||
.portal-box .ph { | .portal-box .ph { | ||
display: block; color: | display: block; | ||
font-size: 1.1em; margin- | color: var(--jv-violet-soft); | ||
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-violet-deep); } | |||
/* Миры — пилюли */ | |||
.world-pills { margin: .4rem 0 1.4rem; } | |||
.world-pills a { | |||
display: inline-block; | |||
background: rgba(90,59,140,.14); | |||
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; | |||
transition: border-color .2s, background .2s, box-shadow .2s; | |||
} | |||
.world-pills a:hover { | |||
border-color: var(--jv-violet); | |||
background: rgba(90,59,140,.32); | |||
box-shadow: 0 0 14px -4px rgba(157,110,224,.6); | |||
text-decoration: none; | |||
} | |||
/* ---------- 9. Мобильная адаптация ---------- */ | |||
@media (max-width: 640px) { | |||
.infobox { float: none; width: 100%; margin: 0 0 1em; } | |||
.mw-parser-output .wikitable { display: block; overflow-x: auto; } | |||
} | } | ||
Версия от 20:32, 18 июля 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-18. Шрифты самохост (fonts@/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-soft: #b088e8;
--jv-violet-deep: #5a3b8c;
--jv-gold: #e8c06b;
--jv-text: #e8e6ee;
--jv-muted: #a49db3;
--color-primary: var(--jv-violet);
--color-primary--hover: var(--jv-violet-soft);
--color-progressive: var(--jv-violet);
--color-progressive--hover: var(--jv-violet-soft);
--color-progressive--active: #c7a6f0;
--color-link: var(--jv-violet-soft);
--color-link--visited: var(--jv-violet);
--border-color-base: var(--jv-border);
--font-family-heading: 'Oswald', 'Arial Narrow', sans-serif;
}
/* ---------- 2. Небо: туманность + звёзды ---------- */
body.skin-citizen {
background-image:
radial-gradient(1.2px 1.2px at 8% 12%, rgba(255,255,255,.38) 50%, transparent 51%),
radial-gradient(1px 1px at 23% 44%, rgba(255,255,255,.22) 50%, transparent 51%),
radial-gradient(1.4px 1.4px at 37% 8%, rgba(232,192,107,.30) 50%, transparent 51%),
radial-gradient(1px 1px at 52% 31%, rgba(255,255,255,.20) 50%, transparent 51%),
radial-gradient(1.2px 1.2px at 66% 15%, rgba(176,136,232,.32) 50%, transparent 51%),
radial-gradient(1px 1px at 78% 40%, rgba(255,255,255,.24) 50%, transparent 51%),
radial-gradient(1.3px 1.3px at 91% 9%, rgba(255,255,255,.30) 50%, transparent 51%),
radial-gradient(1px 1px at 15% 72%, rgba(255,255,255,.14) 50%, transparent 51%),
radial-gradient(1.2px 1.2px at 60% 84%, rgba(176,136,232,.16) 50%, transparent 51%),
radial-gradient(1px 1px at 86% 66%, rgba(255,255,255,.16) 50%, transparent 51%),
radial-gradient(900px 400px at 50% -160px, #1a1130 0%, transparent 62%),
radial-gradient(700px 500px at 85% 110%, #120d22 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;
}
.citizen-page-heading {
position: relative;
padding-bottom: .45rem;
}
.citizen-page-heading::after {
content: "";
position: absolute; left: 0; bottom: 0;
width: 100%; height: 2px;
background: linear-gradient(90deg, var(--jv-violet) 0%, rgba(157,110,224,.25) 45%, transparent 100%);
}
.mw-parser-output h2,
.mw-parser-output h3,
.mw-parser-output h4 {
font-family: var(--font-family-heading);
font-weight: 500;
letter-spacing: .03em;
}
.mw-parser-output h2 {
border-bottom: 1px solid transparent;
border-image: linear-gradient(90deg, var(--jv-violet-deep), transparent 70%) 1;
padding-bottom: .25rem;
}
.mw-parser-output h2 .mw-headline::before {
content: "✦ ";
color: var(--jv-violet);
font-size: .72em;
vertical-align: .18em;
}
.mw-parser-output h3 { color: var(--jv-violet-soft); }
/* Ссылки: мягкое свечение при наведении */
.mw-parser-output a:hover {
text-shadow: 0 0 12px rgba(176,136,232,.55);
}
/* Красные ссылки — приглушить в терракоту, чтобы не резали тьму */
.mw-parser-output a.new { color: #d98d7a; }
/* ---------- 4. Таблицы ---------- */
.mw-parser-output .wikitable {
background: rgba(19,19,27,.82);
border: 1px solid var(--jv-border);
border-top: 2px solid var(--jv-violet-deep);
border-radius: .55rem;
border-collapse: separate;
border-spacing: 0;
overflow: hidden;
box-shadow: 0 6px 22px -12px rgba(0,0,0,.8);
}
.mw-parser-output .wikitable > * > tr > th {
background: linear-gradient(180deg, #221636, #191026);
color: var(--jv-violet-soft);
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); }
.mw-parser-output .wikitable > * > tr:hover > td { background: rgba(157,110,224,.07); }
/* ---------- 5. Лор-цитата ---------- */
.lore-quote {
position: relative;
font-family: 'Spectral', Georgia, serif;
font-style: italic;
font-size: 1.12em;
color: #beb3d6;
background: linear-gradient(90deg, rgba(90,59,140,.14), transparent 70%);
border-left: 3px solid var(--jv-violet-deep);
border-radius: 0 .5rem .5rem 0;
margin: 0 0 1.1em;
padding: .55em 1em .55em 2.2em;
}
.lore-quote::before {
content: "✦";
position: absolute; left: .7em; top: .5em;
color: var(--jv-violet);
font-style: normal;
font-size: .85em;
opacity: .9;
}
/* ---------- 6. Инфобокс ---------- */
.infobox {
background: linear-gradient(180deg, #16121f 0%, var(--jv-surface) 30%);
border: 1px solid var(--jv-border);
border-radius: .6rem;
box-shadow: 0 0 0 1px rgba(157,110,224,.08), 0 10px 30px -18px rgba(0,0,0,.9);
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:
radial-gradient(1px 1px at 12% 30%, rgba(255,255,255,.5) 50%, transparent 51%),
radial-gradient(1px 1px at 85% 60%, rgba(255,255,255,.4) 50%, transparent 51%),
radial-gradient(1.3px 1.3px at 65% 25%, rgba(232,192,107,.6) 50%, transparent 51%),
linear-gradient(90deg, #5a3b8c, #7a52b8);
color: #fff;
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-violet-soft); 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: #191322;
border: 1px solid var(--jv-border-soft);
border-radius: .3rem;
color: #d9c7f5;
padding: .1em .35em;
}
.mw-parser-output pre {
background: rgba(19,19,27,.85);
border: 1px solid var(--jv-border-soft);
border-left: 3px solid var(--jv-violet-deep);
border-radius: .45rem;
color: #cfc6e0;
}
.mw-parser-output hr {
border: 0; height: 1px;
background: linear-gradient(90deg, transparent, var(--jv-violet-deep), transparent);
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(90,59,140,.16);
border: 1px solid var(--jv-border);
border-radius: 99px;
padding: .12em .8em;
font-size: .92em;
transition: border-color .2s, background .2s;
}
.catlinks li a:hover {
border-color: var(--jv-violet);
background: rgba(90,59,140,.3);
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: #d6d0e4;
max-width: 680px; margin: 0 auto .7em; padding: 0;
}
.portal-hero .lore-quote::before { content: none; }
.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 {
position: relative;
background: rgba(19,19,27,.8);
border: 1px solid var(--jv-border);
border-radius: .65rem;
padding: 1rem 1.15rem .85rem;
overflow: hidden;
transition: border-color .25s, transform .25s, box-shadow .25s;
}
.portal-box::before {
content: "";
position: absolute; top: 0; left: 0; right: 0; height: 2px;
background: linear-gradient(90deg, var(--jv-violet-deep), transparent 80%);
opacity: .8;
}
.portal-box:hover {
border-color: var(--jv-violet-deep);
transform: translateY(-3px);
box-shadow: 0 14px 34px -18px rgba(157,110,224,.45);
}
.portal-box .ph {
display: block;
color: var(--jv-violet-soft);
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-violet-deep); }
/* Миры — пилюли */
.world-pills { margin: .4rem 0 1.4rem; }
.world-pills a {
display: inline-block;
background: rgba(90,59,140,.14);
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;
transition: border-color .2s, background .2s, box-shadow .2s;
}
.world-pills a:hover {
border-color: var(--jv-violet);
background: rgba(90,59,140,.32);
box-shadow: 0 0 14px -4px rgba(157,110,224,.6);
text-decoration: none;
}
/* ---------- 9. Мобильная адаптация ---------- */
@media (max-width: 640px) {
.infobox { float: none; width: 100%; margin: 0 0 1em; }
.mw-parser-output .wikitable { display: block; overflow-x: auto; }
}