.public-room-lobby{max-width:1240px;margin:24px auto;padding:28px}.room-lobby-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.room-lobby-heading h2{margin:8px 0}.room-lobby-heading p,.public-room-card p{color:#aebbb3}.room-filters{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.room-filters button[aria-pressed=true]{background:#d2b579;color:#15221c}#roomList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-room-card{padding:18px;border:1px solid #3b4c40;border-radius:14px;min-width:0;background:#1a2820}.public-room-card h3{overflow-wrap:anywhere;margin:10px 0}.public-room-card small{color:#c3cbbf}.public-room-actions{display:flex;gap:10px;flex-wrap:wrap}.room-state{font-size:12px;color:#d2b579}.rooms-empty{grid-column:1/-1;color:#aebbb3;line-height:1.8}.room-social-drawer{position:fixed;right:max(12px,env(safe-area-inset-right));top:12px;bottom:12px;width:min(370px,calc(100vw - 24px));z-index:125;background:#17251f;border:1px solid #657257;border-radius:16px;box-shadow:0 15px 65px #000b;display:flex;flex-direction:column;padding:14px;gap:10px;color:#e9eddd;box-sizing:border-box}.room-social-drawer header{display:flex;align-items:center;justify-content:space-between}.room-social-drawer button{font-size:12px;padding:7px 10px;min-height:32px}.room-social-drawer select,.room-social-drawer input{width:100%;min-width:0;background:#0c1812;color:#eee;border:1px solid #506451;border-radius:7px;padding:9px;box-sizing:border-box}#seatOptions{max-height:34%;overflow:auto;font-size:12px;line-height:1.6;flex-shrink:0}#seatOptions:empty{display:none}#seatOptions p{margin:0 0 6px}#chatMessages{flex:1;overflow:auto;min-height:55px;overscroll-behavior:contain}#chatMessages article{padding:8px 2px;border-bottom:1px solid #ffffff10}#chatMessages small{color:#cab88b;font-size:11px}#chatMessages p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.chat-quick{display:flex;gap:5px;flex-wrap:wrap}#chatForm{display:flex;gap:7px}#chatHint{font-size:11px;color:#aab5a8}#chatManagement{max-height:25%;overflow:auto;font-size:12px;flex-shrink:0}#chatManagement[hidden]{display:none}#chatControls>div{padding:4px}.seat-request{padding:7px;background:#26352a;margin-top:5px;border-radius:7px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:700px){#roomList{grid-template-columns:1fr}.public-room-lobby{padding:16px;margin:16px 10px}}
@media(orientation:landscape) and (max-height:600px){.room-social-drawer{top:5px;bottom:5px;padding:9px;gap:5px;width:320px}.room-social-drawer .chat-quick{display:none}#seatOptions{max-height:30%}.network-hud #roomChat,.network-hud #roomSeat{font-size:10px;padding:3px 5px;min-height:24px}}

#chatForm button{flex-shrink:0;white-space:nowrap}#chatForm input{flex:1}

/* The online entry groups creation, invitations and public tables in one place. */
.modal.online-entry-hub{width:min(1120px,calc(100vw - 40px));max-width:1120px;padding:24px 28px;max-height:calc(100dvh - 40px);overflow-y:auto}
.online-entry-hub .entry-hub-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);grid-template-areas:"create join" "create rooms";grid-template-rows:auto minmax(240px,1fr);gap:16px;align-items:stretch}
.online-entry-hub .entry-section{margin:0;padding:18px 20px;min-width:0}
.entry-hub-create{grid-area:create}.entry-hub-join{grid-area:join}.entry-hub-rooms{grid-area:rooms}
.online-entry-hub .entry-hub-create{display:flex;flex-direction:column}
.online-entry-hub .entry-create-controls{grid-template-columns:1fr;gap:14px;margin-top:2px}
.online-entry-hub .entry-hub-create #createRoom{width:100%;margin-top:4px}
.online-entry-hub .entry-section-heading p{margin-bottom:14px}
.online-entry-hub .entry-hub-join .join-mode-actions{gap:10px}
.online-entry-hub .entry-hub-rooms{width:100%;max-width:none;display:flex;flex-direction:column;background:#14271ed9;border-color:#ac945655}
.online-entry-hub .room-lobby-heading{gap:12px;align-items:flex-start}
.online-entry-hub #refreshRooms{padding:7px 12px;font-size:12px;min-height:32px;flex-shrink:0}
.online-entry-hub .room-lobby-heading p{margin-bottom:0}
.online-entry-hub .room-filters{margin:12px 0;gap:6px;flex-wrap:wrap}
.room-filters button{background:#233b2d;color:#c8d3bd;border:1px solid #536348;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:600;min-height:34px}
.room-filters button[aria-pressed=true]{border-color:#d2b579;color:#18241b;background:#d2b579}
.online-entry-hub #roomList{display:flex;flex-direction:column;gap:10px;max-height:260px;min-height:110px;overflow-y:auto;overscroll-behavior:contain;padding:2px 5px 2px 2px;scrollbar-color:#697855 #13251b;scrollbar-width:thin}
.online-entry-hub .public-room-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;flex-shrink:0;background:#1c3023}
.online-entry-hub .public-room-card>div:first-child{min-width:0}
.online-entry-hub .public-room-card h3{font-size:17px;margin:4px 0;line-height:1.4}
.online-entry-hub .public-room-card p{font-size:11px;line-height:1.6;margin:6px 0 0}
.online-entry-hub .public-room-card small{font-size:11px;line-height:1.5;display:block}
.online-entry-hub .public-room-actions{flex-direction:column;flex-shrink:0;gap:6px;width:102px}
.online-entry-hub .public-room-actions button{font-size:12px;padding:7px 8px;min-height:32px;white-space:normal}
.online-entry-hub .rooms-empty{font-size:13px;margin:auto 0;padding:16px 12px;text-align:center;border:1px dashed #61754b66;border-radius:10px;color:#bbcbb3;line-height:1.9}
@media(min-width:721px) and (min-height:601px){
 .online-entry-hub .entry-hub-grid{height:clamp(530px,calc(100dvh - 210px),660px);grid-template-rows:auto minmax(0,1fr)}
 .online-entry-hub .entry-hub-rooms{min-height:0}
 .online-entry-hub #roomList{flex:1;min-height:0;max-height:none}
}
@media(max-width:720px){
 .modal.online-entry-hub{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px 16px}
 .online-entry-hub .entry-hub-grid{grid-template-columns:1fr;grid-template-areas:"create" "join" "rooms";grid-template-rows:auto;gap:12px}
 .online-entry-hub .entry-section{padding:16px}.online-entry-hub .entry-create-controls{grid-template-columns:1fr 1fr;align-items:end;gap:10px}
 .online-entry-hub .entry-create-controls #createRoom{margin:0}.online-entry-hub #roomList{max-height:350px}
}
@media(orientation:landscape) and (max-height:600px) and (min-width:600px){
 .modal.online-entry-hub{width:calc(100vw - 24px);max-height:calc(100dvh - 16px);padding:14px 18px}
 .online-entry-hub .entry-hub-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);grid-template-areas:"create join" "create rooms";grid-template-rows:auto minmax(220px,1fr);gap:10px}
 .online-entry-hub .entry-section{padding:12px}.online-entry-hub .entry-create-controls{grid-template-columns:1fr}
 .online-entry-hub .entry-section h3{font-size:19px}.online-entry-hub .entry-section-heading{gap:8px}
 .online-entry-hub .entry-section-heading p{font-size:12px}.online-entry-hub .field input,.online-entry-hub .field select{font-size:13px;padding:9px}
 .online-entry-hub .public-room-card{flex-direction:column;align-items:stretch}.online-entry-hub .public-room-actions{flex-direction:row;width:auto}.online-entry-hub .public-room-actions button{flex:1}
 .online-entry-hub #roomList{max-height:235px}
}

.tile.bbq,.tile.kol,.tile.job{border-color:#a89555;background:linear-gradient(140deg,#33412a,#263426)}.special-assets{border:1px solid #89764a;border-radius:10px;padding:12px 16px;margin:14px 0;background:#19291f}.special-assets p{font-size:14px;line-height:1.7;margin:6px 0}.special-assets small{color:#b9c5af}.special-opportunity-modal .field input{width:100%}

#seatOptions .seat-request{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#eee9d6;padding:10px}#seatOptions .seat-request button{min-height:36px;padding:7px 14px;border:1px solid #788765;border-radius:8px;background:#344f3c;color:#fff0c4;font:inherit;font-weight:700;cursor:pointer}#seatOptions .seat-request button[data-approve]{background:#edbc65;color:#302314;border-color:#ffe4a2}#seatOptions .seat-request button:hover{filter:brightness(1.12)}#seatOptions .seat-request button:focus-visible{outline:2px solid #ffe4a2;outline-offset:2px}

/* Explicit styles for native buttons in the people/management panel. */
#chatPeople button{appearance:none;background:linear-gradient(#405c45,#2b4434);color:#f6e6b9;border:1px solid #82936b;border-radius:8px;padding:8px 12px;min-height:36px;font:700 13px/1.4 system-ui,sans-serif;cursor:pointer}
#chatPeople button.primary,#chatPeople button[data-approve]{background:linear-gradient(#ffdd91,#d79c48);border-color:#ffe1a0;color:#302515}
#chatPeople button:hover:not(:disabled){filter:brightness(1.1)}
#chatPeople button:focus-visible{outline:2px solid #ffe1a0;outline-offset:2px}
#chatPeople button:disabled{background:#304236;color:#b9c4b1;border-color:#65735c;cursor:default}
#chatManagement summary{color:#ead6a7;cursor:pointer;padding:8px 0}
