
*{box-sizing:border-box}.spx{--p:#ffd400;--a:#f3157a;--ok:#2aef84;max-width:430px;min-height:100svh;margin:0 auto;background:#080a0d;color:#fff;padding:22px 20px 88px;font-family:Arial,sans-serif;position:relative;overflow:hidden}.spx:before{content:"";position:absolute;inset:0;opacity:.16;background-image:radial-gradient(#fff .7px,transparent .8px);background-size:7px 7px;pointer-events:none}.spx>*{position:relative;z-index:2}.spx:after{content:"";position:absolute;width:130px;height:24px;background:var(--a);left:-55px;top:30%;transform:rotate(-18deg);border-radius:80% 20%;box-shadow:400px -130px 0 #6935ff,390px 420px 0 #ffd400}.sp-logo{display:block;max-width:135px;max-height:50px;object-fit:contain;margin:0 auto 8px}.sp-wordmark{font:italic 900 60px/.78 Impact,Arial Black,sans-serif;text-align:center;letter-spacing:-2px;text-shadow:4px 4px #e66d00;transform:rotate(-3deg);margin:6px 0}.sp-wordmark b{color:var(--p)}.sp-tag{text-align:center;font-weight:900;letter-spacing:2px;font-size:12px}.sp-btn{width:100%;min-height:55px;border:0;border-radius:7px;background:var(--p);color:#111;font:900 17px Arial;margin:8px 0;box-shadow:0 5px #bd7200}.sp-btn.ghost{background:#111419;color:#fff;border:2px solid #626870;box-shadow:none}.sp-btn.green{background:var(--ok)}.sp-card{background:#12161c;border:1px solid #313944;border-radius:14px;padding:16px;margin:14px 0}.sp-input,.sp-select{width:100%;min-height:50px;background:#10161d;border:1px solid #3a4651;border-radius:9px;color:#fff;padding:12px;font-size:15px;margin:6px 0}.sp-error,.error{background:#5d1825;padding:11px;border-radius:9px}.sp-success{background:#123b25;border:2px solid var(--ok);padding:18px;border-radius:12px;text-align:center;font-weight:900}.sp-center{text-align:center}.sp-mock-entry{min-height:calc(100svh - 110px);display:flex;flex-direction:column;justify-content:center}.sp-mock-entry .sp-wordmark{font-size:70px}.sp-mock-entry .sp-tag:last-of-type{font:italic 900 24px/.9 Impact;color:#fff;margin:10px 0 18px}.sp-mock-entry .sp-mascot,.sp-mascot-art,.sp-hero-mascot{height:250px;display:grid;place-items:center;font-size:100px;margin:5px 0}.sp-mock-entry .sp-hero-mascot img{width:100%;height:100%;object-fit:contain}.sp-form-crown,.sp-pass-kicker{color:var(--p);font:60px/1 Georgia;text-align:center;text-shadow:3px 3px #e66d00;transform:rotate(-6deg)}.sp-form-title,.sp-pass-title,.sp-screen-title{font:italic 900 42px/.88 Impact,Arial Black,sans-serif;text-align:center;margin:5px 0 15px}.sp-form-title b,.sp-pass-title b,.sp-screen-title b{color:var(--p)}.sp-form-lead{text-align:center;color:#ddd;font-size:13px}.sp-form-fields{display:grid;gap:9px;margin:18px 0}.sp-form-fields label{display:flex;align-items:center;gap:9px;background:#10161d;border:1px solid #3a4651;border-radius:9px;padding-left:12px}.sp-form-fields .sp-input{border:0;margin:0}.sp-code{width:100%;background:#10161d;border:1px solid #3a4651;border-radius:10px;color:#fff;text-align:center;font:900 32px monospace;letter-spacing:12px;padding:15px}.sp-head{display:flex;align-items:center;justify-content:space-between}.sp-user{display:flex;align-items:center;gap:9px}.sp-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ffd400,#ff7b00);display:grid;place-items:center;color:#111}.sp-progress{height:10px;background:#30343a;border-radius:9px;overflow:hidden;flex:1}.sp-progress i{display:block;height:100%;background:var(--p)}.sp-counter{background:#20242a;border-radius:99px;padding:5px 9px;font-size:11px}.sp-tabs{display:flex;gap:6px;overflow:auto;margin:14px 0}.sp-tab{border:1px solid #343a42;background:#15181d;color:#fff;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:900}.sp-tab.active{background:var(--p);color:#111}.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sp-shot-card{min-height:126px;background:linear-gradient(145deg,#20232a,#121419);border:1px solid #343a44;border-radius:13px;padding:9px 5px;text-align:center;position:relative}.sp-shot-card.done{border-color:var(--ok);box-shadow:inset 0 0 20px #2aef8415}.sp-emoji{height:62px;display:grid;place-items:center;font-size:44px}.sp-shot-img{width:58px;height:58px;object-fit:contain}.sp-shot-name{font-size:10px;font-weight:900;text-transform:uppercase}.sp-check,.sp-lock{position:absolute;right:6px;top:6px;width:20px;height:20px;border-radius:50%;background:#292d34;display:grid;place-items:center;font-size:10px}.sp-check{background:var(--ok);color:#111}.sp-bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(430px,100vw);height:72px;background:#090b0e;border-top:1px solid #292e35;display:grid;grid-template-columns:repeat(4,1fr);z-index:50}.sp-nav{display:grid;place-items:center;align-content:center;color:#777;font-size:9px}.sp-nav b{font-size:19px}.sp-nav.active{color:var(--p)}.sp-mock-detail{text-align:center;padding-top:30px}.sp-detail-shot{height:220px;display:grid;place-items:center;font-size:120px}.sp-detail-shot img{max-width:210px;max-height:210px}.sp-mock-detail h1{font:italic 900 45px Impact;color:var(--p);margin:8px}.sp-stamp{display:inline-block;border:4px solid var(--ok);color:var(--ok);font:900 20px Impact;padding:8px 14px;transform:rotate(-7deg);margin:18px}.sp-real-qr{display:inline-block;background:#fff;border:7px solid var(--p);border-radius:15px;padding:13px;margin:18px auto;color:#111}.sp-real-qr canvas{display:block;width:220px!important;height:220px!important}.sp-reward-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;background:#15181d;border:1px solid #343a42;border-radius:12px;padding:15px;margin:10px 0}.sp-reward-card.unlocked{border-color:#caa700}.sp-screen-complete{text-align:center;min-height:calc(100svh - 110px);display:flex;flex-direction:column;justify-content:center}.sp-screen-complete h1{font:italic 900 45px/.9 Impact}.sp-scanner-frame{height:300px;background:#050607;border:2px solid #4a5059;border-radius:17px;position:relative;overflow:hidden;margin:12px 0}.sp-scanner-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sp-scanner-frame:after{content:"";position:absolute;left:10%;right:10%;top:50%;height:3px;background:var(--a);box-shadow:0 0 15px var(--a);animation:scan 2s infinite ease-in-out}@keyframes scan{0%,100%{transform:translateY(-100px)}50%{transform:translateY(100px)}}.sp-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sp-stat{background:#15181d;border:1px solid #343a42;border-radius:12px;padding:18px;text-align:center}.sp-stat b{font:900 32px Impact;color:var(--p)}.sp-history-row,.menurow{display:flex;justify-content:space-between;background:#15181d;border:1px solid #343a42;border-radius:10px;padding:12px;margin:8px 0}.sp-muted{color:#999}@media(max-width:360px){.sp-grid{gap:5px}.sp-shot-card{min-height:112px}.sp-form-title,.sp-pass-title,.sp-screen-title{font-size:37px}}

/* v5 completion layer */
.sp-mock-form{padding-top:34px}.sp-mock-form .sp-wordmark{display:none}.sp-mock-form .sp-card{background:transparent;border:0;padding:0;margin-top:25px}.sp-mock-form h1,.sp-mock-form h2{font:italic 900 40px/.9 Impact,Arial Black,sans-serif;text-align:center}.sp-mock-pass{padding-top:18px}.sp-mock-pass .sp-pass-kicker{margin-top:2px}.sp-mock-pass .sp-grid{padding-bottom:12px}.sp-mock-qr{padding-top:28px}.sp-mock-qr .sp-real-qr{margin-top:20px}.sp-mock-rewards{padding-top:30px}.sp-mock-rewards>p{text-align:center;color:#bbb;font-size:12px}.sp-mock-complete{padding:30px 20px 90px}.sp-mock-staff{padding-top:12px}.sp-mock-staff .sp-card{padding:12px}.sp-mock-staff .sp-select{font-weight:900}.sp-mock-staff .sp-btn{margin-top:10px}

/* v5.2 real-device fixes */
.sp-welcome{width:100%!important;max-width:430px!important;height:100svh!important;min-height:0!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.sp-welcome-art{width:100%!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}
.sp-welcome-art img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:calc(100svh - 150px)!important;object-fit:contain!important;object-position:center center!important;transform:none!important}
.sp-welcome-actions{flex:0 0 auto!important;width:100%!important;margin:0!important;padding:8px 20px 18px!important;background:#080a0d!important}
.sp-welcome-actions .sp-btn{min-height:52px!important;margin:6px 0!important}
.sp-mock-pass .sp-grid{min-height:140px}

/* v5.5 stability */
#shot-pass.sp-booting:empty{min-height:100svh;background:#080a0d}
#shot-pass.sp-booting:empty:after{content:"SHOT PASS";position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffd400;font:italic 900 34px Impact,Arial Black,sans-serif}

/* v5.6 native welcome: no poster image, no cropping/zoom */
.sp-welcome-native{height:100svh!important;min-height:620px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;padding:20px!important;background:radial-gradient(circle at 12% 12%,#f3157a16,transparent 28%),#080a0d!important;position:relative;overflow:hidden}
.sp-welcome-native:before{content:"";position:absolute;inset:0;opacity:.18;background-image:radial-gradient(#fff .7px,transparent .8px);background-size:7px 7px}
.sp-native-top{text-align:center;position:relative;z-index:2}.sp-native-logo{height:48px;max-width:130px;object-fit:contain}.sp-native-crown{color:#ffd400;font:52px/1 Georgia;margin:-4px 0 -7px;text-shadow:2px 3px #e66d00;transform:rotate(-6deg)}.sp-native-word{font:italic 900 62px/.75 Impact,Arial Black,sans-serif;letter-spacing:-2px;text-shadow:4px 4px #e66d00;transform:rotate(-3deg)}.sp-native-word b{color:#ffd400}.sp-native-tag{font-weight:900;letter-spacing:1.5px;font-size:12px;margin-top:10px}
.sp-native-hero{height:260px;position:relative;display:grid;place-items:center}.sp-native-splash{position:absolute;width:260px;height:170px;background:radial-gradient(ellipse,#ffad0038,transparent 65%);filter:blur(2px)}.sp-native-glass{width:132px;height:145px;background:linear-gradient(#ffd22a 0 55%,#f58b00 56%);clip-path:polygon(8% 0,92% 0,78% 100%,22% 100%);position:relative;filter:drop-shadow(0 14px 12px #000);z-index:2}.sp-native-glass:before{content:"";position:absolute;left:8px;right:8px;top:8px;height:12px;background:#fff;border-radius:50%}.sp-native-glass i,.sp-native-glass>b{position:absolute;top:45px;width:54px;height:31px;background:#08090b;border:5px solid #111;border-radius:6px}.sp-native-glass i{left:9px;transform:rotate(7deg)}.sp-native-glass>b{right:9px;transform:rotate(-7deg)}.sp-native-glass span{position:absolute;left:52px;top:94px;width:28px;height:12px;background:#111;border-radius:0 0 20px 20px}.sp-native-glass strong{position:absolute;color:#ffd400;font:70px Georgia;left:35px;top:-58px;text-shadow:2px 3px #f06b00}
.sp-native-story{text-align:center;font:italic 900 25px/.9 Impact,Arial Black,sans-serif;transform:rotate(-2deg)}.sp-native-story b{color:#ffd400}.sp-welcome-native .sp-welcome-actions{padding:0!important;margin:0!important;background:none!important}.sp-welcome-native .sp-welcome-actions small{display:block;text-align:center;color:#888;font-size:9px;margin-top:6px}
@media(max-height:720px){.sp-native-word{font-size:52px}.sp-native-hero{height:205px}.sp-native-glass{transform:scale(.82)}.sp-native-story{font-size:21px}.sp-welcome-native .sp-btn{min-height:48px!important}}

/* v5.7 illustrated shot system */
.sp-drink-art{--liq:#ffd400;display:inline-block;width:48px;height:58px;position:relative;background:linear-gradient(165deg,#f7f7f7 0 12%,var(--liq) 13% 100%);clip-path:polygon(7% 0,93% 0,77% 100%,23% 100%);filter:drop-shadow(0 7px 5px #0009)}
.sp-drink-art:before{content:"";position:absolute;left:5px;right:5px;top:4px;height:7px;background:#fff;border-radius:50%;opacity:.9}.sp-drink-art i,.sp-drink-art b{position:absolute;top:23px;width:18px;height:10px;background:#101114;border-radius:3px}.sp-drink-art i{left:6px;transform:rotate(8deg)}.sp-drink-art b{right:6px;transform:rotate(-8deg)}.sp-drink-art:after{content:"⌣";position:absolute;left:18px;top:34px;color:#111;font:bold 14px Arial}.sp-drink-art.cat-doces{--liq:#f3157a}.sp-drink-art.cat-acidos{--liq:#70e54a}.sp-drink-art.cat-fortes{--liq:#ff9a00}.sp-drink-art.big{width:150px;height:180px}.sp-drink-art.big i,.sp-drink-art.big b{top:72px;width:55px;height:31px;border-radius:7px}.sp-drink-art.big i{left:18px}.sp-drink-art.big b{right:18px}.sp-drink-art.big:after{left:61px;top:111px;font-size:35px}.sp-drink-art.big:before{left:16px;right:16px;top:12px;height:18px}
.sp-shot-card:nth-child(3n+1) .sp-drink-art{--liq:#f3157a}.sp-shot-card:nth-child(3n+2) .sp-drink-art{--liq:#ffd400}.sp-shot-card:nth-child(3n) .sp-drink-art{--liq:#6b3cff}.sp-qr-mascot{position:relative;height:160px;display:grid;place-items:center;transform:scale(.68);margin:-5px 0 -20px}.sp-qr-mascot strong{position:absolute;color:#ffd400;font:70px Georgia;top:-18px;text-shadow:2px 3px #f06b00}

/* v5.7.2 interaction hotfix */
.sp-welcome-native:before,.sp-welcome-native:after,.sp-native-splash,.spx:after{pointer-events:none!important}
.sp-welcome-actions{position:relative!important;z-index:100!important;pointer-events:auto!important}
.sp-welcome-actions button{position:relative!important;z-index:101!important;pointer-events:auto!important;touch-action:manipulation!important}

/* v6.6 next reward */
.sp-next-reward{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:14px 0 4px;padding:12px;border:1px solid #5d4c00;border-radius:13px;background:linear-gradient(135deg,#211c07,#121315);box-shadow:0 0 20px #ffd40012}.sp-next-reward>span{font:34px Georgia;color:#ffd400}.sp-next-reward small{display:block;color:#9b8e55;font-size:8px;font-weight:900;letter-spacing:1px}.sp-next-reward b{display:block;font-size:12px}.sp-next-reward strong{font-size:9px;color:#ffd400;text-align:right}
.sp-legal{text-align:center;font-size:10px}.sp-legal a{color:#ffd400;text-decoration:underline}

/* v7 final mobile hardening */
button,a,input,select{touch-action:manipulation}.sp-bottom-nav{padding-bottom:env(safe-area-inset-bottom,0)!important}.spx{padding-bottom:calc(88px + env(safe-area-inset-bottom,0))!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* v7.1 faster bar workflow */
.sp-quick-shots{display:flex;gap:7px;overflow-x:auto;padding:7px 0 10px;scrollbar-width:none}.sp-quick-shots button{flex:0 0 auto;border:1px solid #3b424b;background:#15181d;color:#fff;border-radius:99px;padding:8px 11px;font-size:10px;font-weight:900}.sp-quick-shots button.active{background:#ffd400;color:#111;border-color:#ffd400}
