:root{--bg-deep: #060d0a;--bg-surface: #0b1814;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .4);--border-subtle: rgba(255, 255, 255, .08)}*{margin:0;padding:0;box-sizing:border-box}button,[role=button],[onclick],a,input[type=button],input[type=submit],input[type=reset],select,summary{cursor:pointer}html,body,#root{height:100%}body{font-family:Google Sans Flex,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-deep);color:var(--text-primary);line-height:1.6;overflow-x:hidden}.serif{font-family:Playfair Display,Georgia,serif}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='4' numOctaves='4' stitchTiles='stitch' result='noise'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:1000}
