:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-size:15px;line-height:1.5}@media (min-width: 1024px){body{font-size:16px}}@media (min-width: 1440px){body{font-size:17px}}@media (min-width: 1920px){body{font-size:18px}}@keyframes popIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pop-in{animation:popIn .25s ease-out}@keyframes scanReady{0%,to{box-shadow:0 0 0 0 var(--scan-glow, rgba(99, 102, 241, .35))}50%{box-shadow:0 0 0 8px #0000}}.scan-ready{animation:scanReady 1.8s ease-in-out infinite}@keyframes heroOk{0%{transform:scale(.97);box-shadow:0 0 #16a34a73}40%{transform:scale(1.01)}to{transform:scale(1);box-shadow:0 10px 30px #00000014}}.hero-ok{animation:heroOk .45s cubic-bezier(.22,1,.36,1)}@keyframes heroErr{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.hero-err{animation:heroErr .4s ease-in-out}@keyframes checkPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.25);opacity:1}to{transform:scale(1);opacity:1}}.check-pop{animation:checkPop .4s cubic-bezier(.22,1,.36,1)}@keyframes rowIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.row-in{animation:rowIn .22s ease-out}.mode-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.mode-card:hover{transform:translateY(-2px)}.mode-card:active{transform:translateY(0) scale(.98)}@keyframes numPulse{0%{transform:scale(.6);opacity:.2}to{transform:scale(1);opacity:1}}.num-pulse{animation:numPulse .35s cubic-bezier(.22,1,.36,1)}
