:root{--red:#de2826;--red-dark:#a8191a;--ink:#1c2541;--sand:#fef5f1;--yellow:#f9ec64;--gold:#f5d76e;--white:#fff;--muted:#5d6478;--ok:#1f8a4c;--radius:clamp(18px, 2.4vmin, 32px);--font:"Baloo 2", "Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--app-h:100vh;--fs-body:clamp(17px, 2.1vmin, 26px);--fs-title:clamp(36px, 6.6vmin, 92px);--fs-title-sm:clamp(28px, 4.6vmin, 64px);--tap:clamp(60px, 7.6vmin, 96px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (height:100dvh){:root{--app-h:100dvh}}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--red);height:100%;color:var(--white);font-family:var(--font);font-size:var(--fs-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;scrollbar-width:none;margin:0;line-height:1.3;overflow:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}.app ::-webkit-scrollbar{display:none}.app *{scrollbar-width:none}body{position:fixed;top:0;bottom:0;left:0;right:0}html:-webkit-full-screen{background:var(--red)}html:fullscreen{background:var(--red)}input,select,textarea{-webkit-user-select:text;user-select:text;font:inherit}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}img{-webkit-user-drag:none}:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.app{height:100vh;height:var(--app-h);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);isolation:isolate;grid-template-rows:auto 1fr;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.bg{z-index:-1;background:radial-gradient(120% 90% at 30% 55%, #ef3a31 0%, var(--red) 45%, var(--red-dark) 100%);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.bg:before{content:"";will-change:transform;background:repeating-conic-gradient(#ffffff12 0deg 9deg,#fff0 9deg 18deg);width:240vmax;height:240vmax;margin:-120vmax 0 0 -120vmax;animation:90s linear infinite rays;position:absolute;top:55%;left:30%}.bg-blob{filter:blur(40px);opacity:.45;will-change:transform;border-radius:50%;position:absolute}.b1{background:var(--yellow);opacity:.22;width:40vmax;height:40vmax;animation:18s ease-in-out infinite float;top:-14vmax;right:-12vmax}.b2{background:#ff7a6b;width:30vmax;height:30vmax;animation:22s ease-in-out infinite reverse float;bottom:-12vmax;left:-10vmax}.b3{background:var(--ink);opacity:.25;width:18vmax;height:18vmax;animation:26s ease-in-out infinite float;bottom:-8vmax;right:10vmax}@keyframes rays{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translate(0,0)}50%{transform:translate(3vmax,-2vmax)}}.topbar{z-index:3;align-items:center;gap:16px;min-height:0;padding:clamp(10px,1.8vmin,24px) clamp(16px,2.6vmin,36px) 0;display:flex;position:relative}.logo-btn{background:0 0;border:0;border-radius:12px;margin:-6px;padding:6px;line-height:0;transition:transform .3s}.logo-btn img{filter:brightness(0)invert()drop-shadow(0 2px 6px #0003);width:auto;height:clamp(40px,6.4vmin,84px)}.logo-btn.holding{transition:transform 3s linear;transform:scale(.94)}.event-name{opacity:.85;letter-spacing:.02em;text-align:right;margin:0 0 0 auto;font-size:clamp(14px,1.8vmin,22px);font-weight:700}.stage{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(12px,3vmin,48px);min-height:0;padding:clamp(8px,1.6vmin,24px) clamp(16px,3vmin,48px) clamp(16px,3vmin,40px);display:grid;position:relative}.wheel-area{place-items:center;width:100%;height:100%;min-height:0;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s;display:grid;position:relative;container-type:size}.wheel-host{aspect-ratio:1;place-items:center;width:min(100cqw,100cqh);display:grid;position:relative}.wheel-canvas{display:block}.wheel-tap{aspect-ratio:1;pointer-events:none;touch-action:none;background:0 0;border:0;border-radius:50%;width:min(100cqw,100cqh);margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}[data-screen=spin] .wheel-tap{pointer-events:auto}.panel{align-items:center;height:100%;min-height:0;display:grid;position:relative}.screen{opacity:0;visibility:hidden;pointer-events:none;grid-area:1/1;min-width:0;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .45s;transform:translateY(24px)scale(.98)}[data-screen=attract] .screen-attract,[data-screen=form] .screen-form,[data-screen=spin] .screen-spin,[data-screen=spinning] .screen-spinning,[data-screen=result] .screen-result,[data-screen=closed] .screen-closed{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s 80ms,transform .5s cubic-bezier(.2,.8,.2,1) 80ms,visibility;transform:none}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin:0 0 .3em;font-size:clamp(16px,2.4vmin,32px);font-weight:800}.title{font-weight:800;font-size:var(--fs-title);white-space:pre-line;text-shadow:0 4px #0000001f,0 10px 30px #0000002e;margin:0 0 .35em;line-height:.98}.title-sm{font-size:var(--fs-title-sm)}.sub{opacity:.92;max-width:28ch;margin:.8em 0 0;font-size:clamp(17px,2.3vmin,30px)}.btn{min-height:var(--tap);letter-spacing:.01em;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4em;padding:0 1.3em;font-size:clamp(19px,2.6vmin,34px);font-weight:800;transition:transform .12s,box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-cta{background:var(--yellow);color:var(--ink);min-height:calc(var(--tap) * 1.2);margin-top:.4em;padding:0 1.4em;font-size:clamp(24px,3.6vmin,48px);box-shadow:0 8px #c9b832,0 16px 36px #00000040}.btn-cta:active{transform:translateY(5px);box-shadow:0 3px #c9b832,0 8px 18px #00000040}.pulse{animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.btn-primary{background:var(--red);color:var(--white);box-shadow:0 6px 0 var(--red-dark), 0 10px 24px #de28264d}.btn-primary:active{box-shadow:0 2px 0 var(--red-dark);transform:translateY(4px)}.btn-ghost{color:var(--ink);background:0 0;box-shadow:inset 0 0 0 3px #1c25412e}.btn-danger{color:#fff;background:#b3261e}.btn-small{min-height:52px;padding:0 1em;font-size:18px}.link-btn{color:var(--red);text-underline-offset:3px;vertical-align:baseline;background:0 0;border:0;min-height:44px;padding:.35em .1em;font-weight:700;text-decoration:underline}.privacy-line .link-btn{min-height:0;padding:.2em 0;font-size:1.1em}.card{background:var(--white);color:var(--ink);border-radius:var(--radius);justify-self:center;width:100%;max-width:760px;max-height:100%;padding:clamp(18px,3.2vmin,44px);overflow:hidden;box-shadow:0 24px 60px #28000059,0 0 0 6px #ffffff40}.card-title{color:var(--ink);margin:0 0 .15em;font-size:clamp(28px,4.2vmin,56px);font-weight:800;line-height:1.02}.card-intro{color:var(--muted);margin:0 0 .8em}.field{margin-bottom:.2em;display:block}.field-label{margin-bottom:.2em;font-size:clamp(16px,2vmin,24px);font-weight:700;display:block}.field input{width:100%;min-height:var(--tap);background:var(--sand);color:var(--ink);border:3px solid #e6dcd8;border-radius:16px;outline:none;padding:0 .7em;font-size:max(18px,clamp(20px,2.6vmin,32px));font-weight:600;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 5px #de282626}.field input[aria-invalid=true]{border-color:#b3261e}.field-error,.form-error{color:#b3261e;min-height:1.3em;margin:.1em 0 .5em;font-size:clamp(15px,1.9vmin,22px);font-weight:700}.form-error:empty,.field-error:empty{min-height:.4em}.consent{cursor:pointer;border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:.7em;margin:.4em -.7em .2em;padding:.7em;font-size:clamp(15px,1.95vmin,23px);display:grid}.consent input{opacity:0;width:1px;height:1px;position:absolute}.consent-box{background:var(--sand);border:3px solid #cfc3bf;border-radius:12px;place-items:center;width:clamp(36px,4.6vmin,52px);height:clamp(36px,4.6vmin,52px);transition:background .15s,border-color .15s,transform .15s;display:grid}.consent-box:after{content:"";border:5px solid #fff;border-width:0 5px 5px 0;width:40%;height:65%;margin-top:-12%;transition:transform .18s cubic-bezier(.3,1.6,.5,1);transform:rotate(45deg)scale(0)}.consent input:checked+.consent-box{background:var(--red);border-color:var(--red)}.consent input:checked+.consent-box:after{transform:rotate(45deg)scale(1)}.consent input:focus-visible+.consent-box{outline:4px solid var(--ink);outline-offset:2px}.consent-text small{color:var(--muted);margin-top:.2em;font-size:.88em;display:block}.privacy-line{color:var(--muted);margin:.2em 0 .3em;font-size:clamp(13px,1.6vmin,19px)}.form-actions{justify-content:space-between;gap:14px;margin-top:.3em;display:flex}.form-actions .btn-primary{flex:1}.screen-spin,.screen-spinning,.screen-attract,.screen-closed{text-align:left}.swipe-hint{height:clamp(50px,9vmin,120px);position:relative}.hand{font-size:clamp(44px,7vmin,96px);animation:1.6s ease-in-out infinite swipe;position:absolute;top:0;left:0}@keyframes swipe{0%{opacity:0;transform:translate(0,0)rotate(-10deg)}20%{opacity:1}70%{opacity:1;transform:translate(-60%,10%)rotate(-35deg)}to{opacity:0;transform:translate(-80%,12%)rotate(-35deg)}}.screen-result{text-align:center}.screen-result .kicker{color:var(--red);font-size:clamp(22px,3.4vmin,44px)}.prize{color:var(--ink);margin:0 0 .25em;font-size:clamp(36px,6vmin,84px);font-weight:800;line-height:1;animation:.6s cubic-bezier(.3,1.6,.5,1) both pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.result-text{max-width:34ch;color:var(--ink);margin:0 auto .8em}.result-emoji{font-size:clamp(56px,10vmin,120px);line-height:1;animation:.6s cubic-bezier(.3,1.6,.5,1) both pop}.result-hint{color:var(--muted);margin:.8em 0 0;font-size:.9em}.redeem{border:4px dashed var(--red);background:var(--sand);border-radius:20px;flex-direction:column;align-items:center;padding:.4em 1.2em .3em;display:inline-flex}.redeem span,.code-box span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85em;font-weight:700}.redeem strong{letter-spacing:.18em;color:var(--red);font-variant-numeric:tabular-nums;padding-left:.18em;font-size:clamp(56px,10vmin,130px);line-height:1.05}.code-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(14px,2.6vmin,36px);display:flex}.code-box{border:4px dashed var(--red);background:var(--sand);border-radius:20px;flex-direction:column;align-items:center;padding:.5em 1em;display:flex}.code-box strong{letter-spacing:.06em;color:var(--red);word-break:break-all;font-size:clamp(36px,6.4vmin,88px);line-height:1.1}.code-box small{color:var(--muted);font-size:.8em}.code-qr{width:clamp(130px,22vmin,280px);margin:0}.code-qr svg{border-radius:12px;width:100%;height:auto;display:block}.code-qr figcaption{color:var(--muted);margin-top:.3em;font-size:clamp(13px,1.6vmin,18px)}.result-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(14px,2.6vmin,30px);display:flex}.countdown{color:var(--muted);font-size:clamp(14px,1.7vmin,20px)}[data-screen=form] .wheel-area{opacity:.55;transform:scale(.86)}[data-screen=result] .wheel-area{transform:scale(.92)}@media (orientation:portrait){.stage{grid-template-rows:minmax(0,1.1fr) minmax(0,1fr);grid-template-columns:1fr;align-items:stretch}.panel{align-items:start}.screen-attract,.screen-spin,.screen-spinning,.screen-closed{text-align:center;justify-self:center}.sub{margin-inline-start:auto;margin-inline-end:auto}.hand{left:50%}[data-screen=form] .stage{grid-template-rows:minmax(0,.55fr) minmax(0,1.45fr)}[data-screen=result] .stage{grid-template-rows:minmax(0,.85fr) minmax(0,1.15fr)}[data-screen=attract] .panel,[data-screen=closed] .panel{align-items:center}[data-screen=form] .wheel-area,[data-screen=result] .wheel-area{transform:none}}.kb [data-screen=form] .wheel-area,.kb [data-screen=form] .topbar{display:none}.kb [data-screen=form] .stage{grid-template-rows:1fr;grid-template-columns:1fr;padding-top:8px}.kb [data-screen=form] .panel{align-items:start}.kb .card-intro{display:none}.screen-form{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-y:auto}@media (max-height:560px) and (orientation:landscape){.card{padding:14px 20px}.card-intro{display:none}.consent{padding:.3em .7em}}@media (min-width:1600px) and (min-height:1000px){.card{max-width:900px}}.sync-dot{right:calc(8px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));opacity:.55;z-index:5;background:#7ddc9a;border-radius:50%;width:10px;height:10px;position:fixed}.sync-dot[data-state=pending]{background:var(--yellow)}.sync-dot[data-state=offline]{background:#c9c9c9}.sync-dot[data-state=error]{background:#1c2541;box-shadow:0 0 0 2px #fff}.fs-warn{right:calc(24px + env(safe-area-inset-right));bottom:calc(4px + env(safe-area-inset-bottom));color:#fff;opacity:.6;pointer-events:none;z-index:5;font-size:12px;line-height:18px;position:fixed}.fs-warn[hidden],.app:not([data-screen=attract]):not([data-screen=closed]) .fs-warn{display:none}.dlg{border-radius:var(--radius);max-width:min(760px,92vw);max-height:88dvh;color:var(--ink);background:#fff;border:0;padding:clamp(20px,3vmin,40px);font-size:clamp(15px,1.9vmin,22px);box-shadow:0 30px 80px #0006}.dlg::backdrop{background:#1c254199}.dlg h2{margin:0 0 .4em;font-size:1.5em}.dlg-body{align-items:flex-start;gap:24px;display:flex}.dlg ul{margin:0 0 1em;padding-left:1.2em}.dlg li{margin-bottom:.45em}.privacy-qr{text-align:center;color:var(--muted);flex:0 0 clamp(120px,18vmin,200px);margin:0;font-size:.8em}.privacy-qr svg{width:100%;height:auto}@media (orientation:portrait){.dlg-body{flex-direction:column;align-items:center}}.confetti-canvas{pointer-events:none;z-index:40;width:100vw;height:100vh;position:fixed;top:0;bottom:0;left:0;right:0}.staff{z-index:60;color:var(--ink);-webkit-user-select:text;user-select:text;background:#f6f3f2;font-size:17px;position:fixed;top:0;bottom:0;left:0;right:0}.staff[hidden]{display:none}.pin{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:16px;display:flex}.pin h2{margin:0;font-size:32px}.pin-dots{letter-spacing:.3em;min-height:1.4em;color:var(--ink);font-size:28px}.pin-dots.is-empty{letter-spacing:0;color:var(--muted);font-size:20px}.pin-msg{color:#b3261e;min-height:1.3em;margin:0;font-weight:700}.pin-pad{grid-template-columns:repeat(3,84px);gap:12px;display:grid}.pin-pad button{background:#fff;border:0;border-radius:20px;height:84px;font-size:32px;font-weight:800;box-shadow:0 3px #ddd}.pin-pad button:active{background:#eee}.pin-ok{width:276px}.staff-shell{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-rows:auto auto 1fr;display:grid}.staff-head{background:var(--ink);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.staff-head .muted{color:#c5cbe0}.staff-tabs{background:#fff;border-bottom:1px solid #e3dcda;gap:4px;padding:8px 12px 0;display:flex;overflow-x:auto}.staff-tabs button{white-space:nowrap;background:0 0;border:0;border-bottom:4px solid #0000;min-height:52px;padding:12px 16px;font-weight:700}.staff-tabs button[aria-selected=true]{border-color:var(--red);color:var(--red)}.staff-body{-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:16px clamp(16px,3vw,40px) 60px;position:relative;overflow:auto}.staff h3{margin:1.4em 0 .5em}.staff .muted{color:var(--muted);font-size:.92em}.stats{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.stat{background:#fff;border-radius:14px;flex-direction:column;padding:12px 14px;display:flex;box-shadow:0 1px #e3dcda}.stat b{font-size:30px;line-height:1.1}.stats-sm .stat b{font-size:22px}.stat span{color:var(--muted);font-size:15px}.stat-bad b{color:#b3261e}.alert{color:#5b4300;background:#fff4d6;border:2px solid #f0c64a;border-radius:12px;margin:0 0 12px;padding:10px 14px;font-weight:600}.tbl{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;font-size:16px;overflow:hidden}.tbl th,.tbl td{text-align:left;vertical-align:middle;border-bottom:1px solid #efe8e6;padding:10px 12px}.tbl th{color:var(--muted);background:#faf7f6;font-size:14px}.row-off td{color:#999}.sw{vertical-align:-2px;border-radius:4px;width:16px;height:16px;margin-right:8px;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}code{background:#f1ecea;border-radius:6px;padding:1px 6px}.row-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.row-actions input{border:2px solid #d8cfcc;border-radius:12px;width:160px;min-height:52px;padding:0 12px;font-size:20px}.seg-head,.seg-row{grid-template-columns:52px minmax(120px,2fr) minmax(120px,1.3fr) minmax(90px,1.2fr) 90px 80px 90px 52px;align-items:center;gap:8px;display:grid}.seg-head{color:var(--muted);padding:0 4px 4px;font-size:13px}.seg-row{background:#fff;border-radius:12px;margin-bottom:6px;padding:8px}.seg-row input,.seg-row select,.form-grid input,.form-grid select,.redeem-search input{min-height:48px;color:var(--ink);background:#fff;border:2px solid #ddd3d0;border-radius:10px;width:100%;min-width:0;padding:0 10px;font-size:17px}.seg-row input[type=color]{height:48px;padding:2px}.seg-row input:disabled{color:#aaa;background:#f3f0ef}.seg-aw{font-size:13px}@media (max-width:900px){.seg-head{display:none}.seg-row{grid-template-columns:52px 1fr 1fr}}.form-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px 20px;display:grid}.form-grid label{flex-direction:column;gap:4px;font-size:15px;font-weight:600;display:flex}.form-grid label.check{flex-direction:row;align-items:center;gap:10px}.form-grid label.check input{width:28px;height:28px;min-height:0}.redeem-search{gap:10px;max-width:480px;display:flex}.redeem-search input{letter-spacing:.2em;text-transform:uppercase;min-height:64px;font-size:30px;font-weight:800}.lead-card{border:3px solid var(--yellow);background:#fff;border-radius:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:center;gap:10px 16px;margin:12px 0;padding:16px;display:grid}.lead-card.is-done{border-color:#9fd9b4}.lead-card div{flex-direction:column;display:flex}.big-code{letter-spacing:.15em;color:var(--red);font-size:40px}.kv{padding-left:1.2em}.toast{z-index:2;border-radius:12px;margin-bottom:12px;padding:12px 16px;font-weight:700;position:sticky;top:0}.toast-ok{color:#0e5a2d;background:#d9f3e2}.toast-err{color:#8a1c14;background:#fde0dd}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.12s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.bg:before,.bg-blob,.pulse,.hand{animation:none!important}}
