*{box-sizing:border-box}:root,[data-mode=dark],[data-mode=performance],[data-mode=fancy]{--bg:#0b1410;--card:#11201a;--surface:#152019;--panel:#0e1b15;--border:#1e2d26;--border-soft:#1a2620;--border-strong:#2e3a33;--text:#f2efe6;--text-2:#c7cfc9;--muted:#8a938e;--muted-2:#6e7770;--muted-3:#4a544d;--on-gold:#1a1410;--gold-bg:#1c1a0e;--gold-text:#e8c547;--shadow:#00000080;--card-shadow:0 1px 3px #0000003d}[data-mode=light]{--bg:#f4f1e8;--card:#fff;--surface:#f0ece1;--panel:#fbf9f2;--border:#e2dccb;--border-soft:#ece7d8;--border-strong:#d2cbb6;--text:#1a1410;--text-2:#39332b;--muted:#6c6a5e;--muted-2:#83806f;--muted-3:#aba48c;--on-gold:#1a1410;--gold-bg:#fbf3d2;--gold-text:#b8901e;--shadow:#00000014;--card-shadow:0 1px 4px #1a14101a}.bp-card{box-shadow:var(--card-shadow)}html,body{background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,sans-serif;overflow-x:hidden}body:has(.app-shell){height:100%;overflow:hidden}body:has(.bp-gate){height:100%;overflow:hidden}.bp-gate{height:100dvh}input,textarea,button{font-family:inherit}.app-shell{height:100dvh;height:var(--app-vh,100dvh);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.app-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.app-scroll[data-locked=true]{overflow:hidden!important}@keyframes bpPulse{0%,to{opacity:.3}50%{opacity:1}}.bp-dots{animation:1.4s ease-in-out infinite bpPulse}@keyframes bpWobble{0%,to{transform:scale(1.08)translateY(-2px)rotate(-4deg)}50%{transform:scale(1.08)translateY(-2px)rotate(4deg)}}.bp-wobble{animation:.5s ease-in-out infinite bpWobble}@keyframes bpHeart{0%,to{transform:scale(1)}40%{transform:scale(1.12)}60%{transform:scale(1.06)}}.bp-heart{animation:1s ease-in-out infinite bpHeart}@keyframes bpGlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.bp-glow{animation:3s infinite bpGlow}@keyframes bpCheerFlyL{0%{opacity:0;transform:translate(-85vw)rotate(-9deg)scale(.75)}38%{opacity:1;transform:translate(4%)rotate(2.5deg)scale(1.07)}52%{transform:translate(0)rotate(0)scale(1)}84%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-16px)scale(.94)}}@keyframes bpCheerFlyR{0%{opacity:0;transform:translate(85vw)rotate(9deg)scale(.75)}38%{opacity:1;transform:translate(-4%)rotate(-2.5deg)scale(1.07)}52%{transform:translate(0)rotate(0)scale(1)}84%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-16px)scale(.94)}}.bp-cheer{animation:2.35s cubic-bezier(.22,1,.36,1) both bpCheerFlyL}.bp-cheer-r{animation-name:bpCheerFlyR}@keyframes bpCheerBurst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(0)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1) rotate(220deg)}}.bp-cheer-p{opacity:0;pointer-events:none;border-radius:2px;width:6px;height:6px;animation:1s ease-out .85s both bpCheerBurst;position:absolute;top:50%;left:50%}@keyframes bpTickerIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.bp-ticker{animation:.28s both bpTickerIn}@keyframes bpRainFall{0%{opacity:0;transform:translateY(-4vh)rotate(0)}7%{opacity:1}to{opacity:.9;transform:translate3d(var(--sway), 106vh, 0) rotate(660deg)}}.bp-rain{animation:2.6s linear both bpRainFall}@keyframes bpNemesisGlow{0%,to{box-shadow:inset 0 0 46px 8px #d4392e29,inset 0 0 130px 34px #e8584a0f}50%{box-shadow:inset 0 0 70px 16px #d4392e4d,inset 0 0 170px 48px #e8584a1c}}.bp-nemesis{animation:2.8s ease-in-out infinite bpNemesisGlow}@keyframes bpShimmer{0%{background-position:0%}to{background-position:200%}}.bp-shimmer{animation:3.2s linear infinite bpShimmer}[data-mode=performance] *,[data-mode=performance] :before,[data-mode=performance] :after{-webkit-backdrop-filter:none!important;transition:none!important;animation:none!important}[data-mode=performance] .bp-card{box-shadow:none}[data-mode=fancy].app-shell{position:relative}[data-mode=fancy].app-shell:before{content:"";pointer-events:none;background:radial-gradient(40% 32% at 18% 20%,#e8c5471c,#0000 70%),radial-gradient(46% 38% at 84% 10%,#3e7cb117,#0000 70%),radial-gradient(52% 44% at 55% 92%,#3fbf6f14,#0000 72%);animation:18s ease-in-out infinite alternate bpAurora;position:absolute;inset:-25% -15%}[data-mode=fancy].app-shell>*{z-index:1;position:relative}@keyframes bpAurora{0%{opacity:.85;transform:translate(-2.5%,-1.5%)scale(1)}to{opacity:1;transform:translate(2.5%,2%)scale(1.1)}}[data-mode=fancy] .bp-toast{animation:.3s cubic-bezier(.34,1.56,.64,1) both bpToastIn}@keyframes bpToastIn{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:none}}[data-mode=fancy] .bp-bombshake{animation:.4s both bpShakeX}@keyframes bpShakeX{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes bpRise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}[data-mode=fancy] .bp-card{animation:.34s cubic-bezier(.22,1,.36,1) both bpRise}[data-mode=fancy] .bp-btn{transition:transform .2s cubic-bezier(.34,1.56,.64,1),filter .12s!important}[data-mode=fancy] .bp-btn:active{transform:scale(.95)!important}[data-mode=fancy] .bp-tap{transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important}[data-mode=fancy] .bp-tap:active{transform:scale(.95)!important}[data-mode=fancy] .bp-glow{animation-duration:4.5s}@keyframes bpFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}[data-mode=fancy] .app-scroll>*{animation:.28s both bpFadeIn}[data-mode=fancy] .bp-card{transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s}@media (hover:hover){[data-mode=fancy] .bp-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000047}}@keyframes bpFloat{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-3px)}}[data-mode=fancy] .bp-float{animation:2.8s ease-in-out infinite bpFloat}@keyframes bpPop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}80%{transform:scale(.95)}to{transform:scale(1)}}[data-mode=fancy] .bp-pop{animation:.6s cubic-bezier(.22,1,.36,1) both bpPop}@keyframes bpLevelUp{0%{opacity:0;transform:scale(.3)rotate(-4deg)}55%{opacity:1;transform:scale(1.18)rotate(2deg)}75%{transform:scale(.96)rotate(0)}to{transform:scale(1)}}[data-mode=fancy] .bp-levelup{animation:.7s cubic-bezier(.22,1,.36,1) .15s both bpLevelUp}@keyframes bpNavPulse{0%,to{transform:scale(1);box-shadow:0 0 #e8c5478c}50%{transform:scale(1.25);box-shadow:0 0 0 5px #e8c54700}}[data-mode=fancy] .bp-nav-pulse{animation:1.4s ease-in-out infinite bpNavPulse}@keyframes bpConfetti{0%{opacity:0;transform:translateY(8px)rotate(0)}20%{opacity:1}to{opacity:0;transform:translateY(-84px)rotate(320deg)}}[data-mode=fancy] .bp-confetti span{animation:2.1s ease-in infinite bpConfetti}@keyframes bpCupPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.4)saturate(1.2);transform:scale(1.06)}}[data-mode=fancy] .bp-cup-pulse{animation:1.6s ease-in-out infinite bpCupPulse}@keyframes bpCupHue{to{filter:hue-rotate(360deg)}}[data-mode=fancy] .bp-cup-rainbow{animation:3.5s linear infinite bpCupHue}@keyframes bpBetWin{0%{opacity:0;transform:scale(.6)}50%{opacity:1;text-shadow:0 0 14px #e8c547;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}[data-mode=fancy] .bp-betwin{animation:.9s cubic-bezier(.22,1,.36,1) both bpBetWin}@media (prefers-reduced-motion:reduce){[data-mode=fancy] .bp-card,[data-mode=fancy] .app-scroll>*,[data-mode=fancy] .bp-float,[data-mode=fancy] .bp-pop,[data-mode=fancy] .bp-levelup,[data-mode=fancy] .bp-nav-pulse,[data-mode=fancy] .bp-confetti span,[data-mode=fancy] .bp-cup-pulse,[data-mode=fancy] .bp-cup-rainbow,[data-mode=fancy] .bp-betwin,[data-mode=fancy] .bp-toast,[data-mode=fancy] .bp-bombshake,[data-mode=fancy].app-shell:before,.bp-cheer,.bp-cheer-p,.bp-ticker,.bp-rain,.bp-nemesis,.bp-shimmer{animation:none!important}.bp-rain{opacity:0}[data-mode=fancy] .bp-btn,[data-mode=fancy] .bp-tap{transition:none!important}}
