/* Real Unity rigs render through the transparent portrait areas. */
body[data-screen=multiplayer] .scene-shade,body[data-screen=multiplayer] .scanlines{opacity:0}
.mp-screen.has-room{background:transparent;padding:24px 4vw 20px}
.has-room .mp-heading h2{font-size:30px;margin:8px 0 16px}
.has-room .mp-invite{padding:12px 0;gap:12px}.has-room .mp-invite strong{font:600 22px var(--mono);letter-spacing:3px}.has-room .mp-invite small{font-size:11px}.has-room .mp-invite button{font-size:12px;padding:9px 13px}
.has-room .mp-columns{grid-template-columns:minmax(0,1fr) clamp(290px,27vw,410px);gap:24px;padding-top:20px}
.has-room .mp-modes{margin:0 0 16px;gap:10px}.has-room .mp-modes button{padding:12px 16px}.has-room .mp-modes b{font-size:18px}.has-room .mp-modes span{font-size:11px;color:#a3b58d}
.mp-members-heading{display:flex;align-items:center;justify-content:space-between;padding:0 2px 12px}.mp-members-heading h3{margin:0;font-size:15px;letter-spacing:2px}.mp-members-heading>span{font:12px var(--mono);color:#b9cd8e}
.has-room .mp-members{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.mp-screen.has-room .mp-member{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;background:transparent;border:1px solid #78957377;border-radius:3px;box-shadow:none;min-height:245px;overflow:hidden}
.mp-screen.has-room .mp-member.team-1{border-color:#ad735e88}
.mp-member>header{position:static;display:flex!important;justify-content:space-between;align-items:center;height:32px;padding:0 14px;background:#213029;color:#b9c895;border:0}
.mp-member>header>b{font-size:10px;font-weight:500;color:#b9d489}.mp-member.team-1>header{background:#312b24}.mp-seat-number{font:12px var(--mono);letter-spacing:3px;color:#819477}
.mp-member-portrait{position:relative;height:clamp(120px,16vh,180px);min-height:120px;width:min(100%,480px);align-self:center;background:transparent;flex:0 0 auto}
.mp-portrait-axis{position:absolute;top:10px;left:14px;font:8px var(--mono);letter-spacing:2px;color:#677e63;pointer-events:none}
.mp-member-identity{background:#1b2921;padding:11px 14px;border-top:1px solid #65835944;min-height:88px}.mp-member-identity strong{font-size:18px;line-height:1.4;letter-spacing:1px;overflow-wrap:anywhere}.mp-member-identity em{display:inline-block;font-size:9px;font-style:normal;vertical-align:middle;letter-spacing:0;background:#afc976;color:#1a2b1c;padding:1px 5px;margin-left:5px}
.mp-member-identity>div{display:flex;align-items:center;gap:12px;margin:5px 0}.mp-member-identity>div>b{font:600 13px var(--mono);color:#d5dfa0}.mp-member-identity>div>span{font-size:12px;color:#afbea0}.mp-member-identity small{font-size:10px!important;color:#849b80;margin:0!important}
.mp-screen.has-room .mp-member.empty{border:1px dashed #58705077;background:#17231b}.mp-empty-seat{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px;color:#7f9779;min-height:210px}.mp-empty-seat>span{font-weight:200;font-size:36px;color:#58734e}.mp-empty-seat>strong{font-size:14px;letter-spacing:2px;font-weight:400}.mp-empty-seat>small{font-size:10px!important}
.has-room .mp-actions{margin-top:16px;gap:12px;flex-wrap:wrap}.has-room .mp-actions .primary{flex:1;text-align:left;min-width:200px}.mp-wait-host{margin:8px 0 0}
.mp-room-details{background:#1b2920;border:1px solid #6b805055;padding:18px;align-self:start;margin:0;border-radius:3px;overflow:hidden}.mp-detail-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mp-detail-heading>small{font:9px var(--mono);letter-spacing:2px;color:#7e9771}.mp-detail-heading>h3{font-size:17px;margin:0;letter-spacing:2px}
.mp-map-preview{position:relative;aspect-ratio:16/9;background:#101b14;border:1px solid #73875666;overflow:hidden}.mp-map-preview img{width:100%;height:100%;object-fit:cover;display:block}.mp-map-preview>b{position:absolute;bottom:0;left:0;right:0;padding:10px 12px;background:linear-gradient(transparent,#08130ee8);font-size:14px;color:#e8eacb;letter-spacing:1px}
.mp-room-facts{margin:16px 0 0}.mp-room-facts>div{display:grid;grid-template-columns:85px minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #6e875633}.mp-room-facts>div:last-child{border:0}.mp-room-facts dt{font-size:11px;color:#8ea182;letter-spacing:1px}.mp-room-facts dd{margin:0;font-size:13px;color:#d7e0c1;min-width:0}.mp-room-facts select{width:100%;padding:8px 10px!important;font-size:12px!important}.mp-room-facts select:disabled{opacity:1;color:#c7d2b6;background:#243327;border-color:#596e4044}
.mp-code-value{font:600 19px var(--mono)!important;color:#d7de9a!important;letter-spacing:3px}.mp-room-name-field{grid-template-columns:1fr!important;gap:7px!important}#mp-name-form{display:flex;gap:7px}#mp-room-name{width:100%;min-width:0;padding:8px 10px!important;font-size:13px!important}#mp-name-form button{padding:6px 10px;font-size:11px;white-space:nowrap;background:#435637}#mp-room-name[readonly]{border-color:transparent;background:none;padding-left:0!important}
@media(max-width:950px){.has-room .mp-columns{grid-template-columns:minmax(0,1fr) 265px;gap:16px}.mp-room-details{padding:14px}.mp-room-facts>div{grid-template-columns:65px minmax(0,1fr);gap:8px}.has-room .mp-modes button{padding:9px}.has-room .mp-modes b{font-size:15px}.mp-screen.has-room{padding:18px 22px}.has-room .mp-invite label,.has-room .mp-invite #mp-join{display:none}.has-room .mp-member-identity strong{font-size:16px}}
@media(max-width:700px){.has-room .mp-columns{grid-template-columns:1fr}.mp-room-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.mp-detail-heading{grid-column:1/-1;margin:0}.mp-room-facts{margin:0}.mp-map-preview{align-self:start}.has-room .mp-member-portrait{height:155px;min-height:155px}.has-room .mp-heading h2{font-size:24px}.has-room .mp-heading small{font-size:8px;letter-spacing:2px}.mp-screen.has-room{padding:16px}.has-room .mp-invite{flex-wrap:wrap}.has-room .mp-members{gap:10px}.mp-code-value{font-size:15px!important;letter-spacing:2px}.mp-member-identity{padding:10px}.has-room .mp-modes{gap:6px}.has-room .mp-modes span{font-size:9px}}
@media(max-width:430px){.mp-room-details{grid-template-columns:1fr}.mp-member-identity>div{gap:6px;flex-wrap:wrap}.has-room .mp-member-identity strong{font-size:14px}.mp-member-identity>div>span{font-size:10px}.mp-empty-seat>strong{font-size:12px;letter-spacing:0}.mp-portrait-axis{font-size:6px;letter-spacing:1px}}

/* The room fills the available screen; roster and settings share its height. */
.mp-screen.has-room{height:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:14px 2vw;overflow:hidden}
.has-room .mp-heading{flex:none}.has-room .mp-heading h2{font-size:22px;margin:3px 0 8px}.has-room .mp-heading small{font-size:9px}
.has-room #mp-error:empty{display:none}.has-room .mp-invite{flex:none;padding:8px 0}.has-room #mp-network-note{font-size:10px;margin:5px 0 0;flex:none}
.has-room #mp-room-content{flex:1;min-height:0}.has-room .mp-columns{height:100%;box-sizing:border-box;padding-top:12px;gap:18px;grid-template-columns:minmax(0,1fr) clamp(280px,29vw,380px)}
.has-room .mp-seating{display:flex;flex-direction:column;min-height:0}.has-room .mp-members-heading{flex:none;padding-bottom:8px}.has-room .mp-members{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}.has-room .mp-members.eight-seats{grid-template-columns:repeat(4,minmax(0,1fr))}
.mp-screen.has-room .mp-member{min-height:0}.has-room .mp-member-portrait{height:auto;min-height:0;flex:1;width:100%}.has-room .mp-member-identity{min-height:0;flex:none;padding:8px 10px}.has-room .mp-member-identity strong{font-size:16px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-room .mp-member-identity>div{margin:3px 0;gap:8px}.has-room .mp-empty-seat{min-height:0;padding:8px;gap:8px}.has-room .mp-empty-seat>strong{font-size:12px}
.has-room .mp-actions{flex:none;flex-wrap:nowrap;margin-top:10px;gap:8px}.has-room .mp-actions button{padding:10px}.has-room .mp-actions .primary{min-width:0;font-size:13px}.has-room .mp-actions label{font-size:11px;display:flex;gap:6px;align-items:center}.has-room .mp-actions select{padding:7px!important}.has-room .mp-wait-host{font-size:11px;flex:none}
.has-room .mp-room-details{align-self:stretch;min-height:0;display:flex;flex-direction:column;padding:12px;gap:10px;overflow:auto}.mp-mode-settings{flex:none;border-bottom:1px solid #6b805055;padding-bottom:10px}.mp-mode-settings summary{cursor:pointer;font-size:12px;color:#a8b696}.mp-mode-settings summary b{font-size:14px;color:#e5e9cb;margin-left:8px}.mp-mode-settings label{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;margin-top:8px}.mp-mode-settings select{width:100%;padding:7px 8px!important;font-size:12px!important}.has-room .mp-map-preview{flex:1;min-height:72px;max-height:185px;aspect-ratio:auto}.has-room .mp-map-preview img{object-fit:contain}.has-room .mp-map-preview>b{font-size:12px;padding:6px 9px}.mp-mode-description{font-size:11px;line-height:1.6;margin:0;flex:none;color:#b8c4aa}.has-room #mp-name-form{flex:none}.has-room #mp-name-form button{font-size:10px}
.mp-duel-roster{grid-template-columns:repeat(4,minmax(0,1fr))!important}.mp-duel-roster article{min-width:0}.mp-duel-roster img{width:42px!important;height:42px!important}.mp-duel-roster strong{font-size:12px!important}.mp-duel-roster small,.mp-duel-roster b{font-size:10px!important}
@media(max-height:780px){.has-room .mp-heading small,.has-room #mp-network-note{display:none}.has-room .mp-member-identity{padding:5px 8px}.has-room .mp-member>header{height:25px;padding:0 8px}.has-room .mp-member-identity strong{font-size:14px}.has-room .mp-member-identity>div>b{font-size:11px}.has-room .mp-member-identity>div>span{font-size:10px}.has-room .mp-map-preview{max-height:110px;min-height:60px}.has-room .mp-room-details{gap:7px}.mp-mode-settings label{margin-top:5px}.mp-mode-settings select{padding:5px 7px!important}.has-room .mp-invite{padding:5px 0}.has-room .mp-wait-host{margin-top:4px}}
@media(max-width:900px){.has-room .mp-columns{grid-template-columns:minmax(0,1fr) 260px;gap:10px}.has-room .mp-member-identity>div>span{display:none}.has-room .mp-member-identity strong{font-size:12px}.has-room .mp-member>header>b{font-size:9px}.has-room .mp-members{gap:6px}.mp-mode-settings label{grid-template-columns:60px minmax(0,1fr)}}
@media(max-width:650px){.has-room .mp-columns{grid-template-columns:minmax(0,1fr) 210px}.has-room .mp-room-details{display:flex;padding:8px}.has-room .mp-members.eight-seats{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.has-room .mp-member-identity>div,.has-room .mp-member-identity small{display:none}.has-room .mp-member-identity{padding:3px 5px}.has-room .mp-member>header{height:20px;padding:0 4px}.has-room .mp-member>header>b{font-size:8px}.has-room .mp-actions{flex-wrap:wrap}.has-room .mp-actions .primary{flex-basis:100%}.mp-mode-settings summary b{display:block;margin:4px 0}.mp-mode-settings label{grid-template-columns:1fr;gap:3px}.has-room .mp-mode-description{font-size:10px}.has-room #mp-copy{display:none}.mp-duel-roster{grid-template-columns:repeat(4,minmax(0,1fr))!important}.mp-duel-roster article{display:block!important}.mp-duel-roster img{display:none!important}}
#mp-hud[data-mode="duel"] .campaign-map{display:block;width:224px;top:54px;right:12px}
#mp-hud[data-mode="duel"] #mp-map{height:auto;aspect-ratio:7/4}
#mp-hud[data-mode="duel"] .campaign-map:not(.map-collapsed)>small{display:block;font-size:9px;line-height:1.4}
#mp-hud[data-mode="duel"] .campaign-map.map-collapsed{width:82px}
@media(max-width:650px){#mp-hud[data-mode="duel"] .campaign-map{width:150px;top:48px}#mp-hud[data-mode="duel"] .campaign-map.map-collapsed{width:82px}}

.mp-members.team-seats70 .mp-member.team-1{background:linear-gradient(140deg,#502b28ee,#231d1bf0);border-color:#9b5147}.mp-members.team-seats70 .mp-member.team-0{background:linear-gradient(140deg,#213e50ee,#17252df0);border-color:#467b98}.mp-member[data-empty-seat]{cursor:pointer}.mp-member[data-empty-seat]:hover,.mp-member[data-empty-seat]:focus-visible{outline:2px solid #e1d390;background:#394732}.mp-members.eight-seats.team-seats70{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Room tools retain the same room membership and heartbeat. */
.mp-room-pages{display:flex;gap:8px;margin-left:auto}.mp-room-pages button{padding:9px 15px}.mp-heading>.text-button{margin-left:12px}
#mp-chat71{margin-top:18px;border:1px solid #506044;background:#102018ee;padding:12px}#mp-chat71[hidden],#mp-page71[hidden],#mp-countdown71[hidden]{display:none!important}
#mp-chat71 nav{display:flex;gap:8px}#mp-chat71 nav button[aria-pressed=true]{background:#657343;color:#fff4c4}#mp-chat-log{height:160px;overflow:auto;padding:6px;scrollbar-width:thin}#mp-chat-log p{display:flex;gap:12px;margin:8px 0;font-size:14px;overflow-wrap:anywhere}#mp-chat-log time{color:#a6b297;font-size:12px}#mp-chat-log b{color:#dddba6;flex-shrink:0}#mp-chat-form{display:flex;gap:8px}#mp-chat-input{flex:1;min-width:0}#mp-chat-status{display:block;min-height:18px;color:#eac7a2}
.room-page71 .mp-invite{display:none!important}.room-page71 .mp-heading{margin-bottom:10px}#mp-page71{height:calc(100dvh - 300px);min-height:420px;display:flex;flex-direction:column}.mp-page-heading{display:flex;align-items:center;gap:18px;margin-bottom:8px}.mp-page-heading h2{font-size:22px;margin:0}#mp-page-content{flex:1;min-height:0;overflow:hidden;position:relative}#mp-page-content>.shop{height:100%;min-height:0}
#mp-countdown71{position:absolute;z-index:65;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#0d171b38;pointer-events:none;text-shadow:0 3px 8px #000;color:#ffedb7}#mp-countdown71 span{font-size:28px;letter-spacing:.15em}#mp-countdown71 b{font-size:96px;line-height:1.3}
#mp-scoreboard tr.self{background:#56694988;box-shadow:inset 3px 0 #f8e49b,inset -3px 0 #f8e49b;color:#fff3c4}#mp-scoreboard tr.self td{border-top:2px solid #e8d184;border-bottom:2px solid #e8d184;font-weight:700}#mp-scoreboard tr.self td:first-child:after{content:'（你）';font-size:12px;color:#ffdc72}
@media(max-width:700px){.mp-heading{flex-wrap:wrap}.mp-room-pages{margin-left:0}#mp-page71{height:650px}.mp-page-heading{flex-wrap:wrap}#mp-chat-log p{gap:6px}#mp-countdown71 span{font-size:20px}}

/* BUILD72: portraits have their own area; team tint is drawn behind rigs by Unity. */
.mp-screen.has-room{overflow-y:auto;overflow-x:hidden;height:100%;display:block}
.has-room #mp-room-content{flex:none;height:auto;min-height:0}
.has-room .mp-columns{height:auto;align-items:start}
.has-room .mp-seating{height:auto;min-height:0}
.has-room .mp-members,.has-room .mp-members.eight-seats{flex:none;grid-auto-rows:minmax(320px,auto);grid-template-rows:none}
.has-room .mp-member{min-height:320px;display:flex;flex-direction:column;background:transparent!important;backdrop-filter:none}
.has-room .mp-member.empty{background:#142019e8!important}
.has-room .mp-member>header{height:32px;flex:none;background:#17241af5;padding:0 10px}
.has-room .mp-member.team-0>header,.has-room .team-0 .mp-member-identity{background:#193445f8}
.has-room .mp-member.team-1>header,.has-room .team-1 .mp-member-identity{background:#442420f8}
.has-room .mp-member-portrait{height:210px;min-height:210px;flex:1 0 210px;background:transparent}
.has-room .mp-member-identity{padding:10px;flex:none;min-height:85px;background:#17241af5}
.has-room .mp-member-identity strong{font-size:16px}
.has-room .mp-member-identity>div{display:flex;gap:8px;flex-wrap:wrap}
.has-room .mp-member-identity>div>span,.has-room .mp-member-identity small{display:block;font-size:12px}
.has-room .mp-member-identity>div>b{font-size:13px}
.has-room .mp-member>header>b{font-size:11px}
.has-room .mp-room-details{height:auto;max-height:none;overflow:visible}
.has-room .mp-map-preview{flex:none;min-height:160px;height:180px;max-height:none}
.has-room #mp-chat71{flex:none}
#mp-hud .campaign-map,#mp-hud[data-mode="duel"] .campaign-map{top:auto;right:auto;left:18px;bottom:115px;width:210px}
#mp-hud #mp-battle-info{display:none!important}
.battle-hud72-hint{position:absolute;top:60px;left:20px;opacity:.7;font-size:12px;pointer-events:none}
@media(max-width:900px){.has-room .mp-columns{grid-template-columns:1fr}.has-room .mp-members.eight-seats{grid-template-columns:repeat(4,minmax(0,1fr))}.has-room .mp-member-identity strong{font-size:14px}}
@media(max-width:650px){.has-room .mp-members.eight-seats,.has-room .mp-members.eight-seats.team-seats70{grid-template-columns:repeat(2,minmax(0,1fr))}.has-room .mp-member-identity>div,.has-room .mp-member-identity small{display:flex}#mp-hud[data-mode="duel"] .campaign-map{left:12px;bottom:110px;width:150px}}
