@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.3xzwb88tucl-q.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.20csvlgbb63y1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.17e3l4txdrufi.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:900;font-display:swap;src:url(../media/4ae8e3010ce79e6a-s.04gt7nnmcu1ux.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:900;font-display:swap;src:url(../media/1747e1908d2352d2-s.1vuant06qyiys.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:900;font-display:swap;src:url(../media/4b766aa38fdaaae3-s.p.139ucknmlxzq9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_e168ab56-module__sUAilq__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_e168ab56-module__sUAilq__variable{--font-poppins:"Poppins", "Poppins Fallback"}
:root{--bordeaux:#5a0e18;--bordeaux-deep:#3d0810;--bordeaux-light:#7d1a28;--cream:#f3e6cf;--cream-dark:#c9a27e;--brown:#8a5a3b;--gold:#e7b94c;--green:#2fbf71;--red:#e5383b;--yellow:#ffd23f;--footer-h:64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;margin:0;padding:0;overflow:hidden}body{background:var(--bordeaux);color:var(--cream);font-family:var(--font-poppins), system-ui, sans-serif;font-weight:400}button,input{font-family:inherit}.bg-drawing{opacity:.18;z-index:0;pointer-events:none;background:url(/circus.svg) 50%/cover no-repeat;position:fixed;inset:0}.bg-overlay{z-index:0;pointer-events:none;background:#5a0e1873;position:fixed;inset:0}.app{z-index:1;flex-direction:column;height:100dvh;display:flex;position:relative}.main{min-height:0;padding:max(12px, env(safe-area-inset-top)) 16px 8px;flex-direction:column;flex:1;display:flex}.footer{height:calc(var(--footer-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#3d0810d9;border-top:2px solid #f3e6cf40;flex-shrink:0;justify-content:center;align-items:center;display:flex}.footer-logo{max-height:calc(var(--footer-h) - 16px);object-fit:contain;max-width:60%}.footer-text{letter-spacing:.2em;color:#fff;font-weight:900}.title{text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:900;line-height:1.05}.subtitle{color:var(--cream-dark);margin:0}.card{background:#f3e6cf14;border:2px solid #f3e6cf33;border-radius:20px;padding:16px}.btn{text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:var(--cream);color:var(--bordeaux);border:none;border-radius:16px;padding:14px 18px;font-size:1rem;font-weight:900;transition:transform 80ms,opacity .2s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-gold{background:var(--gold);color:var(--bordeaux-deep)}.btn-ghost{color:var(--cream);background:0 0;border:2px solid #f3e6cf73}.btn-small{border-radius:12px;padding:8px 12px;font-size:.8rem}.btn-danger{background:var(--red);color:#fff}.input{width:100%;color:var(--cream);background:#3d081099;border:2px solid #f3e6cf59;border-radius:14px;outline:none;padding:14px 16px;font-size:1rem}.input:focus{border-color:var(--gold)}.error{color:#ffb3b3;margin:0;font-size:.9rem}.muted{color:var(--cream-dark);font-size:.85rem}.login{flex-direction:column;flex:1;justify-content:center;gap:24px;width:100%;max-width:420px;margin:0 auto;display:flex}.login-hero{text-align:center}.login-hero .title{color:var(--cream);text-shadow:0 4px 0 var(--bordeaux-deep);font-size:clamp(2.4rem,12vw,3.6rem)}.login-hero .title span{color:var(--gold)}.login form{flex-direction:column;gap:12px;display:flex}.user{flex-direction:column;flex:1;align-items:center;gap:clamp(6px,1.5dvh,14px);width:100%;max-width:480px;min-height:0;margin:0 auto;display:flex}.user-head{justify-content:space-between;align-items:flex-start;gap:8px;width:100%;display:flex}.user-head .title{font-size:clamp(1.3rem,5.5vw,1.8rem)}.team-badge{background:var(--cream-dark);color:var(--bordeaux-deep);text-transform:uppercase;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:.8rem;font-weight:900;display:inline-block}.qr-wrap{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;container-type:size}.qr-box{width:min(100cqw,100cqh);height:min(100cqw,100cqh);box-shadow:0 0 0 6px var(--cream-dark), 0 12px 30px #00000059;background:#fff;border-radius:20px;padding:4%}.qr-box svg{width:100%;height:100%;display:block}.points{text-align:center;line-height:1}.points-value{color:var(--gold);font-size:clamp(2.2rem,8dvh,3.6rem);font-weight:900}.points-label{text-transform:uppercase;letter-spacing:.2em;color:var(--cream-dark);font-size:.8rem}.bump{animation:.6s bump}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.tickets{flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;padding:0 4px;display:grid}.ticket{background:var(--cream);min-width:0;height:min(16dvh,27vw,130px);color:var(--bordeaux);border:3px dashed var(--bordeaux-light);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:6px 4px;transition:filter .4s,opacity .4s,background .4s;display:flex;position:relative}.ticket:before,.ticket:after{content:"";background:#4f0c15;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translateY(-50%)}.ticket:before{left:-7px}.ticket:after{right:-7px}.ticket-icon{flex:1;width:80%;min-height:0}.ticket-label{text-transform:uppercase;text-align:center;font-size:clamp(.55rem,2.6vw,.75rem);font-weight:900;line-height:1.1}.ticket.used{filter:grayscale();opacity:.45;background:#bdb6ad}.popup-backdrop{z-index:50;background:#00000059;justify-content:center;align-items:center;animation:2.2s forwards fade;display:flex;position:fixed;inset:0}.popup{text-align:center;border-radius:28px;min-width:70%;max-width:90%;padding:28px 24px;animation:.5s cubic-bezier(.2,1.6,.4,1) both pop;box-shadow:0 20px 50px #00000073}.popup-green{background:var(--green);color:#fff}.popup-red{background:var(--red);color:#fff}.popup-yellow{background:var(--yellow);color:var(--bordeaux-deep)}.popup-big{font-size:clamp(4rem,22vw,7rem);font-weight:900;line-height:1}.popup-text{font-size:clamp(2rem,10vw,3rem);font-weight:900;line-height:1.1}.popup-small{text-transform:uppercase;letter-spacing:.1em;margin-top:6px;font-weight:900}@keyframes pop{0%{opacity:0;transform:scale(.3)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}.admin{flex-direction:column;flex:1;gap:12px;width:100%;max-width:560px;min-height:0;margin:0 auto;display:flex}.tabs{background:#3d0810b3;border-radius:16px;flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.tab{color:var(--cream);text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:10px 4px;font-size:.8rem;font-weight:900}.tab.active{background:var(--cream);color:var(--bordeaux)}.panel{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.scanner{border:3px solid var(--cream-dark);background:#000;border-radius:24px;flex:1;min-height:0;position:relative;overflow:hidden;container-type:size}.scanner video{object-fit:cover;width:100%;height:100%}.scanner-frame{aspect-ratio:1;border:4px solid var(--gold);pointer-events:none;border-radius:24px;width:62%;max-width:62cqh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000059}.scanner-msg{text-align:center;text-shadow:0 2px 6px #000;font-weight:900;position:absolute;bottom:12px;left:0;right:0}.player-view{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.corner-row{flex-shrink:0;justify-content:space-between;gap:8px;display:flex}.player-info{text-align:center;flex-shrink:0}.player-info .title{font-size:clamp(1.6rem,8vw,2.4rem)}.player-points{color:var(--gold);font-size:clamp(2rem,9vw,3rem);font-weight:900;line-height:1.1}.big-actions{flex:1;grid-template-rows:1fr 1fr;gap:12px;min-height:0;display:grid}.big-btn{text-transform:uppercase;cursor:pointer;border:none;border-radius:24px;justify-content:center;align-items:center;gap:12px;font-size:clamp(1.4rem,7vw,2rem);font-weight:900;display:flex;box-shadow:0 8px #0000004d}.big-btn:active{transform:translateY(4px);box-shadow:0 4px #0000004d}.big-btn-points{background:var(--gold);color:var(--bordeaux-deep)}.big-btn-food{background:var(--cream);color:var(--bordeaux)}.big-btn svg{width:1.8em;height:1.8em}.pad-display{flex-shrink:0;align-items:center;gap:8px;display:flex}.sign-toggle{background:#3d0810b3;border-radius:14px;flex-shrink:0;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.sign-toggle button{cursor:pointer;width:56px;color:var(--cream);background:0 0;border:none;border-radius:10px;padding:10px 0;font-size:1.4rem;font-weight:900}.sign-toggle button.on-plus{background:var(--green);color:#fff}.sign-toggle button.on-minus{background:var(--red);color:#fff}.pad-value{text-align:right;white-space:nowrap;background:#3d0810b3;border-radius:14px;flex:1;min-height:1.4em;padding:4px 16px;font-size:clamp(2rem,10vw,3rem);font-weight:900;overflow:hidden}.pad-value.plus{color:#7cf0b0}.pad-value.minus{color:#ff9b9d}.pad{flex:1;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0;display:grid}.pad button{min-height:0;color:var(--bordeaux);cursor:pointer;background:#f3e6cfeb;border:none;border-radius:16px;padding:0;font-size:clamp(1.4rem,7vw,2rem);font-weight:900}.pad button:active{background:var(--gold)}.pad button.pad-muted{color:var(--cream);background:#f3e6cf4d}.food-grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;display:grid}.food-option{background:var(--cream);color:var(--bordeaux);text-transform:uppercase;cursor:pointer;border:4px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:0;padding:8px;font-weight:900;display:flex;position:relative}.food-option svg{flex:1;width:55%;min-height:0}.food-option.selected{border-color:var(--green);box-shadow:0 0 0 4px #2fbf7166}.food-option.selected:after{content:"✓";background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:8px;right:10px}.food-option.used{background:#bdb6ad}.food-option.used svg,.food-option.used>span{filter:grayscale();opacity:.45}.food-used{text-transform:none;text-align:center;color:var(--bordeaux-deep);font-size:.7rem;font-weight:400;line-height:1.1}.food-option:disabled{cursor:default}.board{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.board li{background:#f3e6cf1a;border-radius:14px;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:10px 12px;transition:background .6s;display:grid}.board li.flash{background:#e7b94c73}.board .rank{text-align:center;color:var(--cream-dark);font-size:1.1rem;font-weight:900}.board .rank-1{color:gold}.board .rank-2{color:#e0e0e0}.board .rank-3{color:#d9955b}.board .who{min-width:0}.board .who strong{text-overflow:ellipsis;white-space:nowrap;font-weight:900;display:block;overflow:hidden}.board .who span{color:var(--cream-dark);font-size:.75rem}.board .pts{color:var(--gold);font-size:1.2rem;font-weight:900}.seg{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.seg button{color:var(--cream);cursor:pointer;background:0 0;border:2px solid #f3e6cf66;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:900}.seg button.active{background:var(--cream);color:var(--bordeaux)}.section{flex-direction:column;gap:10px;display:flex}.section h3{text-transform:uppercase;margin:0;font-size:1rem;font-weight:900}.row{align-items:center;gap:8px;display:flex}.list-row{border-bottom:1px solid #f3e6cf26;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.file-label{text-align:center;cursor:pointer;border:3px dashed #f3e6cf66;border-radius:16px;padding:18px;font-weight:900;display:block}.file-label input{display:none}.topbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.topbar .title{font-size:1.2rem}.view-toggle{background:#3d0810b3;border-radius:14px;flex-shrink:0;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.view-toggle button{color:var(--cream);text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 4px;font-size:.85rem;font-weight:900}.view-toggle button.active{background:var(--gold);color:var(--bordeaux-deep)}.team-bar{background:#f3e6cf26;border-radius:3px;grid-column:2/4;height:6px;overflow:hidden}.team-bar span{background:var(--gold);height:100%;transition:width .6s;display:block}.modal-backdrop{z-index:40;background:#140306b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bordeaux-deep);flex-direction:column;gap:12px;width:100%;max-width:440px;max-height:100%;display:flex;overflow-y:auto}.field{flex-direction:column;gap:4px;display:flex}.field>span{text-transform:uppercase;letter-spacing:.08em;color:var(--cream-dark);font-size:.75rem;font-weight:900}.user-row{cursor:pointer}.user-row:active{background:#f3e6cf14}.manual-link{color:var(--cream-dark);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:center;padding:4px 8px;font-size:.8rem;text-decoration:underline}.manual{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.manual .input{padding:10px 14px}.manual-results{flex-direction:column;gap:4px;max-height:38dvh;display:flex;overflow-y:auto}.manual-item{text-align:left;color:var(--cream);cursor:pointer;background:#f3e6cf1f;border:none;border-radius:12px;padding:10px 14px;font-size:.95rem}.manual-item:active{background:#e7b94c66}.player-view.compact{gap:8px}.player-view.compact .player-info .title{font-size:clamp(1.1rem,5.5vw,1.5rem)}.player-view.compact .player-info{flex-wrap:wrap;justify-content:center;align-items:center;column-gap:10px;display:flex}.player-view.compact .team-badge{margin-top:0}.player-view.compact .player-points{font-size:clamp(1.3rem,6vw,1.8rem)}.player-view.compact .pad-value{font-size:clamp(1.6rem,8vw,2.4rem)}.player-view.compact .sign-toggle button{padding:6px 0}.player-view.compact .pad button{font-size:clamp(1.2rem,6vw,1.8rem)}.select-bar{z-index:2;background:var(--bordeaux-deep);border-radius:12px;justify-content:space-between;gap:8px;padding:8px 0;display:flex;position:sticky;top:0}.list-row.selected{background:#e5383b2e}.check{border:2px solid #f3e6cf99;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.check.on{background:var(--red);border-color:var(--red)}.check.on:after{content:"✓";color:#fff;font-size:.8rem;font-weight:900}.admin-row{border-bottom:1px solid #f3e6cf26;flex-direction:column;gap:6px;padding:10px 0;display:flex}.admin-row-head,.admin-row-pass{justify-content:space-between;align-items:center;gap:8px;display:flex}.mono{letter-spacing:.04em;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}.role-picker{flex-direction:column;gap:6px;display:flex}.role-badge{background:var(--gold);color:var(--bordeaux-deep);text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.65rem;font-weight:900;display:inline-block}
