.online-mode .wrap{padding-top:24px}
.online-lobby-card{position:relative;width:min(720px,100%);margin:7vh auto 0;padding:clamp(26px,5vw,54px);border:1px solid var(--line);border-radius:34px;background:var(--panel);box-shadow:0 28px 90px #3e392f1c;overflow:hidden}
.online-lobby-card:before{content:"";position:absolute;width:340px;height:340px;right:-160px;top:-190px;border-radius:50%;background:#35639a16}
.online-kicker{display:flex;align-items:center;gap:8px;color:#686259;font-size:11px;font-weight:900;letter-spacing:.16em}
.live-dot{width:9px;height:9px;border-radius:50%;background:#3f8c62;box-shadow:0 0 0 5px #3f8c6218;animation:livePulse 1.8s ease infinite}
.online-lobby-card h1{margin:20px 0 10px;font-size:clamp(42px,8vw,78px);line-height:.94;letter-spacing:-.065em}.online-lobby-card h1 span{display:block;color:#35639a}
.online-lead{max-width:560px;margin:0 0 30px;color:var(--muted);font-size:17px;line-height:1.55}
.lobby-actions{display:grid;gap:12px}.lobby-actions>.primary{width:100%;min-height:58px}.join-row{display:grid;grid-template-columns:1fr auto;gap:10px}.join-row input{width:100%;min-width:0;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:var(--panel2);color:var(--text);font:800 17px/1 inherit;letter-spacing:.18em;text-transform:uppercase;outline:none}.join-row input:focus{border-color:#35639a;box-shadow:0 0 0 4px #35639a14}.join-row button{min-width:150px}
.joined-room{position:relative;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--panel2)}.joined-room>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:20px}.joined-room small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.16em}.joined-room strong{font-size:30px;letter-spacing:.14em}.joined-room p{margin:16px 0;color:var(--muted)}.joined-actions{display:grid;grid-template-columns:1fr auto;gap:10px}.online-error{min-height:20px;margin:14px 0 0;color:#a53b3b;font-size:13px;font-weight:800}.lobby-theme{position:absolute;right:24px;top:24px}
.online-roombar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--muted);font-size:12px}.online-roombar strong{color:var(--text);letter-spacing:.1em}.connection-state{display:inline-flex;align-items:center;gap:7px}.connection-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#3f8c62}.connection-state.offline:before{background:#b44747}
.setup-exit{display:flex;justify-content:center;margin-top:12px}.setup-exit button{min-width:170px;padding:11px 22px;border-radius:999px;color:#777268;font-size:12px}
.live-auction-status{min-height:45px;display:grid;place-items:center;margin-top:10px;padding:10px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);color:var(--muted);font-size:13px;font-weight:800;text-align:center}.online-actions{justify-content:center!important}.online-pass{width:auto!important;min-width:150px!important;padding:0 24px!important;background:#24231f!important;color:#fffdf8!important;font-size:14px!important}.online-pass:disabled{opacity:.28!important}.online-mode .auction-console{display:block}.online-mode .auction-console.forced-pick .bid-grid{display:none}.online-mode .auction-console.forced-pick .online-actions{display:flex}.online-mode .game-exit{display:flex}.online-mode .bid-grid button.selected{transform:none}.online-mode .bid-grid button.leading{background:#35639a;border-color:#35639a;color:#fff}.game-head-actions{display:flex;align-items:center;gap:14px}.game-head-actions .theme-toggle{white-space:nowrap}
.online-toast{position:fixed;z-index:1200;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,20px);max-width:min(92vw,520px);padding:12px 18px;border-radius:999px;background:#24231f;color:#fffdf8;font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:.25s}.online-toast.show{opacity:1;transform:translate(-50%,0)}
.coin-toss{position:fixed;z-index:1500;inset:0;display:grid;place-items:center;padding:20px;background:#11100dc9;backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transition:.28s opacity,.28s visibility}.coin-toss.show{opacity:1;visibility:visible;pointer-events:auto}.coin-toss-card{display:grid;justify-items:center;gap:10px;width:min(92vw,390px);padding:34px 28px;border:1px solid #ffffff24;border-radius:28px;background:#fffdf8;color:#24231f;text-align:center;box-shadow:0 34px 100px #0008}.coin{display:grid;place-items:center;width:104px;height:104px;margin-bottom:8px;border-radius:50%;background:linear-gradient(145deg,#ffd978,#d18d24);color:#442b08;font-size:28px;font-weight:950;box-shadow:inset -8px -10px 18px #7e4e2555,0 18px 42px #0003;animation:coinFlip .9s cubic-bezier(.2,.8,.25,1)}.coin-toss-card small{color:#777268;font-size:10px;font-weight:900;letter-spacing:.16em}.coin-toss-card strong{font-size:28px;letter-spacing:-.04em}.coin-toss-card span{color:#777268;font-size:13px;font-weight:700}@keyframes coinFlip{0%{transform:translateY(-80px) rotateY(0) scale(.72);opacity:0}65%{transform:translateY(8px) rotateY(900deg) scale(1.05);opacity:1}100%{transform:translateY(0) rotateY(1080deg) scale(1)}}
body[data-theme="dark"] .online-lobby-card,body[data-theme="dark"] .joined-room,body[data-theme="dark"] .online-roombar,body[data-theme="dark"] .live-auction-status{background:#1a1d23;border-color:#343840}body[data-theme="dark"] .join-row input{background:#15181d;border-color:#3a3f49;color:#f1eee7}body[data-theme="dark"] .online-lobby-card h1 span{color:#8db9ec}body[data-theme="dark"] .online-pass{background:#eee9df!important;color:#1d1f24!important}
@keyframes livePulse{50%{transform:scale(.72);opacity:.55}}
@media(max-width:620px){.online-mode .wrap{padding-top:10px}.online-lobby-card{margin:2vh auto 0;padding:24px 18px;border-radius:24px}.online-lobby-card h1{font-size:48px}.online-lead{font-size:14px}.lobby-theme{position:static;margin-top:6px}.join-row,.joined-actions{grid-template-columns:1fr}.join-row button{min-width:0}.joined-room>div:first-child{align-items:flex-start;flex-direction:column;gap:6px}.online-roombar{font-size:10px}.online-pass{min-width:130px!important}.game-head{align-items:flex-start!important}.game-head-actions{align-items:flex-end;flex-direction:column;gap:8px}.game-head-actions .theme-toggle{padding:9px 11px;font-size:11px}.coin-toss-card{padding:28px 20px}.coin{width:88px;height:88px}.coin-toss-card strong{font-size:25px}}
