:root{--font-sans:"Inter",ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace}html,body{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.grass-stripes{background-image:repeating-linear-gradient(110deg,rgb(16 185 129) 0,rgb(16 185 129) 1px,transparent 1px,transparent 18px);will-change:transform}.hero-drift{background-image:repeating-linear-gradient(115deg,rgb(6 95 70 / .28) 0 1px,transparent 1px 64px);background-size:200% 200%;animation:heroDrift 38s linear infinite;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.4) 70%,transparent);will-change:background-position}.hero-drift-2{background-image:repeating-linear-gradient(75deg,rgb(6 95 70 / .18) 0 1px,transparent 1px 96px);background-size:200% 200%;animation:heroDrift2 60s linear infinite;mask-image:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.3) 80%,transparent);will-change:background-position}@keyframes heroDrift{0%{background-position:0 0}to{background-position:200px 64px}}@keyframes heroDrift2{0%{background-position:0 0}to{background-position:-180px 96px}}@media(prefers-reduced-motion:reduce){.hero-drift,.hero-drift-2{animation:none}}.jersey-num{font-feature-settings:"tnum";letter-spacing:-.04em}.jersey-print{font-feature-settings:"tnum";text-shadow:0 1px 0 rgba(255,255,255,.06)}.live-dot{animation:pp-pulse 1.6s ease-in-out infinite}@keyframes pp-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #34d39999}50%{opacity:.75;transform:scale(1.15);box-shadow:0 0 0 6px #34d39900}}.tilt{transform:perspective(900px) rotateX(0) rotateY(0);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .3s;will-change:transform}.tilt:hover{transform:perspective(900px) rotateX(1.5deg) rotateY(-1.5deg) translateY(-2px)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.is-in{opacity:1;transform:none}.ledger-bar{transition:width .9s cubic-bezier(.22,1,.36,1)}.dash{stroke-dasharray:240;stroke-dashoffset:240}.is-in .dash{animation:draw 1.1s cubic-bezier(.22,1,.36,1) forwards}@keyframes draw{to{stroke-dashoffset:0}}.rotation-row{transition:background .2s}.rotation-row.active{background:#10b9811f}.chip-enter{animation:chipIn .45s cubic-bezier(.22,1,.36,1) both}@keyframes chipIn{0%{opacity:0;transform:translateY(-4px) scale(.9)}to{opacity:1;transform:none}}.swap-ghost{animation:swap 1.6s ease-in-out infinite}@keyframes swap{0%,to{transform:translate(0)}50%{transform:translate(14px)}}.target-line{stroke-dasharray:3 4}.match-blob{position:absolute;border-radius:9999px;filter:blur(80px);opacity:.45;mix-blend-mode:screen;will-change:transform}.match-blob-1{top:-15%;left:-10%;width:520px;height:520px;background:radial-gradient(circle,#10b981 0%,transparent 65%);animation:blobA 22s ease-in-out infinite}.match-blob-2{top:20%;right:-15%;width:620px;height:620px;background:radial-gradient(circle,#059669 0%,transparent 65%);animation:blobB 28s ease-in-out infinite}.match-blob-3{bottom:-20%;left:25%;width:460px;height:460px;background:radial-gradient(circle,#34d399 0%,transparent 65%);animation:blobC 25s ease-in-out infinite}@keyframes blobA{0%,to{transform:translate(0) scale(1)}33%{transform:translate(80px,40px) scale(1.1)}66%{transform:translate(-40px,120px) scale(.95)}}@keyframes blobB{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-100px,60px) scale(1.15)}}@keyframes blobC{0%,to{transform:translate(0) scale(1)}40%{transform:translate(60px,-80px) scale(1.05)}80%{transform:translate(-60px,-30px) scale(.9)}}.match-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;animation:gridShift 40s linear infinite;mask-image:radial-gradient(ellipse at center,#000 40%,transparent 85%)}@keyframes gridShift{to{background-position:48px 48px}}.match-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(52,211,153,.08),transparent);height:140px;animation:scan 12s linear infinite;pointer-events:none}@keyframes scan{0%{transform:translateY(-140px)}to{transform:translateY(calc(100vh + 140px))}}@media(prefers-reduced-motion:reduce){.match-blob,.match-grid,.match-scan{animation:none}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.tilt,.tilt:hover{transform:none;transition:none}.live-dot,.swap-ghost{animation:none}.dash{stroke-dashoffset:0}}
