*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;background:radial-gradient(1200px 600px at 10% -10%,rgba(99,102,241,.18),transparent 60%),radial-gradient(1000px 500px at 110% 0%,rgba(139,92,246,.14),transparent 60%),#07080c;color:#f5f5f7;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%;min-height:100vh;font-feature-settings:"cv11","ss01"}body{padding:0}#app{display:block;width:100%;min-height:100vh}.card{display:block;width:100%;max-width:100%;min-height:100vh;margin:0 auto;background:linear-gradient(180deg,#14151c,#101119);border:none;border-radius:0;padding:20px 16px 32px;box-shadow:none}.card.game-card{max-width:100%}@media(min-width:640px){body{padding:28px 20px 40px}.card{max-width:640px;min-height:auto;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:28px;box-shadow:0 1px rgba(255,255,255,.04) inset,0 20px 40px -20px rgba(0,0,0,.6),0 4px 12px -4px rgba(0,0,0,.3)}.card.game-card{max-width:760px}}@media(min-width:1024px){body{padding:48px 32px}.card{max-width:760px;padding:32px}.card.game-card{max-width:1040px}.game-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:28px;align-items:start}.game-side>.place-bar{margin-top:14px;padding-top:14px}}@media(min-width:1440px){.card{max-width:840px;padding:36px}.card.game-card{max-width:1200px}.game-layout{gap:36px;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr)}}h1{margin:0 0 6px;font-size:24px;font-weight:700;letter-spacing:-.01em;background:linear-gradient(180deg,#fff,#c7cbe1);-webkit-background-clip:text;background-clip:text;color:transparent}p{margin:0 0 16px;color:#b4b6c3}p:last-child{margin-bottom:0}.muted{color:#8a8d9f}.small{font-size:12px;margin-bottom:4px;letter-spacing:.04em;text-transform:uppercase;color:#73768a}.strong{font-weight:600;font-size:18px;margin:0;color:#f5f5f7}.balance{font-variant-numeric:tabular-nums;font-weight:700;font-size:20px;letter-spacing:-.01em}.right{text-align:right}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.field{display:block;margin-bottom:18px}.field-label{display:block;margin-bottom:8px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#73768a}.code-input{width:100%;padding:16px 18px;font-size:20px;font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;background:#0a0b10;color:#f5f5f7;border:1px solid rgba(255,255,255,.08);border-radius:10px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.code-input::placeholder{color:#454858;letter-spacing:.24em}.code-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.2)}.code-input[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.18)}button{font-family:inherit;cursor:pointer;border-radius:10px;border:1px solid transparent;font-size:15px;font-weight:600;padding:12px 16px;letter-spacing:-.005em;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform 80ms ease,box-shadow .14s ease;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.4}button:not(:disabled):active{transform:translateY(1px)}.primary{display:block;width:100%;background:linear-gradient(180deg,#6366f1,#4f46e5);color:#fff;margin-top:8px;border:1px solid rgba(255,255,255,.08);box-shadow:0 1px rgba(255,255,255,.2) inset,0 8px 24px -8px rgba(99,102,241,.5)}.primary:not(:disabled):hover{background:linear-gradient(180deg,#7073f4,#5a52ea);box-shadow:0 1px rgba(255,255,255,.2) inset,0 10px 28px -8px rgba(99,102,241,.6)}.ghost{background:rgba(255,255,255,.03);color:#d1d3e0;border-color:rgba(255,255,255,.08)}.ghost:not(:disabled):hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#f5f5f7}.ghost.grow{flex:1 1 0}.danger{display:block;width:100%;margin-top:16px;background:linear-gradient(180deg,#ef4444,#dc2626);color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 1px rgba(255,255,255,.18) inset,0 6px 18px -6px rgba(239,68,68,.45)}.danger:not(:disabled):hover{background:linear-gradient(180deg,#f15454,#e12e2e);box-shadow:0 1px rgba(255,255,255,.2) inset,0 10px 24px -8px rgba(239,68,68,.55)}.go{background:linear-gradient(180deg,#10b981,#059669);color:#fff;border:1px solid rgba(255,255,255,.1);box-shadow:0 1px rgba(255,255,255,.22) inset,0 8px 24px -8px rgba(16,185,129,.55)}.go:not(:disabled):hover{background:linear-gradient(180deg,#14c693,#0ba678);box-shadow:0 1px rgba(255,255,255,.24) inset,0 10px 28px -8px rgba(16,185,129,.65)}.go:disabled{background:linear-gradient(180deg,#1e2030,#16182a);color:#6b6f83;border-color:rgba(255,255,255,.06);box-shadow:none}.link{background:transparent;color:#a5b4fc;border:none;padding:6px 10px;font-size:14px;font-weight:500}.link:not(:disabled):hover{color:#c7d2fe}.error{background:linear-gradient(180deg,rgba(127,29,29,.35),rgba(127,29,29,.2));border:1px solid rgba(239,68,68,.4);color:#fecaca;padding:12px 14px;border-radius:10px;font-size:14px;margin:0 0 12px}.warn{background:linear-gradient(180deg,rgba(146,64,14,.28),rgba(146,64,14,.14));border:1px solid rgba(251,191,36,.38);color:#fde68a;padding:12px 14px;border-radius:10px;font-size:14px;margin:0 0 12px}.success{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;background:linear-gradient(180deg,rgba(5,105,73,.25),rgba(5,105,73,.12));border:1px solid rgba(16,185,129,.35);color:#bbf7d0;padding:12px 14px;border-radius:10px;font-size:14px;margin:0 0 12px}.success strong{color:#f0fdf4;letter-spacing:-.005em}.ticket-serial{font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.06em;background:rgba(6,78,59,.5);border:1px solid rgba(16,185,129,.3);padding:3px 8px;border-radius:6px;color:#d1fae5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(min-width:768px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}.game{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#1b1d27,#141520);color:#e5e7f0;border:1px solid rgba(255,255,255,.06);padding:28px 12px 22px;font-weight:600;min-height:120px;overflow:hidden}.game:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(99,102,241,.18) 0%,transparent 60%);opacity:0;transition:opacity .15s ease;pointer-events:none}.game:not(:disabled):hover{border-color:rgba(99,102,241,.5);transform:translateY(-1px)}.game:not(:disabled):hover:before{opacity:1}.game-emoji{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(180deg,#262836,#1a1c27);border:1px solid rgba(255,255,255,.08);font-size:28px;margin-bottom:10px;line-height:1;box-shadow:0 4px 12px -4px rgba(0,0,0,.4)}.hero{text-align:center;margin:16px 0 28px}.hero-emoji{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(99,102,241,.4),transparent 60%),linear-gradient(180deg,#1d1f2b,#131420);border:1px solid rgba(255,255,255,.08);font-size:56px;line-height:1;margin-bottom:16px;box-shadow:0 16px 40px -16px rgba(99,102,241,.5)}.empty{margin:0 0 14px;padding:14px;border:1px dashed rgba(255,255,255,.1);background:rgba(255,255,255,.02);border-radius:10px;text-align:center;color:#8a8d9f}.picker-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.count{font-variant-numeric:tabular-nums;background:rgba(255,255,255,.05);color:#c7cbe1;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid rgba(255,255,255,.08)}.count.count-full{background:linear-gradient(180deg,rgba(251,191,36,.2),rgba(245,158,11,.12));color:#fde68a;border-color:rgba(251,191,36,.4)}.keno-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-bottom:14px;padding:10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.04);border-radius:12px}.keno-cell{background:linear-gradient(180deg,#1e2030,#15172a);color:#d1d3e0;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:0;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;height:40px;display:flex;align-items:center;justify-content:center}.keno-cell:not(:disabled):hover{background:linear-gradient(180deg,#2a2d42,#1f2238);border-color:rgba(165,180,252,.4)}.keno-cell:disabled:not(.is-selected){opacity:.3}.keno-cell.is-selected{background:linear-gradient(180deg,#fcd34d,#f59e0b);color:#1c1917;border-color:#f59e0b;box-shadow:0 1px rgba(255,255,255,.3) inset,0 6px 16px -6px rgba(245,158,11,.6)}.keno-actions{display:flex;gap:8px;margin-bottom:18px}.control-block{margin-bottom:18px}.control-label{margin:0 0 8px;font-size:12px;font-weight:500;color:#73768a;text-transform:uppercase;letter-spacing:.06em}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{background:linear-gradient(180deg,#1e2030,#16182a);color:#d1d3e0;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:9px 16px;font-weight:700;font-variant-numeric:tabular-nums;font-size:14px;min-width:60px}.chip:not(:disabled):hover{background:linear-gradient(180deg,#262839,#1c1e30);border-color:rgba(255,255,255,.16)}.chip.is-active{background:linear-gradient(180deg,#6366f1,#4f46e5);border-color:rgba(255,255,255,.18);color:#fff;box-shadow:0 1px rgba(255,255,255,.2) inset,0 4px 14px -4px rgba(99,102,241,.5)}.stepper{display:flex;align-items:stretch;gap:8px}.step{background:linear-gradient(180deg,#1e2030,#16182a);color:#e5e7f0;border:1px solid rgba(255,255,255,.08);width:44px;height:44px;font-size:22px;font-weight:600;padding:0}.step:not(:disabled):hover{background:linear-gradient(180deg,#262839,#1c1e30);border-color:rgba(255,255,255,.16)}.step-value{flex:1 1 auto;background:#0a0b10;color:#f5f5f7;border:1px solid rgba(255,255,255,.08);border-radius:10px;text-align:center;font-size:16px;font-variant-numeric:tabular-nums;font-weight:700;-moz-appearance:textfield}.step-value::-webkit-outer-spin-button,.step-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.step-value:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.2)}.place-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.place{margin-top:0;width:auto;flex:0 0 auto;padding:14px 26px;font-size:15px}.bet-list{list-style:none;margin:0 0 16px;padding:2px;max-height:260px;overflow-y:auto;scrollbar-gutter:stable;border-radius:10px}.bet-list::-webkit-scrollbar{width:8px}.bet-list::-webkit-scrollbar-track{background:transparent}.bet-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}.bet-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.18)}.bet-list{scrollbar-color:rgba(255,255,255,.12) transparent;scrollbar-width:thin}.bet-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.05);border-radius:10px;margin-bottom:6px}.bet-odds{font-weight:800;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,rgba(251,191,36,.18),rgba(245,158,11,.08));color:#fde68a;padding:5px 12px;border-radius:8px;font-size:14px;border:1px solid rgba(251,191,36,.25)}.bet-stake{flex:1 1 auto;font-variant-numeric:tabular-nums;font-weight:600;color:#e5e7f0}.bet-remove{background:transparent;color:#8a8d9f;border:1px solid rgba(255,255,255,.08);width:32px;height:32px;padding:0;font-size:18px;border-radius:8px}.bet-remove:not(:disabled):hover{background:rgba(239,68,68,.1);color:#fecaca;border-color:rgba(239,68,68,.4)}.odds-tier{margin-bottom:12px}.odds-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.odds-cell{background:linear-gradient(180deg,#1e2030,#15172a);color:#d1d3e0;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:0;font-weight:700;font-variant-numeric:tabular-nums;font-size:13px;height:42px}.odds-cell:not(:disabled):hover{background:linear-gradient(180deg,#2a2d42,#1f2238);border-color:rgba(251,191,36,.4);color:#fde68a}.diamond-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}@media(min-width:520px){.diamond-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.diamond{display:flex;flex-direction:column;align-items:stretch;gap:6px;background:linear-gradient(180deg,#1a1c27,#12131d);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;text-align:left;min-height:108px;position:relative;overflow:hidden}.diamond:not(:disabled):hover{background:linear-gradient(180deg,#222430,#171824);border-color:rgba(255,255,255,.12)}.diamond.is-picked{background:linear-gradient(180deg,#1c1917,#0f0d0b);border-color:rgba(251,191,36,.6);box-shadow:0 0 0 1px rgba(251,191,36,.2),0 8px 20px -8px rgba(251,191,36,.35)}.diamond-swatch{display:block;height:22px;border-radius:6px;border:1px solid rgba(255,255,255,.18);box-shadow:0 1px rgba(255,255,255,.1) inset}.diamond-label{font-size:13px;font-weight:700;color:#f5f5f7}.diamond-odds{font-size:11px;color:#73768a;font-variant-numeric:tabular-nums;letter-spacing:.02em}.diamond-stake{margin-top:4px;font-size:12px;font-weight:800;color:#fde68a;font-variant-numeric:tabular-nums}.hint{margin-top:6px;font-size:12px}@media(max-width:380px){.card{padding:16px 12px 28px}.keno-grid{padding:6px;gap:4px}.keno-cell{height:34px;font-size:13px}.chip{padding:8px 12px;min-width:52px}.game{min-height:104px;padding:20px 10px 16px}.game-emoji{width:48px;height:48px;font-size:24px}}@media(min-width:640px){.keno-cell{height:48px;font-size:16px}.odds-cell{height:46px;font-size:14px}}@media(min-width:1024px){.keno-cell{height:44px;font-size:15px;border-radius:8px}.odds-cell{height:44px;font-size:14px}.keno-grid{gap:6px;padding:10px}.odds-row{gap:6px}.diamond{min-height:96px;padding:10px}.game{min-height:144px;padding:32px 14px 26px}.game-emoji{width:64px;height:64px;font-size:32px}h1{font-size:26px}.balance{font-size:22px}}@media(min-width:1440px){.keno-cell{height:48px;font-size:16px}.odds-cell{height:46px;font-size:15px}}
