.keno-page{color:var(--color-text-primary);background:var(--color-bg-base)}.keno-game-stack{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0}@media (min-width:1024px){.keno-game-stack{flex-direction:row;align-items:stretch}}.keno-controls{width:100%;padding:16px 16px 20px;display:flex;flex-direction:column;z-index:10;background:color-mix(in srgb,var(--color-bg-elevated) 88%,transparent);border-bottom:1px solid var(--color-border)}@media (min-width:1024px){.keno-controls{width:320px;flex-shrink:0;border-bottom:none;border-right:1px solid var(--color-border)}}.keno-board-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}.keno-board-area{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:min(520px,70vh);padding:28px 16px 32px;overflow:hidden;background:var(--color-bg-base)}.keno-board-area:before{background:url(/logo_compact_1.webp) no-repeat 50%;background-size:min(42%,280px);opacity:.035}.keno-board-area:after,.keno-board-area:before{content:"";position:absolute;inset:0;pointer-events:none}.keno-board-area:after{background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(200,149,42,.06) 0,transparent 55%)}.keno-grid-wrap{position:relative;z-index:2;width:100%;max-width:min(680px,96vw);margin:0 auto}.keno-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;width:100%}@media (max-width:480px){.keno-grid{gap:4px}}.keno-cell{aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,255,255,.07);background:radial-gradient(circle at 36% 30%,#252e4a 0,#141929 72%);color:rgba(140,155,180,.55);font-size:clamp(8px,2.5vw,13px);font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;cursor:default;position:relative;user-select:none;transition:transform .12s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.keno-cell:after{content:"";position:absolute;top:13%;left:20%;width:28%;height:18%;background:radial-gradient(ellipse,rgba(255,255,255,.22) 0,transparent 80%);border-radius:50%;pointer-events:none}.keno-cell--clickable{cursor:pointer}.keno-cell--clickable:hover{transform:scale(1.12);border-color:rgba(200,149,42,.52);color:rgba(200,149,42,.95);background:radial-gradient(circle at 36% 30%,#3b2e14 0,#1f1608 72%);box-shadow:0 0 14px rgba(200,149,42,.2)}.keno-cell--picked{background:radial-gradient(circle at 36% 30%,#4e3618 0,#2c1f08 72%);border-color:rgba(200,149,42,.75);color:var(--color-primary);box-shadow:0 0 14px rgba(200,149,42,.28),0 2px 8px rgba(0,0,0,.45)}.keno-cell--drawn{background:radial-gradient(circle at 36% 30%,#27324d 0,#192030 72%);border-color:rgba(148,163,184,.55);color:rgba(200,215,235,.92);box-shadow:0 0 8px rgba(148,163,184,.14);animation:keno-pop .24s cubic-bezier(.34,1.56,.64,1) forwards}.keno-cell--hit{background:radial-gradient(circle at 36% 30%,#1c4d32 0,#0a1d10 72%);border-color:rgba(0,231,1,.78);color:#00ff88;font-weight:900;animation:keno-hit .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes keno-pop{0%{transform:scale(.6);opacity:.2}65%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}@keyframes keno-hit{0%{transform:scale(.6);opacity:.2;box-shadow:0 0 0 0 rgba(0,231,1,.8)}45%{transform:scale(1.28);box-shadow:0 0 0 8px rgba(0,231,1,.2),0 0 22px rgba(0,231,1,.45)}72%{transform:scale(1.06);box-shadow:0 0 0 14px rgba(0,231,1,.05),0 0 16px rgba(0,231,1,.28)}to{transform:scale(1);box-shadow:0 0 16px rgba(0,231,1,.28),0 0 0 0 transparent}}.keno-pick-bar{display:flex;gap:5px;align-items:center;margin-top:2px}.keno-pick-dot{flex:1;height:6px;border-radius:3px;background:var(--color-bg-hover);border:1px solid var(--color-border);transition:background .15s ease,border-color .15s ease}.keno-pick-dot--on{background:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 70%,transparent);box-shadow:0 0 5px rgba(200,149,42,.3)}.keno-pick-actions{display:flex;gap:6px;margin-top:8px}.keno-action-btn{flex:1;padding:9px 10px;border-radius:7px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:11px;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.keno-action-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-bg-hover) 70%,transparent);color:var(--color-text-secondary);border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border))}.keno-action-btn:disabled{opacity:.3;cursor:not-allowed}.keno-action-btn--accent{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));color:var(--color-primary)}.keno-action-btn--accent:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 65%,var(--color-border))}.keno-payout-wrap{border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-bg-base)}.keno-payout-head{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;background:color-mix(in srgb,var(--color-bg-hover) 35%,transparent);border-bottom:1px solid var(--color-border)}.keno-payout-head-label{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.keno-payout-rows{display:flex;flex-direction:column;max-height:175px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.keno-payout-row{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .12s ease;gap:8px}.keno-payout-row:last-child{border-bottom:none}.keno-payout-row--active{background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.keno-payout-row--active .keno-payout-label{color:var(--color-primary)}.keno-payout-label{font-weight:700;white-space:nowrap}.keno-payout-label,.keno-payout-value{font-size:11px;color:var(--color-text-muted)}.keno-payout-value{font-weight:800;text-align:right}.keno-payout-row--paying .keno-payout-value{color:var(--color-primary)}.keno-payout-sub{font-size:9px;font-weight:600;color:var(--color-text-muted);display:block;margin-top:1px}.keno-result-banner{margin-top:14px;padding:12px 14px;border-radius:10px;display:flex;align-items:center;gap:10px;animation:keno-banner-in .3s ease-out}@keyframes keno-banner-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.keno-result-banner--win{background:linear-gradient(135deg,rgba(0,231,1,.08),rgba(0,231,1,.04));border:1px solid rgba(0,231,1,.3)}.keno-result-banner--loss{background:color-mix(in srgb,var(--color-bg-hover) 55%,transparent);border:1px solid var(--color-border)}.keno-result-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);flex:1}.keno-result-banner--win .keno-result-label{color:#00ff88}.keno-result-value{font-size:16px;font-weight:900;color:#00ff88}.keno-result-hits{font-size:11px;font-weight:700;color:var(--color-text-muted)}.keno-board-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-elevated) 75%,transparent);flex-wrap:wrap}.keno-board-title-text{font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-primary);line-height:1.1}.keno-board-subtitle{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-top:1px}.keno-board-header-center{flex:1;display:flex;justify-content:center;min-width:0}.keno-draw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-bg-base) 80%,transparent);border:1px solid var(--color-border);white-space:nowrap}.keno-draw-pill-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.keno-draw-pill-value{font-size:12px;font-weight:900;color:var(--color-text-primary);min-width:4ch}.keno-sound-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-hover) 40%,transparent);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.keno-sound-btn:hover{background:color-mix(in srgb,var(--color-bg-hover) 80%,transparent);color:var(--color-text-secondary)}.keno-sound-btn.active{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.keno-flash{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0}.keno-flash--win{background:radial-gradient(ellipse 70% 55% at 50% 50%,rgba(0,231,1,.12) 0,transparent 68%);animation:keno-flash-win 1s ease-out forwards}.keno-flash--loss{background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(80,90,120,.07) 0,transparent 65%);animation:keno-flash-loss .7s ease-out forwards}@keyframes keno-flash-win{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes keno-flash-loss{0%{opacity:0}30%{opacity:1}to{opacity:0}}.keno-board-result{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;animation:keno-result-in .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes keno-result-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.keno-result-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 22px;border-radius:40px;font-weight:900}.keno-result-chip--win{background:linear-gradient(135deg,rgba(0,231,1,.13),rgba(0,180,1,.06));border:1px solid rgba(0,231,1,.38);box-shadow:0 0 24px rgba(0,231,1,.1)}.keno-result-chip--loss{background:color-mix(in srgb,var(--color-bg-elevated) 75%,transparent);border:1px solid var(--color-border)}.keno-result-chip-mult{font-size:24px;font-weight:900;letter-spacing:-.01em;color:#00ff88}.keno-result-chip-win-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#00ff88;display:block}.keno-result-chip-hits{font-size:10px;font-weight:600;letter-spacing:.04em;display:block}.keno-result-chip--loss .keno-result-chip-win-label,.keno-result-chip-hits{color:var(--color-text-muted)}.keno-board-area.is-rolling:after{animation:keno-glow-pulse 1.1s ease-in-out infinite}@keyframes keno-glow-pulse{0%,to{opacity:1}50%{opacity:.25}}