@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--brand-h: 45;--brand-c: .14;--color-bg: oklch(.99 .002 var(--brand-h));--color-bg-subtle: oklch(.96 .004 var(--brand-h));--color-surface: oklch(1 0 0);--color-surface-raised: oklch(1 0 0);--color-border: oklch(.9 .004 var(--brand-h));--color-border-strong: oklch(.8 .008 var(--brand-h));--color-text: oklch(.12 .005 var(--brand-h));--color-text-muted: oklch(.5 .01 var(--brand-h));--color-text-subtle: oklch(.65 .008 var(--brand-h));--color-accent: oklch(.5 var(--brand-c) var(--brand-h));--color-accent-hover: oklch(.44 var(--brand-c) var(--brand-h));--color-accent-subtle: oklch(.95 .02 var(--brand-h));--color-accent-text: oklch(.55 var(--brand-c) var(--brand-h));--color-success: oklch(.55 .18 145);--color-warning: oklch(.7 .16 85);--color-error: oklch(.59 .23 7);--shadow-1: 0 1px 3px oklch(0 0 0 / .08);--shadow-2: 0 2px 6px oklch(0 0 0 / .08), 0 1px 2px oklch(0 0 0 / .06);--shadow-3: 0 4px 12px oklch(0 0 0 / .1), 0 2px 4px oklch(0 0 0 / .06);--shadow-4: 0 8px 24px oklch(0 0 0 / .12), 0 4px 8px oklch(0 0 0 / .08);--shadow-modal: 0 16px 48px oklch(0 0 0 / .16), 0 8px 16px oklch(0 0 0 / .08);--focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--ease-respond: cubic-bezier(0, 0, .2, 1);--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--ease-announce: cubic-bezier(.34, 1.56, .64, 1);--ease-snap: cubic-bezier(.12, 0, .08, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .4s;--dur-dramatic: .6s;--font-display: 88px;--font-h1: 50px;--font-h2: 37px;--font-h3: 28px;--font-body: 16px;--font-small: 14px;--font-caption: 12px;--leading-tight: 1.15;--leading-snug: 1.35;--leading-body: 1.65;--tracking-display: -.04em;--tracking-h1: -.03em;--tracking-h2: -.02em;--tracking-h3: -.01em;--tracking-body: 0;--tracking-caption: .02em;--radius: 12px;--background: 40 25% 97%;--foreground: 30 30% 10%;--card: 0 0% 100%;--card-foreground: 30 30% 10%;--popover: 0 0% 100%;--popover-foreground: 30 30% 10%;--primary: 38 70% 35%;--primary-foreground: 40 30% 98%;--secondary: 35 15% 93%;--secondary-foreground: 30 30% 10%;--muted: 35 15% 93%;--muted-foreground: 30 10% 46%;--accent: 35 15% 93%;--accent-foreground: 30 30% 10%;--destructive: 0 84% 60%;--destructive-foreground: 40 30% 98%;--border: 35 18% 88%;--input: 35 18% 88%;--ring: 38 70% 35%}.dark{--color-bg: oklch(.12 .005 var(--brand-h));--color-bg-subtle: oklch(.16 .005 var(--brand-h));--color-surface: oklch(.16 .005 var(--brand-h));--color-surface-raised: oklch(.2 .005 var(--brand-h));--color-border: oklch(.28 .005 var(--brand-h));--color-border-strong: oklch(.38 .008 var(--brand-h));--color-text: oklch(.97 0 0);--color-text-muted: oklch(.75 .02 var(--brand-h));--color-text-subtle: oklch(.55 .02 var(--brand-h));--color-accent: oklch(.65 .22 var(--brand-h));--color-accent-hover: oklch(.72 .22 var(--brand-h));--color-accent-subtle: oklch(.2 .08 var(--brand-h));--color-accent-text: oklch(.75 .2 var(--brand-h));--shadow-1: 0 1px 3px oklch(0 0 0 / .4);--shadow-2: 0 2px 6px oklch(0 0 0 / .4), 0 1px 2px oklch(0 0 0 / .3);--shadow-3: 0 4px 12px oklch(0 0 0 / .5), 0 2px 4px oklch(0 0 0 / .3);--shadow-4: 0 8px 24px oklch(0 0 0 / .6), 0 4px 8px oklch(0 0 0 / .4);--background: 30 20% 8%;--foreground: 40 30% 95%;--card: 30 15% 10%;--card-foreground: 40 30% 95%;--popover: 30 20% 8%;--popover-foreground: 40 30% 95%;--primary: 40 30% 95%;--primary-foreground: 30 20% 8%;--secondary: 30 12% 18%;--secondary-foreground: 40 30% 95%;--muted: 30 12% 18%;--muted-foreground: 35 15% 60%;--accent: 30 12% 18%;--accent-foreground: 40 30% 95%;--destructive: 0 63% 31%;--destructive-foreground: 40 30% 95%;--border: 30 12% 18%;--input: 30 12% 18%;--ring: 40 30% 70%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}*{border-color:var(--color-border)}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-body);line-height:var(--leading-body);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,Georgia,Times New Roman,serif;color:var(--color-text);letter-spacing:var(--tracking-h2);line-height:var(--leading-tight);font-weight:600}code,pre,kbd,samp{font-family:Geist Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-feature-settings:"zero","ss01"}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::selection{background:var(--color-accent-subtle);color:var(--color-accent-text)}}@layer components{.container-narrow{max-width:860px;margin-inline:auto;padding-inline:clamp(24px,5vw,80px)}.container-wide{max-width:1440px;margin-inline:auto;padding-inline:clamp(24px,5vw,80px)}.container-default{max-width:1280px;margin-inline:auto;padding-inline:clamp(24px,5vw,80px)}.section-y{padding-block:clamp(64px,10vw,160px)}.prose-body{max-width:65ch}.glass-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:1px solid var(--color-border)}.dark .glass-nav{background:oklch(.16 .005 var(--brand-h) / .85)}}@layer utilities{.anim-fade-in{animation:nv-fade-in var(--dur-normal) var(--ease-respond) both}.anim-rise{animation:nv-rise var(--dur-slow) var(--ease-respond) both}.anim-scale{animation:nv-scale var(--dur-normal) var(--ease-announce) both}}@keyframes nv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nv-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes nv-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}html,body,#root{height:100%;margin:0}
