/* Party controls share the warm park palette and keep the arena visible. */
#party-open{position:absolute;top:170px;left:max(20px,env(safe-area-inset-left));z-index:7;display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:48px;border:1px solid #c49a6263;border-radius:12px;background:#fff5e7f2;color:#67472c;box-shadow:var(--ui-shadow)}
#party-open svg{width:24px;height:24px;color:#ac733e}#party-open span{display:block;text-align:left}#party-open b{display:block;font-size:13px}#party-open small{display:block;margin-top:3px;font-size:10px;color:var(--ui-muted)}#party-open.is-queued{border-color:#a9a775;background:#f8f6df}
#party-open[hidden],#duel-hud[hidden],#party-dialog [hidden],#duel-result-dialog [hidden]{display:none!important}.photo-mode #party-open{display:none!important}
#party-dialog{width:min(510px,94vw);max-height:90dvh;padding:22px;background:#fff8ec;color:#604631;border:1px solid #c49b6860;box-shadow:0 12px 36px #67432635;touch-action:pan-y;overflow-y:auto}
#party-dialog .dialog-head{margin-bottom:12px}#party-dialog .dialog-head h2{font-size:23px}#party-dialog p{margin:10px 0;color:#91765f;line-height:1.65}#party-dialog .party-intro{font-size:12px;max-width:400px}
.party-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0 14px}.party-modes button{min-height:60px;padding:9px;border:1px solid #d7c2a8;border-radius:11px;background:#f9f0e2;color:#8b6c51;touch-action:manipulation}.party-modes b{display:block;font-size:19px;letter-spacing:1px}.party-modes small{display:block;font-size:10px;margin-top:4px}.party-modes button.is-selected{background:#f2dfbf;border-color:#bd884a;color:#744b2a;box-shadow:inset 0 0 0 1px #bd884a50}.party-modes button:disabled{opacity:.6}
#party-members{display:grid;grid-template-columns:1fr;gap:8px}.party-member{display:flex;align-items:center;gap:10px;min-height:57px;padding:8px 11px;border:1px solid #e6d6bd;border-radius:10px;background:#fffdf6}.party-member img{width:38px;height:38px;flex:none;object-fit:cover;image-rendering:auto;border-radius:9px;background:#efe3cc}.party-member>div{min-width:0;flex:1}.party-member strong{display:block;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.party-member small{display:block;font-size:10px;color:#967b62;margin-top:4px}.party-captain{font-size:10px;color:#a47436;background:#f5e7c6;border-radius:5px;padding:3px 6px}.party-member.is-empty{background:#f8f2e7;border-style:dashed;color:#b1997f;font-size:12px}.party-empty-icon{width:38px;text-align:center;font-size:25px}
#party-code-block{display:flex;align-items:center;justify-content:space-between;margin:12px 0;padding:10px 12px;border-radius:10px;background:#f3e7d5}#party-code-block small{display:block;font-size:10px;color:#9c7f5f}#party-code{display:block;font:700 21px/1.4 ui-monospace,monospace;letter-spacing:3px;user-select:text;touch-action:manipulation}#party-copy{border:1px solid #cfb389;background:#fff8e9;border-radius:8px;padding:8px 12px;font-size:11px;min-height:38px}
#party-join-form{display:flex;align-items:stretch;gap:8px;margin:14px 0}#party-code-input{width:0;flex:1;min-height:44px;font:inherit;font-size:14px;letter-spacing:1px;background:#fffdf6;color:#684c35;border:1px solid #d8c0a1;border-radius:9px;padding:10px 12px;touch-action:manipulation}#party-join-submit{border:1px solid #c5a77e;border-radius:9px;background:#f3e5ce;color:#886341;padding:8px 12px;min-width:82px;font-size:12px;touch-action:manipulation}
.party-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.party-actions button{flex:1;min-height:44px;border-radius:9px;border:1px solid #c9ab7a;padding:10px 12px;font-size:13px;background:#f6ecdd;touch-action:manipulation}.party-actions .party-primary{background:#be884b;color:#fff9e8;border-color:#ae793e;flex-basis:100%;font-weight:650}.party-actions .party-muted{background:transparent;border-color:#dac6ac;color:#a18366}.party-actions button:disabled{opacity:.55}#party-queue{padding:12px;margin-top:12px;border:1px solid #c8ca99;border-radius:10px;background:#f3f3df;text-align:center}#party-queue strong{font-size:13px;font-weight:600;color:#858a4a}#party-queue small{display:block;font-size:11px;color:#949769;margin-top:5px}#party-waiting-leader{font-size:12px;text-align:center;color:#9a8166;padding:8px}
#party-error{font-size:12px;color:#b2614b!important;min-height:18px;margin:10px 0 0!important}#party-loading{font-size:10px;color:#a18d75;min-height:14px;text-align:center}
#duel-hud{position:absolute;top:73px;left:50%;transform:translateX(-50%);z-index:9;display:flex;align-items:center;gap:15px;padding:10px 15px;border:1px solid #c6a47455;border-radius:13px;background:#fff6e6ef;box-shadow:var(--ui-shadow);min-width:265px;color:#76553b;pointer-events:none}.duel-team{display:flex;align-items:center;gap:8px;min-width:55px}.duel-team span{font-size:11px;max-width:70px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-team b{font-size:26px;line-height:1;font-variant-numeric:tabular-nums;color:#9d754b}.duel-team.is-mine span{color:#b87b3b;font-weight:700}.duel-team.is-mine b{color:#b77e3c}#duel-team-b{flex-direction:row-reverse}#duel-hud>div:nth-child(2){text-align:center}#duel-match-label{display:block;font-size:9px;color:#a3896b;white-space:nowrap}#duel-clock{display:block;margin-top:3px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}#duel-return{pointer-events:auto;border:1px solid #be945f;background:#f3dfbd;color:#7b542f;font-size:11px;border-radius:8px;min-height:36px;padding:7px 10px}
#duel-result-dialog{width:min(600px,94vw);max-height:90dvh;padding:24px;border:1px solid #b9925f65;border-radius:20px;background:#fff8e9;color:#65462e;touch-action:pan-y;overflow-y:auto}#duel-result-title{font-size:34px;color:#bd8442}#duel-result-dialog[data-verdict=loss] #duel-result-title{color:#998174}#duel-result-dialog[data-verdict=draw] #duel-result-title{color:#908556}#duel-result-detail{font-size:12px;color:#9b8268;margin:3px 0 20px}#duel-result-teams{display:grid;grid-template-columns:1fr 1fr;gap:14px}.duel-result-team-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:6px 3px;color:#8d6844}.duel-result-team-head strong{font-size:13px}.duel-result-team-head b{font-size:26px}.duel-result-team .party-member{margin-bottom:7px;padding:8px;gap:7px}#duel-result-return{margin-top:20px;border:1px solid #ae793e;border-radius:10px;background:#be884b;color:#fff9e8;min-height:46px;font-size:14px;touch-action:manipulation}
.duel-active #event-banner{display:none!important}.duel-active #multikill-notice{top:140px}
@media(max-width:950px){#party-open{top:148px;left:max(12px,env(safe-area-inset-left));padding:8px 11px}#party-open b{font-size:12px}#party-dialog,#duel-result-dialog{padding:17px}#duel-hud{top:68px;min-width:230px;gap:9px;padding:8px 10px}.duel-team b{font-size:22px}.duel-active #multikill-notice{top:134px}}
@media(orientation:portrait){#party-open{top:147px;min-height:47px}#party-dialog{max-height:92dvh}.party-modes{margin-top:12px}#duel-hud{top:150px;min-width:270px;max-width:calc(100vw - 24px);gap:12px;flex-wrap:wrap;justify-content:center}#duel-return{flex-basis:100%;min-height:34px}.duel-active #multikill-notice{top:212px}#duel-result-teams{gap:8px}.duel-result-team .party-member img{width:30px;height:30px}.duel-result-team .party-member strong{font-size:11px}.duel-result-team-head strong{font-size:11px}}
@media(max-height:500px) and (orientation:landscape){#party-dialog,#duel-result-dialog{max-height:92dvh;padding:14px}#party-dialog .dialog-head{margin-bottom:5px}.party-modes{margin:10px 0}.party-modes button{min-height:49px}#party-members{grid-template-columns:repeat(3,minmax(0,1fr))}.party-member{padding:7px;gap:6px}.party-member img{width:30px;height:30px}.party-member strong{font-size:11px}.party-member small{font-size:9px}.party-captain{font-size:8px;padding:2px 4px}.party-actions{margin-top:10px}#party-open{top:149px}}
.party-section-head{display:flex;justify-content:space-between;align-items:center;margin:17px 0 9px;padding-top:13px;border-top:1px solid #e3d1b4}.party-section-head strong{font-size:12px;color:#866443}.party-section-head small{font-size:9px;color:#a58a6c}#party-invite-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}#party-invite-form select,#party-invite-name{width:100%;min-width:0;min-height:39px;border:1px solid #d8c0a1;border-radius:8px;background:#fffdf6;color:#7b5c41;font:inherit;font-size:11px;padding:8px;touch-action:manipulation}.party-invite-name{grid-column:1/-1;display:flex;gap:7px}.party-invite-name input{flex:1}#party-invite-send{flex:none;min-height:39px;padding:7px 11px;border:1px solid #c5a77e;border-radius:8px;background:#f3e5ce;color:#886341;font-size:11px;touch-action:manipulation}.party-invite-row{display:flex;gap:6px;align-items:center;padding:10px;margin-top:8px;border:1px solid #e2d0b5;border-radius:9px;background:#fffdf5}.party-invite-row>div{flex:1;min-width:0}.party-invite-row strong{display:block;font-size:11px;color:#886241;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-invite-row small{display:block;font-size:9px;margin-top:4px;color:#a88e71}.party-invite-row button{min-width:42px;min-height:36px;padding:6px 8px;border:1px solid #d3b997;border-radius:7px;background:#f6eee1;color:#92765a;font-size:11px;touch-action:manipulation}.party-invite-row button.is-accept{background:#ecedcd;border-color:#b9bc86;color:#7c8245}.party-invite-row button:disabled{opacity:.5}

#party-dialog .dialog-head,#duel-result-dialog .dialog-head{position:sticky;top:0;z-index:2;background:#fff8ec;padding:5px 0 10px}

#party-open{width:164px;box-sizing:border-box}.party-social-actions{display:flex;gap:7px;margin-bottom:9px}.party-social-actions button{flex:1;min-height:38px;border:1px solid #d5bc96;border-radius:8px;background:#f3e7d4;color:#916b45;font-size:11px;touch-action:manipulation}.party-social-actions button:disabled{opacity:.45}
@media(max-width:950px){#party-open{width:150px}}