:root{--kiosk-bg:#08111c;--kiosk-card:#1a1f2e;--kiosk-border:#2a3042;--kiosk-coral:#f97316;--kiosk-gold:#d4a853;--kiosk-touch-min:60px}html.kiosk,html.kiosk body{overflow:hidden;height:100vh;width:100vw;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}html.kiosk ::-webkit-scrollbar{display:none}html.kiosk *{scrollbar-width:none}.touch-target{min-height:var(--kiosk-touch-min);min-width:var(--kiosk-touch-min);padding:16px}@keyframes slide-in-right{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-in-left{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(232,89,60,.6)}70%{box-shadow:0 0 0 32px rgba(232,89,60,0)}to{box-shadow:0 0 0 0 rgba(232,89,60,0)}}@keyframes bounce-heart{0%{transform:scale(1)}30%{transform:scale(1.4)}60%{transform:scale(.85)}to{transform:scale(1)}}@keyframes confetti-burst{0%{transform:translate(0) rotate(0deg);opacity:1}to{transform:translate(var(--cx,0),var(--cy,200px)) rotate(2turn);opacity:0}}@keyframes number-roll{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scale-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-12px)}40%{transform:translateX(12px)}60%{transform:translateX(-8px)}80%{transform:translateX(8px)}}@keyframes ticker{0%{transform:translateX(100%)}to{transform:translateX(-100%)}}@keyframes spin-slow{to{transform:rotate(1turn)}}.anim-slide-right{animation:slide-in-right .3s ease-out both}.anim-slide-left{animation:slide-in-left .3s ease-out both}.anim-slide-down{animation:slide-down .3s ease-out both}.anim-fade-up{animation:fade-in-up .2s ease-out both}.anim-pulse-ring{animation:pulse-ring 2s infinite}.anim-bounce-heart{animation:bounce-heart .4s ease-out}.anim-shake{animation:shake .4s ease-in-out}.anim-number-roll{animation:number-roll .3s ease-out both}.anim-spin-slow{animation:spin-slow 1.2s linear infinite}.press:active{animation:scale-press .2s ease-out}.ticker-track{display:inline-block;white-space:nowrap;animation:ticker 30s linear infinite}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,#1a1f2e,#2a3042 50%,#1a1f2e);background-size:800px 100%;animation:shimmer 1.4s linear infinite}