:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172019;background:#f4f7f2;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit;border-radius:8px}button{border:0;background:#0f6d58;color:#fff;padding:.72rem 1rem;cursor:pointer;font-weight:800}button:hover{background:#0a5746}button:disabled{background:#8c9a90;cursor:wait}button.danger{background:#9d1f2f}button.danger:hover{background:#7d1624}button.secondary{background:#56645b}button.secondary:hover{background:#3f4b43}main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px}.center{min-height:100vh;display:grid;place-items:center}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0}h1,h2,p{margin-top:0}h1{font-size:2.4rem;margin-bottom:0}.eyebrow{text-transform:uppercase;letter-spacing:0;color:#8c1f42;font-weight:900;margin-bottom:.2rem}.balance{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.notice,.error,.result{border-left:5px solid #0f6d58;background:#fff;padding:12px 14px;border-radius:8px;box-shadow:0 8px 26px #17201914}.error{border-color:#b3261e;color:#8b1a14}.result{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.result.won{border-color:#0f6d58}.result.lost{border-color:#b3261e}.login{min-height:100vh;display:grid;place-items:center;background-image:linear-gradient(#f4f7f2b3,#f4f7f2eb),url(https://images.unsplash.com/photo-1596838132731-3301c3fd4317?auto=format&fit=crop&w=1800&q=80);background-size:cover;background-position:center}.loginForm{background:#fffffff0;padding:28px;border-radius:8px;width:min(440px,100%);box-shadow:0 16px 42px #17201933}form{display:grid;gap:12px}label{display:grid;gap:6px;font-weight:700}input,select{width:100%;border:1px solid #cbd6ca;padding:.7rem;background:#fff}.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:18px}.partyPanel{display:grid;gap:14px;margin-top:18px}.partyHeader{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:14px;align-items:end;background:#fff;border-radius:8px;padding:16px;box-shadow:0 10px 30px #1720191a}.partyHeader p{margin-bottom:0}.partyList{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.partyCard{background:#fff;border-radius:8px;padding:14px;display:grid;gap:12px;box-shadow:0 8px 24px #17201914}.partyMembers{display:grid;gap:6px}.partyMembers span{display:flex;gap:8px;align-items:center;justify-content:space-between;background:#e9f1eb;border-radius:8px;padding:8px;overflow-wrap:anywhere}.partyMembers .offline{background:#f3e2e2;color:#8b1a14}.partyActions,.inviteForm{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inviteForm label{flex:1 1 180px}.miniButton{padding:.35rem .5rem;font-size:.82rem}.muted{color:#56645b}.game{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #1720191a;display:grid;grid-template-rows:160px 1fr;border:1px solid rgba(15,109,88,.1)}.game img{width:100%;height:160px;object-fit:cover;display:block}.gameBody{padding:16px;display:grid;gap:12px;align-content:start}.modePill{justify-self:start;background:#e9f1eb;color:#0f6d58;border-radius:8px;padding:4px 8px;font-weight:900;text-transform:uppercase;font-size:.76rem}.gameBody h2{margin:0;font-size:1.2rem}.gameBody p{min-height:48px;margin-bottom:0}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tableSetup,.roundPage{display:grid;gap:18px;margin-top:18px}.tableHero{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:18px;align-items:stretch;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #1720191a}.soloGameHero{border-bottom:5px solid #0f6d58}.tableGameHero{border-bottom:5px solid #8c1f42}.tableHero img{width:100%;height:100%;min-height:260px;object-fit:cover}.tableHero div{padding:22px}.roundForm{grid-template-columns:repeat(3,minmax(120px,1fr));align-items:end}.staticField{display:grid;gap:6px;background:#e9f1eb;border-radius:8px;padding:10px}.staticField span{font-weight:700;color:#56645b}.roundHeader{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border-radius:8px;padding:18px;box-shadow:0 10px 30px #1720191a}.timer{min-width:84px;min-height:84px;border-radius:8px;display:grid;place-items:center;background:#e9f1eb;font-size:1.8rem;font-weight:900}.timer.hot{background:#fff0c7;color:#7d3d00}.seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pokerTable{background:#0f6d58;border:8px solid #b8a36a;border-radius:8px;padding:16px;box-shadow:inset 0 0 0 2px #ffffff2e,0 16px 36px #1720192e}.seat{background:#fff;border:2px solid transparent;border-radius:8px;padding:12px;display:grid;gap:10px;min-height:170px}.seat.active{border-color:#0f6d58}.pokerTable .seat.active{border-color:#fff0c7;box-shadow:0 0 0 3px #fff0c759}.seat span{color:#56645b;overflow-wrap:anywhere}.seatHeader{display:grid;gap:2px}.seatStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.seatStats span{background:#e9f1eb;border-radius:6px;padding:6px;text-align:center;font-size:.88rem}.cardRow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cardImage{width:48px;aspect-ratio:3 / 4;display:block}.cardImage.dealt{animation:cardDealIn .28s ease-out}.cardImage.dealingPending{opacity:.55;transform:translateY(-6px)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;border-radius:8px;padding:14px}.compactActions{padding:0;background:transparent}.compactActions button{width:100%}.solo-roulette .compactActions.rouletteActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.solo-roulette .compactActions.rouletteActions button{width:auto;min-height:38px;padding:7px 6px;font-size:.84rem}.solo-roulette .compactActions.rouletteActions .numberBet{min-width:0}.raiseControl{width:min(180px,100%)}.soloStage{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:stretch}.soloPlayfield{min-height:360px;border-radius:8px;padding:22px;background:linear-gradient(135deg,#0f6d58f0,#172019f5),url(https://images.unsplash.com/photo-1606167668584-78701c57f13d?auto=format&fit=crop&w=1600&q=80);background-size:cover;background-position:center;display:grid;align-content:center;gap:18px;box-shadow:inset 0 0 0 2px #ffffff1f,0 16px 36px #1720192e}.playSlip{background:#fff;border-radius:8px;padding:18px;display:grid;gap:14px;align-content:start;box-shadow:0 10px 30px #1720191a}.playSlip h3{margin:0}.simulationStep{background:#fff0c7;border-radius:8px;padding:9px 10px;font-weight:800;margin:0}.slipRows{display:grid;gap:8px}.slipRows span{display:flex;justify-content:space-between;gap:10px;background:#e9f1eb;border-radius:8px;padding:9px 10px}.deltaWin{color:#0f6d58}.deltaLoss{color:#9d1f2f}.roundVisuals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.soloVisuals{grid-template-columns:1fr}.roundVisuals>div{background:#fff;border-radius:8px;padding:14px;box-shadow:0 8px 24px #17201914}.soloVisuals>div{background:#fffffff0;text-align:center}.soloVisuals .symbolRow{justify-content:center}.symbolRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.symbol,.die,.wheelNumber,.numberGrid span{min-width:44px;min-height:44px;border-radius:8px;display:grid;place-items:center;background:#e9f1eb;font-weight:900}.symbol{min-width:92px;min-height:72px;background:#fff0c7;color:#172019;border:2px solid #b8a36a;box-shadow:inset 0 -10px #b8a36a29}.slotMachine{overflow:hidden}.symbol.spinning{animation:reelSpin .18s linear infinite;color:transparent;position:relative}.symbol.spinning:after{content:"SPIN";color:#172019;position:absolute}.symbol.spinning:nth-child(2):after{content:"ROLL"}.symbol.spinning:nth-child(3):after{content:"STOP"}.die{background:#fff;border:2px solid #172019;font-size:1.5rem}.die.rolling{animation:diceRoll .28s ease-in-out infinite}.wheelNumber{width:72px;height:72px;margin-top:8px;background:#172019;color:#fff;font-size:2rem;margin-left:auto;margin-right:auto;border:6px solid #9d1f2f;box-shadow:0 0 0 8px #f4f7f2}.wheelSpin{animation:wheelSpin .42s linear infinite;background:conic-gradient(#9d1f2f 0 20%,#172019 20% 40%,#0f6d58 40% 60%,#fff0c7 60% 80%,#9d1f2f 80% 100%);color:#fff}.rouletteVisual{display:grid;justify-items:center;gap:12px;overflow:hidden}.rouletteWheel{position:relative;width:min(300px,86vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at center,#f4f7f2 0 18%,transparent 19%),radial-gradient(circle at center,#172019 0 46%,#b8a36a 47% 51%,#172019 52% 100%);box-shadow:inset 0 0 0 10px #b8a36a,inset 0 0 0 18px #172019,0 18px 36px #1720193d}.rouletteRotor{position:absolute;inset:50%;transform-origin:0 0}.rouletteSpinning .rouletteRotor{animation:rouletteRotate .82s cubic-bezier(.42,0,.58,1) infinite}.roulettePocket{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.66rem;font-weight:900;border:1px solid rgba(255,255,255,.5);box-shadow:0 2px 6px #17201959}.roulettePocket.red,.rouletteResult.red{background:#9d1f2f}.roulettePocket.black,.rouletteResult.black{background:#172019}.roulettePocket.green,.rouletteResult.green{background:#0f6d58}.roulettePocket.hit{outline:4px solid #fff0c7;z-index:2}.rouletteResult{position:absolute;inset:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:2.1rem;font-weight:900;border:6px solid #f4f7f2;box-shadow:0 0 0 5px #b8a36acc}.rouletteResult.spinning{background:conic-gradient(#9d1f2f 0 32%,#172019 32% 64%,#0f6d58 64% 100%)}.rouletteReadout{margin:0;font-weight:900;text-transform:capitalize}.numberGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;margin-top:8px}.numberGrid.picks span{background:#fff0c7}.numberGrid.drawing span{animation:numberDraw .75s ease-in-out infinite}.dealZone{display:grid;gap:14px;justify-items:center;background:#fffffff0;border-radius:8px;padding:18px}.dealZone .cardRow{justify-content:center}.dealZone .cardImage{width:72px}.dealZone.dealing .cardImage{animation:dealPulse .55s ease-in-out infinite alternate}@keyframes reelSpin{0%{transform:translateY(-4px);filter:blur(0)}50%{transform:translateY(5px);filter:blur(1px)}to{transform:translateY(-4px);filter:blur(0)}}@keyframes diceRoll{0%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(10deg) translateY(-6px)}to{transform:rotate(-8deg) translateY(0)}}@keyframes wheelSpin{to{transform:rotate(360deg)}}@keyframes rouletteRotate{0%{transform:rotate(0)}to{transform:rotate(720deg)}}@keyframes numberDraw{0%,to{transform:scale(1);background:#e9f1eb}50%{transform:scale(1.08);background:#fff0c7}}@keyframes dealPulse{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes cardDealIn{0%{transform:translateY(-10px) rotate(-2deg);opacity:.2}to{transform:translateY(0) rotate(0);opacity:1}}.admin{margin-top:32px;padding-top:26px;border-top:2px solid #d8ded6}.adminCreate{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.adminTools{display:grid;grid-template-columns:minmax(220px,1fr) 120px 120px 130px;gap:12px;align-items:end;background:#fff;border-radius:8px;padding:14px;margin-bottom:14px}.adminTools h3{margin-bottom:4px}.adminTools p{margin-bottom:0;color:#56645b}.aiList{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:20px}.aiList span{background:#e9f1eb;border-radius:8px;padding:8px 10px;overflow-wrap:anywhere}.userList{display:grid;gap:10px;margin-top:16px}.userRow{display:grid;grid-template-columns:minmax(180px,1fr) 120px 120px 130px;gap:10px;align-items:center;background:#fff;border-radius:8px;padding:12px}.userRow span{display:block;color:#56645b;overflow-wrap:anywhere}@media(max-width:720px){main{width:min(100% - 20px,1180px);padding-top:14px}.topbar,.balance{align-items:flex-start;justify-content:flex-start}.topbar{flex-direction:column}h1{font-size:2rem}.controls,.userRow,.adminTools,.tableHero,.roundForm,.seats,.soloStage,.partyHeader{grid-template-columns:1fr}.soloPlayfield{min-height:300px;padding:14px}.roundHeader{align-items:flex-start;flex-direction:column}}
