:root{--color-primary: #D97757;--color-primary-dark: #B85E3F;--color-primary-light: #E8957A;--color-secondary: #2B2A27;--color-tertiary: #EAE7DF;--color-neutral: #F4F3F0;--color-surface: #FFFFFF;--color-bg: #F4F3F0;--color-text: #2B2A27;--color-text-muted: #8A8880;--color-border: #DDD9D2;--bg-base: var(--color-bg);--bg-surface: var(--color-surface);--bg-raised: #FFFFFF;--bg-overlay: rgba(244,243,240,.88);--border: var(--color-border);--border-dim: var(--color-border);--text-primary: var(--color-text);--text-muted: var(--color-text-muted);--accent: var(--color-primary);--accent-teal: var(--color-primary);--accent-glow: rgba(217,119,87,.15);--font-headline: "Space Grotesk", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--font-label: "Plus Jakarta Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-ui: var(--font-body);--font-code: var(--font-mono);--font-logo: var(--font-headline);--panel-bg: rgba(255,255,255,.72);--panel-border: rgba(221,217,210,.45);--panel-radius: 16px;--panel-shadow: 0 0 0 1px rgba(0,0,0,.03), 0 2px 4px rgba(43,42,39,.04), 0 8px 24px rgba(43,42,39,.08), 0 24px 48px rgba(43,42,39,.06);--panel-blur: blur(24px) saturate(1.4);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .35s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--color-primary);color:#fff}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2b2a2726;border-radius:10px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#2b2a274d}::-webkit-scrollbar-corner{background:transparent}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}input,textarea,select{font-family:var(--font-body);outline:none;-webkit-tap-highlight-color:transparent}select option{background:var(--color-surface);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button,input,select,textarea,[role=button]{transition:transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),background var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,opacity var(--duration-fast) ease}button:active:not(:disabled){transform:scale(.97)}.hover-lift{transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2b2a271f,0 2px 8px #2b2a270f}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-expo) both}.fade-in-scale{animation:fadeInScale var(--duration-slow) var(--ease-out-expo) both}@keyframes tooltipIn{0%{opacity:0;transform:translateY(2px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}#root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:99999;opacity:.025;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px}
