*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.6;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,Georgia,serif;line-height:1.25;color:var(--text-heading)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}img,video{max-width:100%;display:block}ul,ol{list-style:none}p{line-height:1.7}::selection{background:var(--accent-gold);color:var(--bg-primary)}.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}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.container--narrow{max-width:720px}.container--wide{max-width:1400px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.rounded{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:9999px}.overflow-hidden{overflow:hidden}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.pointer-events-none{pointer-events:none}:root,[data-theme=light]{--bg-primary: #faf7f2;--bg-secondary: #f3ede3;--bg-tertiary: #ede4d4;--bg-card: #ffffff;--bg-card-hover: #fdf9f4;--bg-input: #ffffff;--bg-overlay: rgba(250, 247, 242, .95);--bg-nav: rgba(255, 255, 255, .92);--text-primary: #1a1410;--text-secondary: #5a4e42;--text-tertiary: #8c7d6e;--text-heading: #0f0c09;--text-muted: #a89a8a;--text-inverse: #faf7f2;--text-link: #7a5c3e;--accent-gold: #c8a96e;--accent-gold-light: #e8d5aa;--accent-gold-dark: #a0833e;--accent-warm: #d4956a;--accent-green: #6b8f6a;--accent-red: #c0544a;--accent-blue: #4a7fa0;--border-light: #e8dfd0;--border-medium: #d4c5b0;--border-strong: #b8a898;--border-focus: #c8a96e;--shadow-xs: 0 1px 3px rgba(26, 20, 16, .06);--shadow-sm: 0 2px 8px rgba(26, 20, 16, .08);--shadow-md: 0 4px 16px rgba(26, 20, 16, .1);--shadow-lg: 0 8px 32px rgba(26, 20, 16, .12);--shadow-xl: 0 16px 48px rgba(26, 20, 16, .16);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--nav-height: 64px;--sidebar-width: 240px;--right-sidebar-width: 300px;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--wood-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E")}[data-theme=dark]{--bg-primary: #141210;--bg-secondary: #1c1916;--bg-tertiary: #231f1b;--bg-card: #1e1a16;--bg-card-hover: #252018;--bg-input: #1c1916;--bg-overlay: rgba(20, 18, 16, .97);--bg-nav: rgba(20, 18, 16, .95);--text-primary: #f0e8da;--text-secondary: #c4b5a2;--text-tertiary: #8c7d6e;--text-heading: #f8f0e4;--text-muted: #6e6054;--text-inverse: #141210;--text-link: #e8c98a;--accent-gold: #d4a85a;--accent-gold-light: #4a3a1e;--accent-gold-dark: #f0c878;--accent-warm: #cc7a50;--accent-green: #7a9f78;--accent-red: #d4655a;--accent-blue: #5a8fb0;--border-light: #2e2820;--border-medium: #3d3428;--border-strong: #544838;--border-focus: #d4a85a;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .7)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-primary: #141210;--bg-secondary: #1c1916;--bg-tertiary: #231f1b;--bg-card: #1e1a16;--bg-card-hover: #252018;--bg-input: #1c1916;--bg-overlay: rgba(20, 18, 16, .97);--bg-nav: rgba(20, 18, 16, .95);--text-primary: #f0e8da;--text-secondary: #c4b5a2;--text-tertiary: #8c7d6e;--text-heading: #f8f0e4;--text-muted: #6e6054;--text-inverse: #141210;--text-link: #e8c98a;--accent-gold: #d4a85a;--accent-gold-light: #4a3a1e;--accent-gold-dark: #f0c878;--accent-warm: #cc7a50;--accent-green: #7a9f78;--accent-red: #d4655a;--accent-blue: #5a8fb0;--border-light: #2e2820;--border-medium: #3d3428;--border-strong: #544838;--border-focus: #d4a85a;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .7)}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border-medium);border-radius:3px;transition:background-color var(--transition-fast)}*::-webkit-scrollbar-thumb:hover{background-color:var(--border-strong)}*::-webkit-scrollbar-corner{background:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes inkDrop{0%{transform:scale(0);opacity:.6}to{transform:scale(4);opacity:0}}@keyframes floatUp{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}@keyframes drawLine{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes toastIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.9)}}@keyframes progressBar{0%{width:0%}to{width:100%}}@keyframes dotFlash{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1.2);opacity:1}}.animate-fadeIn{animation:fadeIn var(--transition-base) forwards}.animate-fadeUp{animation:fadeUp .3s ease forwards}.animate-fadeDown{animation:fadeDown .3s ease forwards}.animate-scaleIn{animation:scaleIn .2s ease forwards}.animate-spin{animation:spin .8s linear infinite}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite linear}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
