Files
pozor/app/globals.css
T
2026-06-05 03:02:41 +03:00

253 lines
4.3 KiB
CSS

:root {
--paper: #080908;
--ink: #f1eadc;
--muted: #a69a87;
--panel: #121511;
--blood: #e13131;
--acid: #d7ff3f;
--steel: #c8d3c6;
--line: #f1eadc;
--shadow: rgba(0, 0, 0, 0.56);
}
* {
box-sizing: border-box;
}
html {
min-height: 100%;
background:
radial-gradient(circle at 18% 10%, rgba(225, 49, 49, 0.16), transparent 28rem),
linear-gradient(90deg, rgba(241, 234, 220, 0.055) 1px, transparent 1px) 0 0 / 34px 34px,
linear-gradient(rgba(241, 234, 220, 0.04) 1px, transparent 1px) 0 0 / 34px 34px,
var(--paper);
}
body {
min-height: 100vh;
margin: 0;
color: var(--ink);
font-family: Georgia, "Times New Roman", serif;
}
button,
input {
font: inherit;
}
a {
color: inherit;
}
.shell {
width: min(1440px, calc(100% - 32px));
margin: 0 auto;
padding: 26px 0 56px;
}
.hero {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(240px, 380px);
gap: 24px;
align-items: stretch;
min-height: 270px;
border: 2px solid var(--line);
background:
radial-gradient(circle at 88% 18%, rgba(215, 255, 63, 0.12), transparent 30%),
linear-gradient(135deg, #191d16 0%, #101310 58%, #050605 100%);
box-shadow: 10px 10px 0 var(--line);
position: relative;
overflow: hidden;
}
.hero::before {
content: "";
position: absolute;
inset: 14px;
border: 1px dashed rgba(241, 234, 220, 0.34);
pointer-events: none;
}
.heroText {
padding: 34px;
position: relative;
z-index: 1;
}
.kicker {
width: max-content;
margin: 0 0 18px;
padding: 7px 10px;
background: var(--acid);
border: 2px solid var(--line);
color: #11160d;
font-family: "Courier New", monospace;
font-size: 0.83rem;
font-weight: 800;
letter-spacing: 0;
text-transform: uppercase;
}
h1 {
max-width: 920px;
margin: 0;
font-size: clamp(4rem, 12vw, 10.5rem);
line-height: 0.8;
letter-spacing: 0;
text-transform: uppercase;
}
.summary {
max-width: 680px;
margin: 28px 0 0;
color: var(--muted);
font-size: 1.12rem;
line-height: 1.52;
}
.caseTag {
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 100%;
padding: 28px;
background: #050605;
color: var(--ink);
font-family: "Courier New", monospace;
text-transform: uppercase;
position: relative;
z-index: 1;
}
.caseTag span {
color: var(--acid);
font-size: 0.9rem;
font-weight: 800;
}
.caseTag strong {
overflow-wrap: anywhere;
font-size: 1.45rem;
line-height: 1.1;
}
.board {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 26px;
align-items: start;
min-height: 240px;
padding: 34px 0 12px;
}
.notice {
grid-column: 1 / -1;
padding: 24px;
border: 2px solid var(--line);
background: var(--panel);
box-shadow: 6px 6px 0 var(--line);
color: var(--steel);
font-size: 1rem;
}
.notice.danger {
background: #2a0808;
color: #ffb7a8;
}
.photoCard {
border: 2px solid var(--line);
background: #0d100d;
box-shadow: 8px 9px 0 var(--line);
transition: transform 180ms ease, box-shadow 180ms ease;
}
.photoCard:hover {
box-shadow: 12px 13px 0 var(--blood);
transform: translate(-3px, -3px);
}
.photoCard a {
display: block;
overflow: visible;
border-bottom: 2px solid var(--line);
background: #1b2019;
}
.photoCard img {
display: block;
width: 100%;
height: auto;
filter: contrast(1.12) saturate(0.82) brightness(0.86);
}
.caption {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 10px;
align-items: center;
padding: 12px;
font-family: "Courier New", monospace;
}
.caption span {
padding: 4px 6px;
background: var(--blood);
color: white;
font-size: 0.78rem;
font-weight: 900;
}
.caption strong {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 0.92rem;
}
@media (max-width: 840px) {
.shell {
width: min(100% - 20px, 720px);
padding-top: 14px;
}
.hero {
grid-template-columns: 1fr;
}
.heroText {
padding: 26px 22px;
}
h1 {
font-size: clamp(3.4rem, 18vw, 6rem);
}
.summary {
font-size: 1rem;
}
.caseTag {
min-height: 130px;
}
.board {
padding-top: 24px;
}
}
@media (max-width: 520px) {
.board {
grid-template-columns: 1fr;
}
.hero {
box-shadow: 6px 6px 0 var(--line);
}
.kicker {
width: auto;
}
}