.bobbychat__launch{align-items:center;gap:var(--space-1);cursor:pointer;display:inline-flex}.bobbychat__spark{flex-shrink:0}.bobbychat__launch--disabled{cursor:default;color:var(--color-text);border-style:dashed;border-color:var(--color-border-strong);background:0 0}.bobbychat__launch--disabled:hover{border-color:var(--color-border-strong);color:var(--color-text);background:0 0}.bobbychat__launch--disabled .bobbychat__badge{pointer-events:none;color:inherit}.bobbychat__dialog{border:var(--border-hairline);border-radius:var(--radius-lg);background:var(--color-surface);width:min(440px,100vw - 2rem);max-width:440px;color:var(--color-text);box-shadow:var(--shadow-lg);padding:0;overflow:hidden}.bobbychat__dialog::backdrop{background:color-mix(in oklab, var(--forest-black) 32%, transparent)}.bobbychat__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:var(--border-hairline);display:flex}.bobbychat__title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text);display:block}.bobbychat__sub{font-family:var(--font-label);font-style:italic;font-size:var(--text-sm);color:var(--color-text-muted);display:block}.bobbychat__close{color:var(--color-text-muted);cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;font-size:1.5rem;line-height:1}.bobbychat__close:hover{color:var(--color-text)}.bobbychat__log{gap:var(--space-3);padding:var(--space-5);flex-direction:column;max-height:min(50vh,420px);display:flex;overflow-y:auto}.bobbychat__msg{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);white-space:pre-wrap;word-wrap:break-word;line-height:1.5}.bobbychat__msg--bot{background:var(--color-surface-sunk);border:var(--border-hairline);align-self:flex-start}.bobbychat__msg--user{background:var(--color-surface-accent);color:var(--color-text-on-wash);align-self:flex-end}.bobbychat__starters{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.bobbychat__chip{font-family:var(--font-body);font-size:var(--text-sm);text-align:left;padding:var(--space-2) var(--space-3);border:var(--border-hairline);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;line-height:1.3;transition:color .16s ease-out,border-color .16s ease-out,background .16s ease-out}.bobbychat__chip:hover{color:var(--color-text-on-wash);border-color:var(--color-accent);background:var(--color-surface-accent)}.bobbychat__chip:focus-visible{box-shadow:0 0 0 3px var(--color-focus);outline:none}.bobbychat__msg.is-streaming:empty:after{content:"•••";letter-spacing:2px;color:var(--color-text-muted);animation:1.4s ease-in-out infinite bobbychat-typing}@keyframes bobbychat-typing{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.bobbychat__msg.is-streaming:empty:after{animation:none}}.bobbychat__form{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--border-hairline);background:var(--color-bg);display:flex}.bobbychat__input{min-width:0;font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-2) var(--space-3);border:var(--border-hairline);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);flex:1}.bobbychat__input:focus-visible{box-shadow:0 0 0 3px var(--color-focus);outline:none}.site-header[data-astro-cid-nen7h5rs]{z-index:10;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header__inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);flex-wrap:wrap;display:flex}.site-header__mark[data-astro-cid-nen7h5rs]{font-family:var(--font-serif);font-size:1.375rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text);text-decoration:none}.site-header__nav[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.site-header__link[data-astro-cid-nen7h5rs]{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-bottom:2px solid #0000;padding:4px 0;text-decoration:none}.site-header__link[data-astro-cid-nen7h5rs]:hover{color:var(--color-accent)}.site-header__link[data-astro-cid-nen7h5rs].is-active{color:var(--color-accent);font-weight:var(--weight-semibold);border-bottom-color:var(--color-accent)}.site-header__nav[data-astro-cid-nen7h5rs] .bobbychat{display:contents}.theme-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.theme-toggle__track[data-astro-cid-nen7h5rs]{background:var(--color-surface-sunk);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);width:46px;height:24px;transition:background var(--dur-base) var(--ease-out), border-color var(--dur-fast) var(--ease-out);display:block;position:relative}.theme-toggle[data-astro-cid-nen7h5rs]:hover .theme-toggle__track[data-astro-cid-nen7h5rs]{border-color:var(--color-accent)}.theme-toggle__knob[data-astro-cid-nen7h5rs]{background:var(--color-bg);width:18px;height:18px;box-shadow:var(--shadow-sm);color:var(--color-text-muted);transition:transform var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;left:2px}:root[data-theme=dark] .theme-toggle__knob[data-astro-cid-nen7h5rs]{color:var(--color-accent);transform:translate(22px)}.theme-toggle__icon--moon[data-astro-cid-nen7h5rs],:root[data-theme=dark] .theme-toggle__icon--sun[data-astro-cid-nen7h5rs]{display:none}:root[data-theme=dark] .theme-toggle__icon--moon[data-astro-cid-nen7h5rs]{display:block}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-border);margin-top:var(--space-8)}.site-footer__inner[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:flex-end;gap:var(--space-6);padding-block:var(--space-7) var(--space-8);flex-wrap:wrap;display:flex}.site-footer__brand[data-astro-cid-jo6i4kqk]{max-width:320px}.site-footer__mark[data-astro-cid-jo6i4kqk]{font-family:var(--font-serif);font-size:1.25rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.site-footer__brand[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-2) 0 0}.site-footer__copy[data-astro-cid-jo6i4kqk]{margin-top:var(--space-4)!important}.site-footer__links[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.site-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--color-text);text-decoration:none}.site-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-accent)}.site-footer__sep[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted)}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/newsreader-italic-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/newsreader-italic-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/newsreader-italic-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/newsreader-italic-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/newsreader-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/newsreader-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/newsreader-normal-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/newsreader-normal-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/newsreader-normal-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/newsreader-normal-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-normal-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-normal-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-normal-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-normal-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-normal-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-normal-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-normal-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-normal-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--oat:#e9e8e2;--forest-black:#23291f;--stone:#5e655a;--forest:#2e5e43;--forest-deep:#234a34;--sage-wash:#e4ebdf;--hairline:#d6d2c4;--white:#fff;--oat-raised:#f3f1ea;--oat-sunk:#dedcd3;--color-bg:var(--oat);--color-surface:var(--oat-raised);--color-surface-sunk:var(--oat-sunk);--color-surface-accent:var(--sage-wash);--color-text:var(--forest-black);--color-text-muted:var(--stone);--color-text-on-accent:var(--white);--color-text-on-wash:var(--forest-deep);--color-accent:var(--forest);--color-accent-deep:var(--forest-deep);--color-border:var(--hairline);--color-border-strong:color-mix(in oklab, var(--hairline) 70%, var(--forest-black));--color-focus:color-mix(in oklab, var(--forest) 55%, transparent);--font-serif:"Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display:var(--font-serif);--font-heading:var(--font-serif);--font-body:var(--font-sans);--font-label:var(--font-serif);--font-code:var(--font-mono);--text-xs:.75rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.1875rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--text-4xl:3.75rem;--text-5xl:5rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.08;--leading-snug:1.2;--leading-normal:1.4;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-normal:0;--tracking-wide:.08em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--measure:68ch;--measure-narrow:54ch;--container:1120px;--container-narrow:720px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--border-hairline:1px solid var(--color-border);--border-strong:1px solid var(--color-border-strong);--shadow-none:none;--shadow-sm:0 1px 2px color-mix(in oklab, var(--forest-black) 8%, transparent);--shadow-md:0 4px 16px color-mix(in oklab, var(--forest-black) 10%, transparent);--shadow-lg:0 12px 36px color-mix(in oklab, var(--forest-black) 14%, transparent);--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s}:root[data-theme=dark]{color-scheme:dark;--color-bg:#181c15;--color-surface:#20261c;--color-surface-sunk:#12150f;--color-surface-accent:#22301f;--color-text:#e9e8e2;--color-text-muted:#a3a898;--color-text-on-accent:#16190f;--color-text-on-wash:#bcd6c4;--color-accent:#6cae86;--color-accent-deep:#86c49e;--color-border:#333a2c;--color-border-strong:#4b5341;--color-focus:oklab(69.5261% -.0826696 .0359069/.55);--sage-wash:#22301f}*,:before,:after{box-sizing:border-box}html{color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);margin:0 0 var(--space-3);text-wrap:balance}h1{font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{margin:0 0 var(--space-4);max-width:var(--measure);text-wrap:pretty}a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline 1px;text-decoration-color:color-mix(in oklab, var(--color-accent) 40%, transparent);transition:color var(--dur-fast) var(--ease-out), text-decoration-color var(--dur-fast) var(--ease-out)}a:hover{color:var(--color-accent-deep);text-decoration-color:currentColor}a:focus-visible,button:focus-visible{border-radius:var(--radius-sm);box-shadow:0 0 0 3px var(--color-focus);outline:none}code,pre,kbd,samp{font-family:var(--font-code);font-size:.9em}code{background:var(--color-surface-sunk);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1em .35em}pre{background:var(--color-surface-sunk);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);overflow:auto}pre code{background:0 0;border:none;padding:0}hr{border:none;border-top:var(--border-hairline);margin:var(--space-6) 0}::selection{background:var(--sage-wash);color:var(--color-accent-deep)}.wrapper{max-width:var(--container);padding:0 var(--space-6);margin:0 auto}.eyebrow{font-family:var(--font-label);font-style:italic;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);color:var(--color-accent);display:inline-block}.button{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;padding:10px 20px;line-height:1;text-decoration:none;display:inline-flex}.button:hover{text-decoration:none}.button:active{transform:translateY(1px)}.button--sm{font-size:var(--text-sm);padding:7px 14px}.button--primary{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.button--primary:hover{background:var(--color-accent-deep);border-color:var(--color-accent-deep);color:var(--color-text-on-accent)}.button--secondary{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.button--secondary:hover{background:var(--color-surface-accent);border-color:var(--color-accent);color:var(--color-text)}.button--ghost{color:var(--color-accent);background:0 0}.button--ghost:hover{background:var(--color-surface-accent)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);color:var(--color-text);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);text-decoration:none;display:block}.card--wash{background:var(--color-surface-accent)}.card--interactive:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tag-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{align-items:center;gap:var(--space-1);font-family:var(--font-label);font-style:italic;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);border-radius:var(--radius-pill);white-space:nowrap;background:var(--color-surface-accent);color:var(--color-text-on-wash);border:1px solid #0000;padding:5px 11px;line-height:1;display:inline-flex}.tag--outline{color:var(--color-text-muted);border-color:var(--color-border);background:0 0}.tag--solid{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}.badge{align-items:center;gap:var(--space-2);font-family:var(--font-label);font-style:italic;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);color:var(--color-accent-deep);display:inline-flex}.badge__dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;display:inline-block}.avatar-placeholder{background:var(--color-surface-accent);color:var(--color-accent-deep);border:1px solid var(--color-border);font-family:var(--font-heading);font-weight:var(--weight-semibold);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (prefers-reduced-motion:no-preference){.js-reveal [data-reveal]{opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transform:translateY(16px)}.js-reveal [data-reveal].is-revealed{opacity:1;transform:none}}.skip-link{background:var(--color-accent);color:var(--white);padding:var(--space-2) var(--space-3);z-index:100;border-radius:0 0 var(--radius-md) 0;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}
