diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-08 12:24:25 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-08 12:24:25 +0100 |
| commit | c45ff4525c0e45e4b8e762b81fd180c53d206d66 (patch) | |
| tree | bd0ffca5835d612a884d973e65f17cf954d69239 /web/play/style.css | |
| parent | web: remove .git from repo link (diff) | |
| download | zagan-bet-c45ff4525c0e45e4b8e762b81fd180c53d206d66.tar.gz zagan-bet-c45ff4525c0e45e4b8e762b81fd180c53d206d66.zip | |
web: match the desktop layout and remove play-money copy
The browser now uses the desktop's full-width game split: no extra game header or card frame, a full-height sidebar with a pinned action block, and the same lobby grid, topbar account/balance blocks, and bottom-left notices. Slots uses the desktop symbol colours and gold win border; roulette gets the flat felt, column bets under the dozens, the wheel, circular chips, and a LAST line; blackjack gets a centred dealer/player table and divider; crash gets the chart panel, phase label and empty ready state.
Also drops every play-money/real-money disclaimer from the page copy.
Diffstat (limited to 'web/play/style.css')
| -rw-r--r-- | web/play/style.css | 188 |
1 files changed, 120 insertions, 68 deletions
diff --git a/web/play/style.css b/web/play/style.css index e05f551..a0e4cca 100644 --- a/web/play/style.css +++ b/web/play/style.css | |||
| @@ -78,9 +78,21 @@ button:disabled { cursor: not-allowed; opacity: 0.45; } | |||
| 78 | letter-spacing: 0.12em; | 78 | letter-spacing: 0.12em; |
| 79 | } | 79 | } |
| 80 | .spacer { flex: 1; } | 80 | .spacer { flex: 1; } |
| 81 | .session { display: flex; align-items: center; gap: 12px; } | 81 | .pill { |
| 82 | .session .who { color: var(--dim); font-family: var(--mono); font-size: 12px; } | 82 | padding: 3px 7px; |
| 83 | .session .who strong { color: var(--text); font-weight: 600; } | 83 | border: 1px solid var(--line); |
| 84 | border-radius: var(--radius-sm); | ||
| 85 | background: var(--surface); | ||
| 86 | color: var(--dim); | ||
| 87 | font-family: var(--mono); | ||
| 88 | font-size: 10px; | ||
| 89 | letter-spacing: 0.08em; | ||
| 90 | } | ||
| 91 | .session { display: flex; align-items: center; gap: 18px; } | ||
| 92 | .session .who, .balance-block { display: grid; gap: 1px; justify-items: end; } | ||
| 93 | .session .who .label, .balance-block .label { font-size: 9px; } | ||
| 94 | .session .who strong { color: var(--text); font-family: var(--mono); font-size: 12px; font-weight: 600; } | ||
| 95 | .balance-block .balance { font-size: 16px; } | ||
| 84 | .balance { | 96 | .balance { |
| 85 | color: var(--win); | 97 | color: var(--win); |
| 86 | font-family: var(--mono); | 98 | font-family: var(--mono); |
| @@ -92,7 +104,7 @@ button:disabled { cursor: not-allowed; opacity: 0.45; } | |||
| 92 | white-space: nowrap; | 104 | white-space: nowrap; |
| 93 | } | 105 | } |
| 94 | 106 | ||
| 95 | main { width: min(1240px, 100%); margin: 0 auto; padding: 28px 24px 64px; flex: 1; } | 107 | main { width: 100%; margin: 0 auto; padding: 28px 24px 48px; flex: none; } |
| 96 | 108 | ||
| 97 | h1, h2, h3 { margin: 0; font-weight: 600; } | 109 | h1, h2, h3 { margin: 0; font-weight: 600; } |
| 98 | h1 { font-size: 26px; letter-spacing: -0.01em; } | 110 | h1 { font-size: 26px; letter-spacing: -0.01em; } |
| @@ -175,87 +187,108 @@ h2 { font-size: 18px; } | |||
| 175 | .auth-foot { margin-top: 16px; font-size: 12px; color: var(--faint); } | 187 | .auth-foot { margin-top: 16px; font-size: 12px; color: var(--faint); } |
| 176 | 188 | ||
| 177 | /* Lobby */ | 189 | /* Lobby */ |
| 178 | .lobby-head { display: flex; align-items: end; gap: 18px; margin-bottom: 22px; flex-wrap: wrap; } | 190 | .lobby-head { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; flex-wrap: wrap; } |
| 179 | .lobby-head .spacer { flex: 1; } | 191 | .lobby-head .spacer { flex: 1; } |
| 180 | .game-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; } | 192 | .lobby-head h1 { display: flex; align-items: baseline; gap: 12px; } |
| 193 | .count { color: var(--faint); font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: 0.08em; } | ||
| 194 | .game-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } | ||
| 181 | .game-card { | 195 | .game-card { |
| 182 | background: var(--surface); | 196 | background: var(--surface); |
| 183 | border: 1px solid var(--line); | 197 | border: 1px solid var(--line); |
| 184 | border-radius: var(--radius-lg); | 198 | border-radius: var(--radius-lg); |
| 185 | padding: 18px; | 199 | padding: 22px; |
| 186 | display: flex; | 200 | display: flex; |
| 187 | flex-direction: column; | 201 | flex-direction: column; |
| 188 | gap: 12px; | 202 | gap: 10px; |
| 189 | min-height: 178px; | 203 | min-height: 150px; |
| 190 | position: relative; | 204 | position: relative; |
| 191 | overflow: hidden; | 205 | overflow: hidden; |
| 192 | } | 206 | } |
| 193 | .game-card::before { | 207 | .game-card h3 { font-size: 22px; font-weight: 500; } |
| 194 | content: ""; | 208 | .game-card p { margin: 0 0 10px; color: var(--dim); font-size: 13px; flex: 1; } |
| 195 | position: absolute; | 209 | .game-card .btn { text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px; padding: 9px 12px; } |
| 196 | inset: 0 auto 0 0; | ||
| 197 | width: 3px; | ||
| 198 | background: var(--accent); | ||
| 199 | opacity: 0.7; | ||
| 200 | } | ||
| 201 | .game-card.crash::before { background: var(--gold); } | ||
| 202 | .game-card.roulette::before { background: var(--felt-line); } | ||
| 203 | .game-card.blackjack::before { background: var(--loss); } | ||
| 204 | .game-card h3 { font-size: 17px; } | ||
| 205 | .game-card p { margin: 0; color: var(--dim); font-size: 13px; flex: 1; } | ||
| 206 | .game-card .row { justify-content: space-between; } | ||
| 207 | .bet-input { width: 92px; } | 210 | .bet-input { width: 92px; } |
| 208 | 211 | ||
| 209 | /* Game shell */ | 212 | /* Game shell */ |
| 210 | .game-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; } | 213 | #game-screen { min-height: calc(100vh - 64px - 72px); } |
| 211 | .game-head .spacer { flex: 1; } | ||
| 212 | .game-body { | 214 | .game-body { |
| 213 | display: grid; | 215 | display: grid; |
| 214 | grid-template-columns: minmax(0, 1fr) 320px; | 216 | grid-template-columns: minmax(0, 1fr) 340px; |
| 215 | gap: 16px; | 217 | min-height: calc(100vh - 64px - 72px); |
| 216 | align-items: start; | 218 | align-items: stretch; |
| 217 | } | 219 | } |
| 218 | .board { | 220 | .board { |
| 219 | background: var(--surface); | 221 | background: var(--bg); |
| 220 | border: 1px solid var(--line); | 222 | border: 0; |
| 221 | border-radius: var(--radius-lg); | 223 | border-radius: 0; |
| 222 | padding: 18px; | 224 | padding: 24px 26px; |
| 223 | min-height: 560px; | 225 | min-height: 0; |
| 224 | overflow: hidden; | 226 | overflow: hidden; |
| 227 | display: flex; | ||
| 228 | flex-direction: column; | ||
| 225 | } | 229 | } |
| 226 | .sidebar { | 230 | .sidebar { |
| 227 | background: var(--surface); | 231 | background: var(--surface); |
| 228 | border: 1px solid var(--line); | 232 | border-left: 1px solid var(--line); |
| 229 | border-radius: var(--radius-lg); | 233 | border-radius: 0; |
| 230 | padding: 18px; | 234 | padding: 24px 26px; |
| 231 | display: flex; | 235 | display: flex; |
| 232 | flex-direction: column; | 236 | flex-direction: column; |
| 233 | gap: 14px; | 237 | gap: 12px; |
| 238 | min-height: 0; | ||
| 239 | overflow-y: auto; | ||
| 240 | } | ||
| 241 | .sidebar h2 { font-size: 22px; font-weight: 500; margin: 0 0 2px; } | ||
| 242 | .sidebar .actions { | ||
| 243 | margin-top: auto; | ||
| 244 | display: grid; | ||
| 245 | gap: 8px; | ||
| 246 | padding-top: 16px; | ||
| 234 | position: sticky; | 247 | position: sticky; |
| 235 | top: 84px; | 248 | bottom: 0; |
| 249 | background: var(--surface); | ||
| 236 | } | 250 | } |
| 237 | .sidebar .actions { margin-top: auto; display: grid; gap: 8px; } | ||
| 238 | .sidebar .stat { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; } | 251 | .sidebar .stat { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; } |
| 239 | .sidebar .stat strong { font-family: var(--mono); font-weight: 600; } | 252 | .sidebar .stat strong { font-family: var(--mono); font-weight: 600; } |
| 240 | .note { color: var(--dim); font-size: 12px; } | 253 | .note { color: var(--dim); font-size: 12px; } |
| 241 | .chip-row { display: flex; flex-wrap: wrap; gap: 6px; } | 254 | .chip-row { display: flex; flex-wrap: wrap; gap: 8px; } |
| 242 | .chip-btn { | 255 | .chip-btn { |
| 256 | width: 36px; | ||
| 257 | height: 36px; | ||
| 258 | padding: 0; | ||
| 243 | font-family: var(--mono); | 259 | font-family: var(--mono); |
| 244 | font-size: 12px; | 260 | font-size: 11px; |
| 261 | font-weight: 700; | ||
| 245 | border-radius: 999px; | 262 | border-radius: 999px; |
| 246 | border: 1px solid var(--line); | 263 | border: 3px solid var(--line); |
| 247 | background: var(--raised); | 264 | background: var(--raised); |
| 248 | padding: 5px 10px; | 265 | color: var(--text); |
| 249 | } | 266 | } |
| 250 | .chip-btn.active { border-color: var(--gold); color: var(--gold); background: rgba(224, 182, 74, 0.1); } | 267 | .chip-btn[data-chip="10"] { border-color: #e8edf2; } |
| 268 | .chip-btn[data-chip="25"] { border-color: #4fb8c9; } | ||
| 269 | .chip-btn[data-chip="50"] { border-color: #e05a5a; } | ||
| 270 | .chip-btn[data-chip="100"] { border-color: #4ec27b; } | ||
| 271 | .chip-btn.active { box-shadow: 0 0 0 2px var(--gold); } | ||
| 272 | .board-foot { | ||
| 273 | margin-top: auto; | ||
| 274 | padding-top: 16px; | ||
| 275 | display: flex; | ||
| 276 | align-items: baseline; | ||
| 277 | gap: 10px; | ||
| 278 | color: var(--dim); | ||
| 279 | font-size: 12px; | ||
| 280 | } | ||
| 281 | .board-foot.tight { margin-top: 14px; } | ||
| 282 | .board-foot .label { color: var(--faint); } | ||
| 251 | 283 | ||
| 252 | /* Slots */ | 284 | /* Slots */ |
| 253 | .reels { | 285 | .reels { |
| 254 | display: grid; | 286 | display: grid; |
| 255 | grid-template-columns: repeat(5, minmax(60px, 1fr)); | 287 | grid-template-columns: repeat(5, minmax(60px, 1fr)); |
| 256 | gap: 10px; | 288 | gap: 12px; |
| 257 | max-width: 760px; | 289 | width: 100%; |
| 258 | margin: 24px auto 0; | 290 | max-width: 1060px; |
| 291 | margin: 90px auto 0; | ||
| 259 | } | 292 | } |
| 260 | .reel { display: grid; gap: 8px; } | 293 | .reel { display: grid; gap: 8px; } |
| 261 | .tile { | 294 | .tile { |
| @@ -271,23 +304,28 @@ h2 { font-size: 18px; } | |||
| 271 | color: var(--dim); | 304 | color: var(--dim); |
| 272 | transition: color 90ms ease, border-color 90ms ease, background 90ms ease; | 305 | transition: color 90ms ease, border-color 90ms ease, background 90ms ease; |
| 273 | } | 306 | } |
| 274 | .tile.sym-C { color: #c8d1da; } | 307 | .tile.sym-C { color: #e05a5a; } |
| 275 | .tile.sym-L { color: #7cc4d4; } | 308 | .tile.sym-L { color: #e0b64a; } |
| 276 | .tile.sym-O { color: #d8c27a; } | 309 | .tile.sym-O { color: #e08a3c; } |
| 277 | .tile.sym-G { color: #83d09a; } | 310 | .tile.sym-G { color: #b57edc; } |
| 278 | .tile.sym-D { color: #d48d8d; } | 311 | .tile.sym-D { color: #4fb8c9; } |
| 279 | .tile.sym-S { color: #e0b64a; } | 312 | .tile.sym-S { color: #4ec27b; } |
| 280 | .tile.win { border-color: var(--win); background: rgba(78, 194, 123, 0.12); color: var(--win); } | 313 | .tile.win { border-color: var(--gold); background: rgba(224, 182, 74, 0.14); } |
| 281 | .tile.spinning { color: var(--faint); } | 314 | .tile.spinning { opacity: 0.35; } |
| 282 | .win-lines { text-align: center; margin-top: 18px; color: var(--dim); font-size: 12px; min-height: 18px; } | 315 | .win-lines { text-align: center; margin-top: 18px; color: var(--dim); font-size: 12px; min-height: 18px; } |
| 283 | 316 | ||
| 284 | /* Cards */ | 317 | /* Cards */ |
| 285 | .hand { margin: 16px 0; } | 318 | .bj-table { flex: 0 0 500px; display: flex; flex-direction: column; justify-content: space-around; min-height: 400px; max-height: 500px; } |
| 286 | .hand .label { margin-bottom: 8px; } | 319 | .bj-divider { height: 1px; background: var(--line); margin: 10px 0; } |
| 287 | .cards { display: flex; gap: 8px; flex-wrap: wrap; min-height: 116px; } | 320 | .hand { margin: 8px 0; } |
| 321 | .hand-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; } | ||
| 322 | .hand-head .label { color: var(--dim); } | ||
| 323 | .hand-head .total { color: var(--text); font-size: 14px; } | ||
| 324 | .empty-table { flex: 1; display: grid; place-items: center; color: var(--dim); font-size: 14px; } | ||
| 325 | .cards { display: flex; gap: 10px; flex-wrap: wrap; min-height: 116px; justify-content: center; } | ||
| 288 | .card { | 326 | .card { |
| 289 | width: 76px; | 327 | width: 88px; |
| 290 | height: 108px; | 328 | height: 128px; |
| 291 | border-radius: 9px; | 329 | border-radius: 9px; |
| 292 | background: #f2f5f7; | 330 | background: #f2f5f7; |
| 293 | color: #121820; | 331 | color: #121820; |
| @@ -310,7 +348,8 @@ h2 { font-size: 18px; } | |||
| 310 | .outcome { margin-top: 20px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--bg); } | 348 | .outcome { margin-top: 20px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--bg); } |
| 311 | 349 | ||
| 312 | /* Crash */ | 350 | /* Crash */ |
| 313 | .crash-wrap { position: relative; } | 351 | .crash-wrap { position: relative; flex: 1; display: flex; flex-direction: column; min-height: 0; padding-top: 40px; } |
| 352 | .crash-wrap > .label { margin-top: 2px; color: var(--dim); } | ||
| 314 | .crash-number { | 353 | .crash-number { |
| 315 | font-family: var(--mono); | 354 | font-family: var(--mono); |
| 316 | font-size: clamp(44px, 9vw, 86px); | 355 | font-size: clamp(44px, 9vw, 86px); |
| @@ -328,8 +367,19 @@ h2 { font-size: 18px; } | |||
| 328 | /* Roulette */ | 367 | /* Roulette */ |
| 329 | .roulette-wrap { position: relative; } | 368 | .roulette-wrap { position: relative; } |
| 330 | canvas { display: block; width: 100%; } | 369 | canvas { display: block; width: 100%; } |
| 331 | .roulette-canvas { height: 540px; } | 370 | .roulette-canvas { height: 500px; margin: 80px 0 0; } |
| 332 | .crash-canvas { height: 360px; } | 371 | .crash-canvas { |
| 372 | height: 500px; | ||
| 373 | margin-top: 14px; | ||
| 374 | background: var(--surface); | ||
| 375 | border: 1px solid var(--line); | ||
| 376 | border-radius: var(--radius-md); | ||
| 377 | } | ||
| 378 | .wheel-canvas { | ||
| 379 | display: block; | ||
| 380 | margin: 6px auto 2px; | ||
| 381 | flex: 0 0 auto; | ||
| 382 | } | ||
| 333 | .wheel-result { | 383 | .wheel-result { |
| 334 | position: absolute; | 384 | position: absolute; |
| 335 | top: 16px; | 385 | top: 16px; |
| @@ -357,7 +407,7 @@ td.neg { color: var(--loss); } | |||
| 357 | 407 | ||
| 358 | /* Toasts and overlays */ | 408 | /* Toasts and overlays */ |
| 359 | .site-foot { | 409 | .site-foot { |
| 360 | width: min(1240px, 100%); | 410 | width: 100%; |
| 361 | margin: 0 auto; | 411 | margin: 0 auto; |
| 362 | padding: 0 24px 28px; | 412 | padding: 0 24px 28px; |
| 363 | color: var(--faint); | 413 | color: var(--faint); |
| @@ -366,7 +416,7 @@ td.neg { color: var(--loss); } | |||
| 366 | } | 416 | } |
| 367 | .site-foot a { color: var(--dim); } | 417 | .site-foot a { color: var(--dim); } |
| 368 | 418 | ||
| 369 | #toasts { position: fixed; right: 18px; bottom: 18px; display: grid; gap: 8px; z-index: 50; width: min(380px, calc(100vw - 36px)); } | 419 | #toasts { position: fixed; left: 18px; bottom: 18px; display: grid; gap: 8px; z-index: 50; width: min(340px, calc(100vw - 36px)); } |
| 370 | .toast { | 420 | .toast { |
| 371 | background: var(--surface); | 421 | background: var(--surface); |
| 372 | border: 1px solid var(--line); | 422 | border: 1px solid var(--line); |
| @@ -400,9 +450,11 @@ td.neg { color: var(--loss); } | |||
| 400 | .modal p { color: var(--dim); } | 450 | .modal p { color: var(--dim); } |
| 401 | 451 | ||
| 402 | @media (max-width: 900px) { | 452 | @media (max-width: 900px) { |
| 403 | .game-body { grid-template-columns: 1fr; } | 453 | .game-body { grid-template-columns: 1fr; min-height: 0; } |
| 404 | .sidebar { position: static; } | 454 | .sidebar { border-left: 0; border-top: 1px solid var(--line); position: static; } |
| 455 | .board { padding: 18px 14px; } | ||
| 405 | .tagline { display: none; } | 456 | .tagline { display: none; } |
| 457 | .game-grid { grid-template-columns: 1fr; } | ||
| 406 | } | 458 | } |
| 407 | @media (max-width: 620px) { | 459 | @media (max-width: 620px) { |
| 408 | main { padding: 18px 14px 54px; } | 460 | main { padding: 18px 14px 54px; } |
| @@ -413,5 +465,5 @@ td.neg { color: var(--loss); } | |||
| 413 | .tile { font-size: clamp(18px, 7vw, 34px); } | 465 | .tile { font-size: clamp(18px, 7vw, 34px); } |
| 414 | .card { width: 58px; height: 84px; } | 466 | .card { width: 58px; height: 84px; } |
| 415 | .crash-canvas { height: 260px; } | 467 | .crash-canvas { height: 260px; } |
| 416 | .roulette-canvas { height: 400px; } | 468 | .roulette-canvas { height: 400px; margin-top: 30px; } |
| 417 | } | 469 | } |
