/* Waiting room: upholstered seats around a wood-rimmed felt table. */
.lobby-table,.room-card .lobby-table{isolation:isolate;width:min(100%,470px);height:370px;margin:12px auto 18px;background:radial-gradient(ellipse at 50% 53%,#b79b5720,transparent 66%)}
.lobby-table-center,.room-card .lobby-table-center{left:19%;top:101px;width:62%;height:173px;box-sizing:border-box;border:9px solid #765137;border-radius:48%;background:repeating-linear-gradient(32deg,#ffffff03 0 1px,transparent 1px 4px),radial-gradient(ellipse at 45% 30%,#397b5a,#164735 75%);box-shadow:0 3px 0 #b08a58,0 9px 0 #38291f,0 20px 26px #0006,inset 0 0 0 2px #d8b87580,inset 0 0 0 7px #0c342944,inset 0 12px 25px #0003;gap:5px;padding:14px 38px;color:#fff1d2}
.lobby-table-center::after{content:'';position:absolute;inset:12px;border:1px dashed #d5cd9c38;border-radius:48%;pointer-events:none}
.lobby-table-name{font:600 13px/1.3 Manrope,sans-serif;max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-wrap:balance}
.lobby-table-center .lobby-table-code{margin:0;font:9px/1.5 'DM Sans',sans-serif;letter-spacing:2px;color:#d9cfae}
.lobby-table-players{font:9px/1.4 'DM Sans',sans-serif;color:#a8cfb7}
.lobby-domino-mark{display:flex;gap:5px;justify-content:center;height:36px;margin-bottom:2px}
.lobby-domino-mark .tile{width:20px;height:34px;padding:2px;display:flex;flex-direction:column;border-radius:3px;transform:rotate(-17deg);box-shadow:1px 2px 0 #af9c77,2px 4px 5px #0005;background:linear-gradient(120deg,#fff9e6,#daceaf)}
.lobby-domino-mark .tile+.tile{transform:rotate(16deg) translateY(2px)}
.lobby-domino-mark .half{width:15px;height:14px;min-width:0;padding:1px;gap:1px}
.lobby-domino-mark .half+.half{border-left:0;border-top:1px solid #b2a486;margin:1px 0 0;padding:2px 1px 1px;width:15px;height:15px}
.lobby-domino-mark .pip{background:#254332}
.lobby-table .chair,.room-card .lobby-table .chair{width:105px;min-height:89px;box-sizing:border-box;padding:8px 5px;gap:4px;background:linear-gradient(160deg,#37604d,#244b3a);border:1px solid #71907885;border-bottom:4px solid #163326;border-radius:20px 20px 12px 12px;box-shadow:inset 0 2px 0 #ffffff12,0 5px 0 #6d4b32,0 8px 0 #38281d,0 12px 15px #0004;opacity:1;color:#f1ead5;z-index:2;transition:background .2s,box-shadow .2s,border-color .2s}
.lobby-table .chair::before{content:'';position:absolute;inset:5px 6px auto;height:23px;border:1px solid #a7c8a620;border-radius:15px 15px 6px 6px;pointer-events:none}
.lobby-table .chair-0{top:0;left:50%}
.lobby-table .chair-2{bottom:0;left:50%}
.lobby-table .chair-1,.room-card .lobby-table .chair-1{top:143px;right:0}
.lobby-table .chair-3,.room-card .lobby-table .chair-3{top:143px;left:0}
.lobby-table .chair-icon{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;font:600 16px Manrope,sans-serif;color:#ecd2a0;border-radius:50%;background:#102f2766;border:1px solid #d9c28c38;position:relative}
.lobby-table .chair strong{font:600 10px/1.3 Manrope,sans-serif;max-width:100%}
.lobby-table .chair small,.room-card .lobby-table .chair small{font:8px/1.3 'DM Sans',sans-serif;white-space:nowrap;color:#c0d3bf}
.lobby-table .chair.occupied{background:linear-gradient(145deg,#243e34,#192f27);border-color:#597764;color:#d9e4d7}
.lobby-table .chair.occupied .chair-icon{background:#d5bd86;color:#233b2d;border-color:#f5e0b3;box-shadow:0 2px 6px #0003}
.lobby-table .chair.your-chair{border-color:#e3be70;box-shadow:inset 0 0 0 1px #e3be7040,0 5px 0 #6d4b32,0 8px 0 #38281d,0 0 20px #dfb45b26}
.lobby-table .chair.your-chair strong{color:#f6d99b}
.lobby-table .chair:not(:disabled):hover,.room-card .lobby-table .chair:not(:disabled):hover{background:linear-gradient(145deg,#4a7956,#305c40);border-color:#edd294;box-shadow:inset 0 1px 0 #ffffff26,0 5px 0 #8c633c,0 8px 0 #38281d,0 0 0 3px #e9c17a18}
.lobby-table .chair:focus-visible{outline:3px solid #f6d99b;outline-offset:5px}
#game #seated-table{max-height:none;overflow:visible;padding:24px 14px 18px;background:radial-gradient(ellipse at 50% 65%,#48725322,transparent 70%),linear-gradient(145deg,#193d30,#102e25);border-color:#d4be8038;box-shadow:inset 0 1px 0 #ffffff08,0 16px 40px #0002}
.waiting-table-heading{text-align:center;max-width:420px;margin:0 auto 22px}
.waiting-table-heading .eyebrow{font-size:9px;letter-spacing:2px;color:#ddc087}
.waiting-table-heading h2{font-size:23px;margin:8px 0;color:#f3ead5}
.waiting-table-heading p{font-size:12px;line-height:1.7;color:#b0c6b6;margin:0}
@media(max-width:400px){.lobby-table,.room-card .lobby-table{height:354px}.lobby-table .chair,.room-card .lobby-table .chair{width:82px;min-height:84px}.lobby-table .chair-1,.room-card .lobby-table .chair-1,.lobby-table .chair-3,.room-card .lobby-table .chair-3{top:136px}.lobby-table-center,.room-card .lobby-table-center{left:17%;width:66%;top:96px;height:164px;padding-inline:28px;border-width:7px}.lobby-table-name{font-size:11px}.lobby-table .chair strong{font-size:9px}.lobby-table .chair small,.room-card .lobby-table .chair small{font-size:7px}.waiting-table-heading h2{font-size:20px}#game #seated-table{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.lobby-table .chair{transition:none}}

/* Small decorative dominoes keep their own pip geometry in every theme. */
.lobby-table .lobby-domino-mark>.tile{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));width:20px!important;height:34px!important;flex:0 0 20px;min-width:0;min-height:0;padding:2px!important;gap:0;overflow:hidden;box-sizing:border-box}
.lobby-table .lobby-domino-mark>.tile>.half{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));width:100%!important;height:100%!important;min-width:0;min-height:0;margin:0!important;padding:1px!important;gap:.5px!important;aspect-ratio:auto;box-sizing:border-box;align-items:center;justify-items:center;overflow:hidden}
.lobby-table .lobby-domino-mark>.tile>.half>.pip{--pip-size:2px;width:2px!important;height:2px!important;min-width:2px!important;min-height:2px!important;max-width:2px!important;max-height:2px!important;box-sizing:border-box}
