﻿/* Classic tabletop edition — shared by Indonesia and International. */
:root { --pink:#cf3039; --pink-soft:#f7e1db; --blue:#246847; --blue-soft:#deebdf; --cream:#f7f5e8; --ink:#1b3027; --ink-soft:#64736a; --green:#258349; --yellow:#e7ba30; --red:#cf3039; --shadow:0 16px 48px #06231e33; }
body { font-family:'DM Sans','Segoe UI',sans-serif; background:#153e35; }
.lobby-bg { background:radial-gradient(ellipse at 50% 25%,#396951,transparent 70%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 6px),#153e35; }
.floaters { display:none; }
.lobby-card { width:min(620px,92vw); padding:38px; border:1px solid #102d23; border-radius:8px; background:#f5f3e5; box-shadow:0 0 0 7px #c9ddc6,0 0 0 9px #203f30,0 25px 70px #031c1a66; }
.lobby-logo { margin-bottom:30px; }
.lobby-logo .logo-emoji { display:none; }
.lobby-logo h1 { font-family:'Archivo Black','Arial Black',sans-serif; font-size:42px; line-height:1.2; }
.lobby-logo h1 span { display:inline-block; padding:7px 22px; color:#fff9ea; background:#d32e38; border:3px solid #fff4df; outline:2px solid #ad212d; transform:rotate(-4deg); box-shadow:0 5px 0 #a91f2a; letter-spacing:-1px; }
.lobby-logo h1 em { margin-top:22px; font-family:'DM Sans',sans-serif; font-size:11px; font-weight:800; letter-spacing:3px; color:#48624e; }
.tagline { margin-top:10px; font-size:14px; font-weight:500; }
.edition-picker { gap:18px; margin-top:24px; }
.edition-option,.edition-option.world { position:relative; overflow:hidden; padding:34px 14px 24px; border:2px solid #243c2d; border-radius:4px; background:#e0ecdc; gap:16px; box-shadow:0 5px 0 #c0d0b9; transition:transform .15s,box-shadow .15s; }
.edition-option::before { content:''; position:absolute; top:0; left:0; right:0; height:12px; background:#d7313b; border-bottom:2px solid #243c2d; }
.edition-option.world::before { background:#2e67a7; }
.edition-option:hover { transform:translateY(-4px); box-shadow:0 9px 0 #c0d0b9; }
.edition-option strong { font-size:19px; font-weight:800; letter-spacing:-.5px; }
.edition-option > span:last-child { color:#5e7160; font-size:12px; }
.edition-globe { color:#2e67a7; }
.lbl { font-size:11px; text-transform:uppercase; letter-spacing:1.2px; color:#53654f; }
.inp { border:1px solid #bbc9b6; border-radius:5px; background:#fffdf5; font-size:15px; padding:12px 14px; }
.inp:focus { border-color:#2a6244; transform:none; box-shadow:0 0 0 3px #24684718; }
.avatar-opt { border:1px solid #bfceba; border-radius:5px; background:#fffdf5; }
.avatar-opt:hover { transform:translateY(-2px); }
.avatar-opt.sel { border:2px solid #286344; background:#dcebd6; }
.btn,.btn.big { border-radius:5px; font-weight:800; font-size:14px; letter-spacing:.1px; box-shadow:0 3px 0 #112b2133; }
.btn-pink { background:#ce3039; }.btn-blue,.btn-green { background:#246847; }
.btn-ghost { border:1px solid #bbc9b6; background:#e7eddd; color:#284333; }
.btn-link { color:#486451; font-size:12px; }
.setup-card { width:min(480px,92vw); padding:24px; }
.setup-card .lobby-logo { margin-bottom:10px; }
.setup-card .lobby-logo h1 { font-size:28px; }
.setup-card .lobby-logo h1 em { margin-top:14px; font-size:10px; }
.wr-title { font-family:'Archivo Black',sans-serif; font-size:22px; }
.wr-code { color:#cc3039; font-family:'Archivo Black',sans-serif; letter-spacing:12px; }
.wr-player { border-radius:5px; background:#e0ecdc; border:1px solid #bacbb6; }
#game { font-family:'DM Sans','Segoe UI',sans-serif; }
.tb-logo { font-family:'Archivo Black',sans-serif; border:2px solid #fff4df; border-radius:3px; background:#cc3039; box-shadow:0 3px 0 #8f1e29; color:#fff9ea; font-size:13px; }
.tb-logo b { color:#fff9ea; font-family:'DM Sans',sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:1px; }
#game .tb-btn { border:1px solid #c2d2bc; border-radius:6px; background:#f6f4e7; color:#244632; box-shadow:0 3px 0 #0a2d2566; }
#settings-menu:not([hidden]) { border:1px solid #c2d2bc; border-radius:6px; background:#f6f4e7; }
.me-profile { border:1px solid #cedcc6; border-radius:6px; background:#f6f4e7; box-shadow:0 4px 0 #0b2f2666; }
.me-profile small { color:#677860; }
.me-name { color:#244632; font-weight:800; }
.me-money { color:#18452e; font-family:'DM Sans',sans-serif; font-weight:800; letter-spacing:-1px; }
.me-avatar { border-radius:4px; }
.me-wallet { color:#18452e; }
.me-props { border:1px solid #a5bda0; border-radius:5px; background:#e8efe0; color:#284333; }
.owner-legend-row { border:1px solid #bacdb2; border-radius:5px; background:#f6f4e7; box-shadow:0 3px 0 #0b2f2666; }
.owner-legend-row.current { background:#e3edd9; border:2px solid var(--player-color); }
.legend-turn { background:#cf3039; color:#fff8e8; border-radius:3px; }
.status-chip,.toast { border-radius:5px; }
#roll-hud .roll-btn { border-radius:10px; background:#cf3039; border:2px solid #fff4df; color:#fff9e8; box-shadow:0 5px 0 #91212a,0 10px 20px #031e1a44; font-family:'DM Sans',sans-serif; }
.bet-pill { background:#f6f4e7; color:#345239; border:1px solid #b6cab0; border-radius:5px; box-shadow:0 3px 0 #0b2f2666; }
.bet-pill.sel { background:#dfecd6; border-color:#3a784d; }
#actionbar .btn,.modal .btn { border:1px solid #ffffff66; border-radius:5px; box-shadow:0 3px 0 #102e2233; }
#banner { border-radius:4px; background:#f6f4e7; color:#244632; border:1px solid #c2d2bc; font-family:'DM Sans',sans-serif; box-shadow:0 3px 0 #0b2f2666; }
.modal { border:2px solid #274b35; border-radius:7px; background:#f7f5e9; box-shadow:0 0 0 4px #d4e1c9,0 20px 70px #001a1877; font-family:'DM Sans',sans-serif; }
.modal h3 { font-family:'Archivo Black','Arial Black',sans-serif; font-size:20px; }
.deed { border:2px solid #223b2b; border-radius:3px; background:#faf8ec; }
.deed-head { border-bottom:2px solid #223b2b; border-radius:0; }
#chat-panel { border-radius:6px; border:1px solid #bfd0b8; background:#f7f5e9; }
@media(max-width:760px) {
  .lobby-card { padding:28px 20px; }.setup-card { padding:20px; }
  .lobby-logo h1 { font-size:34px; }.lobby-logo { margin-bottom:22px; }
  .edition-picker { gap:12px; }.edition-option,.edition-option.world { padding:30px 8px 20px; }
  .edition-option strong { font-size:16px; }.edition-option > span:last-child { font-size:10px; }
  .me-profile,.owner-legend-row { border-radius:5px; }
}
@media(max-height:620px) { .lobby-card { padding:18px; }.lobby-logo { margin-bottom:14px; }.lobby-logo h1 { font-size:27px; }.lobby-logo h1 em { margin-top:14px; }.edition-option,.edition-option.world { padding:22px 8px 14px; }.setup-card .lobby-logo h1 { font-size:23px; } }
@media(prefers-reduced-motion:reduce) { .edition-option { transition:none; } }
.victory-meter { color:#647a4d; border-left:1px solid #c4d0b9; }
.me-money > .fi { color:#b99231; }
#game #btn-trade { background:#f6f4e7; color:#244632; border:1px solid #bfd0b8; }
@media(min-width:761px) and (min-height:541px) {
  #board-tools { top:auto; left:18px; bottom:28px; }
}
#roll-hud .roll-btn { animation:none; }
#game .trade-open .fi { color:#246847; }
.bet-pill { font-family:'DM Sans',sans-serif; }
.landmark-preview { display:flex; align-items:center; justify-content:center; gap:8px; padding:4px 8px; margin:0; border-bottom:1px solid #c1d0b5; background:#e9efdf; }
.landmark-preview img { width:128px; height:92px; object-fit:contain; }
.landmark-preview figcaption { font-size:12px; font-weight:800; max-width:140px; color:#35563d; }
@media(max-height:540px) { .landmark-preview img { width:100px; height:65px; } }
