/* Menu exposes one primary action; room and settings controls open on demand. */
#menu .boarding-card{width:370px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 100px);overflow:auto}
#menu .ticket-content{padding:30px}
#menu h1{font-size:36px;line-height:1.1;letter-spacing:-1px;margin:0 0 28px}
#menu #join-form label{font-size:12px;letter-spacing:0;margin-bottom:8px}
#menu #join{font-size:17px;padding:17px;letter-spacing:.6px;margin-top:14px}
#menu .menu-details{border-top:1px solid #e3e7dd;margin-top:20px;padding-top:15px}
#menu .menu-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;color:#527078;font-size:13px;font-weight:650;padding:3px 0;user-select:none}
#menu .menu-details summary::-webkit-details-marker{display:none}
#menu .menu-details summary::after{content:'+';font-size:16px}
#menu .menu-details[open] summary::after{content:'−'}
#menu .menu-details summary:focus-visible,#menu button:focus-visible{outline:3px solid #368f91;outline-offset:4px}
#menu #rooms{margin-top:14px}
#menu .room-button{font-size:10px;letter-spacing:0;padding:12px 8px}
#menu .room-ticket{margin:0 0 24px;padding:0 0 18px;border-top:0}
#menu .room-ticket small{font-size:11px;letter-spacing:.6px}
#menu #room-code-big{font-size:38px;margin:9px 0}
#menu #room-hint{font-size:12px;line-height:1.5}
#menu .ticket-bottom{padding:10px 0 0;border:0;font-size:11px;letter-spacing:0}
#menu #status:empty{display:none}
#menu #status{margin:15px 0 0;font-size:11px}
#menu .language-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;color:#527078;font-size:12px}
#menu .language-choice select{max-width:70%;padding:8px;border:1px solid #cbdedb;border-radius:6px;background:#fffdf5;color:#214858;font:inherit}
#menu #menu-modifiers{display:none}
#menu .menu-footer{font-size:10px;letter-spacing:.6px}
#menu #menu-version{display:block;margin-left:auto;padding:7px 11px;border:1px solid #ffffff55;border-radius:7px;background:#153e56d9;color:#fffdf4;font-size:12px;font-weight:750;letter-spacing:.4px;font-variant-numeric:tabular-nums;white-space:nowrap}
#menu #next-camera{font-size:23px;line-height:1;padding:8px 12px}
@media(max-width:760px){#menu .brand{font-size:18px;letter-spacing:1.8px}#menu .boarding-card{right:20px;bottom:70px;top:auto;transform:none}#menu .ticket-content{padding:24px}#menu h1{font-size:30px;margin-bottom:22px}}
@media(max-height:600px){#menu .brand{top:20px;left:20px;font-size:18px;letter-spacing:1px}#menu .boarding-card{top:50%;bottom:auto;transform:translateY(-50%);max-height:calc(100dvh - 50px)}#menu .ticket-content{padding:20px}#menu h1{font-size:28px;margin-bottom:18px}#menu .menu-details{margin-top:14px;padding-top:10px}#menu .menu-footer{bottom:10px;left:20px;right:20px}}
