:root,:root[data-theme=dark]{--bg: #151515;--bg-raised: #1d1c1f;--code-bg: #1d1c1f;--ink: #c1bcab;--ink-strong: #e8e3d3;--ink-soft: #8a8578;--rule: #2e2c30;--rule-strong: #434149;--accent: #9f6e75;--c-work: #c9a96a;--c-notes: #8aa57a;--c-writing: #9f6e75;--c-ttrpg: #7a6a9f;--c-recipes: #b8775a}:root[data-theme=light]{--bg: #f5efe2;--bg-raised: #ebe3d2;--code-bg: #ebe3d2;--ink: #2a2418;--ink-strong: #0e0a04;--ink-soft: #6e6451;--rule: #d8cfb9;--rule-strong: #b8ad94;--accent: #8a4d56;--c-work: #a07d2e;--c-notes: #5a7d4a;--c-writing: #8a4d56;--c-ttrpg: #5a4980;--c-recipes: #9d4f2c}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:400;line-height:1.6;font-size:18px}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}.layout{display:grid;grid-template-columns:220px 1fr;max-width:980px;margin:0 auto;gap:4rem;padding:4rem 2rem;align-items:start}.sidebar{position:sticky;top:4rem}.sidebar .name-link{display:block;margin-bottom:1rem}.sidebar .name{font-weight:500;font-size:1.05rem;color:var(--ink-strong);letter-spacing:.02em;margin:0 0 .25rem}.sidebar .name-sub{font-size:.8rem;color:var(--ink-soft);font-style:italic;letter-spacing:.08em;text-transform:uppercase;margin:0}.socials{display:flex;gap:.85rem;margin:0 0 2rem}.socials a{display:inline-flex;color:var(--ink-soft);transition:color .15s ease}.socials a:hover{color:var(--ink-strong)}.sidebar nav ul{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}.sidebar nav a{display:inline-block;padding:.4rem .85rem;border-radius:4px;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bg);transition:transform .15s ease,filter .15s ease;opacity:.85}.sidebar nav a:hover{transform:translate(3px);filter:brightness(1.1);opacity:1}.sidebar nav a.is-active{opacity:1;box-shadow:0 0 0 2px var(--bg),0 0 0 3px currentColor}.nav-work{background:var(--c-work)}.nav-notes{background:var(--c-notes)}.nav-writing{background:var(--c-writing)}.nav-ttrpg{background:var(--c-ttrpg)}.nav-recipes{background:var(--c-recipes)}.about-link{display:inline-block;margin-top:2rem;font-size:.85rem;font-style:italic;color:var(--ink-soft);border-bottom:1px solid var(--rule-strong);padding-bottom:1px}.about-link:hover,.about-link.is-active{color:var(--ink-strong)}.theme-toggle{position:fixed;bottom:1rem;left:1rem;background:none;border:none;color:var(--ink-soft);padding:.35rem;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;opacity:.5;transition:opacity .15s ease,color .15s ease;z-index:10}.theme-toggle:hover{opacity:1;color:var(--ink-strong)}:root[data-theme=dark] .theme-toggle .icon-sun{display:inline}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=light] .theme-toggle .icon-sun{display:none}:root[data-theme=light] .theme-toggle .icon-moon{display:inline}.content{min-width:0;max-width:640px}h1{font-size:clamp(2.25rem,4.5vw,3.25rem);font-weight:500;font-variation-settings:"SOFT" 50;margin:0 0 .5rem;letter-spacing:-.02em;color:var(--ink-strong);line-height:1.15}.intro{margin:2.5rem 0 4rem;font-size:1.15rem}.intro p{margin:0}.section-header{display:flex;align-items:center;gap:.85rem;margin:0 0 .5rem}.section-header .page-eyebrow{margin:0}.section-mark{display:inline-flex;width:36px;opacity:.9}.section-mark svg{display:block;width:100%;height:auto}.section-mark-ttrpg{color:var(--c-ttrpg)}.section-mark-work{color:var(--c-work)}.section-mark-notes{color:var(--c-notes)}.section-mark-writing{color:var(--c-writing)}.section-mark-recipes{color:var(--c-recipes)}.page-eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-family:system-ui,sans-serif;font-weight:700;margin:0 0 .5rem}.page-eyebrow-work{color:var(--c-work)}.page-eyebrow-notes{color:var(--c-notes)}.page-eyebrow-writing{color:var(--c-writing)}.page-eyebrow-ttrpg{color:var(--c-ttrpg)}.page-eyebrow-recipes{color:var(--c-recipes)}.prose{font-size:1.05rem}.prose p{margin:0 0 1.25rem}.prose a{color:var(--accent);border-bottom:1px solid currentColor}.prose-h2{font-size:1.4rem;font-weight:500;color:var(--ink-strong);margin:3rem 0 1rem;letter-spacing:-.01em}.lang-list{list-style:none;padding:0;margin:0}.lang-list li{display:flex;align-items:baseline;gap:.75rem;padding:.4rem 0;font-size:1.05rem}.lang-list .flag{font-size:1.4rem;line-height:1}.lang-list .lang-note{color:var(--ink-soft);font-style:italic;font-size:.95rem}.empty-state{margin:3rem 0;padding:2rem;border:1px dashed var(--rule-strong);border-radius:4px;color:var(--ink-soft);font-style:italic;text-align:center}.post-list{margin-top:3rem}.post-list ul{border-top:1px solid var(--rule)}.post-list li{display:grid;grid-template-columns:4rem 1fr;gap:1.25rem;padding:1.1rem 0;border-bottom:1px solid var(--rule);align-items:baseline}.post-list .date{color:var(--ink-soft);font-size:.9rem;font-variant-numeric:tabular-nums}.post-list a{display:grid;gap:.2rem}.post-list .post-title{color:var(--ink-strong);font-size:1.15rem;border-bottom:1px solid transparent;padding-bottom:1px;width:max-content;max-width:100%}.post-list a:hover .post-title{border-bottom-color:var(--accent)}.post-list .post-desc{color:var(--ink-soft);font-style:italic;font-size:.95rem}.eyebrow-link{color:inherit;border-bottom:1px solid currentColor;padding-bottom:1px;opacity:.85}.eyebrow-link:hover{opacity:1}.eyebrow-meta{color:var(--ink-soft);font-style:italic}.post-lede{font-size:1.2rem;font-style:italic;color:var(--ink-soft);margin:1rem 0 2.5rem;line-height:1.5}.post-body{font-size:1.05rem}.post-body h2{font-size:1.35rem;font-weight:500;color:var(--ink-strong);margin:2.5rem 0 1rem;letter-spacing:-.01em}.post-body h3{font-size:1.1rem;font-weight:500;color:var(--ink-strong);margin:2rem 0 .75rem}.post-body ul{list-style:none;padding:0;margin:1rem 0 1.5rem}.post-body ul li{position:relative;padding-left:1.25rem;margin:.5rem 0}.post-body ul li:before{content:"•";position:absolute;left:0;color:var(--accent)}.post-body-ttrpgs ul li:before{color:var(--c-ttrpg)}.post-body-notes ul li:before{color:var(--c-notes)}.post-body-writing ul li:before{color:var(--c-writing)}.post-body-work ul li:before{color:var(--c-work)}.post-body ol{padding-left:1.5rem;margin:1rem 0 1.5rem}.post-body ol li{margin:.4rem 0}.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--code-bg);padding:.1em .35em;border-radius:3px;color:var(--ink-strong)}.post-body pre{background:var(--code-bg);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.25rem;overflow-x:auto;font-size:.9rem;line-height:1.5;margin:1.5rem 0}.post-body pre code{background:none;padding:0;color:var(--ink)}.post-body blockquote{border-left:3px solid var(--accent);margin:1.5rem 0;padding:.25rem 0 .25rem 1rem;color:var(--ink-soft);font-style:italic}.post-body strong{color:var(--ink-strong);font-weight:600}.post-body em{color:var(--ink)}.latest h2{font-weight:400;font-style:italic;color:var(--ink-soft);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;margin:0 0 1.25rem}.latest ul{border-top:1px solid var(--rule)}.latest li{display:grid;grid-template-columns:4rem 1fr auto;gap:1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--rule)}.date{color:var(--ink-soft);font-size:.9rem;font-variant-numeric:tabular-nums}.latest li>a{color:var(--ink-strong);font-size:1.1rem;border-bottom:1px solid transparent;padding-bottom:1px}.latest li>a:hover{border-bottom-color:var(--accent)}.tag{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .55rem;border-radius:2px;color:var(--bg);font-family:system-ui,sans-serif;font-weight:600}.tag-work{background:var(--c-work)}.tag-notes{background:var(--c-notes)}.tag-writing{background:var(--c-writing)}.tag-ttrpg{background:var(--c-ttrpg)}.tag-recipes{background:var(--c-recipes)}.more{margin:1.5rem 0 0;font-style:italic}.more a{color:var(--ink-soft)}.more a:hover{color:var(--accent)}footer{margin-top:5rem;padding-top:2rem;border-top:1px solid var(--rule);color:var(--ink-soft);font-size:.9rem}footer a{color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}footer a:hover{color:var(--accent)}@media(max-width:760px){.layout{grid-template-columns:1fr;gap:2.5rem;padding:2.5rem 1.5rem}.sidebar{position:static}.sidebar .name-sub{margin-bottom:1.5rem}.sidebar nav ul{flex-direction:row;flex-wrap:wrap;gap:1rem 1.25rem}.latest li{grid-template-columns:3.5rem 1fr}.latest .tag{grid-column:2;justify-self:start;margin-top:.25rem}}
