:root{color-scheme: light;--toolbar: #2196F3;--fundo: #eeeeee;--cabecalho-lista: #52adde;--painel: #2180F3;--amarelo: #FFFF00;--verde-numero: #32CD32;--ultimo: #03A9F4;--texto-azul: #257fb3;--texto-cinza: #c0c0c0;--perto: rgba(56,176,222,0.565);--medio: rgba(56,176,222,0.145);--nav-h: 58px;--toolbar-h: 56px;--safe-top: env(safe-area-inset-top,0px);--safe-bottom: env(safe-area-inset-bottom,0px)}*{box-sizing: border-box;-webkit-tap-highlight-color: transparent}html,body{height: 100%}html{touch-action: pan-x pan-y;-webkit-text-size-adjust: 100%;text-size-adjust: 100%}body{margin: 0;font-family: Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;background: var(--fundo);color: #000;display: flex;flex-direction: column;height: 100dvh;overflow: hidden;overscroll-behavior: none}button{font: inherit;color: inherit;cursor: pointer}input{font: inherit}[hidden]{display: none !important}#splash{position: fixed;inset: 0;z-index: 100;background: #00011a;transition: opacity .15s ease}#splash img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}#splash .version{position: absolute;left: 0;right: 0;bottom: calc(20px + var(--safe-bottom));margin: 0;font-size: 14px;color: #fff;text-align: center;padding: 0 16px}#splash.gone{opacity: 0;pointer-events: none}.toolbar{flex: none;background: var(--toolbar);color: #fff;height: calc(var(--toolbar-h) + var(--safe-top));padding: var(--safe-top) 8px 0 16px;display: flex;align-items: center;justify-content: space-between}.app-name{font-size: 20px;font-weight: 500}.icon-btn{border: none;background: none;padding: 8px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;color: #555}.icon-btn svg{width: 24px;height: 24px}.icon-btn.light{color: #fff}.icon-btn:active{background: rgba(0,0,0,.1)}.toolbar-action{border: none;background: none;color: #fff;height: 44px;padding: 0 8px;border-radius: 2px;font-size: 14px;font-weight: 500;text-transform: uppercase;white-space: nowrap;flex: none}.toolbar-action:active{background: rgba(255,255,255,.2)}main{flex: 1;min-height: 0;display: flex;overflow-x: auto;overflow-y: hidden;scroll-snap-type: x mandatory;overscroll-behavior-x: contain;scrollbar-width: none}main::-webkit-scrollbar{display: none}.screen{position: relative;flex: 0 0 100%;width: 100%;height: 100%;overflow-y: auto;scroll-snap-align: start;scroll-snap-stop: always}#nav{flex: none;background: #fff;border-bottom: 1px solid #ddd;box-shadow: 0 1px 3px rgba(0,0,0,.12);position: relative;z-index: 1;height: var(--nav-h);display: grid;grid-template-columns: repeat(3,1fr)}.tab{border: none;background: none;color: #757575;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;font-size: 12px;padding: 4px 2px}.tab svg{width: 24px;height: 24px}.tab.active{color: var(--toolbar)}.play{display: flex;flex-direction: column;overflow: hidden}.play-head{flex: none;background: var(--cabecalho-lista);color: #fff;display: grid;grid-template-columns: repeat(3,1fr);padding: 8px;font-size: clamp(15px,4.6vw,20px)}.play-head span:last-child{text-align: center}.play-scroll{flex: 1;min-height: 0;overflow-y: auto;padding-bottom: calc(110px + var(--safe-bottom));background: #fff}.play[data-panel="expanded"] .play-scroll{padding-bottom: calc(300px + var(--safe-bottom))}.play[data-panel="hidden"] .play-scroll{padding-bottom: 0;background: var(--fundo)}.row{display: grid;grid-template-columns: 1fr 1fr 1fr 2fr;align-items: center;padding: 10px 6px;border-bottom: 1px solid #e0e0e0;font-size: clamp(15px,4.6vw,20px);cursor: pointer}.row.near{background: var(--perto)}.row.mid{background: var(--medio)}.row:focus-visible{outline: 2px solid var(--toolbar);outline-offset: -2px}.c-id{text-align: center}.c-count{text-align: right;padding-right: 8px}.c-rule{font-style: italic;overflow: hidden;text-overflow: ellipsis}.c-nums{text-align: center;font-weight: 700}.c-nums.bingo{color: var(--amarelo);text-shadow: 0 0 2px #000,0 0 2px #000}.empty{text-align: center;font-size: 22px;margin: 30px;color: #000}.sentinel{height: 1px}.panel{position: absolute;left: 0;right: 0;bottom: 0;background: var(--painel);padding: 0 6px calc(6px + var(--safe-bottom));box-shadow: 0 -2px 4px rgba(0,0,0,.25);touch-action: pan-x}.play[data-panel="hidden"] .panel{display: none}.panel-handle{display: block;width: 100%;height: 16px;border: none;background: none;padding: 0;position: relative}.panel-handle::after{content: "";position: absolute;left: 50%;top: 6px;width: 40px;height: 4px;margin-left: -20px;border-radius: 2px;background: rgba(255,255,255,.6)}.dozens{padding: 0 4px 6px;font-size: 14px;color: #000}.letters{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 5px}.letter-btn,.number-btn{border: 1px solid #000;border-radius: 4px;background: #fff;color: #000;touch-action: manipulation;user-select: none;min-width: 0;width: 100%;padding: 0;-webkit-appearance: none;appearance: none}.letter-btn{font-size: 26px;height: 46px}.letter-btn.on{background: var(--amarelo)}.number-btn.on{background: var(--verde-numero)}.numbers{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 5px;overflow: hidden;max-height: 0;margin-top: 0;transition: max-height .22s ease,margin-top .22s ease}.play[data-panel="expanded"] .numbers{max-height: 200px;margin-top: 6px}.number-btn{font-size: 22px;height: 48px}.letter-btn:active,.number-btn:active{filter: brightness(.9)}.cards,.rules{padding: 10px 10px calc(24px + var(--safe-bottom));background: var(--fundo)}.screen-title{font-size: 17px;font-weight: 400;margin: 10px 0 0}.add-row{display: flex;gap: 10px;margin-top: 15px}.add-row input{flex: 2;min-width: 0;font-size: 20px;padding: 8px 4px;border: none;border-bottom: 2px solid var(--toolbar);background: transparent;outline: none}.add-row .outline-btn{flex: 1}.outline-btn{border: 1px solid var(--texto-azul);border-radius: 4px;background: transparent;color: var(--texto-azul);font-size: 14px;text-transform: uppercase;min-height: 45px;padding: 0 8px}.outline-btn:active{background: rgba(85,85,85,.376)}.outline-btn:disabled{background: var(--texto-cinza);color: #696969;border-color: #696969}.outline-btn.wide{display: block;width: 100%;margin-top: 15px}.quantity{font-size: 17px;margin: 12px 0 6px}.cards-list{background: #fff}.card-row{display: flex;align-items: center;gap: 12px;padding: 6px 12px 6px 4px;color: var(--texto-azul);font-weight: 700;font-size: clamp(15px,4.6vw,20px);border-bottom: 1px solid #e0e0e0;white-space: pre}.card-row.first{background: var(--amarelo)}.card-row .remove{width: 36px;height: 36px;flex: none}.card-row .remove svg{width: 20px;height: 20px}.rule-row{display: flex;align-items: center;width: 100%;text-align: left;border: none;background: none;padding: 10px;font-size: 17px;color: var(--texto-azul)}.rule-row .check{display: inline-flex;margin: 0 15px 0 6px;color: #555}.rule-row .check svg{width: 22px;height: 22px}.rule-row .rule-short{color: var(--texto-cinza);margin-left: 10px}.rule-row.fixed{cursor: default}.rules-list{margin-top: 0}.dialog-backdrop{position: fixed;inset: 0;z-index: 50;background: rgba(0,0,0,.45);display: flex;align-items: center;justify-content: center;padding: calc(16px + var(--safe-top)) 12px calc(16px + var(--safe-bottom))}.dialog-backdrop.full{padding: 0;background: #fff;align-items: stretch}.alert{background: #fff;border-radius: 4px;width: min(100%,360px);padding: 20px 20px 8px;box-shadow: 0 8px 24px rgba(0,0,0,.3)}.alert h2{font-size: 20px;font-weight: 500;margin: 0 0 12px}.alert p{font-size: 16px;margin: 0 0 16px;color: #444;line-height: 1.4}.alert-actions{display: flex;justify-content: flex-end;gap: 8px}.text-btn{border: none;background: none;color: #009688;font-weight: 500;font-size: 15px;padding: 10px 12px}.card-dialog{background: #fff;border-radius: 8px;padding: 8px 10px 12px;width: min(100%,420px)}.card-dialog-top{display: grid;grid-template-columns: 44px 1fr 44px;align-items: center;gap: 4px}.card-dialog-top>.card-title{grid-column: 2;text-align: center}.card-dialog-top>.icon-btn{grid-column: 3}.card-title{font-size: clamp(22px,7vw,30px)}.card-title.small{font-size: clamp(18px,5.6vw,24px)}.card-grid{display: grid;grid-template-columns: repeat(5,1fr);gap: 4px;margin-top: 8px}.card-head{text-align: center;font-size: clamp(24px,8vw,35px);font-weight: 500}.card-cell{aspect-ratio: 1;display: flex;align-items: center;justify-content: center;text-align: center;line-height: 1;min-height: 44px;font-variant-numeric: tabular-nums;font-size: clamp(20px,7vw,32px);border: 1px solid #000;border-radius: 4px;background: #fff}.card-cell.drawn{background: var(--amarelo)}.card-cell.last{background: var(--ultimo)}.card-cell.card-free{font-weight: 700}.victory{flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: center;padding: calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));text-align: center;cursor: pointer}.victory h2{font-size: 30px;font-weight: 500;margin: 0 0 12px}.victory img{width: min(80vw,360px);height: auto}.victory-lines p{font-size: 20px;margin: 12px 0}.victory-hint{color: #888;font-size: 14px}.confetti{position: absolute;inset: 0;width: 100%;height: 100%;pointer-events: none;z-index: 1}.dialog-backdrop.scanner-backdrop{background: #000}.scanner{position: relative;flex: 1;overflow: hidden;background: #000;color: #fff}.scanner-video{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.scanner-frame{position: absolute;left: 50%;top: 45%;width: min(78vw,360px);height: min(56vw,260px);transform: translate(-50%,-50%);border: 3px solid rgba(255,255,255,.85);border-radius: 12px;box-shadow: 0 0 0 100vmax rgba(0,0,0,.35)}.scanner-top{position: absolute;left: 0;right: 0;top: 0;padding: calc(8px + var(--safe-top)) 10px 8px;display: flex;align-items: center;gap: 12px}.scanner-count{flex: 1;font-size: 22px;text-shadow: 0 1px 3px #000}.scanner-flash{border: none;background: var(--amarelo);color: #000;font-size: 20px;padding: 8px 14px;border-radius: 4px}.scanner-flash[aria-pressed="true"]{outline: 3px solid #fff}.scanner-message{position: absolute;left: 16px;right: 16px;top: 40%;margin: 0;padding: 16px;background: rgba(0,0,0,.75);border-radius: 8px;font-size: 18px;text-align: center;line-height: 1.4}.scanner-result{position: absolute;left: 0;right: 0;bottom: 0;padding: 16px 16px calc(16px + var(--safe-bottom));display: flex;flex-direction: column;align-items: center;gap: 16px}.scanner-result-text{margin: 0;background: var(--amarelo);color: #000;font-size: clamp(28px,10vw,48px);padding: 4px 12px;text-align: center;white-space: pre-line;line-height: 1.15;max-width: 100%;overflow-wrap: anywhere}.scanner-actions{display: flex;gap: 16px}.scanner-confirm,.scanner-cancel{border: none;color: #fff;font-size: 22px;padding: 12px 18px;border-radius: 2px}.scanner-confirm{background: #669900}.scanner-cancel{background: #cc0000}.scanner-saving{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;background: rgba(0,0,0,.6);font-size: 20px}.pwa-banner{position: fixed;left: 8px;right: 8px;z-index: 40;top: calc(var(--toolbar-h) + var(--safe-top) + var(--nav-h) + 8px);max-width: 480px;margin: 0 auto;background: #fff;color: #000;border-radius: 8px;box-shadow: 0 4px 16px rgba(0,0,0,.3);padding: 12px;display: flex;flex-wrap: wrap;align-items: center;gap: 12px}.pwa-banner-text{flex: 1;min-width: 180px;display: flex;flex-direction: column;gap: 2px;font-size: 14px;line-height: 1.4}.pwa-banner-text strong{font-size: 16px;font-weight: 500}.pwa-banner-actions{display: flex;justify-content: flex-end;gap: 4px;margin-left: auto}.pwa-banner.update{background: #323232;color: #fff}.pwa-banner.update .text-btn{color: var(--amarelo)}body.install-only{display: block;overflow: auto;height: auto;min-height: 100dvh;background: #fff}.install-gate{min-height: 100dvh;display: flex;flex-direction: column}.install-head{background: var(--toolbar);color: #fff;text-align: center;padding: calc(24px + var(--safe-top)) 20px 22px}.install-head img{border-radius: 16px;display: block;margin: 0 auto 12px}.install-head h1{margin: 0;font-size: 24px;font-weight: 500}.install-head p{margin: 4px 0 0;font-size: 15px}.install-body{flex: 1;width: min(100%,480px);margin: 0 auto;display: flex;flex-direction: column;gap: 14px;padding: 20px 20px calc(20px + var(--safe-bottom))}.install-body h2{margin: 4px 0 0;font-size: 15px;font-weight: 500;color: #555}.install-main{border: none;border-radius: 8px;background: var(--toolbar);color: #fff;font-size: 17px;font-weight: 500;padding: 14px;width: 100%}.install-main[hidden]{display: none}.install-steps{list-style: none;counter-reset: passo;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 14px}.install-steps li{counter-increment: passo;position: relative;padding-left: 40px;min-height: 28px;font-size: 16px;line-height: 1.4;color: #222}.install-steps li::before{content: counter(passo);position: absolute;left: 0;top: -1px;width: 28px;height: 28px;border-radius: 50%;background: var(--toolbar);color: #fff;font-size: 14px;font-weight: 500;display: flex;align-items: center;justify-content: center}.install-steps b{font-weight: 500;color: #000}.install-steps svg{width: 20px;height: 20px;vertical-align: -4px;color: var(--toolbar)}.install-note{margin: 0;background: #e3f2fd;color: #0c447c;border-radius: 8px;padding: 12px;font-size: 14px;line-height: 1.4}.install-foot{margin: auto 0 0;padding-top: 14px;border-top: 1px solid #ddd;font-size: 14px;line-height: 1.4;color: #555;text-align: center}.install-url{margin: auto 0 0;padding-top: 14px;border-top: 1px solid #ddd;font-size: 15px;color: #333;text-align: center;overflow-wrap: anywhere;user-select: text;-webkit-user-select: text}.install-copy-field{position: fixed;opacity: 0}body.desktop-only{display: block;overflow: auto;height: auto;min-height: 100vh;background: linear-gradient(180deg,var(--toolbar) 0 220px,var(--fundo) 220px)}.desktop-gate{min-height: 100vh;display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 40px 20px 24px;gap: 20px}.desktop-card{background: #fff;border-radius: 16px;box-shadow: 0 12px 40px rgba(0,0,0,.18);width: min(100%,560px);padding: 36px 40px 32px;text-align: center}.desktop-brand{display: inline-flex;align-items: center;gap: 12px;font-size: 22px;font-weight: 500;color: #333}.desktop-brand img{border-radius: 14px}.desktop-card h1{font-size: 28px;font-weight: 500;margin: 24px 0 10px;color: #000}.desktop-lead{font-size: 16px;line-height: 1.55;color: #444;margin: 0 auto;max-width: 440px}.desktop-platforms{display: flex;justify-content: center;gap: 14px;margin: 26px 0;flex-wrap: wrap}.desktop-platform{display: inline-flex;align-items: center;gap: 10px;border: 1px solid #d0d0d0;border-radius: 12px;padding: 10px 20px;font-size: 18px;font-weight: 500;color: #222}.desktop-platform svg{width: 28px;height: 28px}.desktop-platform:first-child svg{color: #000}.desktop-platform:last-child svg{color: #3DDC84}.desktop-qr{display: flex;align-items: center;gap: 22px;text-align: left;background: #f5f7fa;border-radius: 12px;padding: 18px 20px}.desktop-qr img{width: 168px;height: 168px;flex: none;background: #fff;border-radius: 8px;padding: 6px;image-rendering: pixelated}.desktop-qr strong{font-size: 18px;font-weight: 500}.desktop-qr p{margin: 6px 0 0;font-size: 14px;line-height: 1.5;color: #555}.desktop-qr .desktop-url{font-size: 16px;font-weight: 500;color: var(--toolbar);word-break: break-all}.desktop-footer{margin: 0;font-size: 13px;color: #777}@media (max-width: 520px){.desktop-card{padding: 28px 20px}.desktop-qr{flex-direction: column;text-align: center}}#toast{position: fixed;left: 50%;bottom: calc(var(--safe-bottom) + 24px);z-index: 60;transform: translate(-50%,20px);opacity: 0;pointer-events: none;background: rgba(50,50,50,.92);color: #fff;font-size: 15px;padding: 10px 18px;border-radius: 20px;max-width: calc(100% - 32px);text-align: center;transition: opacity .2s ease,transform .2s ease}#toast.show{opacity: 1;transform: translate(-50%,0)}body.scanning #toast{bottom: auto;top: calc(64px + var(--safe-top))}@media (prefers-reduced-motion: reduce){.numbers,#toast,#splash{transition: none}}.tab .ball.on,.tab.active .ball.off{display: none}.tab.active .ball.on{display: block}