@layer tokens { :root { --surface: rgb(22 20 19); --surface-low: rgb(29 26 25); --surface-lowest-soft: rgb(12 11 10 / 0.95); --surface-backdrop: rgb(12 11 10 / 0.86); --text: rgb(234 228 226); --text-soft: rgb(234 228 226 / 0.9); --text-muted: rgb(210 199 197); --text-muted-soft: rgb(210 199 197 / 0.7); --text-muted-faint: rgb(210 199 197 / 0.6); --text-underline: rgb(234 228 226 / 0.35); --primary: rgb(209 140 129); --primary-soft: rgb(209 140 129 / 0.65); --primary-container: rgb(91 44 35); --on-primary-container: rgb(255 218 207); --line: rgb(234 228 226 / 0.1); --line-soft: rgb(234 228 226 / 0.12); --line-strong: rgb(234 228 226 / 0.18); --checkbox-border: rgb(234 228 226 / 0.45); --outline: rgb(150 141 138 / 0.3); --font-body: "JetBrains Mono", monospace; --font-display: "Cormorant Garamond", serif; --text-body: 400 14px / 24px var(--font-body); --text-display: 400 42px / 1.2 var(--font-display); --text-headline: 400 24px / 32px var(--font-display); --radius-sm: 0.25rem; --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-12: 3rem; --space-16: 4rem; --space-32: 8rem; --checkbox-checkmark: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z' fill='%23d18c81'/%3e%3c/svg%3e"); } } @layer base { *, *::before, *::after { box-sizing: border-box; } html { color-scheme: dark; background: var(--surface); } body { min-height: 100vh; margin: 0; display: flex; background: var(--surface); color: var(--text); font: var(--text-body); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } a { color: inherit; text-decoration: none; } button, input { font: inherit; } button { cursor: pointer; } [hidden] { display: none !important; } .material-symbols-outlined { font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; line-height: 1; } .highlight pre { padding: var(--space-2) var(--space-4); } } @layer layout { .site-shell { width: 100%; max-width: 80rem; margin-inline: auto; padding: var(--space-16) var(--space-8); display: flex; gap: var(--space-16); } .site-main { flex: 1; min-width: 0; max-width: 48rem; padding-top: var(--space-2); } .site-sidebar { width: 18rem; flex-shrink: 0; display: flex; flex-direction: column; gap: var(--space-12); padding-right: var(--space-8); border-right: 1px solid var(--line); color: var(--text-muted); } .site-title { display: block; color: var(--text); font: var(--text-display); } .site-nav { display: flex; flex-direction: column; gap: var(--space-1); font-size: 14px; } } @layer components { .content { max-width: none; color: var(--text-soft); overflow-wrap: break-word; } .page-actions { margin-top: var(--space-12); } .page-link { display: inline-flex; align-items: center; margin-bottom: var(--space-4); color: var(--text-muted); font-style: italic; transition: color 150ms ease; } .page-link:hover { color: var(--primary); } .page-link .material-symbols-outlined { margin-left: var(--space-1); font-size: 18px; } .rule { border: 0; border-top: 1px solid var(--line); } .page-list { margin-top: var(--space-8); } .page-list article { padding-block: var(--space-5); } .page-list article + article { border-top: 1px solid var(--line); } .entry-title { margin: 0 0 var(--space-3); } .entry-title a, .entry-summary a { transition: color 150ms ease; } .entry-title a:hover, .entry-summary a:hover { color: var(--primary); } .entry-summary { margin: 0; color: var(--text-soft); } .footer-note { color: var(--text-muted); font: 400 18px / 28px var(--font-display); font-style: italic; } .site-sidebar .footer-note { margin-top: auto; padding-top: var(--space-8); } .page-footer { padding-block: var(--space-32) var(--space-8); } .search-trigger { position: relative; width: 100%; padding: 0.375rem var(--space-3) 0.375rem var(--space-8); border: 1px solid var(--outline); border-radius: var(--radius-sm); background: transparent; color: var(--text); text-align: left; font-size: 13px; transition: border-color 150ms ease, box-shadow 150ms ease; } .search-trigger:focus, .search-input:focus, .search-close:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary); } .search-trigger .material-symbols-outlined { position: absolute; left: var(--space-2); top: 0.375rem; color: var(--text-muted); font-size: 18px; } .search-trigger-label { color: var(--text-muted-soft); } .tree-node { display: flex; flex-direction: column; } .tree-link { display: flex; align-items: center; width: 100%; padding-block: var(--space-1); color: var(--text-muted); text-align: left; transition: color 150ms ease; } .tree-link:hover, .tree-link:hover .tree-icon { color: var(--primary); } .tree-link--section { color: var(--text); } .tree-link--nested { padding-block: 0.125rem; } .tree-link--nested:hover { color: var(--text); } .tree-link--leaf { display: block; padding-block: 0.125rem; font-style: italic; } .tree-link--leaf:hover { color: var(--text); } .tree-link--current { color: var(--primary); } .tree-icon { margin-right: var(--space-1); color: var(--text-muted); font-size: 16px; transition: color 150ms ease; } .tree-icon--small { font-size: 14px; } .tree-children { position: relative; margin: var(--space-1) 0 var(--space-2) var(--space-6); display: flex; flex-direction: column; gap: var(--space-1); color: var(--text-muted); font-size: 13px; } .tree-children--nested { margin-left: var(--space-5); margin-bottom: 0; font-style: italic; } .tree-children::before { content: ""; position: absolute; left: -12px; top: 0; bottom: 0; width: 1px; background: var(--line); } .search-dialog { width: min(78rem, calc(100vw - 2rem)); max-width: none; margin: 6rem auto auto; padding: 0; border: 0; background: transparent; color: var(--text); } .search-dialog::backdrop { background: var(--surface-backdrop); } .search-stack { display: flex; flex-direction: column; gap: var(--space-4); } .search-field { position: relative; } .search-field-icon { position: absolute; left: var(--space-3); top: 0.625rem; color: var(--text-muted); font-size: 20px; } .search-input { width: 100%; padding: 0.625rem var(--space-12) 0.625rem 2.5rem; border: 1px solid var(--outline); border-radius: var(--radius-sm); background: var(--surface-lowest-soft); color: var(--text); transition: border-color 150ms ease, box-shadow 150ms ease; } .search-input::placeholder { color: var(--text-muted-faint); } .search-close { position: absolute; right: var(--space-2); top: var(--space-2); display: inline-flex; width: 1.75rem; height: 1.75rem; align-items: center; justify-content: center; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); } .search-close:hover { color: var(--text); } .search-close .material-symbols-outlined { font-size: 18px; } .search-panel { display: grid; min-height: 28rem; max-height: 70vh; overflow: hidden; border: 1px solid var(--outline); border-radius: var(--radius-sm); background: var(--surface-lowest-soft); } .search-results { overflow-y: auto; border-bottom: 1px solid var(--outline); } .search-preview { overflow-y: auto; padding: var(--space-6); } .search-message { min-height: 28rem; display: flex; align-items: center; justify-content: center; padding: var(--space-6); color: var(--text-muted); text-align: center; } .search-placeholder { margin: 0; color: var(--text-muted); } .search-mark { border-radius: var(--radius-sm); background: var(--primary-container); color: var(--on-primary-container); padding-inline: 0.125rem; } .search-preview-title { display: block; color: var(--text); font: var(--text-headline); transition: color 150ms ease; } .search-preview-title:hover { color: var(--primary); } .search-preview-summary { margin: var(--space-4) 0 0; color: var(--text-soft); } .search-preview-body { margin: var(--space-6) 0 0; color: var(--text-muted); white-space: pre-wrap; } .search-result { display: block; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--outline); color: var(--text); } .search-result:hover, .search-result:focus { outline: none; background: var(--surface-low); } } @layer prose { .content :where(h1, h2, h3, h4) { color: var(--text); font-family: var(--font-display); font-weight: 400; } .content :where(h1, h2) { text-decoration: underline; text-decoration-color: var(--text-underline); text-decoration-thickness: 1px; text-underline-offset: 0.18em; } .content h1 { margin: 0 0 var(--space-3); font-size: 2.25rem; line-height: 1.1111; } .content h2 { margin: var(--space-6) 0 var(--space-2); font-size: 1.5rem; line-height: 2rem; } .content h3 { margin: var(--space-6) 0 var(--space-2); font-size: 1.40625rem; line-height: 1.90625rem; font-weight: 500; } .content h4 { margin: var(--space-5) 0 var(--space-2); font-size: 1.1875rem; line-height: 1.6875rem; font-weight: 500; } .content p, .content ul, .content ol, .content blockquote, .content pre, .content table { margin-block: var(--space-5); } .content :where(h1, h2, h3, h4) + p { margin-top: var(--space-3); } .content :where(ul, ol) { padding-left: 1.625rem; } .content li { margin-block: 0.5rem; padding-left: 0.375rem; } .content li::marker { color: var(--text-soft); } .content li > p { margin-block: 0; } .content li > :where(ul, ol) { margin-block: 0.5rem 0; } .content strong { color: var(--text); font-weight: 700; } .content a { color: var(--primary); text-decoration: underline; text-underline-offset: 0.15em; } .content blockquote { margin-inline: 2ch 0; padding-left: 2ch; border-left: 2px solid var(--primary-soft); color: var(--text-muted); font-style: italic; } .content :not(pre) > code { color: var(--primary); font-size: inherit; font-weight: 400; } .content pre { max-width: 100%; overflow-x: auto; } .content table { width: 100%; border-collapse: collapse; } .content th, .content td { padding: var(--space-2) var(--space-3); border: 1px solid var(--line-soft); text-align: left; } .content th { border-color: var(--line-strong); color: var(--text); font-weight: 700; } .content hr { border: 0; border-top: 1px solid var(--line); } .content input[type="checkbox"] { appearance: none; width: 0.875rem; height: 0.875rem; margin: 0 0.5rem 0 0; vertical-align: -0.125rem; background-color: var(--surface); border: 1px solid var(--checkbox-border); border-radius: 0.125rem; color: var(--primary); } .content input[type="checkbox"]:checked { background-color: var(--surface); background-image: var(--checkbox-checkmark); background-position: center; background-repeat: no-repeat; background-size: 100% 100%; border-color: var(--primary); } } @layer responsive { @media (min-width: 768px) { .search-panel { grid-template-columns: minmax(14rem, 24rem) 1fr; } .search-results { border-right: 1px solid var(--outline); border-bottom: 0; } .search-preview { padding: var(--space-8); } .search-message { grid-column: 1 / -1; } } @media (max-width: 768px) { .site-shell { flex-direction: column; gap: var(--space-8); padding: var(--space-8) var(--space-4); } .site-sidebar { width: auto; padding-right: 0; padding-bottom: var(--space-8); border-right: 0; border-bottom: 1px solid var(--line); } .site-main { max-width: none; } .search-dialog { margin-top: var(--space-4); } } }