*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{overscroll-behavior:none;touch-action:manipulation;background:#f5f7fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}input,textarea,button,select{font-family:inherit}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes matchPop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes matchBgFade{0%{opacity:0}to{opacity:1}}@keyframes matchHalo{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}50%{opacity:.7}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}@keyframes matchPhotoL{0%{opacity:0;transform:translate(60px)rotate(8deg)scale(.7)}60%{opacity:1}to{opacity:1;transform:translate(0)rotate(-5deg)scale(1)}}@keyframes matchPhotoR{0%{opacity:0;transform:translate(-60px)rotate(-8deg)scale(.7)}60%{opacity:1}to{opacity:1;transform:translate(0)rotate(5deg)scale(1)}}@keyframes matchHeartIn{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}60%{opacity:1}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes matchHeartPulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.15)}}@keyframes matchTextIn{0%{opacity:0;filter:blur(4px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes matchInfoIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes matchBtnIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes splashFloat{0%,to{transform:translateY(0) rotate(var(--rot,-6deg))}50%{transform:translateY(-10px) rotate(var(--rot,-6deg))}}@keyframes splashIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes splashCardIn{0%{opacity:0;transform:translateY(40px) rotate(var(--rot-from,0deg)) scale(.9)}to{opacity:1;transform:translateY(0) rotate(var(--rot,0deg)) scale(1)}}@keyframes heartBeat{0%,to{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(1.15)}}@keyframes ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFull{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes authFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes toastSlide{0%{opacity:0;transform:translate(-50%)translateY(-18px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes detailContentIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes detailHeaderIn{0%{transform:scale(1.08)}to{transform:scale(1)}}input:focus,textarea:focus,select:focus{border-color:#0f52ba!important;box-shadow:0 0 0 3px #0f52ba21!important}::selection{background:#0f52ba2e}::-webkit-scrollbar{width:0;height:0}button:active{transform:scale(.985)}
