/* Casting and between-hand invitations. Scene composition is owned by scene.css. */
#modal .roster-intro{font-size:17px;line-height:1.4;margin:0 0 18px;color:#aebed1}
.roster-seats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:17px}
.roster-seat{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;gap:4px 10px;padding:12px 17px;background:#08111d;border:1px solid #546b874d;transition:border-color .15s,background .15s}
.roster-seat>span{grid-column:1/-1;font:700 12px var(--display);letter-spacing:2px;color:#8296b0}
.roster-seat strong{font:700 26px var(--display);letter-spacing:1.5px}
.roster-seat small{font-size:12px;letter-spacing:1px;color:#9eb0c5}
.roster-seat.selected{border-color:var(--rival-accent);background:#112136;box-shadow:inset 3px 0 var(--rival-accent)}
.roster-seat.selected strong{color:var(--rival-accent)}
.roster-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.roster-card{position:relative;display:block;overflow:hidden;text-align:left;border:1px solid #53677e52;background:#070e18;transition:border-color .18s,background .18s}
.roster-card.selected{border-color:var(--rival-accent);background:linear-gradient(0deg,var(--rival-glow),#09111b);box-shadow:0 0 0 1px var(--rival-accent)}
.roster-card:hover:not(:disabled){border-color:var(--rival-accent)}
.roster-card.seated:disabled{opacity:.56;cursor:default}
.roster-portrait{height:156px;display:block;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,var(--rival-glow),#07101b 85%)}
.roster-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;transition:transform .2s}
.roster-portrait.actor-portrait img{object-fit:contain;object-position:center top;transform:scale(1.15);transform-origin:center top}
.roster-card:hover:not(:disabled) .roster-portrait img{transform:scale(1.045)}
.roster-card:hover:not(:disabled) .actor-portrait img{transform:scale(1.19)}
.roster-card-copy{display:flex;flex-direction:column;gap:4px;padding:12px 12px 11px}
.roster-card-copy strong{font:700 28px var(--display);letter-spacing:1.4px}
.roster-card-copy>small{font:700 11px var(--display);letter-spacing:1.6px;color:var(--rival-accent)}
.roster-availability{font-size:9px;letter-spacing:1.3px;color:#8b9bb0;margin-top:6px}
.roster-card.selected .roster-availability{color:#dfebf9}
.roster-description{display:flex;gap:15px;align-items:baseline;min-height:45px;padding:13px 0 0;font-size:14px;line-height:1.45;color:#aebdd0}
.roster-description b{font:700 19px var(--display);letter-spacing:1px;min-width:48px}
.roster-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:3px}
.roster-options .setting-row{font-size:16px;padding:12px 0}
.roster-options .setting-row select{width:170px;font-size:15px}
.roster-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
#modal .roster-footer p{font-size:14px;line-height:1.55;margin:0;color:#c4d1e1}
.roster-footer p span{font-size:12px;color:#7e91aa}
.roster-footer>.primary{min-width:268px;display:flex;justify-content:space-between;gap:22px;padding:15px 22px;font:700 24px var(--display);letter-spacing:1.3px}
.roster-footer>.primary:disabled{opacity:.4}
.roster-back{padding:13px 0;font:700 19px var(--display);letter-spacing:1.3px;color:#a5b7ce}
#modal .roster-confirmed{font-size:14px;line-height:1.5;min-height:23px;color:#9ab5d5;margin:16px 0 0}
.roster-profiles .rival.focused{border-color:var(--rival-accent)}
.rival-profile-art{height:230px;background:radial-gradient(ellipse at 50% 40%,var(--rival-glow),#09121d 80%);overflow:hidden}
.roster-profiles .rival-profile-art img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center 30%;display:block}
.roster-profiles .actor-portrait img{object-fit:contain;object-position:center top;transform:scale(1.15);transform-origin:center top}
.roster-profiles .rival-style{color:var(--rival-accent)}
.result-actions{display:flex;align-items:center;justify-content:center;gap:13px}
#result-panel .result-actions>button{width:auto;flex:1;min-width:0}
#result-panel #change-rivals{background:#0d1b2d;border:1px solid #6687ae7a;color:#b9cbe1;box-shadow:none;font:700 19px var(--display);letter-spacing:1.1px;padding:14px 17px;white-space:nowrap}
#result-panel #change-rivals:hover{border-color:#a9c4e6;color:#fff}
