workstations and light theme

This commit is contained in:
2026-04-16 16:33:48 +03:00
parent 555e920c18
commit bbfaf5ccc5
37 changed files with 1015 additions and 106 deletions
+3 -2
View File
@@ -27,7 +27,7 @@
border-color: var(--card-accent);
background-color: color-mix(in srgb, var(--card-glow) 36%, var(--surface));
color: var(--text);
transform: translateY(-2px);
transform: translateY(-5px);
}
.link-card__index {
@@ -64,8 +64,9 @@
.link-card__name {
color: var(--text);
font-family: "Barlow Condensed", sans-serif;
font-size: 1.25rem;
font-weight: 700;
font-size: 1.25rem;
line-height: 1;
}
.link-card__label {
+8 -42
View File
@@ -19,6 +19,9 @@
--glow-cyan: rgba(127, 180, 202, 0.2);
--glow-green: rgba(152, 187, 108, 0.18);
--glow-pink: rgba(210, 126, 153, 0.18);
--glow-teal: rgba(107, 196, 180, 0.18);
--glow-lime: rgba(184, 204, 100, 0.18);
--glow-rose: rgba(224, 112, 128, 0.2);
--block-size: 980px;
@@ -64,15 +67,18 @@ a:hover {
}
h1 {
font-size: 3.5rem;
font-size: clamp(3.5rem, 7vw, 5rem);
line-height: 0.95;
}
h2 {
font-size: 2rem;
font-size: clamp(1.85rem, 3vw, 2.25rem);
line-height: 1;
}
h3 {
font-size: 1.5rem;
line-height: 1.1;
}
h4 {
@@ -124,46 +130,6 @@ h6 {
max-width: 560px;
}
.tone-blue {
--card-accent: var(--primary);
--card-glow: var(--glow-blue);
}
.tone-gold {
--card-accent: var(--warm);
--card-glow: var(--glow-gold);
}
.tone-mint {
--card-accent: var(--accent);
--card-glow: var(--glow-mint);
}
.tone-purple {
--card-accent: #b876d3;
--card-glow: var(--glow-purple);
}
.tone-red {
--card-accent: var(--danger);
--card-glow: var(--glow-red);
}
.tone-cyan {
--card-accent: #7fb4ca;
--card-glow: var(--glow-cyan);
}
.tone-green {
--card-accent: #98bb6c;
--card-glow: var(--glow-green);
}
.tone-pink {
--card-accent: #d27e99;
--card-glow: var(--glow-pink);
}
@media (max-width: 560px) {
body {
padding-top: 32px;
+10 -50
View File
@@ -1,43 +1,3 @@
.project-card.project-card--blue {
--project-accent: var(--primary);
--project-glow: var(--glow-blue);
}
.project-card.project-card--gold {
--project-accent: var(--warm);
--project-glow: var(--glow-gold);
}
.project-card.project-card--mint {
--project-accent: var(--accent);
--project-glow: var(--glow-mint);
}
.project-card.project-card--purple {
--project-accent: #b876d3;
--project-glow: var(--glow-purple);
}
.project-card.project-card--red {
--project-accent: var(--danger);
--project-glow: var(--glow-red);
}
.project-card.project-card--cyan {
--project-accent: #7fb4ca;
--project-glow: var(--glow-cyan);
}
.project-card.project-card--green {
--project-accent: #98bb6c;
--project-glow: var(--glow-green);
}
.project-card.project-card--pink {
--project-accent: #d27e99;
--project-glow: var(--glow-pink);
}
.project-grid {
display: grid;
gap: 18px;
@@ -46,16 +6,14 @@
}
.project-card {
--project-accent: var(--accent);
--project-glow: var(--glow-mint);
display: flex;
flex-direction: column;
min-height: 220px;
padding: 22px;
border: 1px solid color-mix(in srgb, var(--project-accent) 36%, var(--border));
border: 1px solid color-mix(in srgb, var(--card-accent) 36%, var(--border));
border-radius: 8px;
background:
linear-gradient(140deg, var(--project-glow), transparent 48%),
linear-gradient(140deg, var(--card-glow), transparent 48%),
linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent),
var(--surface);
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
@@ -66,9 +24,9 @@
}
.project-card:hover {
border-color: var(--project-accent);
border-color: var(--card-accent);
box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28);
transform: translateY(-2px);
transform: translateY(-5px);
}
.project-card__header {
@@ -92,8 +50,8 @@
}
.project-card__key {
border: 1px solid color-mix(in srgb, var(--project-accent) 56%, var(--border));
color: var(--project-accent);
border: 1px solid color-mix(in srgb, var(--card-accent) 56%, var(--border));
color: var(--card-accent);
text-transform: uppercase;
}
@@ -107,7 +65,8 @@
.project-card__title {
margin-top: 22px;
color: var(--text);
font-size: 1.75rem;
font-size: clamp(1.6rem, 2.4vw, 1.9rem);
line-height: 1;
}
.project-card__description {
@@ -131,6 +90,7 @@
color: var(--card-accent);
font-size: 0.9rem;
font-family: var(--fonts-monospace);
font-style: italic;
}
.project-card__links {
@@ -144,7 +104,7 @@
.project-card__links a {
border-bottom: 1px solid currentColor;
color: var(--project-accent);
color: var(--card-accent);
font-weight: 700;
text-decoration: none;
}
+30 -1
View File
@@ -5,6 +5,32 @@
margin-top: 18px;
}
.stack-toggle {
margin-top: 14px;
min-height: 38px;
padding: 8px 16px;
border: 1px solid var(--border);
border-radius: 8px;
background-color: transparent;
color: var(--text);
cursor: pointer;
font: inherit;
transition:
background-color 160ms ease,
border-color 160ms ease,
color 160ms ease;
}
.stack-toggle:hover {
border-color: var(--accent);
background-color: var(--glow-mint);
color: var(--text);
}
.stack-toggle[hidden] {
display: none;
}
.stack-card {
position: relative;
display: grid;
@@ -30,7 +56,7 @@
.stack-card:hover {
border-color: var(--card-accent);
box-shadow: 0 20px 44px rgba(0, 0, 0, 0.26);
transform: translateY(-2px);
transform: translateY(-5px);
}
.stack-card__badge {
@@ -70,6 +96,8 @@
.stack-card__title {
margin-top: 4px;
color: var(--text);
font-size: 1.5rem;
line-height: 1;
}
.stack-card__footer {
@@ -88,6 +116,7 @@
border: 1px solid rgba(220, 215, 186, 0.16);
padding: 4px 8px;
background-color: rgba(31, 31, 40, 0.4);
font-style: italic;
}
@media (max-width: 780px) {
+107
View File
@@ -0,0 +1,107 @@
@media (prefers-color-scheme: light) {
:root {
--bg: #f2ecbc;
--surface: #e5ddb0;
--border: #c8c093;
--text: #545464;
--text-soft: #43436c;
--text-muted: #77713f;
--primary: #2f5d95;
--accent: #4e8ca2;
--warm: #cc6d00;
--danger: #c84053;
--glow-blue: rgba(47, 93, 149, 0.14);
--glow-gold: rgba(204, 109, 0, 0.13);
--glow-mint: rgba(78, 140, 162, 0.12);
--glow-purple: rgba(118, 107, 144, 0.14);
--glow-red: rgba(200, 64, 83, 0.13);
--glow-cyan: rgba(58, 143, 183, 0.12);
--glow-green: rgba(111, 137, 78, 0.13);
--glow-pink: rgba(179, 91, 121, 0.12);
--glow-teal: rgba(90, 119, 133, 0.12);
--glow-lime: rgba(119, 113, 63, 0.12);
--glow-rose: rgba(215, 71, 75, 0.13);
}
body {
color-scheme: light;
}
.tone-purple {
--card-accent: #766b90;
}
.tone-cyan {
--card-accent: #3a8fb7;
}
.tone-green {
--card-accent: #6f894e;
}
.tone-pink {
--card-accent: #b35b79;
}
.tone-teal {
--card-accent: #5a7785;
}
.tone-lime {
--card-accent: #77713f;
}
.tone-rose {
--card-accent: #d7474b;
}
.stack-card,
.project-card,
.workstation-card {
background:
linear-gradient(135deg, var(--card-glow), transparent 46%),
linear-gradient(180deg, rgba(247, 241, 197, 0.52), transparent),
var(--surface);
box-shadow: 0 16px 36px rgba(67, 67, 108, 0.1);
}
.stack-card:hover,
.project-card:hover,
.workstation-card:hover {
box-shadow: 0 22px 48px rgba(67, 67, 108, 0.14);
}
.stack-card__badge,
.stack-card__footer span,
.project-card__status,
.project-card__stack span,
.workstation-card__status,
.workstation-card__specs dt,
.workstation-card__chips span,
.link-card {
background-color: rgba(242, 236, 188, 0.58);
border-color: color-mix(in srgb, var(--card-accent) 28%, var(--border));
}
.workstation-card__status--actual {
background-color: var(--card-accent);
color: var(--surface);
}
.workstation-card__status--archive {
background-color: rgba(31, 31, 40, 0.52);
color: var(--surface);
font-style: italic;
}
.link-card:hover {
background-color: color-mix(in srgb, var(--card-glow) 46%, var(--surface));
}
.site-pill,
.site-nav a,
.stack-toggle,
.workstation-toggle {
background-color: rgba(242, 236, 188, 0.42);
}
}
+54
View File
@@ -0,0 +1,54 @@
.tone-blue {
--card-accent: var(--primary);
--card-glow: var(--glow-blue);
}
.tone-gold {
--card-accent: var(--warm);
--card-glow: var(--glow-gold);
}
.tone-mint {
--card-accent: var(--accent);
--card-glow: var(--glow-mint);
}
.tone-purple {
--card-accent: #b876d3;
--card-glow: var(--glow-purple);
}
.tone-red {
--card-accent: var(--danger);
--card-glow: var(--glow-red);
}
.tone-cyan {
--card-accent: #7fb4ca;
--card-glow: var(--glow-cyan);
}
.tone-green {
--card-accent: #98bb6c;
--card-glow: var(--glow-green);
}
.tone-pink {
--card-accent: #d27e99;
--card-glow: var(--glow-pink);
}
.tone-teal {
--card-accent: #6bc4b4;
--card-glow: var(--glow-teal);
}
.tone-lime {
--card-accent: #b8cc64;
--card-glow: var(--glow-lime);
}
.tone-rose {
--card-accent: #e07080;
--card-glow: var(--glow-rose);
}
+180
View File
@@ -0,0 +1,180 @@
.workstation-grid {
display: grid;
gap: 18px;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-top: 18px;
}
.workstation-toggle {
margin-top: 14px;
min-height: 38px;
padding: 8px 16px;
border: 1px solid var(--border);
border-radius: 8px;
background-color: transparent;
color: var(--text);
cursor: pointer;
font: inherit;
transition:
background-color 160ms ease,
border-color 160ms ease,
color 160ms ease;
}
.workstation-toggle:hover {
border-color: var(--accent);
background-color: var(--glow-mint);
color: var(--text);
}
.workstation-toggle[hidden] {
display: none;
}
.workstation-card {
display: flex;
flex-direction: column;
min-height: 260px;
padding: 22px;
border: 1px solid color-mix(in srgb, var(--card-accent) 36%, var(--border));
border-radius: 8px;
background:
linear-gradient(140deg, var(--card-glow), transparent 48%),
linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent),
var(--surface);
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
transition:
border-color 160ms ease,
transform 160ms ease,
box-shadow 160ms ease;
}
.workstation-card:hover {
border-color: var(--card-accent);
box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28);
transform: translateY(-5px);
}
.workstation-card__header {
display: flex;
align-items: center;
gap: 12px;
}
.workstation-card__index {
color: var(--text-soft);
font-family: var(--fonts-monospace);
font-size: 0.82rem;
}
.workstation-card__key,
.workstation-card__status {
border-radius: 8px;
padding: 4px 8px;
font-family: var(--fonts-monospace);
font-size: 0.82rem;
font-weight: 700;
}
.workstation-card__key {
border: 1px solid color-mix(in srgb, var(--card-accent) 56%, var(--border));
color: var(--card-accent);
text-transform: uppercase;
}
.workstation-card__status {
margin-left: auto;
background-color: rgba(31, 31, 40, 0.52);
color: var(--text);
}
.workstation-card__status--actual {
background-color: var(--card-accent);
color: var(--surface);
}
.workstation-card__status--archive {
background-color: rgba(31, 31, 40, 0.52);
color: var(--text);
font-style: italic;
}
.workstation-card__title {
margin-top: 22px;
color: var(--text);
font-size: clamp(1.6rem, 2.4vw, 1.9rem);
line-height: 1;
}
.workstation-card__specs {
display: grid;
grid-template-columns: 68px minmax(0, 1fr);
gap: 8px 12px;
margin-top: 18px;
font-family: var(--fonts-monospace);
}
.workstation-card__specs dt {
align-self: start;
border: 1px solid color-mix(in srgb, var(--card-accent) 48%, var(--border));
border-radius: 8px;
padding: 4px 7px;
background-color: rgba(31, 31, 40, 0.36);
color: var(--card-accent);
font-size: 0.72rem;
font-weight: 700;
line-height: 1;
text-align: center;
text-transform: uppercase;
}
.workstation-card__specs dd {
align-self: center;
min-width: 0;
color: var(--text);
font-weight: 400;
line-height: 1.4;
}
.workstation-card__group {
margin-top: 20px;
}
.workstation-card__group-title {
color: var(--card-accent);
font-family: var(--fonts-monospace);
font-size: 0.78rem;
font-weight: 700;
text-transform: uppercase;
}
.workstation-card__chips {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px;
}
.workstation-card__chips span {
border-radius: 8px;
border: 1px solid var(--card-glow);
padding: 5px 9px;
background-color: rgba(31, 31, 40, 0.42);
color: var(--card-accent);
font-family: var(--fonts-monospace);
font-size: 0.9rem;
}
@media (max-width: 780px) {
.workstation-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 560px) {
.workstation-card__specs {
grid-template-columns: 58px minmax(0, 1fr);
}
.workstation-card__specs dd {
margin-bottom: 0;
}
}