:root{--sat: env(safe-area-inset-top);--sab: env(safe-area-inset-bottom);--font-serif: "Lora", Georgia, "Times New Roman", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden;overscroll-behavior:none;background:#ede8df}body{height:100%;overflow:hidden;font-family:DM Sans,sans-serif;overscroll-behavior:none;background:#ede8df;padding-bottom:env(safe-area-inset-bottom)}#root{height:100dvh;overflow-x:hidden}*{-webkit-tap-highlight-color:transparent}*{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}input,textarea,select{font-size:max(16px,1em)}[style*="overflow-y: auto"],[style*=overflowY]{-webkit-overflow-scrolling:touch}::-webkit-scrollbar{display:none}button{font-family:inherit;cursor:pointer}@keyframes stampIn{0%{transform:scale(.4) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounceDot{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}@keyframes voteFlash{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes onb-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes onb-ring{0%,to{box-shadow:0 0 0 9999px #000000d1,0 0 0 3px #ffffff40}50%{box-shadow:0 0 0 9999px #000000d1,0 0 0 5px #ffffff8c}}@keyframes heartBounce{0%{transform:scale(1)}30%{transform:scale(1.45)}55%{transform:scale(.88)}75%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes tabBounce{0%,to{transform:translateY(0)}35%{transform:translateY(-5px)}65%{transform:translateY(-1px)}}@keyframes bellShake{0%,to{transform:rotate(0)}15%{transform:rotate(-14deg)}35%{transform:rotate(12deg)}55%{transform:rotate(-9deg)}75%{transform:rotate(6deg)}90%{transform:rotate(-3deg)}}@keyframes fadeSlideInTop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes commentSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes tieShake{0%,to{transform:translate(0)}18%{transform:translate(-6px)}36%{transform:translate(6px)}54%{transform:translate(-5px)}72%{transform:translate(5px)}88%{transform:translate(-2px)}}@keyframes heartBurst{0%{transform:translate(-50%,-50%) scale(.15);opacity:1}55%{transform:translate(-50%,-50%) scale(1.15);opacity:1}to{transform:translate(-50%,-50%) scale(1.65);opacity:0}}@keyframes skeletonPulse{0%,to{opacity:.35}50%{opacity:.7}}@keyframes photoZoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes photoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rankPulse{0%,to{box-shadow:0 0 #ff6b4a00}50%{box-shadow:0 0 0 8px #ff6b4a47}}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes notifDotPulse{0%,to{transform:scale(1);opacity:1}60%{transform:scale(.55);opacity:.35}}@keyframes notifSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes chartSlideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes tierBurst{0%{transform:scale(1)}25%{transform:scale(1.42)}55%{transform:scale(.88)}75%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes scoreBarScale{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scoreBounce{0%{transform:scale(0)}60%{transform:scale(1.18)}80%{transform:scale(.92)}to{transform:scale(1)}}@keyframes h2hSlideLeft{0%{transform:translate(-110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes h2hSlideRight{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes h2hWinnerOut{0%{transform:scale(1.04);opacity:1;box-shadow:0 0 #0000}40%{transform:scale(1.08) translateY(-5px);opacity:1;box-shadow:0 10px 28px #00000040}to{transform:scale(1.08) translateY(-5px);opacity:0;box-shadow:0 10px 28px #00000040}}@keyframes h2hLoserOut{0%{transform:scale(.93);opacity:.5}to{transform:scale(.88) translateY(6px);opacity:0}}@keyframes scoreBadgePop{0%{transform:scale(0)}65%{transform:scale(1.15)}85%{transform:scale(.95)}to{transform:scale(1)}}@keyframes tabIndicatorSlide{0%{opacity:0}to{opacity:1}}@keyframes pageSlideLeft{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pageSlideRight{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes tierShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes floatHeart{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-28px) scale(.5);opacity:0}}@keyframes scoreRevealBounce{0%{transform:scale(.5) rotate(-6deg);opacity:0}50%{transform:scale(1.12) rotate(2deg);opacity:1}70%{transform:scale(.94) rotate(-1deg)}85%{transform:scale(1.04) rotate(0)}to{transform:scale(1) rotate(0)}}@keyframes dotDrop{0%{transform:translate(-50%) translateY(-22px);opacity:0}38%{transform:translate(-50%) translateY(1px);opacity:1}52%{transform:translate(-50%) translateY(-8px)}65%{transform:translate(-50%) translateY(0)}77%{transform:translate(-50%) translateY(-3px)}90%{transform:translate(-50%) translateY(0)}to{transform:translate(-50%) translateY(0)}}@keyframes splashLogoIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}button:active{transform:scale(.97);transition:transform .08s ease}.nudge-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;cursor:pointer}.nudge-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:2.5px solid currentColor;box-shadow:0 2px 8px #00000038;cursor:pointer}.nudge-slider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:2.5px solid currentColor;box-shadow:0 2px 8px #00000038;cursor:pointer}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (min-width: 769px){::-webkit-scrollbar{display:block;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#80808040;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#80808066}button:active{transform:none}button:hover{opacity:.85}}
