/* Full Online menu — the room browser is the screen. */
body.menu-active[data-screen=online] #menu,body.menu-active[data-screen=online] #scene-label,body.menu-active[data-screen=online]>footer,body.menu-active[data-screen=online]>header{display:none!important}
.menu-active[data-screen=online] #online-panel:not(.hidden){position:fixed;display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto;gap:20px;inset:3.5vh 4.5% 3vh;left:4.5%;right:4.5%;top:3.5vh;bottom:3vh;width:auto;max-height:none;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;z-index:6;isolation:isolate;animation:panel-in .2s ease-out}
#online-panel::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#130f25da,#1d152690 70%,#27172c70);backdrop-filter:blur(3px)}
.online-masthead{display:flex;justify-content:space-between;align-items:center;gap:20px}.online-wordmark{font:900 italic clamp(30px,3.2vw,49px)/1 var(--display);letter-spacing:-.7px;color:#fff0e7;position:relative}.online-wordmark::after{content:'';display:block;height:3px;width:90%;background:var(--pink);margin-top:7px;transform:skewY(-3deg)}.online-actions{display:flex;gap:25px;align-items:center}#online-panel .driver-name-field{display:grid;gap:7px;margin:0;font-size:8px;letter-spacing:1.5px;color:#cbbbd0}#online-panel .driver-name-field input{width:165px;padding:9px 11px;font-size:12px;color:#fff0e7;background:#1711279c;border:1px solid #ffffff35}
#online-panel .online-primary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:57px;padding:12px 24px;background:var(--pink);color:#fff0e7;border:0;clip-path:var(--cut);font:800 italic clamp(21px,2.3vw,32px)/1 var(--display);letter-spacing:.4px;cursor:pointer}#online-panel .online-primary b,#online-panel .online-primary>span{font-size:32px;color:#fff0e7}#online-panel .online-primary:disabled{opacity:.45;cursor:default}#online-panel .online-primary:focus-visible{outline:0;box-shadow:inset 0 0 0 3px var(--mint)}
.online-heading .eyebrow{font:700 italic 18px var(--display)!important;letter-spacing:1px;color:#f5e8e1}#online-panel .online-heading h1{font:900 italic clamp(46px,6.1vw,88px)/.95 var(--display);letter-spacing:.2px;color:#fff0e7;margin:8px 0 2px}
.online-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:16px;min-height:0}.rooms-browser,.room-sidebar{background:linear-gradient(135deg,#23192ddd,#1b1528dc);border:1px solid #ffffff12;min-height:0;padding:21px 24px}.rooms-browser{display:flex;flex-direction:column;overflow:hidden}.rooms-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-bottom:17px;border-bottom:1px solid #ffffff30}.rooms-toolbar>strong{font:800 italic 22px var(--display);color:var(--mint);white-space:nowrap}.rooms-toolbar>strong::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--mint);margin-right:10px;vertical-align:middle}.rooms-toolbar>div{display:flex;gap:10px}.rooms-toolbar button{padding:8px 13px;border:1px solid #ffffff60;background:transparent;color:#fff0e7;font:700 italic 18px var(--display);cursor:pointer}#online-code-open{color:var(--mint);border-color:var(--mint)}#online-code-open[aria-pressed=true]{background:#85f0cc22}
.room-columns{display:grid;grid-template-columns:minmax(0,1fr) 80px 75px;gap:15px;padding:14px 18px 12px;font:700 italic 18px var(--display);border-bottom:1px solid #ffffff30}.room-columns span:nth-child(n+2){text-align:center}
#online-panel #room-list{display:flex;flex-direction:column;gap:9px;max-height:none;flex:1;min-height:60px;overflow-y:auto;margin-top:12px;scrollbar-width:thin;scrollbar-color:#85f0cc50 transparent}
#online-panel .room-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 80px 75px;gap:15px;align-items:center;flex:none;min-height:100px;padding:18px;background:linear-gradient(100deg,#48334870,#32243a60);border:1px solid #ffffff18;border-left:5px solid transparent;color:#fff0e7;text-align:left;cursor:pointer}
#online-panel .room-row:hover{background:#61465c65;border-color:#ffffff50}#online-panel .room-row[aria-pressed=true]{background:linear-gradient(100deg,#77536d80,#51374d70);border-color:#b889a170;border-left-color:var(--mint)}#online-panel .room-row:disabled{opacity:.55;cursor:default}
#online-panel .room-main{display:flex;gap:18px;align-items:center;min-width:0}#online-panel .room-route-icon{display:flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;font:900 italic 47px var(--display);color:var(--mint);border-right:1px solid #ffffff40;padding-right:14px}#online-panel .room-row:nth-child(even) .room-route-icon{color:var(--pink)}.room-copy{display:grid;min-width:0;gap:7px}#online-panel .room-copy strong{font:800 italic clamp(21px,2vw,30px)/1 var(--display);text-transform:uppercase;overflow-wrap:anywhere}#online-panel .room-copy small{font-size:9px;letter-spacing:.5px;color:#e0ccd9;margin:0}
#online-panel .room-drivers{font:700 italic 27px var(--display);text-align:center;color:#fff0e7}#online-panel .room-status{font:800 italic 20px var(--display);text-align:center;color:#172426;background:var(--mint);padding:3px 8px;transform:skewX(-9deg)}#online-panel .room-status.full{background:#ffffff30;color:#e4d3e1}
.rooms-empty{display:flex;flex:1;min-height:150px;flex-direction:column;justify-content:center;align-items:flex-start;gap:13px;padding:28px}.rooms-empty strong{font:800 italic 36px/1 var(--display);color:#fff0e7}.rooms-empty span{font-size:12px;color:#d5c3d6;line-height:1.6}
.room-sidebar{overflow-y:auto;scrollbar-width:thin}.room-sidebar>section,.room-sidebar>form{min-height:100%;display:flex;flex-direction:column}#online-panel .room-sidebar h2{font:800 italic clamp(27px,2.6vw,40px)/1 var(--display);text-transform:uppercase;overflow-wrap:anywhere;margin:0 0 15px;color:#fff0e7}.online-map{background:#110f2238;padding:10px;display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #ffffff0d}.online-map svg{height:clamp(85px,17vh,170px);width:100%;color:var(--mint);filter:drop-shadow(0 0 7px #85f0cc20)}.online-map>span{font-size:7px;letter-spacing:1.4px;color:#a7ccc1}
#online-panel .room-sidebar h3{font:800 italic 27px var(--display);margin:17px 0 5px;padding-left:12px;border-left:7px solid var(--mint)}#room-detail-count{font:700 italic 24px var(--display)}#online-panel .room-sidebar p{display:block;font-size:12px;line-height:1.7;margin:13px 0;color:#f0e0eb}#online-panel .room-sidebar small{font-size:9px;line-height:1.7;color:#bdafc6;margin:0 0 15px}#online-panel .room-sidebar .online-primary{width:100%;margin-top:auto;flex-shrink:0}#online-panel .room-sidebar label{font-size:9px;letter-spacing:1.5px;margin:15px 0 9px;color:#cbbbd0}#online-panel .room-sidebar input{width:100%;background:#110f2240;border:1px solid #ffffff40;color:#fff0e7;font-size:16px;padding:13px;margin-bottom:16px}#online-panel #online-code{text-transform:uppercase;letter-spacing:6px;font-size:24px}.room-sidebar .panel-back{text-align:left;margin:-3px 0 24px}.room-sidebar .eyebrow{font-size:8px!important;letter-spacing:1px;margin-bottom:13px;color:var(--mint)}
.online-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:40px}#online-panel .online-footer #online-back{border:0;background:transparent;color:#fff0e7;padding:0;display:flex;align-items:center;gap:12px;font:800 italic 21px var(--display);cursor:pointer}#online-back kbd{font:800 italic 19px var(--display);padding:4px 9px;border-color:#ff277c90}#online-panel #online-status{font-size:9px;line-height:1.5;margin:0;color:var(--mint);text-align:center;max-width:40%}#online-panel .online-footer small{display:block;font-size:10px;line-height:1.5;margin:0;text-align:right;color:#ebdce7}
@media(max-height:760px) and (min-width:801px){.menu-active[data-screen=online] #online-panel:not(.hidden){gap:12px;top:3vh;bottom:2vh}.online-wordmark{font-size:32px}.online-heading h1{font-size:57px!important}.rooms-browser,.room-sidebar{padding:16px 18px}.rooms-toolbar{padding-bottom:11px}.rooms-toolbar>strong{font-size:19px}.rooms-toolbar button{font-size:15px}.room-columns{padding:10px 12px}.room-sidebar .online-map svg{height:12vh}#online-panel .room-sidebar h2{font-size:28px;margin-bottom:12px}#online-panel .room-sidebar h3{font-size:23px;margin-top:13px}#online-panel .room-sidebar p{margin:10px 0}.online-actions .online-primary{min-height:48px}.online-masthead .driver-name-field input{padding:7px}}
@media(max-width:1050px){.rooms-toolbar>strong{font-size:19px}.rooms-toolbar button{font-size:15px}.rooms-browser,.room-sidebar{padding:16px}.room-columns,#online-panel .room-row{grid-template-columns:minmax(0,1fr) 60px 58px;gap:10px}#online-panel .room-route-icon{display:none}#online-panel .room-drivers{font-size:23px}#online-panel .room-status{font-size:17px;padding:4px}.online-actions{gap:16px}}
@media(max-width:800px){.menu-active[data-screen=online] #online-panel:not(.hidden){position:fixed;inset:3vh 5% 2vh;display:flex!important;flex-direction:column;gap:20px;overflow-y:auto;padding:0 0 20px}.online-layout{display:flex;flex-direction:column;min-height:auto;gap:15px}.rooms-browser{min-height:250px;max-height:50vh;flex-shrink:0}.room-sidebar{min-height:340px;overflow:visible;flex-shrink:0}.room-sidebar>section,.room-sidebar>form{min-height:310px}.online-masthead{align-items:flex-start}.online-actions{flex-direction:column;align-items:stretch;gap:13px}.online-wordmark{font-size:30px}.online-actions .online-primary{font-size:23px;min-height:45px;padding:10px 16px}.online-heading h1{font-size:55px!important}.online-heading .eyebrow{font-size:15px!important}.online-footer{flex-wrap:wrap;gap:15px}.online-footer small{display:none!important}#online-panel #online-status{max-width:100%;text-align:left}.online-map svg{height:120px}#online-panel .room-sidebar h2{font-size:34px}.room-sidebar .online-primary{margin-top:20px!important}#online-panel .room-copy strong{font-size:24px}.room-columns{font-size:16px}.room-columns,#online-panel .room-row{grid-template-columns:minmax(0,1fr) 54px 54px;gap:9px;padding:12px}#online-panel .room-row{min-height:90px}.rooms-toolbar{gap:10px}.rooms-toolbar>strong{font-size:18px}.rooms-toolbar button{font-size:15px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){#online-panel::before{backdrop-filter:none}}
#online-panel .room-route-icon svg{width:48px;height:53px;overflow:visible;flex-shrink:0}
