/* Shared compact player entry and profile surfaces. */
.play-body{margin:0;padding:20px 12px;min-height:100vh;background:#030c16;color:#f0f7ff;font:400 14px/1.45 Arial,sans-serif;box-sizing:border-box}
.play-body *{box-sizing:border-box}.play-body [hidden]{display:none!important}
.play-shell{width:min(100%,430px);margin:0 auto;padding:18px;background:radial-gradient(ellipse at left center,#16455455,transparent 75%),#081722;border:1px solid #315064;border-radius:20px;overflow-wrap:anywhere}
.play-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.play-hero .player-brand{font:900 20px/1.2 'Montserrat',Arial,sans-serif;letter-spacing:2px;text-decoration:none;color:#f0f7ff}.play-hero>span{font-size:12px;color:#a9cad8}
.session-player-identity{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;margin-bottom:22px;min-height:44px;border:1px solid #2d5e51;border-radius:9px;background:#123330;font-size:12px}
.session-player-identity a{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px;color:#6ce2ef;font-weight:600;text-decoration:none}.session-player-identity span{overflow-wrap:anywhere}
.play-shell h2{font-size:26px;line-height:1.2;letter-spacing:-.4px;color:#f0f7ff;margin:0 0 8px;font-weight:700}.play-shell p{margin:0 0 17px}
#join-instructions,.session-subtitle{font-size:13px;color:#b6ccd9}.play-form{display:grid;gap:6px}
.play-shell label{display:block;font-size:12px;font-weight:600}.play-shell input{display:block;width:100%;min-height:46px;border:1px solid #52748a;border-radius:8px;padding:11px 12px;background:#102938;color:#f0f7ff;font:400 16px/1.3 Arial,sans-serif}
#join-code{font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:3px}
.play-shell button{min-height:44px;padding:10px 12px;font:600 14px/1.35 Arial,sans-serif;border:1px solid #42647a;border-radius:9px;color:#f0f7ff;background:#143044;cursor:pointer}.play-shell button:disabled{opacity:.55;cursor:default}
#join-btn{width:100%;min-height:49px;border:0;background:linear-gradient(100deg,#43c9ed,#347cf2);font-size:16px;font-weight:700;margin-top:6px}
.session-eyebrow{font-size:11px;color:#5fdfee;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:7px!important}
.session-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:12px;color:#b5ccd9}#session-entry-code{color:#eef8ff;letter-spacing:1px}
.session-game-list{display:grid;gap:11px}.play-shell .session-game-btn{width:100%;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:16px 14px;min-height:90px;border:1px solid #2d7085;border-radius:12px;background:linear-gradient(120deg,#153e4b,#102735)}
.session-game-name{display:block;font-size:19px;font-weight:700}.session-game-meta{display:block;color:#b7ccd9;font-size:12px;font-weight:400;margin-top:4px}.session-game-status{color:#91e9c5;border:1px solid #346257;border-radius:12px;padding:3px 7px;font-size:10px;letter-spacing:.6px}.session-game-arrow{font-size:26px;color:#69e3f1}
.session-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.play-shell .session-actions button{border:0;background:transparent;color:#6ce2ef;padding:5px 0;font-size:12px}
.play-footer{border-top:1px solid #294759;padding-top:15px;margin-top:22px;font-size:12px;color:#b6ccd9}.play-footer p{margin:0}
.play-status{font-size:13px;color:#b6ccd9}.play-status:empty{display:none}.play-status.error:not(:empty){padding:12px 0;color:#ffb8b8}
.play-shell input:focus-visible,.play-shell button:focus-visible,.play-shell a:focus-visible{outline:3px solid #8be7f2;outline-offset:3px}
#player-account h2{margin-bottom:8px}#player-account p{font-size:12px;color:#b6ccd9;margin:8px 0 14px}#player-account form{display:grid;gap:8px}#player-account button{margin-top:6px}
#player-account [data-account-save],#player-account form button[type=submit]{display:block;width:100%;min-height:49px;border:0;background:linear-gradient(100deg,#43c9ed,#347cf2);color:#fff;font-size:16px;margin-top:15px}#player-account [data-account-status]{color:#a0eac7}
.account-character-summary{display:flex;align-items:center;gap:12px;margin-top:18px}.account-character-summary img{width:57px;height:61px;object-fit:contain;flex-shrink:0;background:#ddd6cf;border-radius:10px}.account-character-summary strong{display:block;font-size:16px}.account-character-summary small{display:block;color:#b5ccd9;font-size:12px}
#player-account .account-character-edit{background:transparent;border:0;color:#6ce2ef;padding-left:0;font-size:12px}
.account-profile-footer{border-top:1px solid #294759;margin-top:20px;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.account-profile-footer a{color:#6ce2ef;font-size:12px;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}#player-account .account-profile-footer button{background:transparent;border:0;color:#6ce2ef;padding:5px 0;font-size:12px;margin:0}
#profile-character-editor{margin-top:12px}#profile-character-editor .heist-picker{margin:0;padding:12px;border:1px solid #3b6077;background:#102735;color:#f0f7ff;border-radius:10px}#profile-character-editor .heist-picker>summary{display:none}#profile-character-editor .character-studio{width:min(100%,256px);margin:10px auto}#profile-character-editor img{max-width:100%}#profile-character-editor .character-save-actions{display:none}#profile-character-editor select{font:16px Arial,sans-serif;min-height:44px}
@media(max-width:450px){.play-body{padding:0}.play-shell{border-radius:0;border-left:0;border-right:0;padding:16px}}
@media(max-width:350px){.session-player-identity{font-size:11px}.play-shell .session-game-btn{padding:14px 12px;gap:7px}.session-game-name{font-size:18px}}
