/* Retro Arcade theme */
:root{--ra-text:#ecf8ff;--ra-dim:#b8d5e8}
html,body{background:radial-gradient(circle at 18% 14%, rgba(255,0,153,.14), transparent 18%),radial-gradient(circle at 80% 16%, rgba(0,255,247,.12), transparent 18%),linear-gradient(180deg,#1b0f2d 0%,#0a0714 100%);color:var(--ra-text)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background:repeating-linear-gradient(180deg, rgba(255,255,255,.02) 0 2px, transparent 2px 4px);z-index:0} body>*{position:relative;z-index:1}
h1,h2,h3{color:#fff;text-transform:uppercase;letter-spacing:.07em;text-shadow:0 0 16px rgba(0,255,247,.16)}
.muted,.admin-status-label,#profileUserInfo,#joinQrText,#mapHelp{color:var(--ra-dim)!important}
.card,.admin-section,.profile-modal,.join-qr-card,.join-player-card,.admin-status-card,.admin-panel,.modal-backdrop .card{background:linear-gradient(180deg, rgba(38,20,66,.95), rgba(16,10,29,.97));border:1px solid rgba(0,255,247,.24);box-shadow:0 16px 34px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.03)}
.admin-status-card{background:radial-gradient(circle at top left, rgba(0,255,247,.12), transparent 30%),radial-gradient(circle at bottom right, rgba(255,0,153,.12), transparent 24%),linear-gradient(180deg, rgba(38,20,66,.98), rgba(16,10,29,.98))}
.admin-tab-button,.sub-tab-button,.button-link,button{border:1px solid rgba(0,255,247,.42);color:var(--ra-text);background:linear-gradient(180deg, rgba(255,0,153,.75), rgba(109,55,214,.9));box-shadow:0 0 14px rgba(255,0,153,.08)}
.admin-tab-button:hover,.sub-tab-button:hover,.button-link:hover,button:hover{border-color:rgba(255,255,255,.92);background:linear-gradient(180deg, rgba(255,38,172,.82), rgba(126,73,232,.96))}
.admin-tab-button.active,.sub-tab-button.active{background:linear-gradient(180deg, rgba(255,213,59,.88), rgba(255,131,34,.92));border-color:rgba(255,244,185,.94);color:#2b1405;box-shadow:0 0 22px rgba(255,213,59,.22)}
button.secondary,.secondary-link{background:linear-gradient(180deg, rgba(0,255,247,.82), rgba(0,154,255,.9));border-color:rgba(201,255,252,.74);color:#082235}
button.danger-button{background:linear-gradient(180deg, rgba(255,121,108,.9), rgba(195,28,76,.94));border-color:rgba(255,198,193,.72);color:#290811}
.ready-button{background:linear-gradient(180deg, rgba(135,255,66,.98), rgba(0,232,136,.98))!important;border-color:rgba(232,255,185,.96)!important;color:#08260f!important;box-shadow:0 0 24px rgba(135,255,66,.22)!important}
.status-pill{color:#f8fdff;border-color:rgba(0,255,247,.28);background:rgba(27,16,51,.78)} .status-pill-good{background:rgba(0,232,136,.28);border-color:rgba(135,255,66,.82)} .status-pill-waiting{background:rgba(255,213,59,.28);border-color:rgba(255,235,150,.82);color:#fffce7} .status-pill-paused{background:rgba(109,55,214,.32);border-color:rgba(187,160,255,.82)} .status-pill-ended{background:rgba(255,121,108,.28);border-color:rgba(255,198,193,.82)}
input,select,textarea{color:var(--ra-text);background:rgba(14,9,27,.96);border:1px solid rgba(0,255,247,.3)} input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(0,255,247,.94);box-shadow:0 0 0 3px rgba(0,255,247,.15),0 0 16px rgba(0,255,247,.16)}
.readonly-input{background:rgba(31,18,53,.88);color:#d1c6ea}
.admin-list>*,.join-player-row{background:rgba(31,18,53,.76);border:1px solid rgba(0,255,247,.16)}
.join-player-avatar,.profile-avatar-preview,.profile-icon-button{border:1px solid rgba(0,255,247,.42);box-shadow:0 0 12px rgba(0,255,247,.12)}
.profile-icon-button{background:linear-gradient(180deg, rgba(255,0,153,.75), rgba(109,55,214,.9))}
.fallback-avatar,.profile-icon-fallback{color:#fff}.fallback-avatar{background:rgba(255,213,59,.32);border:1px solid rgba(255,244,185,.52);color:#291506}
.join-qr-placeholder{background:linear-gradient(180deg, rgba(31,18,53,.95), rgba(13,8,24,.98));border:1px dashed rgba(0,255,247,.28)}
.join-qr-image{background:#fff}
#adminMap,.admin-map,.map,.leaflet-container{border:1px solid rgba(0,255,247,.32);box-shadow:0 10px 28px rgba(0,0,0,.28),0 0 14px rgba(0,255,247,.08)}
.map-status{color:#f8fdff;background:rgba(31,18,53,.92);border:1px solid rgba(0,255,247,.24)} .map-status.success{background:rgba(0,232,136,.22);border-color:rgba(135,255,66,.66)} .map-status.error{background:rgba(255,121,108,.22);border-color:rgba(255,198,193,.68)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#271650;color:var(--ra-text)}
a,a:visited{color:#8dffff} a:hover{color:#fff}
.status.success{background:rgba(0,232,136,.26);border:1px solid rgba(135,255,66,.7);color:#effff6}.status.error{background:rgba(255,121,108,.26);border:1px solid rgba(255,198,193,.7);color:#fff0ef}
.login-card{background:radial-gradient(circle at top right, rgba(0,255,247,.10), transparent 26%),radial-gradient(circle at bottom left, rgba(255,0,153,.10), transparent 22%),linear-gradient(180deg, rgba(38,20,66,.98), rgba(16,10,29,.98))}
