:root{--font-body:"Source Serif 4", Georgia, serif;--font-handwritten:"Kalam", cursive;--font-mono:"JetBrains Mono", monospace;--paper:#edeae1;--paper-dim:#e3e0d6;--paper-edge:#d8d4c7;--ink:#2b2a26;--ink-soft:#55524a;--ink-faint:#8c887c;--accent-face:#7a5c42;--accent-brain:#3f5d54;--accent-heart:#7a3b3b}html,body{width:100%;min-height:100%;margin:0;padding:0}body{width:100%;min-height:100vh;color:var(--ink);font-family:var(--font-body);background:radial-gradient(100% 70% at 25% -10%,#ffffff8c 0%,#fff0 55%),#e7e3d8;flex-direction:column;align-items:stretch;display:flex;box-shadow:inset 0 0 100px #00000014}.post-layout{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,720px) minmax(0,1fr);align-self:stretch;align-items:start;width:100%;display:grid}.post-layout main{grid-column:2;width:100%}.post-layout aside{box-sizing:border-box;grid-column:3;width:100%;position:relative}main{box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;gap:3rem;width:100%;margin:0 auto;padding:4rem 1.5rem;display:flex}@media (width<=768px){main{padding:3rem 1.25rem}}@media (width<=480px){main{padding:2rem 1rem}}body:before{content:"";pointer-events:none;z-index:9999;opacity:.35;mix-blend-mode:normal;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-handwritten);letter-spacing:-.02em;text-transform:uppercase;text-align:center;margin:0;font-size:1.75rem;font-weight:400;line-height:1.2}.spoiler{cursor:pointer;display:inline;position:relative}.spoiler-toggle{opacity:0;pointer-events:none;position:absolute}.spoiler-text{background:var(--ink,#2b2b28);color:#0000;background-blend-mode:overlay;background-image:url(/grain.svg);border-radius:2px;padding:0 4px;transition:all .15s}.spoiler-toggle:checked~.spoiler-text{color:var(--ink,#2b2b28);background:0 0;padding:0}.spoiler-text:before{content:"reveal";letter-spacing:.05em;color:var(--paper,#f4f1ea);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7em}.spoiler-toggle:checked~.spoiler-text:before{content:""}.nav-island{z-index:100;background:var(--paper,#edeae1);border:1px solid var(--paper-edge,#d8d4c7);font-family:var(--font-mono,monospace);letter-spacing:.04em;border-radius:2px;align-items:center;gap:1.5rem;padding:.6rem 1.25rem;font-size:.8rem;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000014}.links{gap:1.25rem;display:flex}.divider{background:var(--paper-edge,#d8d4c7);width:1px;height:1rem}.link{color:var(--ink-soft,#8a877c);text-transform:uppercase;text-decoration:none;transition:color .2s}.link:hover{color:var(--ink,#2a2a28)}.link.active{color:var(--accent,#2a2a28);font-weight:600}.rss-link{letter-spacing:.03em;color:var(--ink-faint,#8a877c);font-size:.72rem}.rss-link:hover{color:var(--accent,#2a2a28)}.mobile-nav{display:none}.more{position:relative}.more summary{cursor:pointer;color:var(--ink-faint,#8a877c);padding:0 .3rem;font-weight:700;list-style:none}.more summary::-webkit-details-marker{display:none}.more[open] summary{color:var(--ink,#2a2a28)}.more-panel{background:var(--paper,#edeae1);border:1px solid var(--paper-edge,#d8d4c7);white-space:nowrap;border-radius:2px;flex-direction:column;align-items:center;gap:.6rem;padding:.75rem 1.25rem;display:flex;position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000014}.external-link{letter-spacing:.03em;color:var(--ink-soft,#8a877c);opacity:.75;font-size:.72rem}.external-link:after{content:"↗";margin-left:.25rem;font-size:.7em;display:inline-block}.external-link:hover{color:var(--ink,#2a2a28);opacity:1}@media (width<=480px){.desktop-nav{display:none}.mobile-nav{align-items:center;gap:1rem;padding:.55rem 1rem;font-size:.78rem;display:flex;bottom:1.25rem}.mobile-nav .links{gap:.85rem}.mobile-nav .mark{padding-right:.85rem}}
