:root,:host{--font-display:var(--font-display),ui-serif,Georgia,serif;--font-body:var(--font-body),ui-sans-serif,system-ui,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,monospace;--color-paper:#f5f1e8;--color-ink:#1a1410;--color-ink-soft:#4a3f36;--color-violet:#4b2e83;--color-rule:#d9cdb4}.paper-grain{isolation:isolate;position:relative}.paper-grain:before{content:"";pointer-events:none;z-index:-1;mix-blend-mode:multiply;opacity:.35;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.08 0 0 0 0 0.06 0 0 0 0 0.04 0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");position:absolute;top:0;bottom:0;left:0;right:0}.paper-grain:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 15% 0,rgba(75,46,131,.06),transparent 55%),radial-gradient(at 100% 100%,rgba(237,193,95,.08),transparent 55%);position:absolute;top:0;bottom:0;left:0;right:0}.display-wonk{font-family:var(--font-display);font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;letter-spacing:-.035em;line-height:.92}.display-italic{font-family:var(--font-display);font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-style:italic}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;font-weight:500}.rule-hair{background:linear-gradient(90deg,transparent,var(--color-rule)15%,var(--color-rule)85%,transparent);height:1px}@keyframes ink-rise{0%{transform:translateY(115%)}to{transform:translateY(0)}}.ink-reveal{vertical-align:bottom;margin-bottom:-.28em;margin-right:-.12em;padding-bottom:.28em;padding-right:.12em;display:inline-block;overflow:hidden}.ink-reveal>span{animation:.95s cubic-bezier(.19,1,.22,1) forwards ink-rise;display:inline-block;transform:translateY(115%)}.specimen-plate{border:1px solid var(--color-rule);background:#fffdf7;padding:14px;position:relative;box-shadow:inset 0 1px rgba(255,255,255,.9),0 30px 60px -30px rgba(46,26,84,.25),0 10px 20px -10px rgba(26,20,16,.15)}.specimen-plate:before,.specimen-plate:after{content:"";border:1px solid var(--color-ink);opacity:.55;width:10px;height:10px;position:absolute}.specimen-plate:before{border-bottom:0;border-right:0;top:-5px;left:-5px}.specimen-plate:after{border-top:0;border-left:0;bottom:-5px;right:-5px}.btn-ink{background:var(--color-ink);color:var(--color-paper);font-family:var(--font-body);letter-spacing:-.005em;border-radius:2px;align-items:center;gap:.75rem;padding:.95rem 1.5rem .95rem 1.6rem;font-size:.95rem;font-weight:500;transition:transform .4s cubic-bezier(.19,1,.22,1),background .3s;display:inline-flex;position:relative;overflow:hidden}.btn-ink:before{content:"";background:var(--color-violet);z-index:0;transition:transform .5s cubic-bezier(.19,1,.22,1);position:absolute;top:0;bottom:0;left:0;right:0;transform:translateY(101%)}.btn-ink:hover:before{transform:translateY(0)}.btn-ink>*{z-index:1;position:relative}.btn-ink .arrow{transition:transform .4s cubic-bezier(.19,1,.22,1)}.btn-ink:hover .arrow{transform:translate(3px)}.btn-ghost{font-family:var(--font-body);color:var(--color-ink-soft);border-bottom:1px solid var(--color-ink);align-items:center;gap:.5rem;padding:.95rem .25rem;font-size:.95rem;font-weight:500;transition:color .3s,letter-spacing .3s;display:inline-flex}.btn-ghost:hover{letter-spacing:.01em;color:var(--color-ink)}@keyframes fade-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-rise{opacity:0;animation:.9s cubic-bezier(.19,1,.22,1) forwards fade-rise}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@keyframes row-slide{0%,to{opacity:1;transform:translateY(0)}45%{opacity:.85;transform:translateY(-4px)}}@keyframes arrow-bounce{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes query-cycle{0%,8%{transform:translateY(0)}14%,22%{transform:translateY(-1em)}28%,36%{transform:translateY(-2em)}42%,50%{transform:translateY(-3em)}56%,64%{transform:translateY(-4em)}70%,78%{transform:translateY(-5em)}84%,92%{transform:translateY(-6em)}to{transform:translateY(-7em)}}@keyframes firing-dot{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes trace-pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes subtle-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.hero-accent{color:transparent;background:linear-gradient(120deg,#4b2e83 0%,#7c3aed 50%,#4b2e83 100%) 0 0/200% 200%;-webkit-background-clip:text;background-clip:text;animation:8s ease-in-out infinite subtle-shimmer}@keyframes value-chip-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.value-chip-in{opacity:0;animation:.7s cubic-bezier(.19,1,.22,1) forwards value-chip-in}@keyframes value-portrait-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}.value-portrait-in{opacity:0;transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.19,1,.22,1) forwards value-portrait-in}@keyframes value-line-draw{0%{stroke-dashoffset:var(--dash,40);opacity:0}20%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.value-line-draw{stroke-dasharray:var(--dash,40);stroke-dashoffset:var(--dash,40);animation:.9s cubic-bezier(.19,1,.22,1) forwards value-line-draw}@keyframes value-node-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.value-node-pulse{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite value-node-pulse}@keyframes value-check-draw{0%{stroke-dashoffset:18px;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.value-check-draw{stroke-dasharray:18;stroke-dashoffset:18px;animation:.5s cubic-bezier(.19,1,.22,1) forwards value-check-draw}@keyframes value-row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.value-row-in{opacity:0;animation:.6s cubic-bezier(.19,1,.22,1) forwards value-row-in}@keyframes value-caret-blink{0%,to{opacity:1}50%{opacity:0}}.value-caret-blink{animation:1.1s step-end infinite value-caret-blink}@media (prefers-reduced-motion:reduce){.value-chip-in,.value-portrait-in,.value-line-draw,.value-row-in,.value-check-draw{animation-duration:10ms!important;animation-delay:0s!important}.value-node-pulse,.value-caret-blink{animation:none!important}}
