.exp-root{--exp-void:5 5 7;--exp-deep:10 11 14;--exp-titanium-900:22 24 28;--exp-titanium-700:38 41 47;--exp-titanium-500:78 83 92;--exp-titanium-300:138 145 158;--exp-chrome:214 219 228;--exp-accent:34 211 238;--exp-accent-dim:13 138 156;--exp-signal:236 44 112;--exp-glass:255 255 255;background:rgb(var(--exp-void));color:rgb(var(--exp-chrome));font-family:Plus Jakarta Sans,sans-serif;-webkit-font-smoothing:antialiased}.exp-root ::-moz-selection{background:rgb(var(--exp-accent));color:rgb(var(--exp-void))}.exp-root ::selection{background:rgb(var(--exp-accent));color:rgb(var(--exp-void))}.exp-root :focus-visible{outline:2px solid rgb(var(--exp-accent));outline-offset:3px;border-radius:3px}.exp-glass{background:rgb(var(--exp-glass)/.045);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgb(var(--exp-glass)/.08)}.exp-glass-heavy{background:rgb(var(--exp-glass)/.06);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgb(var(--exp-glass)/.1)}.exp-display{font-family:Space Grotesk,sans-serif;font-weight:600;letter-spacing:-.03em;line-height:.95}.exp-mono{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.exp-shimmer{background:linear-gradient(100deg,rgb(var(--exp-titanium-300)) 0,rgb(var(--exp-chrome)) 38%,#ffffff 48%,rgb(var(--exp-chrome)) 58%,rgb(var(--exp-titanium-300)) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:exp-shimmer-sweep 6s ease-in-out infinite}@keyframes exp-shimmer-sweep{0%,12%{background-position:130% 0}60%,to{background-position:-30% 0}}.exp-pulse-dot{position:relative}.exp-pulse-dot:after{content:"";position:absolute;inset:-4px;border-radius:9999px;background:rgb(var(--exp-accent)/.35);animation:exp-pulse 2.4s cubic-bezier(.4,0,.6,1) infinite}@keyframes exp-pulse{0%{transform:scale(.7);opacity:.9}70%,to{transform:scale(2.1);opacity:0}}.exp-spot{position:relative;isolation:isolate;overflow:hidden}.exp-spot:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgb(var(--exp-accent)/.12),transparent 62%);opacity:0;transition:opacity .4s ease;pointer-events:none}.exp-spot:hover:before{opacity:1}.exp-spot:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--particle-angle,0deg),transparent 0deg,rgb(var(--exp-accent)/.9) 24deg,transparent 70deg,transparent 1turn);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s ease;pointer-events:none}.exp-spot:hover:after{opacity:1;animation:exp-trace 3.2s linear infinite}@property --particle-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes exp-trace{to{--particle-angle:360deg}}.exp-halo{background:radial-gradient(circle at 50% 46%,rgb(var(--exp-accent)/.1),transparent 42%),radial-gradient(circle at 50% 46%,rgb(255 255 255/.05),transparent 30%)}.exp-vignette{background:radial-gradient(ellipse 92% 78% at 50% 48%,transparent 42%,rgb(var(--exp-void)/.55) 82%,rgb(var(--exp-void)/.9) 100%)}.exp-cue{animation:exp-cue-run 2s ease-in-out infinite}@keyframes exp-cue-run{0%{transform:translateY(-16px);opacity:0}40%{opacity:1}to{transform:translateY(40px);opacity:0}}.exp-annotation{animation:exp-anno-in .5s cubic-bezier(.16,1,.3,1) both}@keyframes exp-anno-in{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.exp-grid-bg{background-image:linear-gradient(rgb(var(--exp-glass)/.035) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--exp-glass)/.035) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 20%,transparent 75%)}.exp-root::-webkit-scrollbar{width:8px}.exp-root::-webkit-scrollbar-thumb{background:rgb(var(--exp-titanium-700));border-radius:8px}@media (prefers-reduced-motion:reduce){.exp-pulse-dot:after,.exp-shimmer,.exp-spot:hover:after{animation:none!important}}