227 lines
4.3 KiB
CSS
Executable File
227 lines
4.3 KiB
CSS
Executable File
@font-face {
|
||
font-family: 'Noto';
|
||
src: url('../../fonts/NotoSans-Regular.ttf') format('truetype');
|
||
}
|
||
html, body{
|
||
background:
|
||
radial-gradient(circle at 18% 12%, var(--theme-glow-wine, transparent), transparent 28%),
|
||
radial-gradient(circle at 84% 18%, var(--theme-glow-green, transparent), transparent 24%),
|
||
linear-gradient(135deg, var(--theme-bg-start, var(--bg)) 0%, var(--theme-bg-mid, var(--bg)) 42%, var(--theme-bg-end, var(--bg)) 100%);
|
||
color: var(--fg);
|
||
font-size: 16px;
|
||
transition: background-color .3s, color .3s;
|
||
margin: 0;
|
||
font-family: 'Noto', system-ui, sans-serif;
|
||
line-height: 1.65;
|
||
}
|
||
|
||
body {
|
||
min-height: 100vh;
|
||
text-rendering: optimizeLegibility;
|
||
-webkit-font-smoothing: antialiased;
|
||
}
|
||
|
||
:root[data-theme="dark-academia"] body {
|
||
--theme-glow-wine: rgba(125, 47, 54, 0.24);
|
||
--theme-glow-green: rgba(68, 106, 87, 0.24);
|
||
--theme-bg-start: #0f0e0b;
|
||
--theme-bg-mid: #17140f;
|
||
--theme-bg-end: #211b14;
|
||
}
|
||
|
||
:root[data-theme="dark-academia"] body::before {
|
||
content: "";
|
||
position: fixed;
|
||
inset: 0;
|
||
pointer-events: none;
|
||
opacity: 0.16;
|
||
background-image:
|
||
linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
|
||
linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
|
||
background-size: 34px 34px, 34px 34px;
|
||
mask-image: linear-gradient(90deg, rgba(0,0,0,0.9), rgba(0,0,0,0.35));
|
||
}
|
||
|
||
::selection {
|
||
background: color-mix(in oklab, var(--accent) 24%, transparent);
|
||
}
|
||
|
||
h1, h2, h3{
|
||
color: var(--heading);
|
||
line-height: 1.18;
|
||
letter-spacing: 0;
|
||
}
|
||
|
||
h1 {
|
||
margin-top: 2.25rem;
|
||
margin-bottom: 1rem;
|
||
font-size: clamp(2rem, 4vw, 3.4rem);
|
||
}
|
||
|
||
h2 {
|
||
margin-top: 2.2rem;
|
||
}
|
||
|
||
p {
|
||
margin: 0 0 1.15rem;
|
||
}
|
||
|
||
a {
|
||
color: var(--link);
|
||
text-decoration: none;
|
||
text-underline-offset: 0.18em;
|
||
}
|
||
|
||
a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
hr {
|
||
border: 0;
|
||
border-top: 1px solid var(--border);
|
||
margin: 2rem 0;
|
||
}
|
||
|
||
table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
margin: 1.5rem 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
th,
|
||
td {
|
||
border-bottom: 1px solid var(--border);
|
||
padding: 0.65rem 0.75rem;
|
||
text-align: left;
|
||
}
|
||
|
||
th {
|
||
color: var(--heading);
|
||
background: color-mix(in oklab, var(--surface-soft) 80%, transparent);
|
||
}
|
||
|
||
blockquote {
|
||
margin: 1.5rem 0;
|
||
padding: 0.9rem 1.1rem;
|
||
border-left: 4px solid var(--heading);
|
||
background: color-mix(in oklab, var(--surface-soft) 72%, transparent);
|
||
border-radius: 0 8px 8px 0;
|
||
color: color-mix(in oklab, var(--fg) 84%, var(--muted) 16%);
|
||
}
|
||
|
||
|
||
ul, ol {
|
||
margin: 1rem 0 1.5rem 1.5rem;
|
||
padding: 0;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
ul {
|
||
list-style: none;
|
||
}
|
||
|
||
ul li {
|
||
position: relative;
|
||
padding-left: 1.2em;
|
||
}
|
||
|
||
ul li::before {
|
||
content: "•";
|
||
position: absolute;
|
||
left: 0;
|
||
top: 0;
|
||
color: var(--heading);
|
||
font-weight: bold;
|
||
}
|
||
|
||
ol {
|
||
counter-reset: list-counter;
|
||
list-style: none;
|
||
}
|
||
|
||
ol li {
|
||
counter-increment: list-counter;
|
||
position: relative;
|
||
padding-left: 1.8em;
|
||
}
|
||
|
||
ol li::before {
|
||
content: counter(list-counter) ".";
|
||
position: absolute;
|
||
left: 0;
|
||
top: 0;
|
||
color: var(--heading);
|
||
font-weight: bold;
|
||
}
|
||
|
||
li {
|
||
margin-bottom: 8px;
|
||
display: flow-root;
|
||
}
|
||
|
||
li::after {
|
||
content: none;
|
||
}
|
||
|
||
li ul,
|
||
li ol {
|
||
margin-top: 0.5rem;
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
|
||
li ul li::before {
|
||
content: "–";
|
||
font-weight: normal;
|
||
color: var(--note-color);
|
||
}
|
||
|
||
li ol li::before {
|
||
font-weight: normal;
|
||
color: var(--note-color);
|
||
}
|
||
|
||
.epigraph {
|
||
margin: 2rem auto;
|
||
max-width: 80%;
|
||
font-style: italic;
|
||
}
|
||
|
||
.epigraph blockquote {
|
||
margin: 0;
|
||
padding: 1rem 1.5rem;
|
||
border-left: 4px solid var(--heading);
|
||
background-color: rgba(0, 0, 0, 0.02);
|
||
color: var(--fg);
|
||
line-height: 1.6;
|
||
}
|
||
|
||
.epigraph blockquote footer {
|
||
margin-top: 0.75rem;
|
||
font-style: normal;
|
||
font-size: 0.9em;
|
||
color: var(--note-color);
|
||
text-align: right;
|
||
}
|
||
|
||
.epigraph blockquote cite {
|
||
font-style: italic;
|
||
font-weight: 500;
|
||
color: var(--link);
|
||
}
|
||
|
||
.epigraph blockquote::before,
|
||
.epigraph blockquote::after {
|
||
content: none;
|
||
}
|
||
|
||
|
||
.epigraph blockquote{
|
||
border-left-color: var(--heading);
|
||
background-color: color-mix(in oklab, var(--bg) 94%, var(--fg) 6%);
|
||
color: var(--fg);
|
||
}
|
||
.epigraph blockquote footer{ color: var(--muted); }
|
||
|
||
|