/* Core36: single-screen competitive lobby, no nested decoration or scroll traps. */
.live{width:100%;max-width:600px;min-width:0;margin:0 auto;flex:1 1 auto;min-height:0;padding:10px 16px max(14px,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:none;color:#eff5fd}
.live::-webkit-scrollbar{display:none}.live *{box-sizing:border-box;min-width:0}
.live-loading{flex:1;display:grid;place-items:center}
.live-top{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;flex:0 0 44px;margin-bottom:4px}
.live-back{width:40px;height:40px;display:grid;place-items:center;color:#e5edf9;border:1px solid #c4d7ed2a;border-radius:50%;background:#101827}
.live-back svg{width:21px;height:21px}.live-index{text-align:center;color:#a5b6c9;letter-spacing:.1em;font-size:10px;font-weight:670;white-space:nowrap}.live-index b{color:#b8f3df;font-weight:800}.live-tag{font-size:9px;color:#b7e6d3;display:flex;align-items:center;gap:5px;justify-content:flex-end;letter-spacing:.06em}.live-tag i{width:6px;height:6px;border-radius:50%;background:#b1f1d7;box-shadow:0 0 10px #a9f2da88}
.live-stage{flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;gap:10px}.live-hero{flex:0 0 auto;max-width:100%;text-align:center}.live-hero h1{font-size:clamp(25px,7vw,37px);line-height:1.08;letter-spacing:-.055em;font-weight:860;margin:0 0 7px}.live-hero p{margin:0;color:#a6b9ca;font-size:12px;line-height:1.35}.live-bottom-stack{margin-top:auto;display:grid;gap:10px;width:100%;flex:0 0 auto}.live-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;background:#172131;border:1px solid #b6c8e72c;border-radius:14px;min-height:48px}.live-switch button{border-radius:10px;min-height:39px;background:none;color:#aebfce;font-size:12px;font-weight:760}.live-switch button.active{background:#2b3e50;color:#f5fbff;box-shadow:inset 0 1px #ffffff17}
.live-panel{padding:16px;border-radius:20px;border:1px solid #d1e0f12e;background:linear-gradient(160deg,#202d40eb,#141e2eeb);box-shadow:0 12px 38px #0002}.live-entry-panel{display:flex;flex-direction:column;gap:14px}.live-field{display:flex;flex-direction:column;gap:7px}.live-form-label{display:block;color:#afc1d2;font-size:10px;font-weight:700;letter-spacing:.035em}.live-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.live-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.live-choice.dual{grid-template-columns:repeat(2,minmax(0,1fr))}.live-choice button{min-height:42px;padding:7px 3px;border-radius:11px;border:1px solid #ffffff20;background:#141f30;color:#b6c7da;font-size:11px;font-weight:730;white-space:nowrap}.live-choice button.active{background:linear-gradient(120deg,#b3f3dd,#b6d2ff);border-color:#c7f8e4;color:#10252b}
.live-action{width:100%;min-width:0;height:47px;min-height:47px;display:flex;align-items:center;justify-content:center;border-radius:13px;border:0;background:linear-gradient(110deg,#b8f4da,#bbcfff);color:#162b2d;font-size:13px;font-weight:830;padding:0 10px}.live-action.secondary{border:1px solid #d5e5f12f;background:#273347;color:#e5edf8}.live-action:disabled{opacity:.5}.live-input{width:100%;height:50px;border:1px solid #d6e8ff3a;border-radius:12px;background:#111a2a;color:#ecf4fb;letter-spacing:.17em;text-align:center;font-size:17px;text-transform:uppercase}.live-input:focus-visible,.live-action:focus-visible,.live-choice button:focus-visible,.live-back:focus-visible,.live-switch button:focus-visible,.live-invite button:focus-visible{outline:2px solid #b7f6db;outline-offset:2px}.live-inline-note,.live-error{margin:0;text-align:center;font-size:11px;line-height:1.4;color:#a7bacb}.live-error{padding:9px;border:1px solid #f7b1ab4d;background:#a7483625;border-radius:12px;color:#f3bdb5}
/* Ambient four-player orbit: CSS-only transform animation, disabled for reduced motion. */
.live-visual{position:relative;margin:auto;width:clamp(116px,31vw,168px);height:clamp(84px,14vh,144px);flex:0 0 auto;isolation:isolate;pointer-events:none}.live-visual:before{content:"";position:absolute;inset:9% 14%;border:1px dashed #addfe439;border-radius:50%;transform:rotate(-22deg)}.live-orbit{position:absolute;inset:14% 18%;border:1px solid #b7eef12a;border-radius:50%;animation:liveorbit 13s linear infinite}.live-orbit.orbit-b{inset:26% 29%;border-color:#c7b8ff2e;animation-duration:17s;animation-direction:reverse}
.live-visual-core{position:absolute;left:34%;top:30%;height:45%;width:32%;border-radius:16px;background:linear-gradient(135deg,#23374f,#152335);border:1px solid #ddefff4b;box-shadow:0 7px 28px #71abdd20;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:9px;transform:rotate(-8deg)}.live-visual-core span{border-radius:5px;background:#adf7dd}.live-visual-core span:nth-child(2){background:#ffdaa3}.live-visual-core span:nth-child(3){background:#d5b5ff}.live-visual-core span:nth-child(4){background:#a9dfff}
.live-player-symbol{position:absolute;width:30px;height:30px;border-radius:11px;border:1px solid #d9e5ff4a;background:#24334a;display:grid;place-items:center;box-shadow:0 8px 20px #0005}.live-player-symbol i{width:13px;height:13px;border:3px solid #adf4dd;border-radius:50%;display:block}.live-player-symbol.player-a{top:3%;left:5%;animation:livefloat 5s ease-in-out infinite}.live-player-symbol.player-b{top:5%;right:1%;animation:livefloat 5.8s ease-in-out infinite reverse}.live-player-symbol.player-b i{border-color:#ffda9f}.live-player-symbol.player-c{bottom:1%;right:14%;animation:livefloat 6.7s ease-in-out infinite}.live-player-symbol.player-c i{border-color:#d2b8ff}
@keyframes livefloat{50%{transform:translateY(-6px)}}@keyframes liveorbit{to{transform:rotate(360deg)}}
/* Room: compact results, fixed bottom controls, bounded roster scroll when full. */
.live-room-stage{gap:10px}.live-room-hero{margin:5px 0 0}.live-overline{font-size:10px;color:#b6e5d6;letter-spacing:.12em;font-weight:850}.live-room-hero h1{font-size:clamp(26px,6.9vw,34px);margin:6px 0 4px}.live-room-hero p{font-size:11px}
.live-lobby-visual{flex:1 1 auto;min-height:30px;max-height:110px;display:grid;place-items:center;overflow:hidden}.live-lobby-visual .live-visual{width:114px;height:92px}.live-podium{text-align:center;display:grid;gap:4px;place-items:center;flex:0 0 auto;padding:7px 0}.live-podium>span{color:#ffdb9e;font-size:21px}.live-podium strong{font-size:17px;color:#fff0c9;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-podium small{color:#bdc9da;font-size:10px}
.live-room-panel{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}.live-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-subhead h2{font-size:13px;letter-spacing:-.02em;margin:0}.live-count{font-size:10px;color:#a9bdcb}.live-room-rows{max-height:min(28vh,240px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}.live-player-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;min-height:43px;align-items:center;gap:8px;border-bottom:1px solid #ffffff19;padding:5px 0}.live-player-row:last-child{border-bottom:0}.live-number{font-size:11px;color:#a5b2c2;font-variant-numeric:tabular-nums}.live-player-name{display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}.live-player-handle{overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:760}.live-player-name small{font-size:9px;color:#b5ddce}.live-online{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#adf7dd}.live-online.live-offline{background:#6a7c8a}.live-player-row strong{font-size:13px;font-variant-numeric:tabular-nums;color:#f0f6fb}.live-player-row.winner .live-number,.live-player-row.winner strong{color:#ffdb9c}.live-row-status{font-size:10px;color:#b2c1d2}
.live-invite{display:grid;grid-template-columns:1fr 1fr;gap:7px}.live-invite button{min-height:39px;border-radius:11px;border:1px solid #b3e8d644;background:#b8f5dc11;color:#c6f2e5;font-size:11px;font-weight:710;padding:6px}.live-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.42fr);gap:8px}.live-actions .live-action{min-height:45px;height:45px}.live-countdown{font-size:clamp(42px,10vw,60px);font-weight:870;letter-spacing:-.06em;color:#b7f2df;text-align:center;min-height:62px}
@media(max-height:740px){.live{padding-top:6px;padding-bottom:8px}.live-top{flex-basis:38px}.live-stage{gap:8px}.live-visual{height:clamp(58px,11vh,85px);width:110px}.live-visual-core{padding:6px;gap:3px}.live-player-symbol{height:24px;width:24px}.live-hero h1{font-size:27px}.live-hero p{font-size:11px}.live-panel{padding:12px}.live-entry-panel{gap:11px}.live-choice button{min-height:38px}.live-room-rows{max-height:20vh}.live-lobby-visual{max-height:63px}}
@media(max-height:590px){.live-stage>.live-visual{display:none}.live-lobby-visual{display:none}.live-hero h1{font-size:24px}.live-panel{padding:10px}.live-entry-panel{gap:8px}.live-switch{min-height:42px}.live-switch button{min-height:34px}.live-choice button{min-height:34px}.live-action{height:43px;min-height:43px}}
@media(max-width:340px){.live{padding-inline:10px}.live-panel{padding:11px}.live-choice{gap:4px}.live-choice button{font-size:10px}.live-invite button{font-size:10px}.live-hero h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){.live *{animation:none!important;transition:none!important}}
/* Homepage live and Logic bridges use the same compact editorial component. */
.pz34-live-entry,.pz36-logic-entry{height:55px;min-height:55px;flex:0 0 55px;display:flex;align-items:center;gap:11px;padding:8px 13px;border-radius:15px;border:1px solid #b3e3d443;background:linear-gradient(110deg,#1e3039,#1c273b 80%);text-decoration:none;color:#e8f5f4;min-width:0}
.pz34-live-pulse,.pz36-logic-icon{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:10px;border:1px solid #bee6d630;background:#c9fff015;color:#c1f3df;font-size:18px}
.pz34-live-caption,.pz36-logic-caption{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;justify-content:center}.pz34-live-caption strong,.pz36-logic-caption strong{font-size:12px;font-weight:780;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pz34-live-caption small,.pz36-logic-caption small{font-size:10px;color:#a9c7c5;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pz34-live-arrow,.pz36-logic-arrow{font-size:18px;color:#b8f3da;flex:0 0 auto}
.hub .pz36-logic-entry,body:has(.hub.screen) .pz36-logic-entry{min-height:55px!important;height:55px!important;align-self:stretch;grid-area:auto!important;padding:8px 13px!important;display:flex!important;justify-content:flex-start!important;gap:11px!important}.pz36-logic-icon svg,.pz36-logic-icon img{width:27px;height:27px}.pz36-logic-icon{align-self:center}.pz36-logic-caption{text-align:left;align-self:stretch}.pz36-logic-entry .logic-desc{display:block!important;margin:0!important;max-width:none!important;font-size:10px!important}

@media(min-width:850px) and (min-height:640px){
 body:has(.hub.screen) .hub.screen{grid-template-rows:minmax(118px,.7fr) minmax(165px,1.3fr) minmax(58px,.38fr) 55px 55px!important}
 body:has(.hub.screen) .pz34-live-entry{grid-area:4/1/5/3!important;height:55px!important}
 body:has(.hub.screen) .pz36-logic-entry{grid-area:5/1/6/3!important;height:55px!important}
}
@media(min-width:1000px) and (min-height:460px) and (max-height:639px){
 body:has(.hub.screen) .hub.screen{grid-template-rows:minmax(80px,.6fr) minmax(100px,1fr) 43px 43px!important}
 body:has(.hub.screen) .pz34-live-entry{grid-area:3/1/4/3!important;height:43px!important;min-height:43px!important}
 body:has(.hub.screen) .pz36-logic-entry{grid-area:4/1/5/3!important;height:43px!important;min-height:43px!important}
}

/* Results are legible from the top, with a centered winner and actions anchored low. */
.live-room-stage:has(.is-results){justify-content:flex-start}
.live-room-stage:has(.is-results) .live-room-hero{margin-top:clamp(4px,3vh,28px)}
.live-room-stage:has(.is-results) .live-podium{flex:1 1 auto;align-content:center;min-height:64px}
.live-room-stage:has(.is-results) .live-room-panel{margin-top:auto}

/* Core37: invitation input stays editable under the Android keyboard and native paste menu. */
.live-input-row{display:flex;gap:8px;min-width:0;align-items:center}
.live-input-row .live-input{flex:1;width:0;min-width:0;font-size:16px!important;user-select:text!important;-webkit-user-select:text!important;touch-action:auto!important;caret-color:#b5f6da}
.live-input-row>button{min-width:74px;height:49px;border-radius:12px;border:1px solid #afefd34b;background:#b6f0d312;color:#d6f7ec;font-size:12px;font-weight:760}
.live:has(.live-input:focus) .live-visual{display:none!important}
.live:has(.live-input:focus) .live-hero{display:none!important}
.live:has(.live-input:focus) .live-stage{justify-content:flex-start;padding-top:16px}
.live:has(.live-input:focus){overflow-y:auto;scroll-padding-bottom:20vh}
.live-locked .live-bottom-stack{margin-top:auto}.live-locked-back{color:#b2c7d7;padding:12px;font-size:12px;background:transparent;min-height:38px}
@media(max-width:340px){.live-input-row>button{min-width:64px;padding:0 5px}}
