body.room-pending .app-shell { visibility:hidden; pointer-events:none; }
.room-gate { position:fixed; inset:0; z-index:100; overflow-y:auto; color-scheme:dark; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#eaf5f0; background:#090d0d; }
.room-gate[hidden] { display:none; }
.room-gate .room-stats[hidden],.room-idle-warning[hidden] { display:none; }
.room-idle-warning { position:fixed; inset-block-start:12px; inset-inline:12px; z-index:101; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; width:fit-content; max-width:calc(100% - 24px); margin-inline:auto; padding:12px 16px; border:1px solid #91b9aa; border-radius:12px; color:#fff; background:#173940; font:inherit; }
.room-idle-warning p { margin:0; max-width:40ch; font-size:16px; line-height:1.5; }
.room-idle-warning button { min-height:44px; padding:8px 14px; border:1px solid #a4d9c7; border-radius:8px; background:transparent; color:#fff; font:inherit; cursor:pointer; }
.room-idle-warning button:hover { background:#2e6059; }
.room-idle-warning button:focus-visible { outline:3px solid #f2c15c; outline-offset:3px; }
.room-gate .room-shell { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100svh; padding:28px 18px; }
.room-gate .room-brand { display:flex; align-items:center; justify-content:center; gap:11px; align-self:center; width:min(100%,540px); margin:0 auto 45px; font-size:18px; font-weight:750; letter-spacing:-.02em; }
.room-gate .room-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid #a5cbc1; border-radius:50%; font-size:12px; letter-spacing:-.04em; }
.room-gate .room-card { width:min(100%,540px); border:1px solid rgba(219,244,235,.22); border-radius:25px; background:#14241bc9;backdrop-filter:blur(20px); padding:clamp(26px,6vw,46px); box-shadow:0 25px 70px rgba(0,0,0,.28); }
.room-gate .room-icon { display:flex; gap:6px; margin-bottom:26px; }
.room-gate .room-icon span { width:11px; height:11px; border-radius:50%; background:#91dcc2; animation:pulse 1.4s ease-in-out infinite; }
.room-gate .room-icon span:nth-child(2) { animation-delay:.18s; }
.room-gate .room-icon span:nth-child(3) { animation-delay:.36s; }
.room-gate .eyebrow { margin:0 0 8px; color:#a4d9c7; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.room-gate h1 { margin:0; font-size:clamp(34px,7vw,48px); letter-spacing:-.045em; line-height:1.1; }
.room-gate .room-intro { max-width:47ch; margin:17px 0 27px; color:#c4d9d2; font-size:15px; line-height:1.6; }
.room-gate .room-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.room-gate .room-stats div { display:flex; flex-direction:column; gap:7px; border:1px solid rgba(218,241,233,.16); border-radius:14px; background:rgba(255,255,255,.045); padding:15px 17px; }
.room-gate .room-stats span { color:#aac7bd; font-size:12px; }
.room-gate .room-stats strong { font-size:25px; letter-spacing:-.03em; }
.room-gate .room-message { min-height:21px; margin:25px 0 16px; color:#b5dbcc; font-size:13px; }
.room-gate button { min-height:44px; border:1px solid #9bcdbb; border-radius:10px; background:transparent; padding:9px 17px; color:#eaf5f0; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.room-gate button:hover { background:rgba(165,218,196,.13); }
.room-gate button:focus-visible { outline:3px solid #29cca4; outline-offset:3px; }
.room-gate .room-footnote { margin:24px 0 0; color:#adc9bf; font-size:12px; text-align:center; }
@keyframes pulse { 0%,70%,100% { opacity:.35; transform:scale(.8); } 35% { opacity:1; transform:scale(1); } }
@media (prefers-reduced-motion:reduce) { .room-gate .room-icon span { animation:none; } }
