*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;background:#080e1b;color:#e8f2ff;font:15px system-ui,sans-serif}a{color:#a0f5e2;text-decoration:none}button,input{font:inherit}button{cursor:pointer;border:1px solid #83f4d5;background:#83f4d5;color:#0a272a;font-weight:700;border-radius:10px;padding:13px 18px}button:disabled{opacity:.45;cursor:default}input{display:block;background:#090f20;color:#edf5ff;border:1px solid #43536f;border-radius:9px;padding:12px;width:100%;margin-top:7px;outline:none}button:focus,input:focus,a:focus{outline:2px solid #bafaea;outline-offset:3px}[hidden]{display:none!important}#room-wrap{margin:0 auto}#room-root{width:1280px;padding:26px 32px;transform-origin:top left;background:radial-gradient(ellipse at 25% 0,#1a3246,transparent 60%)}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #778da62b;padding-bottom:18px}h1{margin:0;font-size:27px;letter-spacing:.12em}h1 small{font-size:13px;color:#a4b7d1}h2{font-size:44px;margin:8px 0}h3{font-size:22px;margin:10px 0}p{line-height:1.5;color:#aebfd5}.tag{font-size:12px;letter-spacing:.12em;color:#a0f5e2}#lobby{max-width:840px;margin:25px auto}.intro{text-align:center}.intro p{margin:8px 0}.name-label{display:block;max-width:350px;margin:24px auto;font-size:14px;color:#bac9dd}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}article{border:1px solid #71849f36;border-radius:16px;padding:20px;background:#121e31}article button{width:100%;margin-top:8px}#join-form{max-width:520px;margin:22px auto}.join-row{display:flex;gap:10px;align-items:end}.join-row input{flex:1;min-width:0}#join-form label{font-size:14px}.room-note{font-size:14px;color:#9eafc8;margin:12px 0}.room-bar{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.room-bar b{display:block;margin-top:4px}.secondary{background:#142338;border-color:#465a75;color:#bcd1e9;font-size:14px;padding:9px 14px;margin-left:8px}.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.main-column{min-width:0}.flight-screen{position:relative;background:radial-gradient(ellipse at 70% 80%,#153f4f,#080f23 70%);border:1px solid #657e9f44;border-radius:18px;overflow:hidden}canvas{display:block;width:100%;height:auto}.controls{display:grid;grid-template-columns:1fr 1fr 220px;gap:15px;align-items:end;padding:18px;background:#142035;border:1px solid #576f9133;border-radius:14px;margin-top:15px}.controls label{font-size:14px;color:#b4c7de}.controls button{height:47px}.controls input{font:700 18px monospace}.game-grid aside{display:flex;flex-direction:column;gap:12px}#room-balance{display:block;font:700 30px monospace;margin:10px 0;color:#acffe7}.session-stats{display:flex;justify-content:space-between;font-size:12px;color:#a0b1ca;margin-top:15px}.session-stats b{display:block;color:#ecf6ff;font:700 16px monospace;margin-top:5px}#room-history{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}#room-history span{font:13px monospace;border-radius:5px;background:#1c2d40;padding:5px;color:#9ee8d4}.crew-card{flex:1;min-height:140px}.crew-heading{display:flex;justify-content:space-between;align-items:center}#room-count{font-size:12px;color:#a1b4ce}#room-crew{margin-top:12px;max-height:230px;overflow:auto}.crew-row{display:flex;justify-content:space-between;gap:8px;background:#0a1526;border-radius:7px;padding:9px;margin-top:5px;font-size:14px}.crew-row.you{border:1px solid #8deed87a}.crew-row span:last-child{color:#8ff1cc;font:13px monospace}.connection-row{display:flex;gap:10px;align-items:center;min-height:40px}#room-status{font-size:14px;color:#a5e1e3}#room-result{margin-top:14px;padding:14px;border:1px solid #85d5bd55;border-radius:10px;background:#132e32}footer{display:flex;justify-content:space-between;gap:15px;color:#8fa6c2;font-size:13px;border-top:1px solid #7084a82c;padding-top:15px;margin-top:10px}#invite-link{font-size:14px}#invite-fallback{margin-bottom:12px}
.portrait{padding:18px!important}.portrait header{gap:8px}.portrait header>a{font-size:14px}.portrait h1{font-size:20px}.portrait h1 small{display:none}.portrait h2{font-size:30px}.portrait .intro p{font-size:15px}.portrait #lobby{margin-top:20px}.portrait .lobby-grid{grid-template-columns:1fr;gap:10px}.portrait article{padding:13px}.portrait h3{font-size:17px}.portrait .lobby-grid p{font-size:14px;margin:6px 0}.portrait .lobby-grid button{font-size:15px;padding:12px 6px}.portrait .game-grid{grid-template-columns:1fr;gap:12px}.portrait .game-grid aside{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portrait .crew-card{grid-column:1/-1;min-height:120px}.portrait #room-crew{max-height:145px}.portrait .controls{grid-template-columns:1fr 1fr;padding:12px;gap:10px}.portrait .controls button{grid-column:1/-1}.portrait .room-bar{font-size:14px;gap:8px}.portrait .room-bar .secondary{font-size:13px;padding:8px 10px;margin-left:6px}.portrait #room-balance{font-size:24px}.portrait .session-stats{flex-wrap:wrap;gap:8px}.portrait footer{flex-wrap:wrap;font-size:13px}.portrait .room-note{font-size:13px}.portrait .name-label{margin:20px auto}.portrait .tag{font-size:12px}.portrait .session-stats{font-size:12px}
.invite-title,#other-tables{display:none}.invited .invite-title{display:block}.invited .lobby-title,.invited .lobby-grid,.invited #join-form>label{display:none}.invited #other-tables{display:block;margin:16px auto 0}

/* Match the solo flight canvas, including its phone proportions. */
.flight-screen{background:radial-gradient(900px 420px at 50% 100%,rgba(201,162,106,.10),transparent 70%),linear-gradient(180deg,#0f1422,#090c14);box-shadow:inset 0 0 80px rgba(0,0,0,.6),0 18px 38px rgba(0,0,0,.5)}
#room-canvas{height:470px}.portrait #room-canvas{height:300px}
/* The public table lives on /crash/ itself; the lobby links there. */
article a.lobby-link{display:block;text-align:center;margin-top:8px;border:1px solid #83f4d5;border-radius:10px;padding:13px 18px;font-weight:700;color:#bafaea}article a.lobby-link:hover{background:#83f4d51a}.portrait .lobby-grid a.lobby-link{font-size:15px;padding:12px 6px}
