/* Waiting-room presentation only. Admission remains server-owned. */
html.queue-pending{overflow-x:hidden}
html.queue-pending body>:not(.atmosphere):not(.visit-queue):not(.page-transition):not(script){display:none!important}
.visit-queue{position:relative;z-index:30;box-sizing:border-box;min-height:100svh;width:min(1040px,100%);margin:auto;padding:24px 36px 12px;display:flex;flex-direction:column;color:#eaf7ff;font-family:Manrope,Arial,sans-serif}
.visit-queue[hidden],.queue-idle[hidden],.visit-queue [hidden]{display:none!important}
.visit-queue .queue-stage{display:flex;flex:1;flex-direction:column;min-height:0}
.queue-header{display:flex;width:100%;align-items:center;gap:18px}
.queue-brand{display:flex;align-items:center;flex:none;width:120px;min-height:48px;text-decoration:none}
.queue-brand img{display:block;width:100%;height:auto}
.queue-header .queue-language{margin-left:auto}
.queue-language{display:flex;gap:4px}
.queue-language button{min-width:40px;min-height:44px;border:0;background:none;padding:8px;font:inherit;font-size:12px;color:#a3bdcd;cursor:pointer}
.queue-language button[aria-pressed=true]{color:#a3eaff}
.visit-queue :is(a,button,input):focus-visible,.queue-idle button:focus-visible{outline:2px solid #a3eaff;outline-offset:4px;border-radius:5px}
.visit-queue button:disabled{opacity:.5;cursor:wait}
.queue-main,.queue-maintenance,.queue-mobile-content{width:min(100%,440px);margin:auto;padding:32px 0;text-align:center}
.queue-eyebrow{display:flex;justify-content:center;align-items:center;gap:8px;margin:0;color:#a3cee1;font-size:10px;line-height:1.6;letter-spacing:.13em;font-weight:650}
.queue-light{width:5px;height:5px;flex:none;border-radius:50%;background:#9be7ff;box-shadow:0 0 14px #6bd9ff60}
.queue-main h1,.queue-maintenance h1,.queue-mobile-content h1{margin:14px auto 12px;max-width:410px;font-size:clamp(27px,6.7vw,36px);line-height:1.18;letter-spacing:-.04em;font-weight:700;outline:none;text-wrap:balance}
.queue-intro,.queue-maintenance>p:not(.queue-eyebrow),.queue-mobile-content>p:not(.queue-eyebrow){max-width:350px;margin:0 auto;color:#afc4d2;font-size:13px;line-height:1.75;text-wrap:pretty}
.queue-place{display:flex;flex-direction:column;align-items:center;gap:7px;margin:26px auto 22px;padding:4px 0;background:radial-gradient(ellipse at center,#69d5ff0c,transparent 65%)}
#queue-position-label{color:#9eb8c9;font-size:10px;line-height:1.5;letter-spacing:.12em}
#queue-position{font-size:68px;font-weight:600;line-height:1.1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:#a3eaff;text-shadow:0 0 45px #52c8ff20}
#queue-status{max-width:320px;color:#bed5e3;font-size:13px;line-height:1.6}
.visit-queue[data-phase=loading] #queue-position{font-size:44px;line-height:1.25;animation:queue-breathe 1.8s ease-in-out infinite}
.queue-turn #queue-position{font-size:64px;animation:queue-arrive .5s ease-out both}
.queue-turn .queue-place{margin:32px auto}
.queue-reason{margin:16px auto;color:#f0cfac;font-size:12px;line-height:1.7;max-width:360px}
.queue-presence{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:16px;row-gap:9px;padding-top:18px;border-top:1px solid #a6d7eb24;text-align:left}
.queue-time{display:grid;gap:3px;margin:0;font-size:11px;line-height:1.4;color:#afc4d2}
.queue-time strong{font-size:23px;line-height:1.2;color:#e0f4ff;font-variant-numeric:tabular-nums;font-weight:550;letter-spacing:-.025em}
#queue-confirm-help{grid-column:1/-1;font-size:11px;line-height:1.6;color:#a0b9ca;margin:0}
#queue-heartbeat,#queue-switch-tab,.queue-retry,#queue-maintenance-retry,.queue-idle button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid #a6e8ff65;border-radius:10px;background:#9ee4ff10;color:#d8f3ff;font:inherit;font-size:13px;font-weight:650;line-height:1.5;text-decoration:none;cursor:pointer;transition:background .2s}
#queue-heartbeat:hover,#queue-switch-tab:hover,.queue-retry:hover,#queue-maintenance-retry:hover,.queue-idle button:hover{background:#9ee4ff21}
.queue-confirm-due #queue-heartbeat,#queue-switch-tab,.queue-main>.queue-retry{background:#b7ebff;color:#092737;border-color:#b7ebff}
.queue-confirm-due #queue-heartbeat:hover,#queue-switch-tab:hover,.queue-main>.queue-retry:hover{background:#d5f4ff}
.queue-confirm-due .queue-time{color:#f0cfac;font-size:12px}
.queue-confirm-due #queue-timer:empty{display:none}
.queue-takeover{max-width:390px;margin:24px auto}
.queue-takeover p{color:#eed2b6;font-size:12px;line-height:1.7;margin:0 0 18px}
.queue-main>.queue-retry{margin:24px 0 0}
.queue-device{margin:12px auto 0;max-width:370px;font-size:10px;line-height:1.7;color:#a0b9ca;text-wrap:pretty}
.queue-device:has(>[hidden]):not(:has(>:not([hidden]))){display:none}
#queue-wake-retry{display:block;min-height:44px;margin:0 auto;padding:8px;border:0;background:none;color:#bceeff;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.queue-account-access{display:grid;grid-template-columns:1fr auto;column-gap:16px;row-gap:8px;align-items:center;margin:26px auto 0;padding:20px 0 0;border-top:1px solid #a6d7eb24;text-align:left}
.queue-account-access h2{margin:0 0 5px;font-size:13px;line-height:1.5;font-weight:650;letter-spacing:-.015em;color:#e0eef6}
.queue-account-access p{margin:0;max-width:260px;font-size:11px;line-height:1.65;color:#a0b9ca}
.queue-account-access a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;color:#a3eaff;font-size:12px;font-weight:650;line-height:1.5;text-decoration:none;white-space:nowrap}
.queue-account-access a::after{content:'↗';font-size:16px;font-weight:400}
.queue-account-access a:hover{text-decoration:underline;text-underline-offset:4px}
.queue-new-tab{grid-column:1/-1;color:#9eb4c5;font-size:10px;line-height:1.6}
.queue-login{margin:8px auto 0;font-size:12px;color:#afc4d2;text-align:left}
.queue-login button{font:inherit;cursor:pointer;color:#aac4d5;background:none;border:0;padding:10px 0;min-height:44px;text-underline-offset:4px}
#queue-login-toggle{display:flex;align-items:center;gap:9px;font-size:11px}
#queue-login-toggle::after{content:'+';font-size:16px;color:#9dd9f0}
#queue-login-toggle[aria-expanded=true]::after{content:'−'}
#queue-login-toggle:hover{text-decoration:underline}
.queue-login form{padding:8px 0 10px;max-width:350px}
.queue-login label{display:grid;gap:6px;margin-top:14px}
.queue-login input{box-sizing:border-box;min-height:46px;width:100%;border:1px solid #8fc8e460;border-radius:8px;padding:10px 12px;background:#071a28aa;color:#eefaff;font:inherit;font-size:16px}
.queue-login p{line-height:1.7}
.queue-login button[type=submit]{border:1px solid #8fc8e460;border-radius:10px;width:100%;min-height:46px;color:#d8f3ff}
.queue-footer{display:flex;justify-content:center;gap:24px;padding-top:8px;font-size:11px;line-height:1.5;color:#a0b9ca}
.queue-footer a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}
.queue-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.queue-maintenance-mark{position:relative;display:grid;width:66px;height:82px;margin:0 auto 24px;place-items:center}
.queue-maintenance-mark>span{position:absolute;inset:0;background:radial-gradient(ellipse,#89dfff20,transparent 70%)}
.queue-maintenance-mark svg{position:relative;width:60px;height:74px;stroke:#c5edfa;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.queue-maintenance-mark svg path:last-child{stroke:#f1b086;stroke-width:1.8}
#queue-maintenance-retry{margin:24px 0 14px}
.queue-maintenance #queue-maintenance-note{font-size:11px;color:#a0b9ca}
.queue-desktop>:not(.queue-mobile-only):not(.queue-footer){display:none!important}
.queue-mobile-only{display:flex;flex:1;flex-direction:column;width:100%}
.queue-mobile-content{padding:40px 0}
.queue-mobile-hint{display:flex;align-items:center;justify-content:center;gap:14px;max-width:350px;margin:28px auto;color:#c8e8f5;font-size:12px;line-height:1.7}
.queue-mobile-hint svg{flex:none;width:22px;height:30px;stroke:#9dd9f0;stroke-width:1.3;stroke-linecap:round}
.queue-desktop.maintenance-active>.queue-stage{display:flex!important;min-height:0}
.queue-desktop.budget-active>.queue-stage{display:flex!important;min-height:0}
.queue-desktop.budget-active>.queue-mobile-only{display:none!important}
.queue-desktop.maintenance-active>.queue-mobile-only{display:none!important}
.queue-idle{box-sizing:border-box;position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:100;width:min(560px,calc(100% - 32px));display:flex;align-items:center;gap:20px;justify-content:space-between;background:#071d2af5;border:1px solid #78cceb60;border-radius:14px;padding:20px;box-shadow:0 16px 70px #0008;backdrop-filter:blur(20px)}
.queue-idle h2{font-size:18px;letter-spacing:-.025em;margin:0 0 7px}
.queue-idle p{font-size:12px;color:#b7cfdf;line-height:1.6;margin:0}
.queue-idle button{font-size:12px;flex-shrink:0;padding:10px 16px}
.queue-idle strong{font-variant-numeric:tabular-nums;color:#dbf5ff}
/* Independent delayed fallback must still work if the queue script never starts. */
.queue-startup-recovery{visibility:hidden;opacity:0;max-height:0;overflow:hidden;margin:0;font-size:13px;line-height:1.7;animation:queue-startup-fallback 0s 12s forwards}
.queue-startup-recovery.is-visible{visibility:visible;opacity:1;max-height:500px;margin:20px 0}
.queue-started .queue-startup-recovery{display:none!important}
.queue-noscript{text-align:center;padding:16px;font-size:13px;color:#efc7ac}
@keyframes queue-startup-fallback{to{visibility:visible;opacity:1;max-height:500px;margin:20px 0}}
@keyframes queue-breathe{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes queue-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:600px){.visit-queue{padding:16px 24px 8px}.queue-brand{width:108px}.queue-header{gap:12px}.queue-main,.queue-maintenance{padding:26px 0}.queue-account-access{column-gap:12px;grid-template-columns:1fr}.queue-account-access p{max-width:none}.queue-account-access a{justify-self:start;padding:4px 0}.queue-account-access .queue-new-tab{margin-top:-5px}.queue-idle{gap:12px;padding:16px}.queue-idle button{padding:10px 12px}}
@media(max-width:360px){.visit-queue{padding-right:18px;padding-left:18px}.queue-header{gap:8px}.queue-language button{min-width:36px}.queue-presence{column-gap:12px}.queue-idle{flex-wrap:wrap}}
@media(max-height:740px){.queue-main,.queue-maintenance{padding:22px 0}.queue-place{margin:20px auto 18px}#queue-position{font-size:58px}.queue-account-access{margin-top:20px;padding-top:16px}}
@media(prefers-reduced-motion:reduce){.visit-queue *,.queue-idle *{animation:none!important;transition:none!important}.visit-queue .queue-startup-recovery{animation:queue-startup-fallback 0s 12s forwards!important}}
.visit-queue.budget-active .queue-stage{display:flex}
.queue-budget #queue-budget-text{max-width:480px;margin:18px auto 26px;line-height:1.8;color:#abc0d0}
.queue-budget #queue-budget-note{max-width:420px;font-size:12px;line-height:1.8;margin:22px auto 16px;color:#97adbf}
.queue-budget #queue-budget-retry{min-height:48px;padding:12px 24px;border:1px solid #a4bec74d;border-radius:12px;color:#e3f3fa;background:#173748;cursor:pointer}
.queue-budget #queue-budget-account{font-size:14px;color:#c8e9f5;text-underline-offset:5px}
.queue-budget .queue-maintenance-mark{color:#d1b28a}
