@tailwind base;@tailwind components;@tailwind utilities;:root{--bg:#faf7f2;--bg-2:#fff;--surface:#fff;--surface-2:#f5f0e8;--surface-3:#ede5d8;--border:#e0d8cc;--border-2:#ccc0b0;--accent:#8b0000;--accent-2:#a50000;--accent-soft:rgba(139,0,0,.08);--accent-glow:rgba(139,0,0,.22);--cream:#e8c9a0;--cream-soft:hsla(34,61%,77%,.2);--text:#1a0a05;--text-2:#3d2010;--text-muted:#8a7060;--text-faint:#b8a090;--success:#1a6b3c;--success-soft:rgba(26,107,60,.1);--warning:#8b4e00;--danger:#8b0000;--danger-soft:rgba(139,0,0,.08);--shadow-sm:0 1px 3px rgba(26,5,0,.06);--shadow-md:0 4px 16px rgba(26,5,0,.08);--shadow-lg:0 12px 40px rgba(26,5,0,.1);--font-display:"Instrument Serif",Georgia,serif;--font-body:"Plus Jakarta Sans",sans-serif;--radius:12px;--radius-sm:8px;--radius-lg:20px;--radius-full:9999px}[data-theme=dark]{--bg:#0f0500;--bg-2:#1a0805;--surface:#1f0a06;--surface-2:#2a100a;--surface-3:#381510;--border:#4a1e18;--border-2:#5e2820;--accent:#c41e1e;--accent-2:#e03030;--accent-soft:rgba(196,30,30,.15);--accent-glow:rgba(196,30,30,.3);--cream:#c8a882;--cream-soft:hsla(33,39%,65%,.15);--text:#f5ede0;--text-2:#d4c0a8;--text-muted:#8a6a58;--text-faint:#5a3828;--success:#36b37e;--success-soft:rgba(54,179,126,.12);--warning:#d4a843;--danger:#e03030;--danger-soft:rgba(224,48,48,.12);--shadow-sm:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 16px rgba(0,0,0,.5);--shadow-lg:0 12px 40px rgba(0,0,0,.6)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}::selection{background:var(--accent-soft);color:var(--accent)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-up{animation:fadeUp .5s cubic-bezier(.4,0,.2,1) forwards}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-spin{animation:spin .8s linear infinite}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}.delay-3{animation-delay:.3s;opacity:0}.delay-4{animation-delay:.4s;opacity:0}