[hidden]{display:none!important}
.venue-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 18px}
.venue-nav button{background:transparent;border:0;padding:8px 12px;border-radius:8px;color:#666;font:inherit;font-size:13px}
.venue-nav button.active{background:#efedfa;color:#5745ba}
.conditions-page:not(.has-recommendations) .map-wrap{display:none}
.conditions-page:not(.has-recommendations) .place-layout{display:block;max-width:680px;margin:auto}
.chosen-area{font-size:21px;margin:16px 0}
.place-card:not(.active){display:none}
.place-card.active{display:block}
.place-hint{font-size:12px;color:#777;line-height:1.7;margin:16px 0}
.venue-social{max-width:960px;margin:auto}
.venue-social h1{font-size:26px;margin:16px 0 26px}
.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:14px 0 30px}
.room-card,.friend-row{padding:20px;border:1px solid #e9e7ee;border-radius:14px;background:#fff;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.room-card strong{display:block;font-size:16px}.room-card small{display:block;color:#888;font-size:12px;line-height:1.7;margin:6px 0}
.room-card .room-buttons{display:flex;gap:10px;width:100%}.room-card button{font-size:12px}
.social-form{display:flex;gap:10px;align-items:end;margin:20px 0}.social-form label{flex:1}.social-form input{width:100%}
.friend-list{display:grid;gap:10px;margin:18px 0 28px}.friend-row button{font-size:12px}.friend-actions{display:flex;gap:8px}
.friend-code{font-family:monospace;font-size:22px;letter-spacing:3px}
.chat-window{border:1px solid #e9e7ee;border-radius:16px;overflow:hidden;background:white}
.chat-header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #eee}
.chat-messages{height:440px;max-height:55vh;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background:#faf9fc}
.chat-message{max-width:82%;align-self:flex-start}.chat-message.mine{align-self:flex-end}.chat-message small{display:block;font-size:11px;color:#888;margin-bottom:5px}
.chat-message p{margin:0;background:white;border:1px solid #eee;border-radius:2px 14px 14px;padding:10px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}
.chat-message.mine p{background:#efedfa;border-color:#e3def8;border-radius:14px 2px 14px 14px}
.chat-compose{display:flex;padding:14px;gap:10px;border-top:1px solid #eee}.chat-compose textarea{flex:1;min-height:46px;max-height:150px;resize:vertical;border:1px solid #ddd;border-radius:8px;padding:10px;font:inherit}
.social-status{font-size:12px;color:#777;min-height:20px;line-height:1.7}.social-status.error{color:#b24a47}
.room-filter{display:flex;gap:8px}.room-filter button{border:1px solid #e4e1ea;border-radius:20px;background:white;padding:7px 15px;font:inherit;font-size:12px}.room-filter button.active{background:#6655df;color:white;border-color:#6655df}
.midpoint-dot{max-width:180px}.midpoint-dot span{overflow:hidden;text-overflow:ellipsis}
.route-panel{margin:14px 0 8px;padding-top:12px;border-top:1px solid #eeecf4;white-space:normal}
.route-panel label{display:block;color:#777;font-size:11px}
.route-panel select{display:block;width:100%;min-height:36px;margin:6px 0 9px;padding:6px 8px;border:1px solid #dedbe8;border-radius:7px;background:white;font:inherit;color:#333}
.route-link{display:block;text-align:center;border:1px solid #ddd7f3;background:#f5f3fc;border-radius:7px;padding:9px;color:#5845bd!important;text-decoration:none;font-size:12px;font-weight:600}
.route-link:focus-visible{outline:3px solid #c2baff;outline-offset:2px}
.route-note{font-size:10px!important;color:#888!important;line-height:1.5!important;margin:7px 0!important}
.compact-area{border:0!important;background:transparent!important;padding:0 2px 16px!important}
.alternate-region-toggle{padding:4px 0;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.alternate-region-search{position:relative;padding:14px 0 4px}.alternate-region-search>.field{margin-bottom:7px}
.compact-area .area-help{font-size:11px;margin:6px 0 10px!important}.compact-area>.outline-button{margin-top:12px}
.search-panel summary:after{display:none!important}.search-panel summary{align-items:center}.search-panel summary>.text-button{padding:2px 0;color:#7867cd;font-size:11px}
.venue-room-title{position:relative;display:flex;align-items:center;gap:8px;min-width:0;max-width:50%}
.venue-room-name{font-size:15px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-menu{flex:none;position:relative;z-index:50}.room-menu summary{list-style:none;cursor:pointer;font-size:25px;line-height:32px;padding:0 9px;border-radius:7px;color:#777}.room-menu summary::-webkit-details-marker{display:none}.room-menu[open] summary{background:#f1eff9}
.room-menu-items{position:absolute;right:0;top:38px;min-width:175px;padding:5px;background:white;border:1px solid #e6e3ed;border-radius:11px;box-shadow:0 8px 24px #22222215}
.room-menu-items button{display:block;width:100%;border:0;background:white;padding:11px;text-align:left;border-radius:6px;font-size:12px;white-space:nowrap}.room-menu-items button:hover{background:#f6f4fc}.room-menu-items .room-leave{color:#ae514d}
.room-role{font-size:9px;color:#7867cd;background:#f1eefb;padding:2px 5px;border-radius:4px;margin-left:3px}
@media(max-width:900px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:8px 14px;padding-top:14px;padding-bottom:12px}.topbar .venue-room-title{display:flex;margin-left:auto;max-width:60%}.topbar .steps{order:3;flex-basis:100%;justify-content:center}.venue-room-name{font-size:13px}}
.midpoint-pin:nth-child(2){margin-top:12px}
@media(max-width:700px){.venue-social h1{font-size:23px}.chat-message{max-width:92%}.social-form{align-items:stretch;flex-direction:column}.venue-nav{gap:0}.venue-nav button{padding:9px 10px}.room-grid{grid-template-columns:1fr}.chat-compose{padding:10px}.chat-messages{padding:14px}}
