:root { --canvas: #0b0b0d; --surface: #15151a; --ink: #f2eee7; --soft: #aaa298; --accent: #4aa8f0; --hair: rgb(242 238 231 / 0.14); }
* { box-sizing: border-box; }
html { background: var(--canvas); color-scheme: dark; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 400 1.0625rem/1.65 "Outfit", system-ui, sans-serif; }
::selection { background: var(--accent); color: #04121d; }
.top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem clamp(1.25rem, 5vw, 5.5rem); border-bottom: 1px solid var(--hair); }
.top a { color: var(--ink); text-decoration: none; }
.mark { font: 600 1.45rem/1 "Fraunces", Georgia, serif; letter-spacing: -0.02em; }
.mark i { font-style: normal; color: var(--accent); }
.back { font-size: 0.95rem; color: var(--soft) !important; }
main { max-width: 46rem; margin: 0 auto; padding: clamp(2.5rem, 7vh, 5rem) clamp(1.25rem, 5vw, 2rem) 5rem; }
h1 { font: 500 clamp(2.1rem, 1.6rem + 2.4vw, 3.2rem)/1.06 "Fraunces", Georgia, serif; letter-spacing: -0.015em; margin: 0 0 1rem; text-wrap: balance; }
h2 { font: 500 1.4rem/1.25 "Fraunces", Georgia, serif; margin: 2.6rem 0 0.6rem; }
p, li { color: color-mix(in oklab, var(--ink) 86%, var(--soft)); }
ul { padding-left: 1.2rem; }
li + li { margin-top: 0.35rem; }
a { color: var(--accent); text-underline-offset: 0.2em; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
strong { color: var(--ink); font-weight: 600; }
.draft { margin: 0 0 2rem; padding: 0.9rem 1.1rem; border-radius: 10px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--hair); font-size: 0.95rem; }
.meta { color: var(--soft); font-size: 0.95rem; margin: 0 0 2rem; }
table { width: 100%; border-collapse: collapse; margin: 0.8rem 0 0.4rem; font-size: 0.95rem; }
th, td { text-align: left; vertical-align: top; padding: 0.6rem 0.7rem 0.6rem 0; border-bottom: 1px solid var(--hair); }
th { color: var(--soft); font-weight: 500; }
.wrap-table { overflow-x: auto; }
code { font-size: 0.9em; background: var(--surface); padding: 0.1em 0.35em; border-radius: 4px; }
.foot { border-top: 1px solid var(--hair); padding: 1.4rem clamp(1.25rem, 5vw, 5.5rem); color: var(--soft); font-size: 0.85rem; display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; justify-content: space-between; }
.foot nav { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; }
.foot a { color: var(--soft); }
