:root{--color-forest-50:#e7efea;--color-forest-100:#d8e4dd;--color-forest-200:#b9cdbf;--color-forest-300:#93b09b;--color-forest-400:#6e9277;--color-forest-500:#4f7860;--color-forest-600:#3e5747;--color-forest-700:#32483b;--color-forest-800:#27392f;--color-forest-900:#1e2b24;--color-caramel-50:#f3e1d2;--color-caramel-100:#eed7c3;--color-caramel-200:#e2c2a6;--color-caramel-300:#d2a57d;--color-caramel-400:#bd8455;--color-caramel-500:#a86a3b;--color-caramel-600:#9b5b2e;--color-caramel-700:#844a22;--color-caramel-800:#6b3a19;--color-caramel-900:#532d13;--color-paper-50:#f9f7f2;--color-paper-100:#f2eee6;--color-paper-200:#e8e1d6;--color-paper-300:#d6cec0;--color-paper-400:#b9af9f;--color-paper-500:#9b9080;--color-ink-900:#2b2622;--color-ink-700:#4a433d;--color-ink-600:#6c645a;--color-ink-500:#8e867c;--color-green-600:#2e6b3f;--color-amber-600:#b36b1a;--color-red-600:#9b3c3c;--color-blue-700:#2b5c7d;--color-bg:var(--color-paper-50);--color-bg-muted:var(--color-paper-100);--color-surface:#fffefc;--color-surface-2:#fff;--color-surface-hover:#fbf7f0;--color-text:var(--color-ink-900);--color-text-muted:var(--color-ink-600);--color-text-subtle:var(--color-ink-500);--color-text-inverse:#fff;--color-border:var(--color-paper-300);--color-border-strong:#c6bdaf;--color-divider:rgba(43,38,34,.1);--color-primary:var(--color-forest-600);--color-primary-hover:var(--color-forest-700);--color-primary-pressed:var(--color-forest-800);--color-primary-soft:var(--color-forest-50);--color-primary-soft-hover:#dce7df;--color-accent:var(--color-caramel-600);--color-accent-hover:var(--color-caramel-700);--color-accent-pressed:var(--color-caramel-800);--color-accent-soft:var(--color-caramel-50);--color-accent-soft-hover:var(--color-caramel-100);--header-forest-from:var(--color-forest-800);--header-forest-to:var(--color-forest-600);--color-on-primary:#fff;--color-on-accent:#fff;--color-on-soft:var(--color-ink-900);--color-link:var(--color-caramel-700);--color-link-hover:var(--color-caramel-800);--color-link-visited:#6a3f2a;--color-success:var(--color-green-600);--color-success-soft:#e3f1e8;--color-warning:var(--color-amber-600);--color-warning-soft:#f7e9d7;--color-error:var(--color-red-600);--color-error-soft:#f6e0e0;--color-info:var(--color-blue-700);--color-info-soft:#dceaf3;--color-focus:rgba(155,91,46,.35);--color-overlay:rgba(43,38,34,.55);--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-heading:"Playfair Display",Georgia,serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:36px;--line-height-tight:1.15;--line-height-snug:1.3;--line-height-normal:1.5;--line-height-relaxed:1.7;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(43,38,34,.06);--shadow-sm:0 6px 18px rgba(43,38,34,.08);--shadow-md:0 14px 34px rgba(43,38,34,.1);--shadow-lg:0 22px 60px rgba(43,38,34,.14);--ease-standard:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--duration-fast:.12s;--duration-base:.24s;--duration-slow:.36s;--transition-base:all var(--duration-base) var(--ease-standard);--container-max:1200px;--container-pad:16px;--header-height:72px;--header-top-height:60px;--tap-min:44px;--btn-height:44px;--btn-height-sm:38px;--btn-pad-x:18px;--btn-pad-x-sm:14px;--btn-radius:var(--radius-md);--btn-primary-bg:var(--color-accent);--btn-primary-bg-h:var(--color-accent-hover);--btn-primary-bg-a:var(--color-accent-pressed);--btn-primary-fg:var(--color-on-accent);--btn-secondary-bg:var(--color-primary);--btn-secondary-bg-h:var(--color-primary-hover);--btn-secondary-bg-a:var(--color-primary-pressed);--btn-secondary-fg:var(--color-on-primary);--btn-ghost-bg:transparent;--btn-ghost-bg-h:rgba(43,38,34,.06);--btn-ghost-fg:var(--color-text);--input-height:44px;--input-radius:var(--radius-md);--input-bg:var(--color-surface);--input-bg-h:var(--color-surface-hover);--input-border:var(--color-border);--input-border-h:var(--color-border-strong);--input-text:var(--color-text);--input-placeholder:var(--color-text-subtle);--card-bg:var(--color-surface);--card-border:var(--color-border);--card-radius:var(--radius-lg);--card-shadow:var(--shadow-sm);--card-pad:18px;--chip-bg:var(--color-bg-muted);--chip-fg:var(--color-text);--chip-radius:var(--radius-pill);--chip-pad-y:6px;--chip-pad-x:10px;--modal-radius:var(--radius-xl);--modal-shadow:var(--shadow-lg);--focus-ring:0 0 0 4px var(--color-focus)}[data-theme=dark]{--color-bg:#0f0c0a;--color-bg-muted:#16110e;--color-surface:#1a1411;--color-surface-2:#211a16;--color-surface-hover:#251d19;--color-text:#f4f1ea;--color-text-muted:hsla(42,31%,94%,.72);--color-text-subtle:hsla(42,31%,94%,.5);--color-text-inverse:#0f0c0a;--color-border:hsla(42,31%,94%,.12);--color-border-strong:hsla(42,31%,94%,.18);--color-divider:hsla(42,31%,94%,.1);--color-primary:#4f7860;--color-primary-hover:#5e8b6f;--color-primary-pressed:#3e5747;--color-primary-soft:rgba(79,120,96,.18);--color-accent:#a86a3b;--color-accent-hover:#bd8455;--color-accent-pressed:#9b5b2e;--color-accent-soft:rgba(168,106,59,.18);--color-overlay:rgba(0,0,0,.62);--color-focus:rgba(189,132,85,.35);--input-bg:var(--color-surface);--input-bg-h:var(--color-surface-hover);--input-border:var(--color-border);--input-border-h:var(--color-border-strong);--card-bg:var(--color-surface);--card-border:var(--color-border);--header-forest-from:color-mix(in srgb,var(--color-forest-800) 85%,var(--color-ink-900));--header-forest-to:color-mix(in srgb,var(--color-forest-600) 85%,var(--color-ink-900))}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body,html{min-height:100%;width:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-sm,14px);line-height:1.5}
