/* One shared bottom dock keeps every game mode and its actions in the same place. */
.online-mode-switch{display:flex;flex-wrap:wrap;width:fit-content;margin:0}.lobby .unified-dock{position:sticky;bottom:12px;z-index:30;margin-top:25px;padding:16px 20px;box-shadow:0 -12px 40px #080e154d,0 8px 30px #0006;border-color:#425363;display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;background:#101a25f5;backdrop-filter:blur(12px)}.dock-settings{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center}.dock-actions{flex:1 1 440px}.dock-local{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.dock-local .primary{white-space:nowrap}.unified-dock .field-label{font-size:11px;margin-bottom:7px}.unified-dock .segmented{flex-wrap:wrap}.unified-dock button{white-space:nowrap}.online-dock-entry,.online-dock-room{display:flex;align-items:flex-end;gap:14px 20px;flex-wrap:wrap}.online-dock-entry>p{flex-basis:100%;font-size:12px;line-height:1.4}.online-join-fields,.online-code-line,.online-buttons{display:flex;align-items:center;gap:8px}.online-join-fields input,.online-copy{box-sizing:border-box;border:1px solid #53667b;background:#0b1623;color:var(--text);border-radius:7px;font-size:1rem;padding:11px 12px;min-width:0;width:160px;letter-spacing:.07em;text-transform:uppercase}.online-code{font-size:1.4rem;letter-spacing:.06em;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}.online-code-line button{font-size:12px;padding:8px 10px}.online-dock-room p{margin-top:8px;font-size:12px}.dock-ready{flex:1 1 210px}.online-status{margin:16px auto;max-width:1500px;padding:12px 20px;border:1px solid #43526b;background:#10223b;color:white;border-radius:12px;display:flex;gap:14px;align-items:center;justify-content:space-between}.online-status[hidden]{display:none}.online-status span{display:block;color:#bacbe5;font-size:.9rem;margin-top:4px}.online-status>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
@media(min-width:1250px){.unified-lobby{max-width:1500px}.dock-settings{flex:0 0 auto}.dock-actions{min-width:420px}}
@media(max-width:800px){.lobby .unified-dock{bottom:8px;padding:12px;gap:12px;max-height:55dvh;overflow-y:auto}.dock-settings{gap:10px;width:100%;justify-content:space-between}.dock-actions{flex-basis:100%}.dock-local{gap:10px}.online-mode-switch button{padding:8px 10px}.online-status{margin:12px;align-items:flex-start;flex-direction:column}.online-dock-entry,.online-dock-room{gap:10px}.online-join-fields input{width:140px}.online-code{font-size:1.2rem}}
@media(max-width:470px){.dock-settings>div{width:100%}.online-mode-switch{width:100%}.online-mode-switch button{flex:1;padding:8px 6px;font-size:12px}.dock-local select{max-width:170px}.dock-local>.primary{flex:1}.online-dock-entry .dock-create{width:100%}.dock-create button{width:100%}.online-dock-entry form{width:100%}.online-join-fields input{flex:1}.online-dock-entry>p{font-size:11px}.online-dock-room .dock-ready{width:100%}}

body:has(.unified-dock) .feedback{bottom:calc(var(--duel-dock-height,120px) + 28px)}body:has(.unified-dock) .feedback-panel{max-height:calc(100dvh - var(--duel-dock-height,120px) - 110px)}

/* A consistent control rhythm for all arena modes. */
.lobby .unified-dock{padding:18px;gap:18px;align-items:stretch;border-radius:14px}
.unified-dock .dock-settings{display:grid;grid-template-columns:auto auto;gap:20px;align-items:start;flex:1 1 490px}
.unified-dock .dock-settings>div,.unified-dock .dock-local>div{min-width:0}
.unified-dock .dock-actions{flex:1 1 480px;min-width:0}
.lobby .unified-dock .field-label{font-size:9px;font-weight:700;line-height:1.3;letter-spacing:1.2px;margin:0 0 8px;color:#aebdcd}
.lobby .unified-dock .segmented{display:flex;flex-wrap:nowrap;gap:3px;width:100%;padding:3px;background:#080f18;border:1px solid #293949;border-radius:9px}
.lobby .unified-dock .segmented button{flex:1;min-height:36px;padding:8px 10px;font-size:12px;line-height:1.2;border-radius:6px;color:#aebdcd}
.lobby .unified-dock .segmented button.on{color:#fff;background:#2a3d51;border-color:#46617c;box-shadow:0 2px 5px #0003}
.unified-dock .dock-local{display:grid;grid-template-columns:minmax(130px,1fr) minmax(170px,1fr) auto;gap:14px;align-items:end}
.lobby .unified-dock select{height:44px;width:100%;max-width:none;padding:8px 28px 8px 12px;border-radius:9px;border-color:#34495e;background-color:#0b1724;font-size:12px}
.unified-dock .primary{min-height:44px;padding:11px 18px;border-radius:9px;font-size:12px;font-weight:750;line-height:1.3}
/* Online actions share the same label/control row as solo and local play. */
.unified-dock .online-dock-entry,.unified-dock .online-dock-room{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:10px 14px;align-items:start}
.unified-dock .online-dock-entry>*,.unified-dock .online-dock-room>*{min-width:0}
.unified-dock .dock-create>.primary{width:100%}
.unified-dock .online-join-fields{display:grid;grid-template-columns:minmax(0,1fr) auto}
.unified-dock .online-join-fields input{width:100%}
.unified-dock .online-dock-entry>p{grid-column:1/-1;overflow-wrap:anywhere}
.unified-dock .online-dock-entry>p:empty{display:none}
.unified-dock .online-dock-room{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.unified-dock .online-code-line{height:44px;gap:6px}
.unified-dock .online-code-line .online-code{flex:1;min-width:0;font-size:clamp(15px,1.5vw,20px)}
.unified-dock .online-code-line button{height:44px;border-radius:9px}
.unified-dock .online-buttons{display:grid;grid-template-columns:minmax(0,1fr) auto}
.unified-dock .online-dock-room p{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.unified-dock .online-dock-entry>p{margin:0;font-size:11px;color:#9caebf}
.unified-dock .online-join-fields input{height:44px;font-size:13px}
.unified-dock .online-buttons button,.unified-dock .online-join-fields button{min-height:44px;font-size:12px;border-radius:9px}
@media(min-width:1250px){.lobby .unified-dock{flex-wrap:nowrap}.unified-dock .dock-settings{flex:1 1 500px}.unified-dock .dock-actions{flex:1 1 520px;border-left:1px solid #304151;padding-left:18px}}
@media(max-width:1249px){.unified-dock .dock-settings,.unified-dock .dock-actions{flex-basis:100%;width:100%}.unified-dock .dock-settings{grid-template-columns:minmax(180px,.7fr) minmax(280px,1fr)}.unified-dock .dock-actions{border-top:1px solid #304151;padding-top:14px}}
@media(max-width:600px){.lobby .unified-dock{padding:12px;gap:12px;bottom:8px;max-height:55dvh}.unified-dock .dock-settings{grid-template-columns:1fr;gap:10px}.unified-dock .dock-settings>div{width:100%}.lobby .unified-dock .field-label{font-size:8px;margin-bottom:5px}.lobby .unified-dock .segmented button{font-size:11px;padding:8px 6px;min-height:32px}.unified-dock .dock-actions{padding-top:10px}.unified-dock .dock-local{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}.unified-dock .dock-local>.primary{grid-column:1/-1;width:100%}.lobby .unified-dock select{height:40px}.unified-dock .primary{min-height:42px}.unified-dock .online-join-fields{width:100%}.unified-dock .online-join-fields input{flex:1;min-width:0}}
@media(max-width:600px){.lobby .unified-dock .segmented button{min-width:0;white-space:normal}.unified-dock .dock-local .segmented button{padding-left:4px;padding-right:4px}}

.lobby .unified-dock{display:grid;grid-template-columns:1fr 1fr}.unified-dock .dock-current{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-width:0;border-bottom:1px solid #304151;padding-bottom:10px}.unified-dock .dock-current .field-label{margin:0}.dock-current strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-current>span:last-child:not(.field-label){font-size:10px;color:var(--muted);margin-left:auto}.unified-dock .dock-actions{min-width:0}
@media(max-width:1249px){.lobby .unified-dock{grid-template-columns:1fr}.unified-dock .dock-current{flex-wrap:wrap;gap:6px 10px}.dock-current>span:last-child:not(.field-label){margin-left:0}.unified-dock .dock-current .field-label{font-size:8px}}

.lobby .unified-dock .dock-toggle,.lobby .unified-dock .dock-mobile-play{display:none}
@media(max-width:600px){.lobby .unified-dock{grid-template-columns:1fr;gap:8px}.lobby .unified-dock .dock-toggle{display:block;grid-column:1/-1;min-height:34px;padding:6px 10px;font-size:11px;background:#162738;text-align:center}.lobby .unified-dock:not(.setup-expanded) .dock-settings,.lobby .unified-dock:not(.setup-expanded) .dock-actions{display:none}.lobby .unified-dock:not(.setup-expanded) .dock-mobile-play{display:block;width:100%;grid-column:1/-1;min-height:40px}.lobby .unified-dock .dock-current{border:0;padding:0}.dock-current>span:last-child:not(.field-label){display:none}}

@media(max-width:600px){
 .unified-dock .online-dock-entry,.unified-dock .online-dock-room{grid-template-columns:minmax(0,1fr);gap:10px}
 .unified-dock .online-code-line .online-code{font-size:20px}
 .unified-dock .online-dock-entry>p{margin-top:0}
}
