/* Comedy clubhouse: shared paper floor, large chess tables, clear seat actions. */
#lobby.hallSurface:has(.tableHallLayout){background:radial-gradient(circle at 95% 0,#ef704520,transparent 40%),#f4ebd6;color:#302735;padding:32px clamp(20px,4vw,72px);font-family:'Microsoft YaHei','PingFang SC',sans-serif}
#lobby .hallBox:has(.tableHallLayout){max-width:1720px;margin:0 auto;padding:0;min-height:calc(100dvh - 64px)}
#lobby .hallBox:has(.tableHallLayout)>h1{font-size:clamp(30px,3vw,46px);line-height:1.2;font-weight:900;letter-spacing:1px;color:#332b35;text-shadow:none;transform:none;background:none;border:0;box-shadow:none;border-radius:0;padding:0;margin:0 0 10px;display:block}
#lobby .hallBox:has(.tableHallLayout)>h1::before,#lobby .hallBox:has(.tableHallLayout)>h1::after{content:none}
#lobby .hallBox:has(.tableHallLayout)>p{font-size:16px;color:#806b59;margin:0 0 30px;line-height:1.6}
.tableHallLayout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}.tableHallCenter{min-width:0;background:#fffbef;border:2px solid #40323b;border-radius:22px;padding:26px;box-shadow:0 6px 0 #d7c5a0;overflow:hidden}
.tableProfile{min-width:0;display:flex;flex-direction:column;gap:16px;background:#ead5ac;border:2px solid #40323b;border-radius:20px;padding:24px;box-shadow:0 6px 0 #d7c5a0}.tableProfile h2{font-size:18px;margin:0;color:#51382d}.profilePortrait{width:72px;height:72px;background:#f56743;color:#fff7de;border:2px solid #40323b;border-radius:22px;display:grid;place-items:center;font-size:38px;font-weight:900;transform:rotate(-5deg);margin:4px auto 6px;box-shadow:4px 4px 0 #f4bd45}.hallField{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:8px;color:#725c45}.hallField input{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #b39870;border-radius:9px;background:#fff9eb;color:#332b35;font:700 15px 'Microsoft YaHei',sans-serif}.hallEquipped{white-space:pre-line;line-height:1.9;font-size:13px;background:#f7ead0;border-radius:12px;padding:14px;margin:0;color:#594637}
#lobby .tableProfile button{margin:0;box-shadow:none;background:#fff8e8;border:1px solid #ae9064;border-radius:9px;font-size:14px;padding:12px;color:#49382e}#lobby .tableProfile button:last-child{background:transparent}
.deskToolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid #dfcfb2}#lobby .deskToolbar button{font-size:15px;padding:13px 20px;margin:0;border:2px solid #40323b;box-shadow:0 3px 0 #d1b98c;border-radius:10px;background:#fff3d1;color:#332b35}#lobby .deskToolbar button.primary{background:#f56642;color:#fff8e5;box-shadow:0 3px 0 #a83f2c}#lobby .deskToolbar button:first-child{background:#f8bc3e;color:#392b27;box-shadow:0 3px 0 #ba8c36}.deskToolbar input{font:500 15px 'Microsoft YaHei',sans-serif;padding:14px;border:1px solid #bba17a;border-radius:10px;background:#fffdf5;color:#332b35;width:150px;min-width:100px}.tableServiceNote{font-size:12px;line-height:1.7;color:#96836b;margin:14px 0 10px}
.chessDeskGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px;padding-top:16px;align-items:start;background:none}.chessDesk{display:flex;flex-direction:column;min-width:0;padding:22px 8px 18px;background:transparent;color:#3b2d32;border:2px solid transparent;border-radius:18px;box-shadow:none}.chessDesk.myChessDesk{background:#fff0c1;border:2px solid #eb6b42;box-shadow:0 0 0 4px #f7bd4930}
.deskPlayRow{order:0;display:grid;grid-template-columns:60px minmax(90px,180px) 60px;gap:12px;justify-content:center;align-items:center}.deskBoard{aspect-ratio:1;width:100%;filter:drop-shadow(0 5px 0 #b98a4b50)}.deskBoard svg{display:block;width:100%;height:100%}
#lobby .deskSeat{margin:0;padding:10px 2px;min-width:0;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;box-shadow:none;border-radius:12px;color:#5e4939;line-height:1.3;cursor:pointer}#lobby .deskSeat:hover:not(:disabled){background:#f7e4bc;transform:translateY(-3px)}#lobby .deskSeat:disabled{opacity:1;cursor:default}.seatAvatar{width:50px;height:54px;background:#f6e5c4;border:1px dashed #b99b6f;border-radius:15px;display:grid;place-items:center;color:#96764c;box-shadow:none!important}.seatAvatar svg{width:42px;height:44px;fill:#dfc698;stroke:#9b7546;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.occupied .seatAvatar{background:#f46943;border:2px solid #40323b;color:#fff5da;font-size:26px;font-weight:900;box-shadow:3px 3px 0 #f3c24a!important}.deskSeat strong{font-size:14px;font-weight:800;max-width:100%;overflow-wrap:anywhere}.deskSeat small{font-size:11px;color:#a48b6a}.occupied small{color:#aa4b30;font-weight:700}
.deskHeading{order:1;display:flex;justify-content:center;align-items:center;gap:10px;margin:22px 0 0}.deskHeading>strong{font-size:15px;letter-spacing:1px;color:#5c4336}.deskStatus{font-size:11px;background:#eee1c4;color:#907857;border-radius:5px;padding:5px 8px}.myChessDesk .deskStatus{background:#f5ba46;color:#5d371d}.deskHint{display:none}.deskCode{order:2;display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.deskCode strong{font-size:14px;letter-spacing:1px}#lobby .deskCode button{margin:0;padding:5px 10px;font-size:12px;border:1px solid #bc985b;box-shadow:none;border-radius:6px}.deskActions{order:3;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}#lobby .deskActions button{margin:0;font-size:13px;padding:9px 12px;border:1px solid #be9b65;box-shadow:0 2px 0 #d8b87c;border-radius:8px}#lobby .deskActions button.primary{background:#f56843;color:#fff8e6;border-color:#a34d34}.deskSkillEditor{order:4;display:flex;flex-wrap:wrap;gap:8px;border-top:1px dashed #cfad70;padding-top:16px;margin-top:18px}.deskSkillEditor>strong{width:100%;font-size:14px}#lobby .deskSkillEditor button{font-size:12px;padding:8px;margin:0;box-shadow:none;border-width:1px}#lobby .deskSkillEditor button.selected{background:#f5c24f;outline:2px solid #da6b41}
@media(max-width:1450px){.chessDeskGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.deskPlayRow{grid-template-columns:64px minmax(110px,190px) 64px}}
@media(max-width:900px){.tableHallLayout{grid-template-columns:1fr;gap:20px}.tableProfile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px;gap:12px}.tableProfile h2,.profilePortrait{display:none}.tableProfile .hallField{grid-column:1}.tableProfile .hallEquipped{grid-column:2/4;padding:10px}.tableHallCenter{padding:18px}.deskPlayRow{grid-template-columns:54px minmax(96px,170px) 54px;gap:8px}}
@media(max-width:620px){#lobby.hallSurface:has(.tableHallLayout){padding:24px 14px}.chessDeskGrid{grid-template-columns:1fr;gap:20px}.tableHallCenter{padding:16px 10px;border-radius:16px}.deskPlayRow{grid-template-columns:62px minmax(120px,190px) 62px;gap:10px}.deskToolbar{gap:10px;padding:0 4px 16px}#lobby .deskToolbar button{font-size:13px;padding:11px 13px}.deskToolbar input{width:110px;flex:1;font-size:13px;padding:12px}.tableServiceNote{padding:0 5px;font-size:11px}.tableProfile{padding:14px;gap:10px}.tableProfile .hallEquipped{font-size:11px}#lobby .tableProfile button{font-size:12px;padding:10px 4px}.chessDesk{padding:20px 6px}.deskHeading{margin-top:20px}}
@media(max-width:360px){.deskPlayRow{grid-template-columns:50px minmax(104px,1fr) 50px;gap:7px}.seatAvatar{width:42px;height:48px}.deskSeat strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){#lobby .deskSeat:hover:not(:disabled){transform:none}}
/* Align the room floor with the masthead; remove the unused full-width header band. */
@media(min-width:901px){
#lobby.hallSurface:has(.tableHallLayout){padding:24px}
#lobby .hallBox:has(.tableHallLayout){max-width:none;display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);gap:0 24px;min-height:calc(100dvh - 48px)}
#lobby .hallBox:has(.tableHallLayout)>h1{grid-column:1;grid-row:1;font-size:32px;letter-spacing:0;margin:6px 0 8px}
#lobby .hallBox:has(.tableHallLayout)>p{grid-column:1;grid-row:2;font-size:13px;line-height:1.7;margin:0 0 20px}
.tableHallLayout{display:contents}
.tableProfile{grid-column:1;grid-row:3;align-self:stretch;padding:22px;gap:20px}
.tableProfile>button:last-child{margin-top:auto!important}
.tableHallCenter{grid-column:2;grid-row:1/4;padding:24px;min-height:calc(100dvh - 48px);display:flex;flex-direction:column}
.chessDeskGrid{flex:1;align-content:space-evenly;gap:20px;padding:12px 0}
.deskPlayRow{grid-template-columns:64px minmax(110px,210px) 64px;gap:14px}
}
#lobby .hallEquipped{white-space:normal;padding:16px;display:flex;flex-direction:column;gap:12px}
.equippedLabel{font-size:11px;font-weight:700;letter-spacing:1px;color:#8b7459;line-height:1.4}
.equippedSkill{display:flex;align-items:flex-start;gap:10px;font-size:17px;line-height:1.5;font-weight:800;color:#3f2d2b}
.equippedSkill>span:first-child{font-size:11px;line-height:25px;font-weight:800;color:#c25b37;flex-shrink:0}
.equippedSkill+ .equippedSkill{border-top:1px solid #e1cca5;padding-top:10px}
@media(min-width:901px) and (max-width:1150px){.deskPlayRow{grid-template-columns:50px minmax(90px,160px) 50px;gap:8px}#lobby .hallBox:has(.tableHallLayout){grid-template-columns:210px minmax(0,1fr);gap:0 18px}.tableProfile{padding:18px}}
@media(max-width:900px){.equippedSkill{font-size:15px}.equippedLabel{font-size:11px}#lobby .tableProfile .hallEquipped{gap:7px;padding:12px}.equippedSkill+ .equippedSkill{padding-top:6px}.equippedSkill>span:first-child{line-height:22px}}
