:root{color-scheme: light;--toolbar: #2196F3;--fundo: #eeeeee;--cabecalho-lista: #52adde;--painel: #2180F3;--amarelo: #FFFF00;--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: #fff;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 24px;transition: opacity .3s ease}#splash img{width: min(60vw,260px);height: auto}#splash .version{position: absolute;bottom: calc(24px + var(--safe-bottom));margin: 0;font-size: 14px;color: #555;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)}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-top: 1px solid #ddd;height: calc(var(--nav-h) + var(--safe-bottom));padding-bottom: var(--safe-bottom);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: 110px;background: #fff}.play[data-panel="expanded"] .play-scroll{padding-bottom: 300px}.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 6px;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,1fr);gap: 5px}.letter-btn,.number-btn{border: 1px solid #000;border-radius: 4px;background: #fff;color: #000;touch-action: manipulation;user-select: none}.letter-btn{font-size: 26px;height: 46px}.letter-btn.on,.number-btn.on{background: var(--amarelo)}.numbers{display: grid;grid-template-columns: repeat(5,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 24px;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}.card-cell.blink{animation: pisca .5s ease-in-out 8}@keyframes pisca{0%,100%{opacity: 1}50%{opacity: .2}}.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;bottom: calc(var(--nav-h) + var(--safe-bottom) + 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 img{border-radius: 8px;flex: none}.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 .text-btn{color: var(--toolbar)}.pwa-banner .text-btn.muted{color: #666}.pwa-banner.update{background: #323232;color: #fff}.pwa-banner.update .text-btn{color: var(--amarelo)}.share-icon{width: 18px;height: 18px;vertical-align: -3px;color: var(--toolbar)}#toast{position: fixed;left: 50%;bottom: calc(var(--nav-h) + 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}.card-cell.blink{animation: none;outline: 3px solid var(--ultimo)}}