MediaWiki:Common.css: различия между версиями
Страница интерфейса MediaWiki
Дополнительные действия
Wikiadmin (обсуждение | вклад) Нет описания правки Метка: отменено |
Wikiadmin (обсуждение | вклад) Нет описания правки Метка: отменено |
||
| Строка 1: | Строка 1: | ||
/* ========================================== | /* ===================================================== | ||
NULL / CRYPTOGRAPHY | NULL / CRYPTOGRAPHY | ||
Citizen skin | Main page — Citizen skin | ||
========================================== */ | Visual direction: NULL / dark technical minimalism | ||
===================================================== */ | |||
.crypto-home { | .crypto-home { | ||
-- | --null-bg: #080b0a; | ||
-- | --null-surface: #0d1210; | ||
-- | --null-surface-hover: #111a14; | ||
-- | --null-green: #b6ff6c; | ||
-- | --null-green-dim: #79b94b; | ||
-- | --null-white: #e8eee8; | ||
--null-muted: #78827a; | |||
--null-line: rgba(182, 255, 108, .17); | |||
max-width: | position: relative; | ||
isolation: isolate; | |||
max-width: 1320px; | |||
margin: 0 auto; | margin: 0 auto; | ||
color: var(-- | padding: 0 12px 30px; | ||
color: var(--null-white); | |||
font-family: inherit; | font-family: inherit; | ||
} | } | ||
.crypto-home, | |||
.crypto-home * { | .crypto-home * { | ||
box-sizing: border-box; | box-sizing: border-box; | ||
| Строка 26: | Строка 33: | ||
text-decoration: none !important; | text-decoration: none !important; | ||
} | } | ||
/* Background grid */ | |||
.crypto-home::before { | |||
content: ""; | |||
position: absolute; | |||
inset: 0; | |||
z-index: -1; | |||
pointer-events: none; | |||
background-image: | |||
linear-gradient(rgba(182,255,108,.025) 1px, transparent 1px), | |||
linear-gradient(90deg, rgba(182,255,108,.025) 1px, transparent 1px); | |||
background-size: 42px 42px; | |||
mask-image: linear-gradient(to bottom, black, transparent 85%); | |||
} | |||
/* ===================================================== | |||
HERO | |||
===================================================== */ | |||
.crypto-home .crypto-hero { | .crypto-home .crypto-hero { | ||
position: relative; | position: relative; | ||
display: grid; | display: grid; | ||
grid-template-columns: 1. | grid-template-columns: 1.1fr .9fr; | ||
min-height: | min-height: 510px; | ||
padding: | padding: 76px 7%; | ||
overflow: hidden; | overflow: hidden; | ||
background: | background: | ||
radial-gradient(ellipse at | radial-gradient(ellipse at 75% 50%, | ||
linear-gradient(120deg, # | rgba(182,255,108,.09), | ||
border: 1px solid var(--crypto-border); | transparent 38%), | ||
border- | linear-gradient(120deg, #0c110e, #080b0a 75%); | ||
border: 1px solid var(--null-line); | |||
border-radius: 2px; | |||
} | |||
/* Technical corner marks */ | |||
.crypto-home .crypto-hero::before, | |||
.crypto-home .crypto-hero::after { | |||
content: ""; | |||
position: absolute; | |||
width: 22px; | |||
height: 22px; | |||
pointer-events: none; | |||
} | |||
.crypto-home .crypto-hero::before { | |||
top: 0; | |||
left: 0; | |||
border-top: 1px solid var(--null-green); | |||
border-left: 1px solid var(--null-green); | |||
} | |||
.crypto-home .crypto-hero::after { | |||
right: 0; | |||
bottom: 0; | |||
border-right: 1px solid var(--null-green); | |||
border-bottom: 1px solid var(--null-green); | |||
} | } | ||
| Строка 48: | Строка 103: | ||
.crypto-home .crypto-eyebrow { | .crypto-home .crypto-eyebrow { | ||
color: var(-- | color: var(--null-green); | ||
font-family: monospace; | font-family: monospace; | ||
font-size: | font-size: 10px; | ||
letter-spacing: | letter-spacing: 3px; | ||
text-transform: uppercase; | text-transform: uppercase; | ||
} | } | ||
.crypto-home .crypto-hero-title { | .crypto-home .crypto-hero-title { | ||
margin: | margin: 30px 0 24px; | ||
font-size: clamp( | color: var(--null-white); | ||
line-height: | font-size: clamp(42px, 5.5vw, 76px); | ||
font-weight: | line-height: .98; | ||
letter-spacing: - | font-weight: 800; | ||
letter-spacing: -4px; | |||
} | } | ||
.crypto-home .crypto-hero-title span { | .crypto-home .crypto-hero-title span { | ||
color: var(-- | color: var(--null-green); | ||
} | } | ||
.crypto-home .crypto-hero-description { | .crypto-home .crypto-hero-description { | ||
max-width: | max-width: 470px; | ||
color: var(-- | color: var(--null-muted); | ||
font-size: | font-size: 14px; | ||
line-height: 1. | line-height: 1.9; | ||
} | } | ||
| Строка 78: | Строка 134: | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
gap: 12px; | gap: 12px; | ||
margin-top: | margin-top: 38px; | ||
} | } | ||
.crypto-home .crypto-button { | .crypto-home .crypto-button { | ||
display: inline- | display: inline-flex; | ||
padding: | align-items: center; | ||
border: 1px solid var(-- | min-height: 43px; | ||
border-radius: | padding: 0 20px; | ||
font-size: | border: 1px solid var(--null-line); | ||
border-radius: 1px; | |||
transition: . | font-family: monospace; | ||
font-size: 11px; | |||
letter-spacing: .5px; | |||
transition: .25s ease; | |||
} | } | ||
.crypto-home .crypto-button-primary { | .crypto-home .crypto-button-primary { | ||
color: # | color: #080b0a; | ||
background: var(-- | background: var(--null-green); | ||
border-color: var(-- | border-color: var(--null-green); | ||
} | } | ||
.crypto-home .crypto-button-primary:hover { | .crypto-home .crypto-button-primary:hover { | ||
background: # | color: #080b0a; | ||
background: #d0ff9f; | |||
box-shadow: 0 0 25px rgba(182,255,108,.2); | |||
} | } | ||
.crypto-home .crypto-button-secondary { | .crypto-home .crypto-button-secondary { | ||
color: var(-- | color: var(--null-white); | ||
background: transparent; | |||
} | } | ||
.crypto-home .crypto-button-secondary:hover { | .crypto-home .crypto-button-secondary:hover { | ||
color: var(--null-green); | |||
color: var(-- | border-color: var(--null-green); | ||
} | } | ||
/* ===================================================== | |||
3D CORE | |||
===================================================== */ | |||
.crypto-home .crypto-hero-visual { | .crypto-home .crypto-hero-visual { | ||
| Строка 115: | Строка 180: | ||
display: grid; | display: grid; | ||
place-items: center; | place-items: center; | ||
min-height: | min-height: 320px; | ||
perspective: 900px; | |||
} | } | ||
.crypto-home .crypto-core { | .crypto-home .crypto-core { | ||
position: relative; | |||
z-index: 2; | |||
display: grid; | display: grid; | ||
place-items: center; | place-items: center; | ||
width: | width: 125px; | ||
height: | height: 125px; | ||
border: 1px solid rgba( | color: var(--null-green); | ||
background: | |||
radial-gradient(circle at 35% 30%, #263a25, #0b100d 72%); | |||
border: 1px solid rgba(182,255,108,.75); | |||
border-radius: 50%; | border-radius: 50%; | ||
box-shadow: | |||
0 0 30px rgba(182,255,108,.12), | |||
font-size: | inset 0 0 35px rgba(182,255,108,.08); | ||
font-family: monospace; | |||
font-size: 54px; | |||
font-weight: 800; | font-weight: 800; | ||
animation: null-core-pulse 5s ease-in-out infinite; | |||
} | } | ||
.crypto-home .crypto-core span | .crypto-home .crypto-core span { | ||
color: var(--null-white); | |||
} | |||
@keyframes null-core-pulse { | |||
0%, 100% { | |||
box-shadow: | |||
0 0 30px rgba(182,255,108,.12), | |||
inset 0 0 35px rgba(182,255,108,.08); | |||
} | |||
50% { | |||
box-shadow: | |||
0 0 55px rgba(182,255,108,.22), | |||
inset 0 0 45px rgba(182,255,108,.13); | |||
} | |||
} | } | ||
.crypto-home .crypto-orbit { | .crypto-home .crypto-orbit { | ||
position: absolute; | position: absolute; | ||
width: | width: 230px; | ||
height: | height: 230px; | ||
border: 1px solid rgba( | border: 1px solid rgba(182,255,108,.25); | ||
border-radius: 50%; | border-radius: 50%; | ||
pointer-events: none; | |||
} | } | ||
.crypto-home .crypto-orbit-one { | .crypto-home .crypto-orbit-one { | ||
transform: scaleX(1.5) rotate(- | transform: scaleX(1.5) rotate(-30deg); | ||
animation: null-orbit-one 18s linear infinite; | |||
} | } | ||
.crypto-home .crypto-orbit-two { | .crypto-home .crypto-orbit-two { | ||
transform: scaleX(.7) rotate( | transform: scaleX(.7) rotate(50deg); | ||
border-color: rgba(182,255,108,.4); | |||
animation: null-orbit-two 24s linear infinite; | |||
} | } | ||
.crypto-home .crypto-orbit-three { | .crypto-home .crypto-orbit-three { | ||
width: | width: 320px; | ||
height: | height: 320px; | ||
border-style: dashed; | border-style: dashed; | ||
opacity: . | opacity: .35; | ||
animation: null-orbit-three 50s linear infinite; | |||
} | |||
@keyframes null-orbit-one { | |||
to { transform: scaleX(1.5) rotate(330deg); } | |||
} | |||
@keyframes null-orbit-two { | |||
to { transform: scaleX(.7) rotate(410deg); } | |||
} | |||
@keyframes null-orbit-three { | |||
to { transform: rotate(360deg); } | |||
} | } | ||
.crypto-home .crypto-coordinate { | .crypto-home .crypto-coordinate { | ||
position: absolute; | position: absolute; | ||
color: var(-- | color: var(--null-muted); | ||
font: 9px | font-family: monospace; | ||
font-size: 9px; | |||
letter-spacing: 2px; | letter-spacing: 2px; | ||
} | } | ||
.crypto-home .crypto-coordinate-top { | .crypto-home .crypto-coordinate-top { | ||
top: | top: 7%; | ||
right: 0; | right: 0; | ||
} | } | ||
.crypto-home .crypto-coordinate-bottom { | .crypto-home .crypto-coordinate-bottom { | ||
bottom: | bottom: 7%; | ||
left: 0; | left: 0; | ||
} | } | ||
| Строка 180: | Строка 287: | ||
.crypto-home .crypto-hero-index { | .crypto-home .crypto-hero-index { | ||
position: absolute; | position: absolute; | ||
bottom: | bottom: 20px; | ||
left: 7%; | left: 7%; | ||
color: # | color: #59635b; | ||
font: 9px | font-family: monospace; | ||
font-size: 9px; | |||
letter-spacing: 2px; | letter-spacing: 2px; | ||
} | } | ||
/* ===================================================== | |||
SECTION HEADERS | |||
===================================================== */ | |||
.crypto-home .crypto-section-heading { | .crypto-home .crypto-section-heading { | ||
display: flex; | display: flex; | ||
align-items: end; | |||
justify-content: space-between; | justify-content: space-between; | ||
margin: 85px 0 28px; | |||
padding-bottom: 17px; | |||
border-bottom: 1px solid var(--null-line); | |||
} | } | ||
.crypto-home .crypto-section-heading h2 { | .crypto-home .crypto-section-heading h2 { | ||
margin: | margin: 12px 0 0; | ||
color: var(--null-white); | |||
font-size: 30px; | font-size: 30px; | ||
font-weight: 750; | font-weight: 750; | ||
letter-spacing: -1px; | |||
} | } | ||
.crypto-home .crypto-section-index { | .crypto-home .crypto-section-index { | ||
color: var(-- | color: var(--null-muted); | ||
font: | font-family: monospace; | ||
font-size: 10px; | |||
letter-spacing: 2px; | |||
} | } | ||
/* ===================================================== | |||
CATEGORY CARDS | |||
===================================================== */ | |||
.crypto-home .crypto-grid { | .crypto-home .crypto-grid { | ||
display: grid; | display: grid; | ||
grid-template-columns: repeat(3, minmax(0, 1fr)); | grid-template-columns: repeat(3, minmax(0, 1fr)); | ||
gap: | gap: 1px; | ||
background: var(--null-line); | |||
border: 1px solid var(--null-line); | |||
} | } | ||
.crypto-home .crypto-card { | .crypto-home .crypto-card { | ||
position: relative; | position: relative; | ||
min-height: | min-height: 270px; | ||
padding: | padding: 27px; | ||
overflow: hidden; | overflow: hidden; | ||
background: var(--null-bg); | |||
transition: background .25s ease; | |||
background: var(-- | |||
transition: | |||
} | } | ||
.crypto-home .crypto-card:hover { | .crypto-home .crypto-card:hover { | ||
background: var(--null-surface-hover); | |||
} | |||
.crypto-home .crypto-card::after { | |||
content: ""; | |||
position: absolute; | |||
right: 0; | |||
bottom: 0; | |||
width: 0; | |||
height: 1px; | |||
background: var(--null-green); | |||
transition: width .3s ease; | |||
} | |||
.crypto-home .crypto-card:hover::after { | |||
width: 100%; | |||
} | } | ||
.crypto-home .crypto-card-featured { | .crypto-home .crypto-card-featured { | ||
background: | background: | ||
radial-gradient(circle at 90% | radial-gradient(circle at 90% 5%, | ||
rgba(182,255,108,.10), | |||
transparent 45%), | |||
#0c110e; | |||
} | } | ||
| Строка 238: | Строка 375: | ||
justify-content: space-between; | justify-content: space-between; | ||
gap: 8px; | gap: 8px; | ||
color: var(-- | color: var(--null-muted); | ||
font: 9px | font-family: monospace; | ||
letter-spacing: | font-size: 9px; | ||
letter-spacing: 1.5px; | |||
} | } | ||
.crypto-home .crypto-card-status { | .crypto-home .crypto-card-status { | ||
color: var(-- | color: var(--null-green-dim); | ||
text-align: right; | text-align: right; | ||
} | } | ||
.crypto-home .crypto-card-symbol { | .crypto-home .crypto-card-symbol { | ||
margin-top: | margin-top: 35px; | ||
color: var(-- | color: var(--null-green); | ||
font-size: | font-family: monospace; | ||
font-size: 34px; | |||
line-height: 1; | |||
} | } | ||
.crypto-home .crypto-card h3 { | .crypto-home .crypto-card h3 { | ||
margin: | margin: 18px 0 10px; | ||
font-size: | color: var(--null-white); | ||
font-size: 20px; | |||
font-weight: 700; | |||
letter-spacing: -.5px; | |||
} | } | ||
.crypto-home .crypto-card p { | .crypto-home .crypto-card p { | ||
min-height: | min-height: 55px; | ||
margin: 0 0 | margin: 0 0 22px; | ||
color: var(-- | color: var(--null-muted); | ||
font-size: 12px; | font-size: 12px; | ||
line-height: 1. | line-height: 1.8; | ||
} | } | ||
.crypto-home .crypto-card > a { | .crypto-home .crypto-card > a { | ||
color: var(-- | display: inline-block; | ||
font-size: | color: var(--null-green); | ||
font-family: monospace; | |||
font-size: 11px; | |||
letter-spacing: .5px; | |||
transition: .2s ease; | |||
} | |||
.crypto-home .crypto-card > a:hover { | |||
color: #d0ff9f; | |||
transform: translateX(4px); | |||
} | } | ||
/* ===================================================== | |||
MANIFESTO | |||
===================================================== */ | |||
.crypto-home .crypto-manifesto { | .crypto-home .crypto-manifesto { | ||
position: relative; | position: relative; | ||
display: | display: grid; | ||
grid-template-columns: .5fr 2fr .5fr; | |||
gap: | align-items: center; | ||
margin-top: | gap: 25px; | ||
padding: | margin-top: 85px; | ||
padding: 50px 5%; | |||
overflow: hidden; | overflow: hidden; | ||
border: 1px solid var(-- | |||
background: | |||
radial-gradient(ellipse at 80% 50%, | |||
rgba(182,255,108,.08), | |||
transparent 45%), | |||
#0b100d; | |||
border: 1px solid var(--null-line); | |||
} | } | ||
.crypto-home .crypto-manifesto-label { | .crypto-home .crypto-manifesto-label { | ||
color: var(-- | align-self: start; | ||
font: 10px | color: var(--null-green); | ||
font-family: monospace; | |||
font-size: 10px; | |||
letter-spacing: 2px; | letter-spacing: 2px; | ||
} | } | ||
.crypto-home .crypto-manifesto-content { | .crypto-home .crypto-manifesto-content { | ||
max-width: | max-width: 700px; | ||
} | } | ||
.crypto-home .crypto-manifesto-title { | .crypto-home .crypto-manifesto-title { | ||
font-size: clamp( | color: var(--null-white); | ||
line-height: 1. | font-size: clamp(27px, 4vw, 48px); | ||
font-weight: | line-height: 1.12; | ||
letter-spacing: - | font-weight: 800; | ||
letter-spacing: -2px; | |||
} | } | ||
.crypto-home .crypto-manifesto-content p { | .crypto-home .crypto-manifesto-content p { | ||
max-width: | max-width: 550px; | ||
margin-top: | margin-top: 22px; | ||
color: var(-- | color: var(--null-muted); | ||
font-size: 13px; | font-size: 13px; | ||
line-height: 1. | line-height: 1.9; | ||
} | } | ||
.crypto-home .crypto-manifesto-mark { | .crypto-home .crypto-manifesto-mark { | ||
color: rgba(182,255,108,.12); | |||
color: rgba( | font-family: monospace; | ||
font-size: | font-size: 85px; | ||
font-weight: 800; | font-weight: 800; | ||
text-align: right; | |||
} | } | ||
.crypto-home .crypto-manifesto-mark span { | |||
color: var(--null-green); | |||
} | |||
/* ===================================================== | |||
ABOUT + TERMINAL | |||
===================================================== */ | |||
.crypto-home .crypto-bottom-grid { | .crypto-home .crypto-bottom-grid { | ||
display: grid; | display: grid; | ||
grid-template-columns: 1fr 1fr; | grid-template-columns: 1fr 1fr; | ||
gap: | gap: 1px; | ||
margin-top: | margin-top: 1px; | ||
background: var(--null-line); | |||
border: 1px solid var(--null-line); | |||
} | } | ||
.crypto-home .crypto-info-block { | .crypto-home .crypto-info-block { | ||
min-height: 225px; | |||
padding: 32px; | |||
background: var(--null-bg); | |||
background: var(-- | |||
} | } | ||
.crypto-home .crypto-info-block h2 { | .crypto-home .crypto-info-block h2 { | ||
margin: 12px | margin: 17px 0 12px; | ||
font-size: | color: var(--null-white); | ||
font-size: 24px; | |||
} | } | ||
.crypto-home .crypto-info-block p { | .crypto-home .crypto-info-block p { | ||
color: var(-- | max-width: 480px; | ||
color: var(--null-muted); | |||
font-size: 13px; | font-size: 13px; | ||
line-height: 1. | line-height: 1.9; | ||
} | } | ||
/* Terminal */ | |||
.crypto-home .crypto-terminal-header { | .crypto-home .crypto-terminal-header { | ||
display: flex; | display: flex; | ||
justify-content: space-between; | justify-content: space-between; | ||
color: var(-- | color: var(--null-muted); | ||
font: 10px | font-family: monospace; | ||
letter-spacing: | font-size: 10px; | ||
letter-spacing: 1.5px; | |||
} | } | ||
| Строка 355: | Строка 534: | ||
height: 7px; | height: 7px; | ||
border-radius: 50%; | border-radius: 50%; | ||
background: var(-- | background: var(--null-green); | ||
box-shadow: 0 0 | box-shadow: 0 0 12px var(--null-green); | ||
} | } | ||
.crypto-home .crypto-terminal-line { | .crypto-home .crypto-terminal-line { | ||
margin-top: | margin-top: 25px; | ||
color: var(-- | color: var(--null-white); | ||
font: 12px | font-family: monospace; | ||
font-size: 12px; | |||
} | } | ||
.crypto-home .crypto-terminal-line span { | .crypto-home .crypto-terminal-line span { | ||
color: var(-- | color: var(--null-green); | ||
} | } | ||
.crypto-home .crypto-terminal-output { | .crypto-home .crypto-terminal-output { | ||
margin: | margin: 16px 0; | ||
padding: 12px; | padding: 12px 16px; | ||
border-left: 1px solid var(-- | border-left: 1px solid var(--null-green); | ||
color: var(-- | color: var(--null-muted); | ||
font: 11px | font-family: monospace; | ||
font-size: 11px; | |||
line-height: 2.2; | |||
} | } | ||
.crypto-home .crypto-terminal-output b { | .crypto-home .crypto-terminal-output b { | ||
color: var(-- | color: var(--null-green); | ||
font-weight: 500; | font-weight: 500; | ||
} | } | ||
/* ===================================================== | |||
FOOTER | |||
===================================================== */ | |||
.crypto-home .crypto-footer { | .crypto-home .crypto-footer { | ||
| Строка 388: | Строка 574: | ||
margin-top: 35px; | margin-top: 35px; | ||
padding: 20px 0; | padding: 20px 0; | ||
border-top: 1px solid var(-- | border-top: 1px solid var(--null-line); | ||
color: var(-- | color: var(--null-muted); | ||
font: 9px | font-family: monospace; | ||
letter-spacing: | font-size: 9px; | ||
letter-spacing: 2px; | |||
} | } | ||
@media (max-width: | /* ===================================================== | ||
RESPONSIVE | |||
===================================================== */ | |||
@media (max-width: 850px) { | |||
.crypto-home .crypto-hero { | .crypto-home .crypto-hero { | ||
grid-template-columns: 1fr; | grid-template-columns: 1fr; | ||
padding: | padding: 55px 7%; | ||
} | } | ||
.crypto-home .crypto-hero-visual { | .crypto-home .crypto-hero-visual { | ||
min-height: | min-height: 300px; | ||
} | } | ||
.crypto-home .crypto-grid { | .crypto-home .crypto-grid { | ||
grid-template-columns: repeat(2, minmax(0, 1fr)); | grid-template-columns: repeat(2, minmax(0, 1fr)); | ||
} | |||
.crypto-home .crypto-manifesto { | |||
grid-template-columns: 1fr; | |||
} | |||
.crypto-home .crypto-manifesto-mark { | |||
display: none; | |||
} | } | ||
} | } | ||
@media (max-width: | @media (max-width: 560px) { | ||
.crypto-home .crypto-hero { | |||
padding: 40px 7%; | |||
} | |||
.crypto-home .crypto-hero-title { | .crypto-home .crypto-hero-title { | ||
letter-spacing: - | font-size: 43px; | ||
letter-spacing: -2px; | |||
} | } | ||
| Строка 423: | Строка 627: | ||
} | } | ||
.crypto-home .crypto- | .crypto-home .crypto-card p { | ||
min-height: auto; | |||
} | |||
.crypto-home .crypto-section-heading { | |||
margin-top: 55px; | |||
} | } | ||
.crypto-home .crypto-manifesto | .crypto-home .crypto-manifesto { | ||
padding: 30px 24px; | |||
} | } | ||
.crypto-home .crypto-footer { | .crypto-home .crypto-footer { | ||
flex-direction: column; | flex-direction: column; | ||
} | |||
} | |||
/* Reduced motion */ | |||
@media (prefers-reduced-motion: reduce) { | |||
.crypto-home *, | |||
.crypto-home *::before, | |||
.crypto-home *::after { | |||
animation: none !important; | |||
transition: none !important; | |||
} | } | ||
} | } | ||
Версия от 23:11, 4 ноября 2026
/* =====================================================
NULL / CRYPTOGRAPHY
Main page — Citizen skin
Visual direction: NULL / dark technical minimalism
===================================================== */
.crypto-home {
--null-bg: #080b0a;
--null-surface: #0d1210;
--null-surface-hover: #111a14;
--null-green: #b6ff6c;
--null-green-dim: #79b94b;
--null-white: #e8eee8;
--null-muted: #78827a;
--null-line: rgba(182, 255, 108, .17);
position: relative;
isolation: isolate;
max-width: 1320px;
margin: 0 auto;
padding: 0 12px 30px;
color: var(--null-white);
font-family: inherit;
}
.crypto-home,
.crypto-home * {
box-sizing: border-box;
}
.crypto-home a {
text-decoration: none !important;
}
/* Background grid */
.crypto-home::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
pointer-events: none;
background-image:
linear-gradient(rgba(182,255,108,.025) 1px, transparent 1px),
linear-gradient(90deg, rgba(182,255,108,.025) 1px, transparent 1px);
background-size: 42px 42px;
mask-image: linear-gradient(to bottom, black, transparent 85%);
}
/* =====================================================
HERO
===================================================== */
.crypto-home .crypto-hero {
position: relative;
display: grid;
grid-template-columns: 1.1fr .9fr;
min-height: 510px;
padding: 76px 7%;
overflow: hidden;
background:
radial-gradient(ellipse at 75% 50%,
rgba(182,255,108,.09),
transparent 38%),
linear-gradient(120deg, #0c110e, #080b0a 75%);
border: 1px solid var(--null-line);
border-radius: 2px;
}
/* Technical corner marks */
.crypto-home .crypto-hero::before,
.crypto-home .crypto-hero::after {
content: "";
position: absolute;
width: 22px;
height: 22px;
pointer-events: none;
}
.crypto-home .crypto-hero::before {
top: 0;
left: 0;
border-top: 1px solid var(--null-green);
border-left: 1px solid var(--null-green);
}
.crypto-home .crypto-hero::after {
right: 0;
bottom: 0;
border-right: 1px solid var(--null-green);
border-bottom: 1px solid var(--null-green);
}
.crypto-home .crypto-hero-content {
position: relative;
z-index: 2;
align-self: center;
}
.crypto-home .crypto-eyebrow {
color: var(--null-green);
font-family: monospace;
font-size: 10px;
letter-spacing: 3px;
text-transform: uppercase;
}
.crypto-home .crypto-hero-title {
margin: 30px 0 24px;
color: var(--null-white);
font-size: clamp(42px, 5.5vw, 76px);
line-height: .98;
font-weight: 800;
letter-spacing: -4px;
}
.crypto-home .crypto-hero-title span {
color: var(--null-green);
}
.crypto-home .crypto-hero-description {
max-width: 470px;
color: var(--null-muted);
font-size: 14px;
line-height: 1.9;
}
.crypto-home .crypto-hero-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 38px;
}
.crypto-home .crypto-button {
display: inline-flex;
align-items: center;
min-height: 43px;
padding: 0 20px;
border: 1px solid var(--null-line);
border-radius: 1px;
font-family: monospace;
font-size: 11px;
letter-spacing: .5px;
transition: .25s ease;
}
.crypto-home .crypto-button-primary {
color: #080b0a;
background: var(--null-green);
border-color: var(--null-green);
}
.crypto-home .crypto-button-primary:hover {
color: #080b0a;
background: #d0ff9f;
box-shadow: 0 0 25px rgba(182,255,108,.2);
}
.crypto-home .crypto-button-secondary {
color: var(--null-white);
background: transparent;
}
.crypto-home .crypto-button-secondary:hover {
color: var(--null-green);
border-color: var(--null-green);
}
/* =====================================================
3D CORE
===================================================== */
.crypto-home .crypto-hero-visual {
position: relative;
display: grid;
place-items: center;
min-height: 320px;
perspective: 900px;
}
.crypto-home .crypto-core {
position: relative;
z-index: 2;
display: grid;
place-items: center;
width: 125px;
height: 125px;
color: var(--null-green);
background:
radial-gradient(circle at 35% 30%, #263a25, #0b100d 72%);
border: 1px solid rgba(182,255,108,.75);
border-radius: 50%;
box-shadow:
0 0 30px rgba(182,255,108,.12),
inset 0 0 35px rgba(182,255,108,.08);
font-family: monospace;
font-size: 54px;
font-weight: 800;
animation: null-core-pulse 5s ease-in-out infinite;
}
.crypto-home .crypto-core span {
color: var(--null-white);
}
@keyframes null-core-pulse {
0%, 100% {
box-shadow:
0 0 30px rgba(182,255,108,.12),
inset 0 0 35px rgba(182,255,108,.08);
}
50% {
box-shadow:
0 0 55px rgba(182,255,108,.22),
inset 0 0 45px rgba(182,255,108,.13);
}
}
.crypto-home .crypto-orbit {
position: absolute;
width: 230px;
height: 230px;
border: 1px solid rgba(182,255,108,.25);
border-radius: 50%;
pointer-events: none;
}
.crypto-home .crypto-orbit-one {
transform: scaleX(1.5) rotate(-30deg);
animation: null-orbit-one 18s linear infinite;
}
.crypto-home .crypto-orbit-two {
transform: scaleX(.7) rotate(50deg);
border-color: rgba(182,255,108,.4);
animation: null-orbit-two 24s linear infinite;
}
.crypto-home .crypto-orbit-three {
width: 320px;
height: 320px;
border-style: dashed;
opacity: .35;
animation: null-orbit-three 50s linear infinite;
}
@keyframes null-orbit-one {
to { transform: scaleX(1.5) rotate(330deg); }
}
@keyframes null-orbit-two {
to { transform: scaleX(.7) rotate(410deg); }
}
@keyframes null-orbit-three {
to { transform: rotate(360deg); }
}
.crypto-home .crypto-coordinate {
position: absolute;
color: var(--null-muted);
font-family: monospace;
font-size: 9px;
letter-spacing: 2px;
}
.crypto-home .crypto-coordinate-top {
top: 7%;
right: 0;
}
.crypto-home .crypto-coordinate-bottom {
bottom: 7%;
left: 0;
}
.crypto-home .crypto-hero-index {
position: absolute;
bottom: 20px;
left: 7%;
color: #59635b;
font-family: monospace;
font-size: 9px;
letter-spacing: 2px;
}
/* =====================================================
SECTION HEADERS
===================================================== */
.crypto-home .crypto-section-heading {
display: flex;
align-items: end;
justify-content: space-between;
margin: 85px 0 28px;
padding-bottom: 17px;
border-bottom: 1px solid var(--null-line);
}
.crypto-home .crypto-section-heading h2 {
margin: 12px 0 0;
color: var(--null-white);
font-size: 30px;
font-weight: 750;
letter-spacing: -1px;
}
.crypto-home .crypto-section-index {
color: var(--null-muted);
font-family: monospace;
font-size: 10px;
letter-spacing: 2px;
}
/* =====================================================
CATEGORY CARDS
===================================================== */
.crypto-home .crypto-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1px;
background: var(--null-line);
border: 1px solid var(--null-line);
}
.crypto-home .crypto-card {
position: relative;
min-height: 270px;
padding: 27px;
overflow: hidden;
background: var(--null-bg);
transition: background .25s ease;
}
.crypto-home .crypto-card:hover {
background: var(--null-surface-hover);
}
.crypto-home .crypto-card::after {
content: "";
position: absolute;
right: 0;
bottom: 0;
width: 0;
height: 1px;
background: var(--null-green);
transition: width .3s ease;
}
.crypto-home .crypto-card:hover::after {
width: 100%;
}
.crypto-home .crypto-card-featured {
background:
radial-gradient(circle at 90% 5%,
rgba(182,255,108,.10),
transparent 45%),
#0c110e;
}
.crypto-home .crypto-card-top {
display: flex;
justify-content: space-between;
gap: 8px;
color: var(--null-muted);
font-family: monospace;
font-size: 9px;
letter-spacing: 1.5px;
}
.crypto-home .crypto-card-status {
color: var(--null-green-dim);
text-align: right;
}
.crypto-home .crypto-card-symbol {
margin-top: 35px;
color: var(--null-green);
font-family: monospace;
font-size: 34px;
line-height: 1;
}
.crypto-home .crypto-card h3 {
margin: 18px 0 10px;
color: var(--null-white);
font-size: 20px;
font-weight: 700;
letter-spacing: -.5px;
}
.crypto-home .crypto-card p {
min-height: 55px;
margin: 0 0 22px;
color: var(--null-muted);
font-size: 12px;
line-height: 1.8;
}
.crypto-home .crypto-card > a {
display: inline-block;
color: var(--null-green);
font-family: monospace;
font-size: 11px;
letter-spacing: .5px;
transition: .2s ease;
}
.crypto-home .crypto-card > a:hover {
color: #d0ff9f;
transform: translateX(4px);
}
/* =====================================================
MANIFESTO
===================================================== */
.crypto-home .crypto-manifesto {
position: relative;
display: grid;
grid-template-columns: .5fr 2fr .5fr;
align-items: center;
gap: 25px;
margin-top: 85px;
padding: 50px 5%;
overflow: hidden;
background:
radial-gradient(ellipse at 80% 50%,
rgba(182,255,108,.08),
transparent 45%),
#0b100d;
border: 1px solid var(--null-line);
}
.crypto-home .crypto-manifesto-label {
align-self: start;
color: var(--null-green);
font-family: monospace;
font-size: 10px;
letter-spacing: 2px;
}
.crypto-home .crypto-manifesto-content {
max-width: 700px;
}
.crypto-home .crypto-manifesto-title {
color: var(--null-white);
font-size: clamp(27px, 4vw, 48px);
line-height: 1.12;
font-weight: 800;
letter-spacing: -2px;
}
.crypto-home .crypto-manifesto-content p {
max-width: 550px;
margin-top: 22px;
color: var(--null-muted);
font-size: 13px;
line-height: 1.9;
}
.crypto-home .crypto-manifesto-mark {
color: rgba(182,255,108,.12);
font-family: monospace;
font-size: 85px;
font-weight: 800;
text-align: right;
}
.crypto-home .crypto-manifesto-mark span {
color: var(--null-green);
}
/* =====================================================
ABOUT + TERMINAL
===================================================== */
.crypto-home .crypto-bottom-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1px;
margin-top: 1px;
background: var(--null-line);
border: 1px solid var(--null-line);
}
.crypto-home .crypto-info-block {
min-height: 225px;
padding: 32px;
background: var(--null-bg);
}
.crypto-home .crypto-info-block h2 {
margin: 17px 0 12px;
color: var(--null-white);
font-size: 24px;
}
.crypto-home .crypto-info-block p {
max-width: 480px;
color: var(--null-muted);
font-size: 13px;
line-height: 1.9;
}
/* Terminal */
.crypto-home .crypto-terminal-header {
display: flex;
justify-content: space-between;
color: var(--null-muted);
font-family: monospace;
font-size: 10px;
letter-spacing: 1.5px;
}
.crypto-home .crypto-terminal-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--null-green);
box-shadow: 0 0 12px var(--null-green);
}
.crypto-home .crypto-terminal-line {
margin-top: 25px;
color: var(--null-white);
font-family: monospace;
font-size: 12px;
}
.crypto-home .crypto-terminal-line span {
color: var(--null-green);
}
.crypto-home .crypto-terminal-output {
margin: 16px 0;
padding: 12px 16px;
border-left: 1px solid var(--null-green);
color: var(--null-muted);
font-family: monospace;
font-size: 11px;
line-height: 2.2;
}
.crypto-home .crypto-terminal-output b {
color: var(--null-green);
font-weight: 500;
}
/* =====================================================
FOOTER
===================================================== */
.crypto-home .crypto-footer {
display: flex;
justify-content: space-between;
gap: 15px;
margin-top: 35px;
padding: 20px 0;
border-top: 1px solid var(--null-line);
color: var(--null-muted);
font-family: monospace;
font-size: 9px;
letter-spacing: 2px;
}
/* =====================================================
RESPONSIVE
===================================================== */
@media (max-width: 850px) {
.crypto-home .crypto-hero {
grid-template-columns: 1fr;
padding: 55px 7%;
}
.crypto-home .crypto-hero-visual {
min-height: 300px;
}
.crypto-home .crypto-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.crypto-home .crypto-manifesto {
grid-template-columns: 1fr;
}
.crypto-home .crypto-manifesto-mark {
display: none;
}
}
@media (max-width: 560px) {
.crypto-home .crypto-hero {
padding: 40px 7%;
}
.crypto-home .crypto-hero-title {
font-size: 43px;
letter-spacing: -2px;
}
.crypto-home .crypto-grid,
.crypto-home .crypto-bottom-grid {
grid-template-columns: 1fr;
}
.crypto-home .crypto-card {
min-height: auto;
}
.crypto-home .crypto-card p {
min-height: auto;
}
.crypto-home .crypto-section-heading {
margin-top: 55px;
}
.crypto-home .crypto-manifesto {
padding: 30px 24px;
}
.crypto-home .crypto-footer {
flex-direction: column;
}
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.crypto-home *,
.crypto-home *::before,
.crypto-home *::after {
animation: none !important;
transition: none !important;
}
}