/* Defaults */ :root { /* --font-family: -apple-system, system-ui, sans-serif; */ --font-family: SometypeMono; --font-family-monospace: SometypeMono; } /* Theme colors */ :root { --text-color-link: var(--color-cyan); --text-color-link-active: var(--color-cyan-bright); --text-color-link-visited: var(--color-cyan); --syntax-tab-size: 2; } @media (prefers-color-scheme: dark) { :root { /* --text-color is assigned to --color-gray-_ above */ /* --text-color-link: #1493fb; */ /* --text-color-link-active: #6969f7; */ /* --text-color-link-visited: #a6a6f8; */ --text-color-link: var(--color-cyan); --text-color-link-active: var(--color-cyan-bright); --text-color-link-visited: var(--color-cyan); } } /* list style custom */ ul { /* list-style: symbols(cyclic "\25E5" "\25E2" "\25E3" "\25E4"); */ list-style: symbols(cyclic "\25E9"); } /* Global stylesheet */ * { box-sizing: border-box; } html, body { padding: 0; margin: 0 auto; font-family: var(--font-family); color: var(--color-fg); background-color: var(--color-bg); } html { overflow-y: scroll; } body { max-width: 40em; } img { max-width: 100%; height: auto; } /* https://www.a11yproject.com/posts/how-to-hide-content/ */ .visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; } p:last-child { margin-bottom: 0; } p { line-height: 1.5; } li { line-height: 1.5; } a[href] { color: var(--text-color-link); } a[href]:visited { color: var(--text-color-link-visited); } a[href]:hover, a[href]:active { color: var(--text-color-link-active); } main { padding: 1rem; } main :first-child { margin-top: 0; } header { border-bottom: 1px dashed var(--color-white); } header:after { content: ""; display: table; clear: both; } .links-nextprev { list-style: none; border-top: 1px dashed var(--color-white); padding: 1em 0; } table { margin: 1em 0; } table td, table th { padding-right: 1em; } pre, code { font-family: var(--font-family-monospace); } pre:not([class*="language-"]) { margin: .5em 0; line-height: 1.375; /* 22px /16 */ -moz-tab-size: var(--syntax-tab-size); -o-tab-size: var(--syntax-tab-size); tab-size: var(--syntax-tab-size); -webkit-hyphens: none; -ms-hyphens: none; hyphens: none; direction: ltr; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; } code { /* word-break: break-all; */ color: var(--color-black); background-color: var(--color-white); } /* Header */ header { display: flex; gap: 1em .5em; flex-wrap: wrap; align-items: center; padding: 1em; } .home-link { font-size: 1em; /* 16px /16 */ font-weight: 700; margin-right: 2em; } .home-link:link:not(:hover) { text-decoration: none; } /* Nav */ .nav { display: flex; padding: 0; margin: 0; list-style: none; } .nav-item { display: inline-block; margin-right: 1em; } .nav-item a[href]:not(:hover) { text-decoration: none; } .nav a[href][aria-current="page"] { text-decoration: underline; } /* Posts list */ .postlist { list-style: none; padding: 0; padding-left: 1.5rem; } .postlist-item { display: flex; flex-wrap: wrap; align-items: baseline; counter-increment: start-from -1; margin-bottom: 1em; } .postlist-item:before { display: inline-block; pointer-events: none; content: "" counter(start-from, decimal-leading-zero) ". "; line-height: 100%; text-align: right; margin-left: -1.5rem; } .postlist-date, .postlist-item:before { font-size: 0.8125em; /* 13px /16 */ color: var(--color-gray-90); } .postlist-date { word-spacing: -0.5px; } .postlist-link { font-size: 1.1875em; /* 19px /16 */ font-weight: 700; flex-basis: calc(100% - 1.5rem); padding-left: .25em; padding-right: .5em; text-underline-position: from-font; text-underline-offset: 0; text-decoration-thickness: 1px; } .postlist-item-active .postlist-link { font-weight: bold; } /* Tags */ .post-tag { display: inline-flex; align-items: center; justify-content: center; text-transform: capitalize; font-style: italic; } .postlist-item > .post-tag { align-self: center; } /* Tags list */ .post-metadata { display: inline-flex; flex-wrap: wrap; gap: .5em; list-style: none; padding: 0; margin: 0; } .post-metadata time { margin-right: 1em; } /* Direct Links / Markdown Headers */ .header-anchor { text-decoration: none; font-style: normal; font-size: 1em; margin-left: .1em; } a[href].header-anchor, a[href].header-anchor:visited { color: transparent; } a[href].header-anchor:focus, a[href].header-anchor:hover { text-decoration: underline; } a[href].header-anchor:focus, :hover > a[href].header-anchor { color: #aaa; } h2 + .header-anchor { font-size: 1.5em; } h1, h2, h3 { font-family: WO3; letter-spacing: .1rem; } /* blockquote styling */ blockquote { padding: 2em; /* Adjust padding as needed */ position: relative; /* Needed for positioning pseudo-elements */ border: none; /* Ensure no default border */ margin: 1em 0; /* Add some margin for spacing */ overflow: hidden; /* Prevents pseudo-elements from causing scrollbars if they slightly exceed bounds */ } blockquote p { margin: 0; /* Remove default paragraph margin inside callout */ } /* Top-left corner bracket */ blockquote::before { content: ''; position: absolute; top: 0.5em; /* Adjust position */ left: 0.5em; /* Adjust position */ width: 1.5em; /* Adjust size */ height: 1.5em; /* Adjust size */ border-top: 3px solid var(--color-white); /* White border, adjust thickness */ border-left: 3px solid var(--color-white); /* White border, adjust thickness */ box-sizing: border-box; } /* Bottom-right corner bracket */ blockquote::after { content: ''; position: absolute; bottom: 0.5em; /* Adjust position */ right: 0.5em; /* Adjust position */ width: 1.5em; /* Adjust size */ height: 1.5em; /* Adjust size */ border-bottom: 3px solid var(--color-white); /* White border, adjust thickness */ border-right: 3px solid var(--color-white); /* White border, adjust thickness */ box-sizing: border-box; }