:root{--bg: #f4f1ec;--bg-2: #ebe6de;--ink: #0e1013;--ink-2: #1a1d22;--mute: #6b6b66;--rule: #d9d3c8;--card-bg: rgba(255, 255, 255, .5);--btn-hover: #000}:root[data-theme=dark]{--bg: #0a0a0a;--bg-2: #141414;--ink: #f4f1ee;--ink-2: #c9c9c4;--mute: #8a8a84;--rule: #2a2a2a;--card-bg: rgba(16, 16, 18, .82);--btn-hover: #ffffff}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:radial-gradient(120% 90% at 50% 50%,transparent 55%,rgba(14,16,19,.08) 100%)}#dna-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;cursor:crosshair}#root{position:relative;z-index:3;pointer-events:none}#root a,#root button,#root .interactive{pointer-events:auto}@media (prefers-reduced-motion: reduce){#dna-canvas{opacity:.85}}
