.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;background:var(--color-background);color:var(--color-text-primary);color-scheme:light}body{min-height:100vh;position:relative;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-background);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background:linear-gradient(180deg,color-mix(in srgb,white 24%,transparent),transparent 30%,color-mix(in srgb,var(--color-accent) 2%,transparent)),radial-gradient(circle at 18% 12%,color-mix(in srgb,white 26%,transparent),transparent 30%),radial-gradient(circle at 82% 22%,color-mix(in srgb,var(--color-accent) 2%,transparent),transparent 22%);pointer-events:none;z-index:0;opacity:.72}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}::selection{background:color-mix(in srgb,var(--color-accent) 18%,white);color:var(--color-text-primary)}ul,ol{list-style:none}:root{--color-dark: #1d1712;--color-dark-subtle: #31271f;--color-light: #faf6ee;--color-light-muted: #efe5d5;--color-background: #f5edde;--color-background-rgb: 245, 237, 222;--color-background-subtle: #eee3d1;--color-text-primary: #1d1712;--color-text-secondary: #473d34;--color-text-muted: #766a5f;--color-text-inverted: #faf6ee;--color-accent: #934a2b;--color-accent-hover: #75371c;--color-brand-strong: #234d65;--color-brand-strong-hover: #16384b;--color-border: color-mix(in srgb, var(--color-text-muted) 12%, var(--color-background));--color-border-subtle: color-mix(in srgb, var(--color-text-muted) 6%, var(--color-background));--color-surface-tint-strong: color-mix(in srgb, white 34%, var(--color-background-subtle));--color-surface-tint-soft: color-mix(in srgb, white 72%, var(--color-background));--color-surface-panel: color-mix(in srgb, white 50%, var(--color-background));--color-surface-panel-strong: color-mix(in srgb, white 66%, var(--color-background));--color-surface-panel-accent: color-mix(in srgb, var(--color-accent) 4%, white 70%);--color-accent-tint-strong: color-mix(in srgb, var(--color-accent) 20%, transparent);--color-accent-tint-soft: color-mix(in srgb, var(--color-accent) 10%, transparent);--color-accent-tint-faint: color-mix(in srgb, var(--color-accent) 5%, transparent);--color-accent-border-soft: color-mix(in srgb, var(--color-accent) 28%, transparent);--color-brand-strong-tint-strong: color-mix(in srgb, var(--color-brand-strong) 16%, transparent);--color-brand-strong-tint-soft: color-mix(in srgb, var(--color-brand-strong) 10%, transparent);--color-brand-strong-border-soft: color-mix(in srgb, var(--color-brand-strong) 34%, transparent);--color-overlay-strong: color-mix(in srgb, var(--color-dark) 18%, transparent);--color-overlay-soft: color-mix(in srgb, var(--color-dark) 10%, transparent);--color-backdrop-veil: color-mix(in srgb, white 74%, transparent);--color-elevated-border: color-mix(in srgb, var(--color-dark) 10%, transparent);--shadow-panel: 0 18px 48px color-mix(in srgb, var(--color-dark) 10%, transparent);--shadow-panel-soft: 0 12px 36px color-mix(in srgb, var(--color-dark) 7%, transparent);--shadow-modal: 0 28px 64px color-mix(in srgb, var(--color-dark) 18%, transparent);--shadow-accent-soft: 0 0 0 color-mix(in srgb, var(--color-accent) 18%, transparent);--shadow-accent-medium: 0 0 0 color-mix(in srgb, var(--color-accent) 28%, transparent);--shadow-brand-strong-soft: 0 0 0 color-mix(in srgb, var(--color-brand-strong) 20%, transparent);--shadow-accent-offset-sm: 0 0 0 color-mix(in srgb, var(--color-accent) 20%, transparent);--shadow-accent-offset-md: 0 0 0 color-mix(in srgb, var(--color-accent) 24%, transparent);--font-heading: "Cormorant Garamond", serif;--font-body: "Literata", Georgia, serif;--font-ui: "IBM Plex Mono", "SF Mono", "Fira Code", Consolas, monospace;--font-accent: var(--font-ui);--text-xs: .76rem;--text-sm: .92rem;--text-base: 1.05rem;--text-lg: 1.18rem;--text-xl: 1.32rem;--text-2xl: 1.55rem;--text-3xl: 1.95rem;--text-4xl: 2.5rem;--text-5xl: 3.35rem;--text-6xl: 4.1rem;--text-7xl: 5.2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.08;--leading-snug: 1.22;--leading-normal: 1.8;--leading-relaxed: 1.92;--tracking-tighter: -.045em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em;--tracking-widest: .14em;--space-0: 0;--space-1: .2rem;--space-2: .4rem;--space-3: .7rem;--space-4: .95rem;--space-5: 1.2rem;--space-6: 1.45rem;--space-8: 1.95rem;--space-10: 2.4rem;--space-12: 2.95rem;--space-14: 3.45rem;--space-16: 3.95rem;--space-20: 5rem;--space-24: 6.25rem;--space-32: 8rem;--radius-none: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-2xl: 0;--radius-full: 9999px;--border-thin: 1px;--border-medium: 2px;--border-thick: 3px;--duration-fast: .16s;--duration-normal: .24s;--duration-slow: .36s;--duration-slower: .52s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--layout-shell-max: 1280px;--layout-shell-gutter: clamp(var(--space-4), 3.6vw, var(--space-8));--layout-content-max: 1120px;--layout-reading-max: 760px;--layout-panel-max: 700px;--layout-feature-max: 52rem;--layout-dialog-max: 860px;--layout-showcase-max: 880px;--layout-console-max: 560px;--layout-mobile-pill-max: 360px;--measure-summary: 50ch;--measure-prose: 66ch;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: var(--layout-content-max);--container-2xl: var(--layout-shell-max);--container-padding: clamp(var(--space-4), 3vw, var(--space-8))}html[data-palette=moss-gold],body[data-palette=moss-gold]{--color-background: #f5edde;--color-background-subtle: #eee3d1;--color-text-primary: #1d1712;--color-text-secondary: #473d34;--color-text-muted: #766a5f;--color-accent: #8d6b20;--color-accent-hover: #6e5318;--color-border: #bfaf8f;--color-border-subtle: #dacebc}html[data-palette=cobalt-ice],body[data-palette=cobalt-ice]{--color-background: #edf3f7;--color-background-subtle: #e4ebf0;--color-text-primary: #172434;--color-text-secondary: #40576d;--color-text-muted: #66798b;--color-accent: #2a6684;--color-accent-hover: #1d4c65;--color-border: #b8c8d4;--color-border-subtle: #d4e0e8}html[data-palette=obsidian-mint],body[data-palette=obsidian-mint]{--color-background: #efeee8;--color-background-subtle: #e6e4dc;--color-text-primary: #161614;--color-text-secondary: #383834;--color-text-muted: #6b6b64;--color-accent: #2f6e62;--color-accent-hover: #235449;--color-border: #b8b7ad;--color-border-subtle: #d6d4cb}html[data-palette=ember-copper],body[data-palette=ember-copper]{--color-background: #f6ebdf;--color-background-subtle: #eedfcc;--color-text-primary: #211510;--color-text-secondary: #543a2f;--color-text-muted: #7a6155;--color-accent: #a04b28;--color-accent-hover: #7d3517;--color-border: #c7aa97;--color-border-subtle: #dfcabd}html.theme-blueprint,body.theme-blueprint{--color-background: #f0f6fb;--color-background-subtle: #e2edf7;--color-text-primary: #0f2b45;--color-text-secondary: #33506a;--color-text-muted: #5d7388;--color-accent: #c58c18;--color-accent-hover: #976b12;--color-border: #acc4d8;--color-border-subtle: #d0dfeb}::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:ease-in-out;animation-fill-mode:both;mix-blend-mode:normal;background-color:var(--color-background)}::view-transition-old(root){animation-name:page-fade-out}::view-transition-new(root){animation-name:page-fade-in}@keyframes page-fade-out{0%{opacity:1}to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.page-scroll-shell{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;height:100vh;scroll-padding-top:84px;scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));padding-inline:max(var(--layout-shell-gutter),calc((100vw - var(--layout-shell-max)) / 2));z-index:1}.content-wrapper{position:relative;width:100%;max-width:var(--layout-shell-max);min-height:100vh;margin-inline:auto;padding-bottom:var(--space-12)}.content-panel{width:100%;background:transparent}.content-panel.panel-transparent{background:transparent}.transparent-separation{width:100%;height:var(--space-12)}.container{width:100%;max-width:var(--container-xl);margin-inline:auto;padding-inline:var(--container-padding);position:relative}.level-divider{width:100vw;height:1px;background:var(--color-border-subtle);position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;opacity:.6}.text-statement{font-family:var(--font-body);text-transform:none;color:color-mix(in srgb,var(--color-text-primary) 90%,var(--color-background));letter-spacing:.01em;line-height:var(--leading-relaxed);font-weight:var(--font-medium)}h1,h2,h3,h4,h5,h6,.heading-1,.heading-2,.heading-3,.heading-4,.heading-5,.heading-6{font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1,.heading-1{font-size:var(--text-5xl);letter-spacing:var(--tracking-tighter)}h2,.heading-2{font-size:var(--text-4xl);letter-spacing:var(--tracking-tight)}h3,.heading-3{font-size:var(--text-3xl)}h4,.heading-4{font-size:var(--text-2xl)}h5,.heading-5{font-size:var(--text-xl)}h6,.heading-6{font-size:var(--text-lg)}.subtitle-1{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--font-normal);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.subtitle-2{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-secondary)}.body-1{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal)}.body-2{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:1.75}.caption{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--font-normal);line-height:1.65;color:var(--color-text-muted)}.overline{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:1.5;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted)}.button-text{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide)}.link{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-default)}.link:hover{color:var(--color-accent-hover)}:focus-visible{outline:var(--border-medium) solid var(--color-accent);outline-offset:2px}::selection{background-color:var(--color-accent);color:var(--color-text-inverted)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.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}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}@media(max-width:768px){:root{--text-5xl: 2.7rem;--text-6xl: 3.2rem;--text-7xl: 3.85rem;--layout-shell-gutter: 0px;--container-padding: var(--space-5)}.page-scroll-shell{scroll-padding-top:64px;scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.transparent-separation{height:var(--space-8)}}@media(max-width:480px){:root{--text-4xl: 2.1rem;--text-5xl: 2.35rem;--text-6xl: 2.7rem;--text-7xl: 3rem;--container-padding: var(--space-4)}.page-scroll-shell{scroll-padding-top:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
