Files
website/static/css/main.css

1317 lines
23 KiB
CSS
Raw Normal View History

2026-07-02 00:28:25 -07:00
@font-face {
font-family: "VT323 Local";
src: url("/fonts/VT323-Regular.ttf") format("truetype");
font-display: swap;
font-style: normal;
font-weight: 400;
}
:root {
--desktop: #c8c8c8;
--paper: #ffffff;
--ink: #000000;
--muted: #2f2f2f;
--faint: #555555;
--line: #000000;
--soft: #efefef;
--accent: #000000;
--code: #ffffff;
--code-ink: #000000;
--code-fill: #f5f5f5;
--figure-paper: #ffffff;
--figure-ink: #111111;
--article-width: 42rem;
--article-half-width: 21rem;
--margin-width: 9rem;
--margin-gap: 1.5rem;
--panel-padding: 0.85rem;
--section-gap: 1.1rem;
--bottom-scroll-room: 38vh;
--row-padding: 0.2rem;
--rule: 2px;
--control-size: 0.66rem;
--dither-size: 8px;
--dither-alpha: 0.08;
--scanline-alpha: 0.055;
--scanline-soft-alpha: 0.018;
--scanline-size: 7px;
--scanline-width: 2px;
--vignette-alpha: 0.07;
--body-font: Monaco, Menlo, "SF Mono", ui-monospace, Consolas, "Courier New", monospace;
--display-font: "VT323 Local", "Print Char 21", "Web437 Apple II", "Apple II Screen Typeface", var(--body-font);
--signature-font: "Snell Roundhand", "Apple Chancery", "Brush Script MT", "Segoe Script", cursive;
}
html[data-density="comfortable"] {
--panel-padding: 1.1rem;
--section-gap: 1.45rem;
--row-padding: 0.35rem;
--margin-gap: 2rem;
}
html[data-display="clean"] {
--desktop: #eeeeee;
--dither-alpha: 0;
--scanline-alpha: 0;
--vignette-alpha: 0;
}
html[data-display="plain"] {
--desktop: #ffffff;
--dither-alpha: 0;
--scanline-alpha: 0;
--vignette-alpha: 0;
}
* {
box-sizing: border-box;
}
html {
color: var(--ink);
background: var(--desktop);
font-family: var(--body-font);
font-size: 18px;
line-height: 1.45;
scroll-behavior: smooth;
-webkit-font-smoothing: none;
font-smooth: never;
image-rendering: pixelated;
cursor: url("/cursors/mac-arrow.png") 1 1, default;
}
body {
margin: 0;
counter-reset: sidenote;
background:
linear-gradient(45deg, rgb(0 0 0 / var(--dither-alpha)) 25%, transparent 25% 75%, rgb(0 0 0 / var(--dither-alpha)) 75%),
linear-gradient(45deg, rgb(0 0 0 / var(--dither-alpha)) 25%, transparent 25% 75%, rgb(0 0 0 / var(--dither-alpha)) 75%),
var(--desktop);
background-position: 0 0, calc(var(--dither-size) / 2) calc(var(--dither-size) / 2);
background-size: var(--dither-size) var(--dither-size);
font-weight: 500;
}
body::before {
content: "";
position: fixed;
inset: 0;
z-index: 9999;
pointer-events: none;
background:
repeating-linear-gradient(
to bottom,
transparent 0,
transparent calc(var(--scanline-size) - var(--scanline-width) - 1px),
rgb(0 0 0 / var(--scanline-soft-alpha)) calc(var(--scanline-size) - var(--scanline-width) - 1px),
rgb(0 0 0 / var(--scanline-alpha)) calc(var(--scanline-size) - var(--scanline-width)),
rgb(0 0 0 / var(--scanline-alpha)) var(--scanline-size)
),
radial-gradient(circle at center, transparent 62%, rgb(0 0 0 / var(--vignette-alpha)));
background-size: 100% auto, 100% 100%;
mix-blend-mode: multiply;
}
html[data-display="clean"] body::before,
html[data-display="plain"] body::before {
display: none;
}
::selection {
background: #d0d0d0;
color: var(--ink);
}
a {
color: inherit;
text-decoration: none;
cursor: url("/cursors/mac-hand.png") 11 1, pointer;
}
a:hover {
background: var(--ink);
color: var(--paper);
}
a:active {
transform: translate(1px, 1px);
}
a:focus-visible,
button:focus-visible {
outline: var(--rule) solid var(--ink);
outline-offset: 2px;
background: var(--ink);
color: var(--paper);
}
button,
label,
summary,
[role="button"] {
cursor: url("/cursors/mac-hand.png") 11 1, pointer;
}
:target {
scroll-margin-top: 2rem;
}
.post-content figure:target,
.post-content .sidenote:target,
.post-content .footnotes li:target,
.post-content sup:target {
outline: var(--rule) solid var(--line);
outline-offset: 0.18rem;
}
.home {
position: relative;
width: var(--article-width);
max-width: calc(100vw - 2.5rem);
margin: 1.5rem auto;
background: var(--paper);
border: var(--rule) solid var(--line);
padding: var(--panel-padding);
}
.home-intro h1 {
margin: 0 0 0.28rem;
color: var(--ink);
font-family: var(--signature-font);
font-size: 2.45rem;
font-style: italic;
font-weight: 600;
line-height: 0.95;
letter-spacing: 0;
-webkit-font-smoothing: antialiased;
}
.home-intro p {
margin: 0;
font-size: 0.95rem;
font-weight: 500;
line-height: 1.35;
color: var(--muted);
}
.social-links {
position: absolute;
top: var(--panel-padding);
right: var(--panel-padding);
display: flex;
flex-wrap: wrap;
gap: 0.28rem;
}
.social-link {
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.5rem;
height: 1.5rem;
border: var(--rule) solid var(--line);
background: var(--paper);
box-shadow: 1px 1px 0 var(--line);
}
.social-link img {
display: block;
width: 0.95rem;
height: 0.95rem;
image-rendering: auto;
}
.social-link:hover,
.social-link:focus-visible {
background: var(--ink);
color: var(--paper);
}
.social-link:hover img,
.social-link:focus-visible img {
filter: invert(1);
}
.social-link:active {
box-shadow: none;
transform: translate(1px, 1px);
}
.file-index {
margin-top: var(--section-gap);
}
.file-tabs {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
gap: 0.12rem;
padding-left: 0.25rem;
border-bottom: var(--rule) solid var(--line);
}
.file-tab {
display: block;
margin-bottom: calc(-1 * var(--rule));
padding: 0.08rem 0.55rem 0.1rem;
border: var(--rule) solid var(--line);
background: var(--soft);
box-shadow: none;
font-family: var(--display-font);
font-size: 1.12rem;
line-height: 1.05;
}
.file-tab.active {
position: relative;
z-index: 1;
border-bottom-color: var(--paper);
background: var(--paper);
color: var(--ink);
transform: none;
}
.file-tab:hover,
.file-tab:focus-visible {
background: var(--ink);
color: var(--paper);
}
.file-tab:not(.active):active {
transform: translate(1px, 1px);
}
.file-tab.active:hover,
.file-tab.active:focus-visible {
background: var(--paper);
color: var(--ink);
}
.file-panel {
min-height: 3rem;
padding: 0.34rem 0.42rem 0.42rem;
border: var(--rule) solid var(--line);
border-top: 0;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.item-list {
display: grid;
gap: 0.22rem;
}
.item-row {
display: grid;
grid-template-columns: 3.25rem minmax(0, 1fr);
gap: 0.28rem;
align-items: start;
padding: 0.16rem 0.32rem 0.2rem;
border: var(--rule) solid var(--line);
background: var(--paper);
box-shadow: 2px 2px 0 var(--line);
}
.item-row[data-row-href] {
cursor: url("/cursors/mac-hand.png") 11 1, pointer;
}
.item-row[data-row-href]:hover,
.item-row[data-row-href]:focus-visible {
box-shadow: 3px 3px 0 var(--line);
}
.item-row.is-pressed {
background: var(--ink);
color: var(--paper);
box-shadow: none;
transform: translate(2px, 2px);
}
.item-row.is-pressed .row-summary,
.item-row.is-pressed .item-year,
.item-row.is-pressed .item-status {
color: var(--paper);
}
.item-row + .item-row {
border-top: var(--rule) solid var(--line);
}
.post-list {
border-bottom: 0;
}
.tag-filter-status {
display: flex;
justify-content: space-between;
gap: 0.75rem;
margin: 0 0 0.35rem;
padding-bottom: 0.3rem;
border-bottom: var(--rule) solid var(--line);
color: var(--muted);
font-size: 0.75rem;
font-weight: 600;
}
.tag-filter-status[hidden] {
display: none;
}
.tag-filter-status a {
align-self: baseline;
padding: 0 0.22rem;
border: var(--rule) solid var(--line);
background: var(--paper);
color: var(--ink);
line-height: 1.1;
}
.tag-filter-status a:hover,
.tag-filter-status a:focus-visible {
background: var(--soft);
color: var(--ink);
}
.tag-filter-status a:active {
transform: translate(1px, 1px);
}
.post-row {
display: grid;
grid-template-columns: 5.85rem minmax(0, 1fr);
gap: 0.65rem;
align-items: baseline;
padding: var(--row-padding) 0;
border-top: 0;
}
.post-row[hidden] {
display: none;
}
.post-row time,
.item-year,
.post-meta,
.item-links {
font-size: 0.78rem;
font-weight: 600;
color: var(--muted);
}
.post-row time {
white-space: nowrap;
}
.post-title,
.item-title {
font-family: var(--display-font);
font-size: 1.32rem;
font-weight: 400;
}
.item-title {
flex: 0 0 auto;
font-size: 1.12rem;
line-height: 1.05;
}
.item-row[data-row-href] .item-title::before {
content: "> ";
color: var(--faint);
}
.item-title:hover,
.item-title:focus-visible {
background: transparent;
color: var(--ink);
}
.item-title:active {
transform: none;
}
.item-row.is-pressed .item-title,
.item-row.is-pressed .item-title::before,
.item-row.is-pressed .item-status {
color: var(--paper);
}
.post-row-body {
display: flex;
flex-wrap: wrap;
gap: 0.35rem;
align-items: baseline;
line-height: 1.25;
}
.item-body {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 0.08rem 0.48rem;
align-items: baseline;
min-width: 0;
line-height: 1.15;
}
.item-head {
display: flex;
gap: 0.32rem;
align-items: baseline;
min-width: 0;
}
.post-title-tags {
display: inline-flex;
flex-wrap: wrap;
gap: 0.18rem;
font-family: var(--body-font);
font-size: 0.72rem;
font-weight: 600;
line-height: 1.2;
color: var(--muted);
}
.post-tag {
padding: 0 0.08rem;
}
.post-tag::before {
content: "[";
}
.post-tag::after {
content: "]";
}
.post-tag.active {
background: var(--ink);
color: var(--paper);
}
.post-meta {
display: flex;
flex-wrap: wrap;
gap: 0.25rem;
align-items: baseline;
}
.dot {
color: var(--faint);
margin: 0 0.15rem;
}
.row-summary {
grid-column: 1 / -1;
min-width: 4rem;
margin: 0;
padding-left: 1rem;
overflow: hidden;
color: var(--muted);
font-size: 0.78rem;
line-height: 1.1;
text-overflow: ellipsis;
white-space: nowrap;
}
.item-status {
display: inline-block;
color: var(--muted);
font-size: 0.72rem;
font-weight: 600;
line-height: 1.1;
white-space: nowrap;
}
.item-status::before {
content: "· ";
color: var(--faint);
}
.item-side {
grid-column: 2;
grid-row: 1;
display: flex;
flex-wrap: wrap;
margin-left: auto;
gap: 0.18rem 0.4rem;
align-items: baseline;
justify-content: flex-end;
min-width: 0;
}
.item-links {
display: inline-flex;
flex-wrap: wrap;
gap: 0.42rem;
margin: 0;
}
.item-links a {
display: inline-block;
padding: 0.06rem 0.36rem 0.08rem;
border: 1px solid currentColor;
background: var(--paper);
color: var(--ink);
box-shadow: 1px 1px 0 currentColor;
line-height: 1.1;
}
.item-links a:hover,
.item-links a:focus-visible {
background: var(--ink);
color: var(--paper);
}
.item-links a:active {
box-shadow: none;
transform: translate(1px, 1px);
}
.article-links {
margin-top: 0.8rem;
}
.empty-list {
margin: 0;
color: var(--muted);
font-size: 0.85rem;
font-weight: 600;
}
.contact-section {
margin-top: var(--section-gap);
padding: 0.34rem 0.42rem 0.42rem;
border: var(--rule) solid var(--line);
}
.file-panel .contact-section {
margin: 0;
padding: 0;
border: 0;
}
.contact-section h2 {
margin: 0 0 0.12rem;
font-family: var(--display-font);
font-size: 1.12rem;
font-weight: 400;
line-height: 1.05;
}
.contact-section p {
margin: 0;
color: var(--muted);
font-size: 0.82rem;
line-height: 1.2;
}
.contact-section a {
color: var(--ink);
font-weight: 600;
}
.contact-section a:hover,
.contact-section a:focus-visible {
background: var(--ink);
color: var(--paper);
}
.post {
margin: 1.5rem auto;
padding: 0 1.25rem var(--bottom-scroll-room);
}
.post-layout {
position: relative;
width: var(--article-width);
max-width: calc(100vw - 2.5rem);
margin: 0 auto;
}
.post-header {
margin: 0 0 1.35rem;
}
.back-link,
.post-button {
display: inline-block;
min-width: 3.2rem;
padding: 0.08rem 0.45rem;
border: var(--rule) solid var(--line);
background: var(--paper);
box-shadow: inset 0 0 0 1px var(--paper);
text-align: center;
font-size: 0.78rem;
font-weight: 600;
line-height: 1.25;
color: var(--ink);
}
.back-link:hover,
.post-button:hover,
.back-link:focus-visible,
.post-button:focus-visible {
background: var(--ink);
color: var(--paper);
}
.back-link:active,
.post-button:active {
transform: translate(1px, 1px);
}
.post-header h1 {
margin: 0.55rem 0 0.15rem;
color: var(--ink);
font-family: var(--display-font);
font-size: 2.25rem;
font-weight: 400;
line-height: 1.06;
letter-spacing: 0;
}
.post-shell {
width: 100%;
max-width: 100%;
margin: 0;
background: var(--paper);
border: var(--rule) solid var(--line);
padding: var(--panel-padding);
}
.post-content {
width: 100%;
min-width: 0;
font-size: 0.95rem;
line-height: 1.55;
}
.post-footer {
margin-top: 1.25rem;
padding-top: 0.65rem;
border-top: var(--rule) solid var(--line);
text-align: right;
}
.post-content > :first-child {
margin-top: 0;
}
.post-content h2,
.post-content h3,
.post-content h4 {
font-family: var(--display-font);
line-height: 1.18;
font-weight: 400;
letter-spacing: 0;
margin-top: 1.75em;
margin-bottom: 0.45em;
}
.post-content h2 {
font-size: 1.65rem;
}
.post-content h3 {
font-size: 1.35rem;
}
.post-content h4 {
font-size: 1rem;
}
.post-content p,
.post-content ul,
.post-content ol,
.post-content blockquote,
.post-content pre,
.post-content table,
.post-content figure,
.post-content .highlight {
margin-top: 0.9rem;
margin-bottom: 0.7rem;
}
.post-content strong,
.post-content b {
color: var(--ink);
font-weight: 900;
text-shadow: 0.035em 0 0 var(--ink);
}
.post-content blockquote {
margin-left: 0;
padding: 0.55rem 0.75rem;
border: var(--rule) solid var(--line);
background: var(--soft);
color: var(--muted);
}
.post-content code {
font-size: 0.9em;
background:
repeating-linear-gradient(45deg, rgb(0 0 0 / 0.08) 0 1px, transparent 1px 4px),
var(--code-fill);
color: var(--ink);
padding: 0.04rem 0.22rem;
border: var(--rule) solid var(--line);
}
.post-content .highlight {
background: var(--paper);
border: var(--rule) solid var(--line);
padding: 0;
}
.post-content .highlight::before {
content: "Code";
display: block;
padding: 0.08rem 0.45rem;
border-bottom: var(--rule) solid var(--line);
background:
linear-gradient(var(--paper), var(--paper)) center / 5rem 100% no-repeat,
repeating-linear-gradient(0deg, var(--paper) 0 2px, var(--ink) 2px 4px);
color: var(--ink);
font-family: var(--display-font);
font-size: 1.05rem;
font-weight: 400;
line-height: 1.05;
text-align: center;
}
.post-content .highlight:has(.language-python)::before {
content: "Python";
}
.post-content .highlight:has(.language-sh)::before,
.post-content .highlight:has(.language-bash)::before,
.post-content .highlight:has(.language-zsh)::before {
content: "Shell";
}
.post-content pre {
overflow-x: auto;
margin: 0;
padding: 0.65rem 0.75rem;
background: var(--code);
color: var(--code-ink);
border: 0;
font-size: 0.84rem;
line-height: 1.45;
}
.post-content .highlight pre {
margin: 0;
}
.post-content pre code {
background: transparent;
padding: 0;
border: 0;
color: inherit;
}
.chroma .line {
display: block;
min-height: 1.45em;
}
.chroma .c,
.chroma .c1,
.chroma .cm,
.chroma .cp,
.chroma .cs {
color: var(--faint);
}
.chroma .k,
.chroma .kc,
.chroma .kd,
.chroma .kn,
.chroma .kp,
.chroma .kr,
.chroma .kt,
.chroma .nf,
.chroma .nc {
font-weight: 700;
}
.chroma .s,
.chroma .s1,
.chroma .s2 {
background: var(--soft);
}
.post-content img {
max-width: 100%;
height: auto;
}
.post-content table {
display: block;
width: 100%;
overflow-x: auto;
border-collapse: collapse;
border: var(--rule) solid var(--line);
font-size: 0.82rem;
}
.post-content th,
.post-content td {
border-bottom: var(--rule) solid var(--line);
padding: 0.45rem 0.35rem;
text-align: left;
vertical-align: top;
}
.post-content figure {
margin-left: 0;
margin-right: 0;
padding: 0.8rem;
background: var(--figure-paper);
color: var(--figure-ink);
border: var(--rule) solid var(--line);
text-shadow: none;
}
.post-content figcaption {
margin-top: 0.55rem;
font-size: 0.78rem;
font-weight: 600;
line-height: 1.45;
color: var(--muted);
}
.figure-label {
color: var(--ink);
font-weight: 600;
}
.xref {
font-size: 0.9em;
}
.katex-display {
overflow-x: auto;
overflow-y: hidden;
padding-bottom: 0.1rem;
}
.post-margin {
width: 100%;
margin-left: 0;
margin-bottom: 1rem;
position: static;
max-height: calc(100vh - 6rem);
overflow: auto;
font-size: 0.72rem;
font-weight: 600;
color: var(--ink);
background: var(--paper);
border: var(--rule) solid var(--line);
padding: 0;
}
.toc-title {
margin: 0;
padding: 0.08rem 0.35rem;
border-bottom: var(--rule) solid var(--line);
background:
linear-gradient(var(--paper), var(--paper)) center / 4.6rem 100% no-repeat,
repeating-linear-gradient(0deg, var(--paper) 0 2px, var(--ink) 2px 4px);
color: var(--ink);
font-family: var(--display-font);
font-size: 1rem;
font-weight: 400;
line-height: 1.05;
text-align: center;
}
#TableOfContents ul {
list-style: none;
padding-left: 0;
margin: 0;
}
#TableOfContents > ul {
padding: 0.28rem;
}
#TableOfContents ul ul {
padding-left: 0.55rem;
margin-top: 0.08rem;
}
#TableOfContents li {
margin: 0.06rem 0;
}
#TableOfContents a {
display: block;
padding: 0.04rem 0.12rem;
text-decoration: none;
line-height: 1.18;
white-space: normal;
}
#TableOfContents ul ul a {
font-size: 0.68rem;
font-weight: 600;
}
#TableOfContents a.active {
background: var(--ink);
color: var(--paper);
font-weight: 600;
}
.sidenote-number {
counter-increment: sidenote;
}
.sidenote-number::after {
content: counter(sidenote);
margin-left: 0.12rem;
color: var(--accent);
font-size: 0.78rem;
vertical-align: super;
}
.sidenote {
float: right;
clear: right;
width: 12rem;
margin-top: 0.25rem;
margin-right: -14rem;
margin-bottom: 0.75rem;
color: var(--ink);
font-size: 0.78rem;
line-height: 1.45;
}
.sidenote::before {
content: counter(sidenote);
margin-right: 0.35rem;
color: var(--accent);
font-size: 0.78rem;
vertical-align: super;
}
.sidenote p {
display: inline;
margin: 0;
}
@media (min-width: 1281px) {
.post-layout.has-toc {
display: grid;
grid-template-columns: var(--margin-width) var(--margin-gap) minmax(0, var(--article-width));
width: calc(var(--margin-width) + var(--margin-gap) + var(--article-width));
max-width: none;
margin-left: calc(50% - var(--margin-width) - var(--margin-gap) - var(--article-half-width));
margin-right: 0;
}
.post-layout.has-toc .post-shell {
grid-column: 3;
grid-row: 1;
}
.post-layout.has-toc .post-margin {
grid-column: 1;
grid-row: 1;
width: var(--margin-width);
margin-top: 0;
margin-bottom: 0;
position: fixed;
top: 4rem;
left: calc(50% - var(--article-half-width) - var(--margin-gap) - var(--margin-width));
align-self: start;
}
}
@media (max-width: 1280px) {
.post-margin {
max-height: none;
margin-bottom: 2rem;
padding-top: 1rem;
}
.sidenote {
display: none;
float: none;
width: auto;
margin: 0.75rem 0;
padding: 0.75rem;
background: var(--soft);
border: var(--rule) solid var(--accent);
}
.sidenote:target {
display: block;
}
}
@media (max-width: 860px) {
:root {
--panel-padding: 0.72rem;
--section-gap: 0.8rem;
--bottom-scroll-room: 34vh;
--dither-alpha: 0.055;
--scanline-alpha: 0.045;
--scanline-soft-alpha: 0.014;
--vignette-alpha: 0.045;
}
html {
font-size: 16px;
}
.home,
.post {
margin-top: 0.75rem;
}
.home {
max-width: calc(100vw - 1rem);
}
.post {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
.post-layout {
max-width: calc(100vw - 1rem);
}
.home-intro h1,
.post-header h1 {
font-size: 2rem;
}
.social-links {
position: static;
gap: 0.22rem;
margin-top: 0.45rem;
}
.file-tabs {
flex-wrap: nowrap;
gap: 0.08rem;
overflow-x: auto;
padding-left: 0.12rem;
scrollbar-width: none;
}
.file-tabs::-webkit-scrollbar {
display: none;
}
.file-tab {
flex: 0 0 auto;
padding-right: 0.42rem;
padding-left: 0.42rem;
font-size: 1rem;
}
.file-panel {
padding: 0.42rem 0.48rem 0.5rem;
}
.post-row,
.item-row {
grid-template-columns: 1fr;
gap: 0.08rem;
padding: 0.36rem 0;
}
.post-row + .post-row {
border-top: var(--rule) solid var(--line);
}
.item-row + .item-row {
border-top: 1px solid var(--line);
}
.item-body {
grid-template-columns: 1fr;
gap: 0.1rem;
}
.item-side {
grid-column: 1;
grid-row: auto;
margin-left: 0;
justify-content: flex-start;
}
.row-summary {
grid-column: 1;
}
.post-row time,
.item-year,
.post-meta,
.item-meta,
.item-links {
font-size: 0.72rem;
}
.post-title,
.item-title {
font-size: 1.22rem;
}
.post-title-tags {
font-size: 0.68rem;
}
.post-header {
margin-bottom: 1rem;
}
.post-header h1 {
overflow-wrap: anywhere;
font-size: 1.85rem;
}
.post-shell {
padding: 0.7rem;
}
.post-content {
font-size: 0.92rem;
line-height: 1.5;
}
.post-content h2 {
font-size: 1.42rem;
}
.post-content h3 {
font-size: 1.18rem;
}
.post-content code {
overflow-wrap: anywhere;
}
.post-content pre {
padding: 0.55rem 0.6rem;
font-size: 0.78rem;
}
.post-content table {
font-size: 0.76rem;
}
.post-content figure {
padding: 0.45rem;
}
.post-content figcaption {
font-size: 0.72rem;
}
.post-margin {
max-height: 12rem;
margin-bottom: 1rem;
padding-top: 0;
overflow: auto;
font-size: 0.72rem;
}
.toc-title {
font-size: 0.95rem;
}
#TableOfContents > ul {
padding: 0.22rem;
}
}
@media (max-width: 420px) {
.home-intro h1 {
font-size: 1.8rem;
}
.home-intro p {
font-size: 0.88rem;
}
.social-link {
width: 1.42rem;
height: 1.42rem;
}
.social-link img {
width: 0.88rem;
height: 0.88rem;
}
.file-tab {
padding-right: 0.34rem;
padding-left: 0.34rem;
font-size: 0.95rem;
}
.post-title,
.item-title {
font-size: 1.12rem;
}
.post-header h1 {
font-size: 1.65rem;
}
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
:root {
--dither-alpha: 0;
--scanline-alpha: 0;
--vignette-alpha: 0;
}
body::before {
display: none;
}
}
@media print {
:root {
--desktop: #ffffff;
--dither-alpha: 0;
--scanline-alpha: 0;
--vignette-alpha: 0;
}
body {
background: #ffffff;
}
body::before,
.post-margin {
display: none;
}
.home,
.post-shell {
width: auto;
max-width: none;
margin: 0;
border: 0;
}
}