
:root{--color-bg:#fefefe;--color-surface:#fafafa;--color-text:#1a1a1a;--color-text-subtle:#525252;--color-primary:#0a0a0a;--color-accent:#6b6b6b;--color-border:#e0e0e0;--color-border-subtle:#f0f0f0;--color-sidenote:#737373;--color-highlight:#1f6769;--color-highlight-mid:#3a9b9e;--color-highlight-hover:#164e50;--color-highlight-subtle:#e6f2f2;--color-highlight-focus:#cce4e5;--color-link:var(--color-highlight);--color-link-hover:var(--color-highlight-hover);--color-code-bg:#f7f7f7;--color-selection:#cce4e5;--color-white:#ffffff;--color-syntax-comment:#6b6b6b;--color-syntax-punctuation:#999999;--color-syntax-property:#905090;--color-syntax-string:var(--color-highlight);--color-syntax-operator:#9a6e3a;--color-syntax-keyword:#0077aa;--color-syntax-function:#dd4a68;--color-syntax-variable:#ee9900;--color-header-bg:#fefefed9;--color-header-bg-dark:#0f0f0fe0;--font-base:'Heliotrope',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-mono:'ibm-plex-mono','SF Mono',Monaco,'Cascadia Code','Roboto Mono',Consolas,'Courier New',monospace;--font-header:'Heliotrope',sans-serif;--font-title:'Heliotrope',sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--space-2xs:0.425rem;--space-xs:0.85rem;--space-s:1.7rem;--space-m:2.55rem;--space-l:3.4rem;--space-xl:5.1rem;--space-2xl:6.8rem;--max-width:720px;--content-width:65ch;--sidenote-width:35%;--sidenote-offset:-45%;--sidenote-breakpoint:1100px;--archive-badge-offset:-4rem;--border-radius:6px;--border-radius-sm:4px;--border-radius-lg:8px;--breakpoint-mobile:480px;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:200ms cubic-bezier(0.4, 0, 0.2, 1);--transition-slow:300ms cubic-bezier(0.4, 0, 0.2, 1);--transition-bounce:400ms cubic-bezier(0.34, 1.56, 0.64, 1);--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #0000000f,0 1px 2px 0 #0000000a;--shadow-md:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a;--shadow-xl:0 20px 25px -5px #00000014,0 10px 10px -5px #00000005;--color-scroll-shadow:rgba(0, 0, 0, 0.05);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-modal:1000;--z-toast:2000}::selection{background:var(--color-selection);color:var(--color-selection-text,var(--color-text))}article[style*="--mood-h"]{--color-selection:hsl(var(--mood-h), var(--mood-s), 80%);--color-selection-text:#111;--mood-link-hover:hsl(var(--mood-h), var(--mood-s), var(--mood-l-hover, 45%))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0f0f0f;--color-surface:#1a1a1a;--color-text:#e8e8e8;--color-text-subtle:#a1a1a1;--color-primary:#fafafa;--color-accent:#8a8a8a;--color-border:#2a2a2a;--color-border-subtle:#1a1a1a;--color-sidenote:#9a9a9a;--color-highlight:#5ebbaf;--color-highlight-mid:#4dc4b8;--color-highlight-hover:#7cc9be;--color-highlight-subtle:#1a3030;--color-highlight-focus:#3a5f5f;--color-code-bg:#1a1a1a;--color-selection:#2a4545;--mood-l-hover:70%;--color-syntax-comment:#8a8a8a;--color-syntax-punctuation:#888888;--color-syntax-property:#c792ea;--color-syntax-string:var(--color-highlight);--color-syntax-operator:#f9a86f;--color-syntax-keyword:#82aaff;--color-syntax-function:#f07178;--color-syntax-variable:#ffcb6b;--color-header-bg:var(--color-header-bg-dark);--shadow-xs:0 1px 2px 0 #0000004d;--shadow-sm:0 1px 3px 0 #00000066,0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #00000080,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000099,0 4px 6px -2px #00000066;--shadow-xl:0 20px 25px -5px #000000b3,0 10px 10px -5px #00000066;--color-scroll-shadow:rgba(0, 0, 0, 0.4)}}[data-theme=dark]{--color-bg:#0f0f0f;--color-surface:#1a1a1a;--color-text:#e8e8e8;--color-text-subtle:#a1a1a1;--color-primary:#fafafa;--color-accent:#8a8a8a;--color-border:#2a2a2a;--color-border-subtle:#1a1a1a;--color-sidenote:#9a9a9a;--color-highlight:#5ebbaf;--color-highlight-mid:#4dc4b8;--color-highlight-hover:#7cc9be;--color-highlight-subtle:#1a3030;--color-highlight-focus:#3a5f5f;--color-code-bg:#1a1a1a;--color-selection:#2a4545;--mood-l-hover:70%;--color-syntax-comment:#8a8a8a;--color-syntax-punctuation:#888888;--color-syntax-property:#c792ea;--color-syntax-string:var(--color-highlight);--color-syntax-operator:#f9a86f;--color-syntax-keyword:#82aaff;--color-syntax-function:#f07178;--color-syntax-variable:#ffcb6b;--color-header-bg:var(--color-header-bg-dark);--shadow-xs:0 1px 2px 0 #0000004d;--shadow-sm:0 1px 3px 0 #00000066,0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #00000080,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000099,0 4px 6px -2px #00000066;--shadow-xl:0 20px 25px -5px #000000b3,0 10px 10px -5px #00000066;--color-scroll-shadow:rgba(0, 0, 0, 0.4)}@font-face{font-family:heliotrope;src:url('/assets/fonts/heliotrope/heliotrope_ot_3_book.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:heliotrope;src:url('/assets/fonts/heliotrope/heliotrope_ot_3_book_italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:heliotrope;src:url('/assets/fonts/heliotrope/heliotrope_ot_4_medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:heliotrope;src:url('/assets/fonts/heliotrope/heliotrope_ot_4_medium_italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:heliotrope;src:url('/assets/fonts/heliotrope/heliotrope_ot_6_semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:heliotrope;src:url('/assets/fonts/heliotrope/heliotrope_ot_6_semibold_italic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:ibm-plex-mono;src:url('/assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:ibm-plex-mono;src:url('/assets/fonts/ibm-plex-mono/IBMPlexMono-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:ibm-plex-mono;src:url('/assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:ibm-plex-mono;src:url('/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:unifraktur-maguntia;src:url('/assets/fonts/unifraktur-maguntia/UnifrakturMaguntia-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}*,::after,::before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}button,input,select,textarea{font:inherit}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--color-highlight);outline-offset:3px;border-radius:var(--border-radius-sm)}html{scroll-padding-top:5rem}@media (hover:none){*{-webkit-tap-highlight-color:transparent}}body{font-family:var(--font-base);color:var(--color-text);background-color:var(--color-bg);font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.7;text-rendering:optimizeLegibility;text-wrap:balance;text-wrap:pretty;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-text-size-adjust:100%;hanging-punctuation:first last}@media (prefers-reduced-data:reduce){body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}code,pre{font-family:'SF Mono',Monaco,'Cascadia Code','Roboto Mono',Consolas,'Courier New',monospace}}h1{font-family:var(--font-title);font-weight:700;font-size:clamp(2.25rem, 1.75rem + 2vw, 3rem);line-height:1.1;letter-spacing:-.04em;margin-bottom:var(--space-m);color:var(--color-primary);text-wrap:balance;max-width:var(--content-width);width:var(--content-width)}h2{font-family:var(--font-header);font-weight:600;font-size:clamp(1.5rem, 1.25rem + 1vw, 1.75rem);line-height:1.25;letter-spacing:-.02em;margin-top:var(--space-l);margin-bottom:var(--space-s);color:var(--color-primary);text-wrap:balance}h3{font-family:var(--font-header);font-weight:600;font-size:clamp(1.25rem, 1.125rem + .5vw, 1.375rem);line-height:1.35;letter-spacing:-.015em;margin-top:var(--space-m);margin-bottom:var(--space-xs);color:var(--color-primary);text-wrap:balance}h4,h5,h6{font-family:var(--font-header);font-weight:500;line-height:1.4;margin-top:var(--space-s);margin-bottom:var(--space-xs);color:var(--color-primary)}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none;font-weight:inherit}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:inherit;text-decoration:none}p{margin-bottom:var(--space-s);max-width:var(--content-width);text-wrap:balance;text-wrap:pretty;hanging-punctuation:first last}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-highlight);text-decoration-thickness:1px;text-underline-offset:0.18em;transition:color var(--transition-base),text-decoration-color var(--transition-base),text-decoration-thickness var(--transition-base),text-underline-offset var(--transition-fast);font-weight:500}a:hover{color:var(--color-link-hover);text-decoration-color:var(--mood-link-hover,var(--color-link-hover));text-decoration-thickness:2px;text-underline-offset:0.2em}a:focus-visible{outline:2px solid var(--color-highlight);outline-offset:3px;border-radius:var(--border-radius-sm);background:var(--color-highlight-focus)}strong{font-weight:600}em{font-style:italic}.strikethrough,s{text-decoration:line-through;color:var(--color-accent);opacity:.7}blockquote.pull-quote,blockquote:has(> p:only-child:not(.block-quote-content)){margin:var(--space-l) auto;padding:0;border:none;text-align:center;font-size:1.5rem;line-height:1.4;font-weight:500;color:var(--color-primary);font-style:italic;max-width:35ch}blockquote.block-quote,blockquote:has(.block-quote-content),blockquote:has(> p + p){margin:var(--space-m) 0;padding:var(--space-s) var(--space-s) var(--space-s) var(--space-m);border-left:4px solid var(--color-highlight);background:var(--color-border-subtle);border-radius:0 var(--border-radius) var(--border-radius) 0;font-size:.95rem;line-height:1.6;color:var(--color-text);font-style:italic}.block-quote-content p,blockquote.block-quote p,blockquote:has(> p + p) p{margin-bottom:.5rem}.block-quote-content p:last-child,blockquote.block-quote p:last-child,blockquote:has(> p + p) p:last-child{margin-bottom:0}blockquote .attribution,blockquote cite{display:block;margin-top:var(--space-xs);font-size:.9em;font-style:normal;color:var(--color-text);text-align:right}blockquote .attribution::before,blockquote cite::before{content:"— "}@supports not selector(:has(> p)){blockquote:not(.pull-quote){margin:var(--space-m) 0;padding:var(--space-s) var(--space-s) var(--space-s) var(--space-m);border-left:4px solid var(--color-highlight);background:var(--color-border-subtle);border-radius:0 var(--border-radius) var(--border-radius) 0;font-size:.95rem;line-height:1.6;color:var(--color-text);font-style:italic}}blockquote{margin:var(--space-s) 0;padding-left:var(--space-s);border-left:3px solid var(--color-border);color:var(--color-accent);font-style:italic}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-code-bg);padding:.2em .45em;border-radius:var(--border-radius-sm);border:1px solid var(--color-border);font-weight:450}pre{font-family:var(--font-mono);font-size:.875rem;line-height:1.65;background:var(--color-code-bg);padding:var(--space-s);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow-x:auto;margin:var(--space-s) 0;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;max-width:100%;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal}pre::-webkit-scrollbar{height:8px}pre::-webkit-scrollbar-track{background:0 0}pre::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}pre::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}pre code{background:0 0;padding:0;border:none}ol,ul{margin:var(--space-s) 0;padding-left:1.75rem}li{margin-bottom:.5rem;padding-left:.25rem;text-wrap:pretty}li::marker{color:var(--color-accent)}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-m) 0}@media (max-width:768px){body{font-size:1.125rem;text-wrap:pretty}h1{font-size:2.5rem;line-height:1.15;width:auto;text-wrap:balance}h2{font-size:1.75rem;text-wrap:balance}h3{font-size:1.375rem;text-wrap:balance}blockquote.pull-quote,blockquote>p:only-child:not(.block-quote-content){font-size:1.375rem;text-wrap:pretty}}@media (max-width:480px){body{font-size:1.125rem}h1{font-size:2.25rem}h2{font-size:1.5rem}h3{font-size:1.25rem}blockquote.pull-quote,blockquote>p:only-child:not(.block-quote-content){font-size:1.25rem}}body{display:flex;flex-direction:column;min-height:100vh}body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.038;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px;background-repeat:repeat}@media (prefers-reduced-motion:reduce){body::before{display:none}}main{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-s);padding-block-start:var(--space-m);padding-block-end:var(--space-2xl);inline-size:100%;flex:1}article{margin-block-end:var(--space-l)}footer{max-width:var(--max-width);margin-block-start:var(--space-2xl);margin-inline:auto;padding-block:var(--space-l);padding-inline:var(--space-s);border-block-start:1px solid var(--color-border);color:var(--color-text-subtle);font-size:var(--text-sm)}.footer-quote{text-align:center;margin-bottom:var(--space-m);padding-bottom:var(--space-m);transition:opacity var(--transition-base);user-select:none}.footer-quote:hover .footer-quote-text{color:var(--color-text)}.footer-quote-text{display:block;font-style:italic;font-size:1rem;color:var(--color-text-subtle);line-height:1.65;max-width:48ch;margin-inline:auto;margin-bottom:var(--space-xs)}.footer-quote-text::before{content:'\201C'}.footer-quote-text::after{content:'\201D'}.footer-quote-author{display:block;font-size:.8rem;color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.02em}.footer-quote-author::before{content:'— '}.footer-meta{text-align:center}footer a{color:var(--color-text-subtle);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:0.15em;transition:color var(--transition-base),text-decoration-color var(--transition-base);font-weight:500}main::after,main::before{content:'';position:fixed;left:0;right:0;height:40px;pointer-events:none;z-index:99;opacity:0;transition:opacity var(--transition-slow)}main::before{top:0;background:linear-gradient(to bottom,var(--color-scroll-shadow),transparent)}main::after{bottom:0;background:linear-gradient(to top,var(--color-scroll-shadow),transparent)}body.is-scrolled main::before{opacity:1}body:not(.is-scrolled-bottom) main::after{opacity:1}footer a:hover{color:var(--color-highlight);text-decoration-color:var(--color-highlight)}.texture-dust{position:relative}.texture-dust::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:10;opacity:.15;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='dust'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.015' numOctaves='3' result='noise'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 7 -3' in='noise' result='coloredNoise'/%3E%3C/filter%3E%3Crect width='400' height='400' fill='black'/%3E%3Crect width='400' height='400' fill='white' filter='url(%23dust)'/%3E%3C/svg%3E");background-size:400px 400px;background-repeat:repeat}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .texture-dust::after{opacity:.08}}[data-theme=dark] .texture-dust::after{opacity:.08}footer a:focus-visible{outline:2px solid var(--color-highlight);outline-offset:2px;border-radius:var(--border-radius-sm);background:var(--color-highlight-focus)}.footer-divider{margin:0 .5rem;color:var(--color-border)}.privacy-notice{font-size:.85em;color:var(--color-accent)}@media (max-width:768px){.footer-divider{display:block;margin:.25rem 0}.privacy-notice{display:block;margin-top:.5rem}}.site-header{border-bottom:1px solid var(--color-border);padding:var(--space-s) 0;padding-top:max(var(--space-s),env(safe-area-inset-top));margin-bottom:var(--space-l);position:sticky;top:0;z-index:var(--z-sticky);backdrop-filter:saturate(180%) blur(12px);background:var(--color-header-bg);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.site-header.scrolled{box-shadow:var(--shadow-sm);border-bottom-color:transparent}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-s);display:flex;align-items:center;justify-content:space-between;gap:2rem}.navbar{display:flex;align-items:center;gap:2rem;flex:1}.site-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;border-radius:var(--border-radius-sm)}.site-logo img{display:block;width:44px;height:44px;border-radius:var(--border-radius-sm)}.site-logo:hover{opacity:.85}.site-logo:active{transform:scale(.98)}.site-logo:focus-visible{outline:2px solid var(--color-highlight);outline-offset:4px;background:var(--color-highlight-focus)}.nav-links{display:flex;align-items:center;gap:1.75rem;font-size:1rem}.nav-links a{color:var(--color-accent);text-decoration:none;position:relative;transition:color var(--transition-base);font-weight:500;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:var(--border-radius-sm);white-space:nowrap}.nav-links a::after{content:'';position:absolute;bottom:0;left:.5rem;right:.5rem;height:2px;background:var(--color-highlight);transform:scaleX(0);transform-origin:left;transition:transform 120ms cubic-bezier(0, 0, .2, 1);border-radius:1px}.nav-links a:hover{color:var(--color-primary);background:var(--color-highlight-subtle)}.nav-links a[aria-current=page]{color:var(--color-primary);font-weight:700}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1)}.nav-links a:active{transform:translateY(1px)}.nav-links a:focus-visible{outline:2px solid var(--color-highlight);outline-offset:4px;border-radius:2px}#search{display:flex;align-items:center}.search-trigger{background:0 0;border:1px solid transparent;padding:.5rem;cursor:pointer;color:var(--color-accent);display:flex;align-items:center;justify-content:center;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base),transform var(--transition-bounce);border-radius:var(--border-radius-sm)}.search-trigger:hover{color:var(--color-primary);background:var(--color-highlight-subtle);border-color:var(--color-border);transform:scale(1.05)}.search-trigger:active{transform:scale(.97)}.search-trigger:focus-visible{outline:2px solid var(--color-highlight);outline-offset:2px;background:var(--color-highlight-focus)}.search-trigger svg{display:block;transition:transform var(--transition-base)}.search-trigger:hover svg{transform:rotate(15deg)}.search-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;backdrop-filter:blur(12px) saturate(120%);z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding:10vh 1.5rem 1.5rem;animation:fadeIn var(--transition-slow);will-change:opacity}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.search-modal-content{background:var(--color-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl),0 0 0 1px var(--color-border);width:100%;max-width:var(--max-width);animation:slideDown var(--transition-slow);overflow:hidden;will-change:transform,opacity}@keyframes slideDown{from{transform:translateY(-30px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}#search-modal{--pagefind-ui-scale:1;--pagefind-ui-primary:var(--color-highlight);--pagefind-ui-text:var(--color-text);--pagefind-ui-background:var(--color-bg);--pagefind-ui-border:var(--color-border);--pagefind-ui-tag:var(--color-border);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:8px;--pagefind-ui-font:var(--font-base)}body.home main{padding-block-start:var(--space-xs)}body.home .post-list:first-child h2{margin-top:0}.post-list{margin-bottom:var(--space-m);max-width:var(--content-width);width:var(--content-width)}.post-list h2{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);font-weight:600;margin-top:var(--space-m);margin-bottom:var(--space-s);padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.post-list ul{list-style:none;padding:0;margin:0}.post-list li{padding:.6rem .75rem;margin-bottom:.25rem;margin-left:-.75rem;margin-right:-.75rem;border-radius:var(--border-radius-sm);display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base);position:relative}.post-list li:focus-within{outline:2px solid var(--color-highlight);outline-offset:2px;background:var(--color-highlight-subtle)}.post-list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--color-highlight);border-radius:0 2px 2px 0;transition:height var(--transition-bounce)}.post-list li:hover{background:var(--color-highlight-subtle);transform:translateX(4px)}.post-list li:hover::before{height:70%}.post-list li:active{transform:translateX(2px)}.post-list li:last-child{margin-bottom:0}.post-list a{text-decoration:none;color:var(--color-primary);font-weight:500;flex:1;transition:color var(--transition-base)}.post-list a.list-seal-link{flex:none}.post-list li:hover a:not(.list-seal-link){color:var(--color-highlight)}.date{color:var(--color-accent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-family:var(--font-mono);transition:color var(--transition-base)}.post-list li:hover .date{color:var(--color-text-subtle)}.view-all{margin-top:1rem;text-align:right;font-size:.9em}.view-all a{color:var(--color-highlight);text-decoration:none;font-weight:500;transition:color .2s ease}.view-all a:hover{color:var(--color-highlight-hover);text-decoration:underline}.tag-list{display:flex;flex-wrap:wrap;gap:.75rem;margin:var(--space-s) 0}.tag{display:inline-flex;align-items:center;padding:.25rem .65rem;background:0 0;color:var(--color-highlight);text-decoration:none;border-radius:var(--border-radius-sm);font-size:.8125rem;font-weight:500;font-family:var(--font-mono);border:1px solid var(--color-border);transition:all var(--transition-base)}.tag:hover{background:var(--color-highlight-subtle);color:var(--color-highlight-hover);border-color:var(--color-highlight);text-decoration:none;transform:translateY(-1px)}.tag:active{transform:translateY(0)}.tag:focus-visible{outline:2px solid var(--color-highlight);outline-offset:2px}.lang-tag{display:inline-block;padding:.25rem .75rem;background:var(--color-border);color:var(--color-text);border-radius:4px;font-size:.875rem;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;margin-right:.5rem;user-select:none}.archive-badge{display:inline-flex;align-items:center;padding:.125rem .45rem;background:0 0;color:var(--color-accent);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:.7rem;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;user-select:none;white-space:nowrap;opacity:.65;flex-shrink:0}@media (max-width:768px){.header-inner{gap:.75rem}.navbar{gap:.75rem}.nav-links{gap:.85rem;font-size:.9rem}.post-list{width:auto}}@media (max-width:480px){.site-logo img{width:32px;height:32px}.header-inner{gap:.5rem}.nav-links{gap:.55rem;font-size:.78rem}}.list-left{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0}.list-badge-slot{width:2rem;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.list-title-group{display:flex;align-items:center;gap:.55rem;flex:1;min-width:0}.post-seal-link{display:flex;justify-content:center;text-decoration:none;margin-bottom:1.25rem}@keyframes inkStamp{0%{transform:scale(1.3) rotate(-5deg);opacity:0;filter:blur(4px)}40%{transform:scale(.95) rotate(1deg);opacity:.8;filter:blur(0px)}100%{transform:scale(1) rotate(0);opacity:.38;filter:blur(0px)}}.post-seal-wrap{opacity:.38;color:var(--color-highlight-mid,var(--color-highlight));line-height:0;position:relative;transition:opacity var(--transition-base),transform var(--transition-base) cubic-bezier(.34, 1.56, .64, 1)}.post-seal-link .post-seal-wrap{animation:inkStamp .6s cubic-bezier(.34,1.56,.64,1) forwards}.post-seal-link:hover .post-seal-wrap{opacity:.85;transform:scale(1.08) rotate(-4deg)}.post-seal-wrap .post-seal{width:80px;height:80px}.list-seal-link{display:inline-flex;align-items:center;text-decoration:none;color:var(--color-highlight-mid,var(--color-highlight));opacity:.38;flex-shrink:0;line-height:0;transition:opacity var(--transition-base),transform var(--transition-fast) cubic-bezier(.34, 1.56, .64, 1)}.list-seal-link:hover{opacity:.85;transform:scale(1.15) rotate(6deg)}.list-seal-link .post-seal{width:26px;height:26px}.section-seal{display:inline-flex;align-items:center;vertical-align:middle;margin-right:.5rem;opacity:.45;color:var(--color-highlight-mid,var(--color-highlight));line-height:0}.section-seal .post-seal{width:28px;height:28px}.page-seal-wrap{display:flex;justify-content:center;margin-bottom:var(--space-l);opacity:.4;color:var(--color-highlight-mid,var(--color-highlight));line-height:0;transition:opacity var(--transition-base),transform var(--transition-base) cubic-bezier(.34, 1.56, .64, 1)}.page-seal-wrap:hover{opacity:.75;transform:scale(1.05) rotate(2deg)}.page-seal-wrap .post-seal{width:96px;height:96px}#back-to-top{position:fixed;bottom:2rem;right:2rem;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border);border-radius:50%;width:3rem;height:3rem;font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--transition-base),opacity var(--transition-base),visibility var(--transition-base);display:flex;align-items:center;justify-content:center;z-index:var(--z-sticky);opacity:0;visibility:hidden;transform:translateY(20px)}#back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}#back-to-top:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);background:var(--color-highlight-subtle);border-color:var(--color-highlight)}@media (max-width:768px){#back-to-top{bottom:1rem;right:1rem;width:2.5rem;height:2.5rem;font-size:1.25rem}}.theme-toggle-btn{background:0 0;border:none;color:var(--color-text-subtle);cursor:pointer;padding:0;font-size:1.1rem;line-height:1;vertical-align:middle;transition:color var(--transition-base),transform var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.theme-toggle-btn:hover{color:var(--color-highlight);transform:rotate(15deg)}.theme-toggle-btn:active{transform:scale(.9)}.post-content img,article img{max-width:100%;height:auto;border-radius:var(--border-radius);display:block;border:1px solid var(--color-border)}figure.post-figure{margin:var(--space-m) 0;display:block}figure.post-figure img,figure.post-figure picture{display:block;width:100%;height:auto;border-radius:var(--border-radius);border:1px solid var(--color-border);cursor:zoom-in}figcaption{font-size:var(--text-sm);color:var(--color-text-subtle);font-family:var(--font-mono);margin-top:.6rem;text-align:center;font-style:italic;line-height:1.5}figure.post-figure.full-bleed{margin-inline:calc(-1 * var(--space-s));width:calc(100% + 2 * var(--space-s));border-radius:0}figure.post-figure.full-bleed img,figure.post-figure.full-bleed picture{border-radius:0;border-left:none;border-right:none}.lightbox-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;border:none;background:0 0;padding:0;margin:auto;display:flex;align-items:center;justify-content:center}.lightbox-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px) saturate(0.5)}.lightbox-inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:2rem}.lightbox-inner img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:var(--border-radius);border:none!important;cursor:zoom-out;box-shadow:var(--shadow-xl)}.lightbox-close{position:fixed;top:1.25rem;right:1.25rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1rem;cursor:pointer;padding:.4rem .7rem;border-radius:var(--border-radius-sm);opacity:.75;transition:opacity var(--transition-fast),background var(--transition-fast);z-index:1;line-height:1}.lightbox-close:hover{opacity:1;background:rgba(255,255,255,.2)}.fn-wrapper{position:relative;display:inline;cursor:default}.fn-ref{cursor:pointer;font-size:.85em;vertical-align:super;line-height:0;margin-left:.15em;color:var(--color-highlight);font-weight:600;transition:color var(--transition-base),transform var(--transition-bounce);display:inline-block;padding:.1em .2em;border-radius:2px}.fn-ref:hover{color:var(--color-highlight-hover);transform:scale(1.15);background:var(--color-highlight-subtle)}.fn-ref:active{transform:scale(1.05)}.fn-sidenote{float:right;clear:right;margin-right:var(--sidenote-offset);width:var(--sidenote-width);margin-top:.3rem;margin-bottom:0;font-size:var(--text-sm);line-height:1.5;vertical-align:baseline;position:relative;color:var(--color-sidenote)}.fn-number{color:var(--color-highlight);margin-right:.35em;font-size:.95em}@media (max-width:1100px){.fn-sidenote{display:none;float:none;margin:1rem 0;width:100%;padding:1rem 1.25rem;background:var(--color-surface);border-radius:var(--border-radius);border-left:3px solid var(--color-highlight);border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.fn-ref.active+.fn-sidenote,.fn-wrapper:hover .fn-sidenote{display:block}.fn-wrapper.active .fn-sidenote{display:block;animation:slideDown var(--transition-slow)}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}.marginal-note{float:right;clear:right;margin-right:var(--sidenote-offset);width:var(--sidenote-width);margin-top:.25rem;font-size:var(--text-sm);line-height:1.5;color:var(--color-accent);font-style:italic;opacity:.5;transition:opacity var(--transition-base)}.marginal-note:hover{opacity:1}@media (max-width:1100px){.marginal-note{float:none;display:block;width:100%;margin:.75rem 0;padding:.35rem .75rem;border-left:2px solid var(--color-border);opacity:.75;font-size:var(--text-sm)}}.toc{background:var(--color-surface);border-radius:var(--border-radius);padding:var(--space-s);margin:var(--space-m) 0;border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base);container-type:inline-size;container-name:toc}.toc:hover{box-shadow:var(--shadow-sm)}#toc-list{display:none}.toc.toc-collapsed{padding:.5rem .75rem}.toc-title{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;user-select:none;cursor:pointer;transition:color var(--transition-base);padding:.25rem;margin:-.25rem -.25rem .5rem;border-radius:var(--border-radius-sm)}.toc.toc-collapsed .toc-title{margin-bottom:-.25rem}.toc-title:hover{color:var(--color-primary);background:var(--color-highlight-subtle)}.toc-title:focus-visible{outline:2px solid var(--color-highlight);outline-offset:2px}.toc-toggle-icon{font-size:.75em;line-height:1;transition:transform var(--transition-base)}.toc-items{list-style:none;padding:0;margin:0}.toc-item{margin:0}.toc-h1{margin-top:.5rem}.toc-h2{padding-left:1rem;margin-top:.25rem}.toc-h3{margin-top:.5rem;font-weight:600}.toc-h4{padding-left:1.5rem;margin-top:.25rem;font-size:.85rem}.toc-link{display:block;padding:.45rem .65rem;color:var(--color-text);text-decoration:none;font-size:.9rem;border-radius:var(--border-radius-sm);transition:all var(--transition-base);position:relative}.toc-link::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--color-highlight);border-radius:0 2px 2px 0;transition:height var(--transition-bounce)}.toc-link:hover{background:var(--color-bg);color:var(--color-highlight);transform:translateX(2px)}.toc-link:hover::before{height:60%}.toc-link:active{transform:translateX(1px)}.toc-link.active{background:var(--color-bg);color:var(--color-highlight);font-weight:500;box-shadow:var(--shadow-xs)}.toc-link.active::before{height:80%}@container toc (max-width:500px){.toc{font-size:.9rem}.toc-h2{padding-left:.75rem}.toc-h4{padding-left:1rem}}@supports not (container-type:inline-size){@media (max-width:768px){.toc{font-size:.9rem}.toc-h2{padding-left:.75rem}.toc-h4{padding-left:1rem}}}.subtitle{color:var(--color-accent);font-size:1.1rem;margin-bottom:var(--space-l);max-width:60ch}.experiments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-m);margin-top:var(--space-l)}.experiment-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-m);transition:transform var(--transition-base),box-shadow var(--transition-base);display:flex;flex-direction:column}.experiment-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.experiment-card .icon{font-size:2rem;margin-bottom:var(--space-s)}.experiment-card h2{margin:0;font-size:1.25rem;color:var(--color-primary)}.experiment-card p{color:var(--color-text-subtle);font-size:.95rem;margin:0;line-height:1.5}.experiment-card a{color:var(--color-highlight);text-decoration:none;font-weight:500}.experiment-card a:hover{text-decoration:underline}.preset-buttons{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-top:var(--space-s)}.preset-btn{padding:var(--space-xs) var(--space-s);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;font-size:.8rem;font-weight:500;color:var(--color-primary);transition:all var(--transition-base)}.preset-btn:hover{background:var(--color-highlight-subtle);border-color:var(--color-highlight);color:var(--color-highlight);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.preset-btn.active{background:var(--color-highlight);color:var(--color-white);border-color:var(--color-highlight);font-weight:600}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);transition:background-color var(--transition-slow)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-bg);transition:transform var(--transition-slow)}input:checked+.slider{background-color:var(--color-highlight)}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.tarot-container{margin:var(--space-l) 0}.tarot-controls{text-align:center;margin-bottom:var(--space-m)}.tarot-btn{font-family:var(--font-base);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border);padding:var(--space-xs) var(--space-s);font-size:1rem;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base)}.tarot-btn:hover{background:var(--color-highlight-subtle);border-color:var(--color-highlight);color:var(--color-highlight);transform:translateY(-1px);box-shadow:var(--shadow-sm)}#tarot-table{display:flex;justify-content:center;gap:var(--space-m);perspective:1000px;margin-bottom:var(--space-l);flex-wrap:wrap;align-items:flex-start}.tarot-card-slot{width:200px;display:flex;flex-direction:column;gap:var(--space-xs);align-items:center}.tarot-card-wrapper{width:100%;height:300px;flex-shrink:0}.tarot-card-position{font-size:.75rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono);opacity:0;transition:opacity .5s ease}.tarot-card-slot.active .tarot-card-position{opacity:1}.tarot-card{width:100%;height:300px;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.34, 1.56, .64, 1);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:var(--border-radius)}.tarot-card:hover:not(.flipped){transform:translateY(-5px) rotate(2deg);box-shadow:var(--shadow-md)}.tarot-card.flipped{transform:rotateY(180deg);cursor:default;box-shadow:var(--shadow-md)}.tarot-card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-s);text-align:center}.tarot-card-front{transform:rotateY(180deg);background:var(--color-bg);justify-content:center;gap:var(--space-s)}.tarot-card-front::after{content:'';position:absolute;inset:8px;border:1px solid var(--color-border);border-radius:calc(var(--border-radius) - 4px);pointer-events:none}.tarot-title{font-family:unifraktur-maguntia,serif;font-size:1.1rem;line-height:1.2;color:var(--color-primary)}.tarot-title--major{display:flex;flex-direction:column;align-items:center;gap:.1em}.tarot-title-name{font-family:unifraktur-maguntia,serif;font-size:.75rem;color:var(--color-text-subtle);line-height:1}.tarot-title-number{font-family:ibm-plex-mono,monospace;font-size:1.6rem;font-weight:400;color:var(--color-primary);line-height:1;letter-spacing:-.02em}.tarot-art{font-family:var(--font-mono);font-size:.42rem;line-height:1.35;color:var(--color-accent);opacity:.8;margin:0;white-space:pre;user-select:none}.tarot-card-front .inverted-marker{font-size:.7rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.tarot-note{width:100%;font-size:.8rem;line-height:1.6;color:var(--color-text-subtle);font-style:italic;text-align:center;padding-top:var(--space-xs);border-top:1px solid var(--color-border);opacity:0;transform:translateY(6px);transition:opacity .5s ease .4s,transform .5s ease .4s}.tarot-note.visible{opacity:1;transform:translateY(0)}.tarot-note p{margin:0}.tarot-card-back{background-image:repeating-linear-gradient(45deg,var(--color-border-subtle) 0,var(--color-border-subtle) 2px,transparent 2px,transparent 8px)}.tarot-card-back .seal-mark{width:80px;height:80px;opacity:.4;color:var(--color-highlight)}.tarot-card.inverted .tarot-card-front .tarot-art,.tarot-card.inverted .tarot-card-front .tarot-title{transform:rotate(180deg)}@keyframes dealCard{0%{opacity:0;transform:translateY(-50px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}.tarot-card-slot.dealing .tarot-card{animation:dealCard .5s cubic-bezier(.34,1.56,.64,1) forwards}.fragment-shuffle-controls{background:var(--color-highlight-subtle);background:color-mix(in srgb,var(--color-highlight) 10%,var(--color-surface));border:2px solid var(--color-highlight);border-radius:var(--border-radius);padding:var(--space-m);margin-bottom:var(--space-l);display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-start;animation:fadeIn .3s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.shuffle-btn{background:var(--color-highlight);color:#fff;border:none;padding:.75em 1.5em;border-radius:calc(var(--border-radius)/ 2);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5em;transition:all var(--transition-base);box-shadow:0 2px 4px #0000001a}.shuffle-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;background:var(--color-highlight-hover);background:color-mix(in srgb,var(--color-highlight) 90%,#000)}.shuffle-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.shuffle-btn .icon{font-size:1.2em;line-height:1}.shuffle-hint{font-size:.85rem;color:var(--color-text-subtle);font-style:italic}.fragment-separator{margin:var(--space-l) 0;border:none;border-top:2px dashed var(--color-border);opacity:.5}.fragments-shuffled .fragment-separator{opacity:1;border-color:var(--color-highlight);animation:pulse-border 2s ease-in-out infinite}@keyframes pulse-border{0%,100%{opacity:.5}50%{opacity:1}}.shuffle-indicator{background:var(--color-highlight-subtle);background:color-mix(in srgb,var(--color-highlight) 15%,var(--color-surface));border:1px solid var(--color-highlight);border-radius:var(--border-radius);padding:var(--space-m);margin-bottom:var(--space-m);display:flex;flex-direction:column;gap:var(--space-s);animation:slideIn .3s ease-out}@keyframes slideIn{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.shuffle-status{font-weight:600;color:var(--color-primary);display:flex;align-items:center;gap:.5em}.shuffle-actions{display:flex;gap:var(--space-s);flex-wrap:wrap}.shuffle-indicator button{background:var(--color-highlight);color:#fff;border:none;padding:.5em 1em;border-radius:calc(var(--border-radius)/ 2);cursor:pointer;font-size:.9rem;font-weight:500;transition:all var(--transition-base)}.shuffle-indicator button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.shuffle-indicator button.restore-order{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.shuffle-indicator button.restore-order:hover{border-color:var(--color-highlight)}@media (max-width:600px){.fragment-shuffle-controls{align-items:stretch}.shuffle-btn{width:100%;justify-content:center}.shuffle-actions{flex-direction:column}.shuffle-indicator button{width:100%}}.post-header{margin-bottom:2rem}.post-seal-link{display:flex;justify-content:center;text-decoration:none;margin-bottom:1.25rem}.post-seal-wrap{opacity:.38;color:var(--color-highlight-mid,var(--color-highlight));line-height:0;transition:opacity var(--transition-base),transform var(--transition-base);will-change:opacity,transform}.post-seal-link:hover .post-seal-wrap{opacity:.75;transform:scale(1.06)}.post-seal-wrap .post-seal{width:80px;height:80px}.post-seal-wrap{position:relative}.post-seal-wrap::after{content:'';position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(ellipse at center,var(--mood-color,transparent) 0,transparent 70%);pointer-events:none;z-index:-1;opacity:.6}.archived-content{opacity:.85}.archived-content h1,.archived-content h2,.archived-content h3,.archived-content h4,.archived-content h5,.archived-content h6{opacity:.9}.blurb{margin:0 0 var(--space-l) 0;font-size:.9rem;line-height:1.7;color:var(--color-text-subtle);font-style:italic;max-width:52ch}.blurb p{margin-bottom:.4rem}.blurb p:last-child{margin-bottom:0}.archive-inline-tag{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);padding:.1rem .45rem;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);opacity:.65;font-style:normal}.post-meta{margin-bottom:var(--space-m)}.meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem;color:var(--color-accent);line-height:1.6}.meta-row+.meta-row{margin-top:.5rem}.post-date,.post-weather,.reading-time{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:.875rem;font-variant-numeric:tabular-nums}.meta-separator{color:var(--color-border);user-select:none;font-weight:300}.lang-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;background:var(--color-surface);color:var(--color-text-subtle);border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.025em;border:1px solid var(--color-border);transition:background var(--transition-base),border-color var(--transition-base)}.tags-row{padding-top:.25rem}@media (max-width:480px){.meta-row{font-size:.85rem}.post-date,.reading-time{font-size:.8125rem}.lang-tag{font-size:.7rem;padding:.1rem .4rem}.tag{font-size:.75rem;padding:.2rem .55rem}}.recent-posts{font-size:.9em;margin-top:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--color-border)}.recent-posts h3{font-size:1.1em;margin-bottom:1rem;color:var(--color-primary)}.recent-posts ul{padding-left:0;list-style:none;margin:0}.recent-posts li{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid transparent}.recent-posts .list-title-group{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.recent-posts a.list-seal-link{flex:none}.recent-posts li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.recent-posts a{flex:1;text-align:left;color:var(--color-primary);text-decoration:none;transition:color .2s ease}.recent-posts a:hover{color:var(--color-highlight)}.recent-posts .date{text-align:right;white-space:nowrap;flex-shrink:0;color:var(--color-accent);font-size:.9em}.play-header{margin-bottom:2rem}.play-date{color:var(--color-accent);font-size:.9em}.play-title{text-align:center;margin-bottom:.5rem;width:100%;max-width:none}.play-subtitle{text-align:center;font-style:italic;margin-bottom:2rem}.blurb.archive-notice{margin:0 0 var(--space-m) 0;padding:var(--space-s) var(--space-s) var(--space-s) var(--space-m);border-left:3px solid var(--color-accent);background:var(--color-border-subtle);font-size:.95rem;line-height:1.6;color:var(--color-accent);font-style:italic;max-width:none}.blurb.archive-notice p{margin-bottom:.5rem}.blurb.archive-notice p:last-child{margin-bottom:0}.scene{margin-top:2rem;font-weight:700;text-transform:uppercase}.character{margin-top:1rem;display:grid;grid-template-columns:100px 1fr;gap:1rem}.character .name{text-align:right;font-weight:700;text-transform:uppercase}.character .dialogue p{margin-bottom:.25rem}.character .dialogue p:last-child{margin-bottom:0}.character .dialogue .parenthetical,.parenthetical{font-style:italic;font-size:.9em;color:var(--color-accent)}.transition{text-align:right;text-transform:uppercase;margin:1.5rem 0}.centered{text-align:center}.separator-text{text-align:center;font-weight:700;margin:1.5rem 0}.action{margin:.75rem 0;font-style:italic}.meta{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap}.tags{display:inline-flex;gap:.5rem}.tag{font-size:.8em;color:var(--color-highlight);text-decoration:none;transition:color .2s ease}.tag:hover{color:var(--color-highlight-hover);text-decoration:underline}.recent-posts li{align-items:baseline}.text-center{text-align:center}.hidden{display:none}.interactive-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.interactive-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.interactive-lift:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.interactive-scale{transition:transform var(--transition-bounce)}.interactive-scale:hover{transform:scale(1.05)}.interactive-scale:active{transform:scale(.98)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-highlight);color:var(--color-bg);padding:.75rem 1.5rem;text-decoration:none;font-weight:600;border-radius:0 0 var(--border-radius-sm) 0;transition:top var(--transition-base);z-index:10000}.skip-link:focus{top:0}.focus-ring:focus-visible{outline:2px solid var(--color-highlight);outline-offset:3px;border-radius:var(--border-radius-sm);background:var(--color-highlight-focus)}.theme-retro{--font-base:'ibm-plex-mono',monospace;--font-header:'unifraktur-maguntia',cursive;--font-title:'unifraktur-maguntia',cursive}.spin-logo{animation:spin 1s ease-in-out}@keyframes spin{0%{transform:rotate(0) scale(1.05)}100%{transform:rotate(360deg) scale(1.05)}}.font-comic{--font-base:'Comic Sans MS','Comic Sans',cursive!important;--font-header:'Comic Sans MS','Comic Sans',cursive!important;--font-title:'Comic Sans MS','Comic Sans',cursive!important;--font-mono:'Comic Sans MS','Comic Sans',cursive!important}.font-times{--font-base:'Times New Roman',Times,serif!important;--font-header:'Times New Roman',Times,serif!important;--font-title:'Times New Roman',Times,serif!important;--font-mono:'Times New Roman',Times,serif!important}.font-arial{--font-base:Arial,Helvetica,sans-serif!important;--font-header:Arial,Helvetica,sans-serif!important;--font-title:Arial,Helvetica,sans-serif!important;--font-mono:Arial,Helvetica,sans-serif!important}.ghost-emoji{position:fixed;bottom:-50px;left:50%;font-size:3rem;pointer-events:none;z-index:var(--z-toast);animation:floatUp 3s ease-in-out forwards;filter:drop-shadow(0 4px 8px #00000033);will-change:transform,opacity}@keyframes floatUp{0%{transform:translateX(-50%) translateY(0) rotate(0) scale(.8);opacity:0}10%{opacity:1;transform:translateX(-50%) translateY(-10vh) rotate(36deg) scale(1)}50%{transform:translateX(-50%) translateY(-50vh) rotate(180deg) scale(1.1)}100%{transform:translateX(-50%) translateY(-100vh) rotate(360deg) scale(.9);opacity:0}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp var(--transition-slow) ease-out}@media print{*,::after,::before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.5}a,a:visited{text-decoration:underline}a[href]::after{content:" (" attr(href) ")"}a[href^="#"]::after,a[href^="javascript:"]::after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.footer-divider,.ghost-emoji,.search-trigger,.site-header,.skip-link,footer{display:none!important}}@view-transition{navigation:auto}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{from{opacity:0;transform:translateY(6px)}}::view-transition-old(root){animation:180ms ease-in both vt-out}::view-transition-new(root){animation:240ms ease-out both vt-in}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation:none}}
