:root{--font-serif:ui-serif,Georgia,"Times New Roman",serif;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--color-ink:#2c2420;--color-ink-light:#e8e0d5;--color-active:#64b5f6;--color-surface-light:#f5f5f0;--color-surface-dark:#000;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--stroke-thin:1px;--stroke-normal:1.5px;--stroke-thick:2px}*{box-sizing:border-box;padding:0;margin:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:#f5f5f0;color:var(--color-ink);line-height:1.6;overflow-x:hidden}.heading-serif,h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em;line-height:1.2}h1{font-size:2.5rem;font-weight:300}h2{font-size:1.75rem}h2,h3{font-weight:400}h3{font-size:1.25rem}[data-theme=dark],body.dark-mode{background-color:var(--color-surface-dark);color:var(--color-ink-light)}:focus-visible{outline:var(--stroke-thin) solid var(--color-ink);outline-offset:2px}[data-theme=dark] :focus-visible{outline-color:var(--color-ink-light)}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-ink);color:var(--color-surface-light);padding:8px 16px;z-index:100;text-decoration:none;font-family:var(--font-sans);font-size:14px}.skip-link:focus{top:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}canvas{animation:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(44,36,32,.15)}::-webkit-scrollbar-thumb:hover{background:rgba(44,36,32,.25)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:hsla(35,29%,87%,.15)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:hsla(35,29%,87%,.25)}@media (hover:none) and (pointer:coarse){*{-webkit-tap-highlight-color:transparent}[role=button],button,input,select,textarea{min-height:44px;min-width:44px}}canvas{display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}::selection{background:rgba(44,36,32,.1);color:inherit}[data-theme=dark] ::selection{background:hsla(35,29%,87%,.1)}@media print{body{background:#fff;color:#000}canvas{-webkit-print-color-adjust:exact;print-color-adjust:exact}}button{background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;padding:0;margin:0}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit;text-decoration:none}ol,ul{list-style:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:var(--stroke-thin) solid rgba(44,36,32,.1)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{border-color:hsla(35,29%,87%,.1)}.safe-area-top{padding-top:env(safe-area-inset-top,0)!important}.safe-area-top-margin{margin-top:env(safe-area-inset-top,0)!important}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0)!important}.safe-area-top-extra{padding-top:calc(env(safe-area-inset-top, 0px) + 20px)!important}.safe-area-fixed-top{top:calc(env(safe-area-inset-top, 0px) + 24px)!important}