:root{--font-display:"DM Serif Display", serif;--font-body:"Instrument Sans", sans-serif;--color-bg:#faf8f5;--color-bg-alt:#f2eeea;--color-bg-elevated:#fff;--color-surface:#eae5df;--color-surface-hover:#e0dbd5;--color-sidebar:#1c1917;--color-sidebar-hover:#292524;--color-sidebar-active:#3b3632;--color-sidebar-text:#d6d3d1;--color-sidebar-text-active:#faf8f5;--color-sidebar-accent:#c2703e;--color-text:#1c1917;--color-text-secondary:#78716c;--color-text-tertiary:#a8a29e;--color-text-inverse:#faf8f5;--color-accent:#c2703e;--color-accent-hover:#a85d32;--color-accent-light:#c2703e1a;--color-accent-glow:#c2703e26;--color-success:#4d7c4f;--color-success-light:#4d7c4f1a;--color-warning:#b8860b;--color-error:#b44141;--color-border:#e7e5e4;--color-border-light:#f0eeec;--shadow-sm:0 1px 2px #1c19170a;--shadow-md:0 4px 12px #1c19170f;--shadow-lg:0 8px 30px #1c191714;--shadow-glow:0 0 20px var(--color-accent-glow);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:0px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s}[data-theme=dark]{--color-bg:#0c0a09;--color-bg-alt:#1c1917;--color-bg-elevated:#1c1917;--color-surface:#292524;--color-surface-hover:#3b3632;--color-sidebar:#0c0a09;--color-sidebar-hover:#1c1917;--color-sidebar-active:#292524;--color-sidebar-text:#a8a29e;--color-sidebar-text-active:#faf8f5;--color-text:#e7e5e4;--color-text-secondary:#a8a29e;--color-text-tertiary:#78716c;--color-accent:#d4885a;--color-accent-hover:#e09b6e;--color-accent-light:#d4885a1f;--color-accent-glow:#d4885a33;--color-border:#292524;--color-border-light:#1c1917;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 30px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root,main,aside,header,div,span,p,h1,h2,h3,h4,label,svg{transition:background-color var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out), color var(--duration-normal) var(--ease-out), fill var(--duration-normal) var(--ease-out), stroke var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);height:100dvh;line-height:1.6;overflow:hidden}#root{height:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);background:0 0;border:none}button:active:not(:disabled){transform:scale(.97)}input,select,textarea{transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}a{transition:color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out)}:focus,:focus-visible{outline:none}::selection{background-color:var(--color-accent);color:var(--color-text-inverse)}input::-ms-reveal{display:none}input::-ms-clear{display:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes subtleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}
