/* Keep the approved 16:9 camera field; place the mobile caption below it. */
.crew-table[hidden],[data-table-fallback][hidden]{display:none!important}
.crew-table{position:relative;isolation:isolate;overflow:hidden;background:#07151b;color:#f7f4ed;outline-offset:5px!important}
.crew-table-stage{position:relative;aspect-ratio:16/9;background:#080e10;overflow:hidden;touch-action:pan-y}
.crew-table-canvas{width:100%;height:100%;display:block}
.crew-table-auto-pause{position:absolute;top:12px;right:64px;z-index:3;width:44px;height:44px;display:grid;place-items:center;padding:9px;border:1px solid #ffffff65;border-radius:5px;background:#031219c9;color:#fff;cursor:pointer;backdrop-filter:blur(6px)}
.crew-table-auto-pause[hidden]{display:none}
.crew-table-auto-pause svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square}
.crew-table-auto-pause:hover{background:#173b46;border-color:#fff}
.crew-table-loading{position:absolute;inset:0;display:grid;place-content:center;color:#d8c8ae;font:400 .9375rem/1.5 'Helvetica Neue',Arial,sans-serif;letter-spacing:.025em}
.crew-table-loading[hidden]{display:none}
.crew-table.is-loading .crew-table-canvas,.crew-table.is-loading .crew-table-arrow,.crew-table.is-loading .crew-table-caption,.crew-table.is-loading .crew-table-footer{visibility:hidden}
.crew-table-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:grid;place-items:center;width:54px;height:96px;padding:0;background:#06172040;border:0;color:#fff2d7;cursor:pointer;filter:drop-shadow(0 2px 4px #0009);transition:background .2s,opacity .2s}
.crew-table-arrow:hover{background:#06172080}.crew-table-arrow:disabled{opacity:.2;cursor:default}
.crew-table-arrow span{display:block;width:17px;height:48px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%,0 88%,76% 50%,0 12%)}
.crew-table-prev{left:0}.crew-table-next{right:0}.crew-table-prev span{transform:rotate(180deg)}
.crew-table-caption{position:absolute;z-index:1;left:24px;right:24px;bottom:166px;max-width:70%;padding:12px 18px;background:#05151dd9;border-left:2px solid #efd4a1;pointer-events:none;transition:opacity .25s}
#universe-dialog .crew-table-name{margin:0 0 5px;font:400 clamp(1.5rem,2.6vw,2rem)/1.1 Georgia,serif;color:#fff6e9}
#universe-dialog .crew-table-line{margin:0;font:400 1rem/1.5 'Helvetica Neue',Arial,sans-serif;color:#e0dfda;text-wrap:pretty}
.crew-table.moving .crew-table-caption{opacity:0}
.crew-table-footer{padding:16px 24px 18px;position:relative}
.crew-table-heading{display:flex;align-items:center;gap:12px;margin:0 0 7px}
#universe-dialog .crew-table-hint{font:400 .8125rem/1.5 'Helvetica Neue',Arial,sans-serif;color:#d8c8ae;margin:0}
.crew-table-count{margin-left:auto;font:400 .75rem/1.5 'Helvetica Neue',Arial,sans-serif;font-variant-numeric:tabular-nums;color:#d8c8ae}
.crew-table-seats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.crew-table-seat{background:none;color:#d6ccbb;border:0;border-bottom:1px solid #efd4a12b;padding:10px 4px;min-height:44px;font:400 .9375rem/1.3 'Helvetica Neue',Arial,sans-serif;cursor:pointer;transition:color .2s,border-color .2s}
.crew-table-seat:hover{color:#fff6e9;border-color:#efd4a190}.crew-table-seat[aria-pressed="true"]{color:#ffdeb0;border-bottom:2px solid #efd4a1}
.crew-table-seat:disabled{cursor:default}.crew-table-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;flex-wrap:wrap}
.crew-table-action{font:400 .8125rem/1.3 'Helvetica Neue',Arial,sans-serif;background:none;color:#e5d1b1;border:1px solid #efd4a14d;border-radius:24px;min-height:44px;padding:8px 15px;cursor:pointer}
.crew-table-action:hover{background:#17353e}.crew-table-action:disabled{opacity:.4;cursor:default}.crew-table-action[hidden]{display:none}
.crew-table-status{position:absolute;top:8px;left:50%;transform:translateX(-50%);margin:0;padding:8px 14px;max-width:90%;width:max-content;background:#061720ed;color:#fff6e9;font-size:.875rem;z-index:1;text-align:center}
.crew-table.is-fullscreen{position:fixed;inset:0;z-index:20;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;overflow:auto;background:#031219;padding:env(safe-area-inset-top,0px) max(0px,env(safe-area-inset-right)) env(safe-area-inset-bottom,0px) max(0px,env(safe-area-inset-left))}
.crew-table.is-fullscreen .crew-table-stage{width:min(100%,calc((100dvh - 166px)*16/9));margin:0 auto;flex-shrink:0}
.crew-table.is-fullscreen .crew-table-caption{position:static;max-width:none;margin:0 auto;width:min(100%,1050px);background:transparent;border:0;text-align:center;padding:8px 16px}
.crew-table.is-fullscreen .crew-table-footer{width:min(100%,1050px);margin:0 auto;padding-top:8px}
.crew-table.is-fullscreen .crew-table-heading{display:none}
@media(max-width:760px){
 .crew-table-auto-pause{top:8px;right:60px}
 .crew-table{margin-inline:-20px}
 .crew-table-caption{position:static;max-width:none;min-height:103px;padding:16px 20px;background:none;border:0}
 #universe-dialog .crew-table-name{font-size:1.65rem}
 #universe-dialog .crew-table-line{font-size:.9375rem;line-height:1.45}
 .crew-table-arrow{width:44px;height:72px}.crew-table-arrow span{width:14px;height:38px}
 .crew-table-footer{padding:0 20px 20px}
 .crew-table-seats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px}
 .crew-table-actions{justify-content:center;gap:6px}.crew-table-action{padding:8px 11px}
 .crew-table.is-fullscreen{margin:0}.crew-table.is-fullscreen .crew-table-stage{width:100%}
}
@media(max-height:520px) and (orientation:landscape){
 .crew-table.is-fullscreen .crew-table-stage{width:100%;height:100%;aspect-ratio:auto;display:grid;place-items:center}
 .crew-table.is-fullscreen .crew-table-canvas{width:min(100%,calc(100dvh*16/9));height:auto;aspect-ratio:16/9}
 .crew-table.is-fullscreen .crew-table-footer{position:absolute;bottom:6px;right:max(8px,env(safe-area-inset-right));width:auto;padding:0}
 .crew-table.is-fullscreen .crew-table-seats,.crew-table.is-fullscreen .crew-table-heading{display:none}
 .crew-table.is-fullscreen .crew-table-caption{position:absolute;bottom:10px;left:18px;text-align:left;width:auto;max-width:50%;padding:8px 12px;background:#05151dda;min-height:0}
 .crew-table.is-fullscreen .crew-table-name{font-size:1.25rem}.crew-table.is-fullscreen .crew-table-line{font-size:.8125rem}
 .crew-table.is-fullscreen .crew-table-action{background:#05151dda}
}
@media(prefers-reduced-motion:reduce){.crew-table-caption,.crew-table-seat,.crew-table-arrow{transition:none}}
