Commit 0687b8e6 authored by santiago duque's avatar santiago duque

qupte font styling

parent dcfd2b0f
/* =================================================================== /* ===================================================================
Shared styles — atmospheric horror scrollytelling Shared styles — atmospheric horror scrollytelling
=================================================================== */ =================================================================== */
@use 'vars'; @use "vars";
@use 'fonts'; @use "fonts";
@use 'mixins' as m; @use "mixins" as m;
// ===== Reset ===== // ===== Reset =====
* { box-sizing: border-box; margin: 0; padding: 0; } * {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html, body { html,
body {
background: var(--bg); background: var(--bg);
color: var(--ink); color: var(--ink);
font-family: var(--font-body); font-family: var(--font-body);
...@@ -17,6 +22,10 @@ html, body { ...@@ -17,6 +22,10 @@ html, body {
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
overflow-x: clip; overflow-x: clip;
@include m.bp(m.$bp-laptop) {
font-size: 18px;
}
} }
body { body {
...@@ -45,8 +54,13 @@ body { ...@@ -45,8 +54,13 @@ body {
} }
@keyframes vignette-pulse { @keyframes vignette-pulse {
0%, 100% { opacity: 0.85; } 0%,
50% { opacity: 1; } 100% {
opacity: 0.85;
}
50% {
opacity: 1;
}
} }
.flicker { .flicker {
...@@ -59,25 +73,49 @@ body { ...@@ -59,25 +73,49 @@ body {
} }
@keyframes flicker { @keyframes flicker {
0%, 92%, 100% { opacity: 0; } 0%,
93% { opacity: 1; } 92%,
94% { opacity: 0.2; } 100% {
95% { opacity: 0.9; } opacity: 0;
96% { opacity: 0; } }
93% {
opacity: 1;
}
94% {
opacity: 0.2;
}
95% {
opacity: 0.9;
}
96% {
opacity: 0;
}
} }
[data-effects="off"] { [data-effects="off"] {
.grain, .vignette, .flicker { display: none; } .grain,
.reveal { opacity: 1; transform: none; } .vignette,
.flicker {
display: none;
}
.reveal {
opacity: 1;
transform: none;
}
.glitch { .glitch {
&::before, &::after { display: none; } &::before,
&::after {
display: none;
}
} }
} }
// ===== Top bar ===== // ===== Top bar =====
.topbar { .topbar {
position: fixed; position: fixed;
top: 0; left: 0; right: 0; top: 0;
left: 0;
right: 0;
z-index: 100; z-index: 100;
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -85,7 +123,9 @@ body { ...@@ -85,7 +123,9 @@ body {
padding: 28px 40px; padding: 28px 40px;
pointer-events: none; pointer-events: none;
> * { pointer-events: auto; } > * {
pointer-events: auto;
}
} }
.wordmark { .wordmark {
...@@ -123,7 +163,9 @@ body { ...@@ -123,7 +163,9 @@ body {
@include m.mono-label(11px, 0.2em); @include m.mono-label(11px, 0.2em);
align-items: flex-end; align-items: flex-end;
&:hover { color: var(--accent-bright); } &:hover {
color: var(--accent-bright);
}
&-lines { &-lines {
display: flex; display: flex;
...@@ -136,9 +178,15 @@ body { ...@@ -136,9 +178,15 @@ body {
height: 1px; height: 1px;
background: currentColor; background: currentColor;
&:nth-child(1) { width: 28px; } &:nth-child(1) {
&:nth-child(2) { width: 20px; } width: 28px;
&:nth-child(3) { width: 28px; } }
&:nth-child(2) {
width: 20px;
}
&:nth-child(3) {
width: 28px;
}
} }
} }
} }
...@@ -153,7 +201,10 @@ body { ...@@ -153,7 +201,10 @@ body {
pointer-events: none; pointer-events: none;
transition: opacity 0.5s ease; transition: opacity 0.5s ease;
&.open { opacity: 1; pointer-events: auto; } &.open {
opacity: 1;
pointer-events: auto;
}
&::before { &::before {
content: ""; content: "";
...@@ -178,7 +229,9 @@ body { ...@@ -178,7 +229,9 @@ body {
padding: 10px; padding: 10px;
z-index: 10; z-index: 10;
&:hover { color: var(--accent-bright); } &:hover {
color: var(--accent-bright);
}
} }
.menu-inner { .menu-inner {
...@@ -217,7 +270,9 @@ body { ...@@ -217,7 +270,9 @@ body {
outline: none; outline: none;
transition: border-color 0.2s; transition: border-color 0.2s;
&:focus { border-color: var(--accent); } &:focus {
border-color: var(--accent);
}
&::placeholder { &::placeholder {
color: var(--ink-faint); color: var(--ink-faint);
...@@ -250,13 +305,23 @@ body { ...@@ -250,13 +305,23 @@ body {
scrollbar-width: thin; scrollbar-width: thin;
scrollbar-color: var(--accent-deep) transparent; scrollbar-color: var(--accent-deep) transparent;
&::-webkit-scrollbar { width: 6px; } &::-webkit-scrollbar {
&::-webkit-scrollbar-thumb { background: var(--accent-deep); } width: 6px;
&::-webkit-scrollbar-track { background: transparent; } }
&::-webkit-scrollbar-thumb {
background: var(--accent-deep);
}
&::-webkit-scrollbar-track {
background: transparent;
}
&.is-empty { &.is-empty {
.menu-empty { display: block; } .menu-empty {
.menu-part { display: none; } display: block;
}
.menu-part {
display: none;
}
} }
} }
...@@ -298,13 +363,19 @@ body { ...@@ -298,13 +363,19 @@ body {
border-bottom: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
transition: opacity 0.2s; transition: opacity 0.2s;
&.hidden { display: none; } &.hidden {
display: none;
}
&.current { &.current {
position: relative; position: relative;
a { color: var(--accent-bright); } a {
.num { color: var(--accent-bright); } color: var(--accent-bright);
}
.num {
color: var(--accent-bright);
}
a::before { a::before {
width: 2px; width: 2px;
background: var(--accent-bright); background: var(--accent-bright);
...@@ -334,7 +405,10 @@ body { ...@@ -334,7 +405,10 @@ body {
color: var(--ink); color: var(--ink);
@include m.display-italic(22px); @include m.display-italic(22px);
font-weight: 400; font-weight: 400;
transition: color 0.25s, padding 0.25s, background 0.25s; transition:
color 0.25s,
padding 0.25s,
background 0.25s;
position: relative; position: relative;
text-wrap: balance; text-wrap: balance;
...@@ -343,7 +417,9 @@ body { ...@@ -343,7 +417,9 @@ body {
padding-left: 22px; padding-left: 22px;
background: rgba(185, 28, 28, 0.04); background: rgba(185, 28, 28, 0.04);
&::before { width: 2px; } &::before {
width: 2px;
}
} }
&::before { &::before {
...@@ -367,7 +443,9 @@ body { ...@@ -367,7 +443,9 @@ body {
align-self: center; align-self: center;
} }
.title { line-height: 1.2; } .title {
line-height: 1.2;
}
} }
.menu-side { .menu-side {
...@@ -413,7 +491,9 @@ body { ...@@ -413,7 +491,9 @@ body {
@include m.mono-label(10px, 0.25em); @include m.mono-label(10px, 0.25em);
color: var(--ink-dim); color: var(--ink-dim);
.accent { color: var(--accent-bright); } .accent {
color: var(--accent-bright);
}
} }
} }
...@@ -445,7 +525,9 @@ body { ...@@ -445,7 +525,9 @@ body {
height: 12px; height: 12px;
background: var(--accent); background: var(--accent);
border-radius: 50%; border-radius: 50%;
box-shadow: 0 0 0 4px var(--bg), 0 0 20px var(--accent); box-shadow:
0 0 0 4px var(--bg),
0 0 20px var(--accent);
} }
} }
...@@ -455,7 +537,10 @@ body { ...@@ -455,7 +537,10 @@ body {
display: block; display: block;
padding: 28px; padding: 28px;
border: 1px solid var(--rule); border: 1px solid var(--rule);
transition: border-color 0.3s, background 0.3s, transform 0.4s; transition:
border-color 0.3s,
background 0.3s,
transform 0.4s;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
min-height: 180px; min-height: 180px;
...@@ -464,7 +549,9 @@ body { ...@@ -464,7 +549,9 @@ body {
border-color: var(--accent); border-color: var(--accent);
background: rgba(185, 28, 28, 0.05); background: rgba(185, 28, 28, 0.05);
.arrow { color: var(--accent-bright); } .arrow {
color: var(--accent-bright);
}
} }
&.disabled { &.disabled {
...@@ -473,17 +560,29 @@ body { ...@@ -473,17 +560,29 @@ body {
} }
&.prev { &.prev {
.arrow { left: 28px; } .arrow {
&:hover .arrow { transform: translateX(-6px); } left: 28px;
}
&:hover .arrow {
transform: translateX(-6px);
}
} }
&.next { &.next {
text-align: right; text-align: right;
.arrow { right: 28px; } .arrow {
&:hover .arrow { transform: translateX(6px); } right: 28px;
}
&:hover .arrow {
transform: translateX(6px);
}
} }
.label, .num-big, .title { display: block; } .label,
.num-big,
.title {
display: block;
}
.label { .label {
@include m.mono-label(11px, 0.25em); @include m.mono-label(11px, 0.25em);
...@@ -512,7 +611,9 @@ body { ...@@ -512,7 +611,9 @@ body {
bottom: 24px; bottom: 24px;
@include m.mono-label(11px, 0.2em); @include m.mono-label(11px, 0.2em);
color: var(--ink-faint); color: var(--ink-faint);
transition: color 0.3s, transform 0.3s; transition:
color 0.3s,
transform 0.3s;
} }
} }
...@@ -528,7 +629,9 @@ body { ...@@ -528,7 +629,9 @@ body {
.reveal { .reveal {
opacity: 0; opacity: 0;
transform: translateY(30px); transform: translateY(30px);
transition: opacity 1.2s ease, transform 1.2s ease; transition:
opacity 1.2s ease,
transform 1.2s ease;
&.in { &.in {
opacity: 1; opacity: 1;
...@@ -569,10 +672,24 @@ body { ...@@ -569,10 +672,24 @@ body {
} }
@keyframes glitch-shift { @keyframes glitch-shift {
0%, 88%, 100% { transform: translate(0, 0); opacity: 0; } 0%,
90% { transform: translate(-2px, 0.5px); opacity: 0.8; } 88%,
92% { transform: translate(2px, -0.5px); opacity: 0.6; } 100% {
94% { transform: translate(-1px, 0); opacity: 0.4; } transform: translate(0, 0);
opacity: 0;
}
90% {
transform: translate(-2px, 0.5px);
opacity: 0.8;
}
92% {
transform: translate(2px, -0.5px);
opacity: 0.6;
}
94% {
transform: translate(-1px, 0);
opacity: 0.4;
}
} }
// ===== Scroll progress bar ===== // ===== Scroll progress bar =====
...@@ -589,9 +706,15 @@ body { ...@@ -589,9 +706,15 @@ body {
} }
// ===== Utility ===== // ===== Utility =====
.mono { @include m.mono-label(11px, 0.15em); } .mono {
.dim { color: var(--ink-dim); } @include m.mono-label(11px, 0.15em);
.faint { color: var(--ink-faint); } }
.dim {
color: var(--ink-dim);
}
.faint {
color: var(--ink-faint);
}
::selection { ::selection {
background: var(--accent); background: var(--accent);
...@@ -608,7 +731,10 @@ body { ...@@ -608,7 +731,10 @@ body {
gap: 16px; gap: 16px;
} }
.menu-list { min-height: 50vh; padding-right: 8px; } .menu-list {
min-height: 50vh;
padding-right: 8px;
}
.menu-side { .menu-side {
border-left: none; border-left: none;
...@@ -621,10 +747,14 @@ body { ...@@ -621,10 +747,14 @@ body {
justify-content: space-between; justify-content: space-between;
flex-wrap: wrap; flex-wrap: wrap;
.menu-section-label { display: none; } .menu-section-label {
display: none;
}
} }
.menu-about { display: none; } .menu-about {
display: none;
}
.menu-progress { .menu-progress {
margin-top: 0; margin-top: 0;
...@@ -634,20 +764,34 @@ body { ...@@ -634,20 +764,34 @@ body {
min-width: 200px; min-width: 200px;
} }
.menu-chapters { grid-template-columns: 1fr; } .menu-chapters {
grid-template-columns: 1fr;
}
} }
@include m.bp(m.$bp-mobile) { @include m.bp(m.$bp-mobile) {
.menu-close { top: 18px; right: 20px; } .menu-close {
.menu-inner { padding: 70px 20px 24px; } top: 18px;
.menu-list { min-height: 55vh; } right: 20px;
}
.menu-inner {
padding: 70px 20px 24px;
}
.menu-list {
min-height: 55vh;
}
.menu-chapters { .menu-chapters {
a { font-size: 19px; padding: 12px 0 12px 10px; } a {
.current::after { display: none; } font-size: 19px;
padding: 12px 0 12px 10px;
}
.current::after {
display: none;
}
} }
.menu-head { gap: 16px; } .menu-head {
gap: 16px;
}
} }
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment