html, body {
margin: 0;
padding: 0;
height: 100%;
}
body {
display: flex;
flex-direction: column;
min-height: 100vh;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
background: radial-gradient(circle at 10% 10%, rgba(255,255,255,0.03), transparent 5%),
linear-gradient(180deg, #000 0%, #071827 100%),
var(--bg);
color: var(--muted);
}
.main-wrapper {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 24px;
width: 100%;
}
:root{
--card-w:110px;
--card-h:154px;
--deck-x: 800px;
--deck-y: 100px;
--bg:#071827;
--card:#071827;
--accent:#ffd54a;
--muted:#cfe8d6;
--glass: rgba(255,255,255,0.04);
--shadow: 0 6px 18px rgba(2,8,3,0.6);
--glass-2: rgba(0,0,0,0.35);
}
.container{
width:100%;
background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
border-radius:16px;
padding:20px;
box-shadow:var(--shadow);
backdrop-filter: blur(6px);
}
.card{
background:rgba(255,255,255,0.05);
padding:28px;
border-radius:16px;
width:320px;
box-shadow:0 8px 30px rgba(0,0,0,0.5);
backdrop-filter:blur(8px);
}
h2{
margin-top:0;
text-align:center
}
label{
display:block;
margin:10px 0 4px;
font-size:14px
}
input{
width:100%;
padding:10px;
border-radius:8px;
border:0;
margin-bottom:10px;
background:#ffffff12;
color:white;
}
button{
width:100%;
padding:10px;
border-radius:8px;
border:0;
cursor:pointer;
background:linear-gradient(90deg,#ffd54a);
color:black;
font-weight:600;
margin-top:10px;
}
.note{
text-align:center;
margin-top:10px;
font-size:14px
}
a{
color:#4ade80;
text-decoration:none
}
.logo{
font-size: 96px;
display:flex;
align-items:center;
justify-content:center;
}
.header{
display:flex;
gap:16px;
align-items:center;
margin-bottom:14px
}
.w80{
width: 80%;
}
table{
width:100%;
border-collapse:collapse;
font-size:14px
}
thead th{
font-size:12px;
text-align:left;
padding:8px 10px;
color:var(--muted);
opacity:0.9
}
tbody td{
padding:10px;
border-top:1px dashed rgba(255,255,255,0.03)
}
.panel{
background:var(--card);
padding:16px;
border-radius:12px;
border:1px solid var(--glass-2)
}
footer{
margin-top:14px;
font-size:12px;
color:rgba(255,255,255,0.45);
text-align:center
}
.userbox {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: 20px;
background: rgba(255, 255, 255, 0.04);
padding: 14px;
border-radius: 14px;
border: 1px solid rgba(255, 255, 255, 0.06);
box-shadow: 0 8px 24px rgba(2, 6, 23, 0.45);
}
.userbox .avatar {
width: 58px;
height: 58px;
border-radius: 50%;
background: linear-gradient(180deg, #0e3b33, #0b2a2f);
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
font-weight: 800;
color: var(--accent);
border: 2px solid rgba(246,198,79,0.4);
box-shadow: 0 6px 14px rgba(0,0,0,0.5);
}
.userbox .info {
display: flex;
flex-direction: column;
line-height: 1.25;
}
.userbox .name {
font-weight: 800;
font-size: 24px;
}
.userbox .saldo {
margin-top: 4px;
font-size: 18px;
color: var(--muted);
}
.userbox .saldo span {
color: var(--accent);
font-weight: 700;
}
.userbox .status {
margin-top: 2px;
font-size: 16px;
color: var(--muted);
}
.gamename {
font-size: 36px;
}
.num-box {
display: inline-flex;
align-items: center;
border: 1px solid #444;
border-radius: 12px;
overflow: hidden;
background: #1e1e1e;
height: 50px;
}
.num-box input {
height: 50px;
width: 100px;
font-size: 18px;
background: transparent;
border: none;
color: white;
text-align: center;
outline: none;
line-height: 50px; /* base centering */
display: flex; /* optical fix */
align-items: center; /* optical fix */
justify-content: center; /* ensures centered horizontally */
}
.num-box input::-webkit-inner-spin-button,
.num-box input::-webkit-outer-spin-button {
-webkit-appearance: none;
}
.num-box .btn {
width: 50px;
height: 50px;
border: none;
background: #2b2b2b;
color: white;
font-size: 22px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
}
.num-box .btn:hover {
background: #3a3a3a;
}
.num-box .btn:active {
background: #555;
}
.plus, .minus {
margin-top: 0 !important;
}
.mb24 {
margin-bottom: 24px;
}
/* Chrome, Edge, Safari */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Firefox */
input[type="number"] {
-moz-appearance: textfield; /* old syntax */
appearance: textfield; /* standard property */
}
footer {
margin-top: auto; /* pushes footer to bottom */
color: #fff;
padding: 1rem;
}
table#leaderboard thead tr th.rank, table#leaderboard tbody tr td.rank{
width: 20%;
font-size: 16px;
}
table#leaderboard thead tr th, table#leaderboard tbody tr td{
width: 40%;
font-size: 20px;
}
:root{
}
.stage{
width:960px;
height:540px;
border-radius:12px;
overflow:hidden;
position:relative;
box-shadow:0 18px 50px rgba(0,0,0,.6)
}
.bg{
position:absolute;
inset:0; background:#153f28
}
.overlay{
position:absolute; inset:0;
background:linear-gradient(180deg, rgba(11,31,20,.45), rgba(8,24,16,.65));
display:flex; flex-direction:column; padding:18px
}
.header{
color:#dff6e9;
font-weight:700;
display:flex;
justify-content:space-between
}
.table-area{
flex:1; display:flex;
align-items:center;
justify-content:center;
position:relative
}
.deck {
position: absolute;
display: hidden;
left: var(--deck-x);
top: var(--deck-y);
width: 82px;
height: 120px;
border-radius: 10px;
background: #113625;
box-shadow: 0 0 0 2px #0d291c inset, 0 10px 20px rgba(0,0,0,0.55);
display:flex; align-items:center; justify-content:center;
color:#b9e4d0;
font-weight:900;
font-size:14px;
letter-spacing:2px;
z-index:500;
}
.player-zone{
position:absolute;
left:37%;
bottom:18px;
transform:translateX(-50%);
width:78%;
display:flex;
flex-direction:column;
align-items:center
}
.cards-wrapper{
position:relative;
width:580px;
height:170px;
display:flex;
justify-content:center;
align-items:center;
}
.dealer-zone{
position:absolute;
left:50%;
top:18px;
transform:translateX(-50%);
width:78%;
display:flex;
flex-direction:column;
align-items:center;
gap:8px;
color:#dff6e9;
font-weight:700
}
.dealer-cards{
position:relative;
width:580px;
height:170px
}
.card-wrapper {
position: absolute;
width: var(--card-w);
height: var(--card-h);
transition: transform .4s cubic-bezier(.68,-0.55,.27,1.55);
align-items: center;
transform-origin: center;
z-index: 100;
}
.card{
width:var(--card-w);
height:var(--card-h);
border-radius:10px;
background:#fff;
display:flex;
flex-direction:column;
justify-content:space-between;
padding:10px;
font-weight:800;
box-shadow:0 10px 22px rgba(0,0,0,.45);
position:absolute;
transition: transform .4s cubic-bezier(.68,-0.55,.27,1.55), opacity .3s ease, filter .3s ease;
backface-visibility:hidden;
transform-origin:center center;
color: #000;
}
.card.is-moving {
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
}
.card.red{
color:#c42b2b
}
.card .corner{
font-size:18px
}
.card .center{
font-size:40px;
display:flex;
align-items:center;
justify-content:center;
}
.back-card{
background:#122f21;
display:flex;
align-items:center;
justify-content:center;
font-size:20px;
color:#bddfcf;
letter-spacing:4px;
font-weight:900;
border-radius:10px;
}
.controls{
display:flex;
gap:12px;
margin-top:8px
}
button{
background:#0f5436;
color:#e6fff2;
border:0;
padding:10px 16px;
border-radius:8px;
cursor:pointer;
font-weight:700
}
button:disabled{
background:#2d2d2d;
opacity:.5;
cursor:not-allowed
}
.end-screen {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.7);
backdrop-filter: blur(6px);
display: none;
align-items: center;
justify-content: center;
flex-direction: column;
color: white;
font-weight: 800;
font-size: 48px;
letter-spacing: 2px;
text-align: center;
z-index: 999;
}