/* Laser Tag Arena theme */
:root{--lt-text:#eff7ff;--lt-dim:#b5c8ff}
html,body{background:radial-gradient(circle at 15% 15%, rgba(255,43,122,.15), transparent 20%),radial-gradient(circle at 85% 18%, rgba(0,255,255,.14), transparent 18%),radial-gradient(circle at 40% 82%, rgba(182,95,255,.14), transparent 18%),linear-gradient(180deg,#0b0716 0%,#07070e 100%);color:var(--lt-text)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background:radial-gradient(circle, rgba(255,255,255,.03) 0 1px, transparent 1.4px);background-size:22px 22px;z-index:0} body>*{position:relative;z-index:1}
h1,h2,h3{color:#fff;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 0 16px rgba(0,255,255,.2)}
.muted,.admin-status-label,#profileUserInfo,#joinQrText,#mapHelp{color:var(--lt-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(24,16,48,.95), rgba(10,8,24,.97));border:1px solid rgba(0,255,255,.26);box-shadow:0 16px 32px 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,255,.14), transparent 30%),radial-gradient(circle at bottom right, rgba(255,43,122,.12), transparent 24%),linear-gradient(180deg, rgba(24,16,48,.98), rgba(10,8,24,.98))}
.admin-tab-button,.sub-tab-button,.button-link,button{border:1px solid rgba(0,255,255,.45);color:var(--lt-text);background:linear-gradient(180deg, rgba(54,34,112,.94), rgba(20,13,48,.96));box-shadow:0 0 16px rgba(0,255,255,.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(75,46,149,.96), rgba(29,18,69,.98))}
.admin-tab-button.active,.sub-tab-button.active{background:linear-gradient(180deg, rgba(0,255,255,.85), rgba(63,153,255,.92));border-color:rgba(210,255,255,.96);color:#031628;box-shadow:0 0 22px rgba(0,255,255,.24)}
button.secondary,.secondary-link{background:linear-gradient(180deg, rgba(255,43,122,.84), rgba(132,31,202,.9));border-color:rgba(255,177,211,.75)}
button.danger-button{background:linear-gradient(180deg, rgba(255,116,127,.9), rgba(186,28,57,.94));border-color:rgba(255,196,201,.74);color:#240710}
.ready-button{background:linear-gradient(180deg, rgba(136,255,76,.98), rgba(0,232,153,.98))!important;border-color:rgba(224,255,199,.95)!important;color:#0a240f!important;box-shadow:0 0 22px rgba(0,232,153,.22)!important}
.status-pill{color:#f5fbff;border-color:rgba(92,129,255,.5);background:rgba(17,17,48,.78)}
.status-pill-good{background:rgba(0,232,153,.3);border-color:rgba(136,255,76,.86)}
.status-pill-waiting{background:rgba(255,215,91,.28);border-color:rgba(255,235,158,.82);color:#fffbe5}
.status-pill-paused{background:rgba(119,92,255,.32);border-color:rgba(168,155,255,.82)}
.status-pill-ended{background:rgba(255,90,126,.32);border-color:rgba(255,175,195,.82)}
input,select,textarea{color:var(--lt-text);background:rgba(10,10,27,.96);border:1px solid rgba(0,255,255,.34)}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(0,255,255,.95);box-shadow:0 0 0 3px rgba(0,255,255,.15),0 0 16px rgba(0,255,255,.18)}
.readonly-input{background:rgba(24,16,48,.88);color:#c4cff5}
.admin-list>*,.join-player-row{background:rgba(20,15,46,.76);border:1px solid rgba(0,255,255,.18)}
.join-player-avatar,.profile-avatar-preview,.profile-icon-button{border:1px solid rgba(0,255,255,.5);box-shadow:0 0 12px rgba(0,255,255,.12)}
.profile-icon-button{background:linear-gradient(180deg, rgba(54,34,112,.94), rgba(20,13,48,.96))}
.fallback-avatar,.profile-icon-fallback{color:#fff}.fallback-avatar{background:rgba(255,43,122,.35);border:1px solid rgba(255,177,211,.55)}
.join-qr-placeholder{background:linear-gradient(180deg, rgba(20,14,45,.96), rgba(9,7,24,.98));border:1px dashed rgba(0,255,255,.32)}
.join-qr-image{background:#fff}
#adminMap,.admin-map,.map,.leaflet-container{border:1px solid rgba(0,255,255,.38);box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 14px rgba(0,255,255,.09)}
.map-status{color:#f6ffff;background:rgba(20,13,48,.92);border:1px solid rgba(0,255,255,.28)}
.map-status.success{background:rgba(0,232,153,.22);border-color:rgba(136,255,76,.66)} .map-status.error{background:rgba(255,90,126,.24);border-color:rgba(255,175,195,.7)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#1d1344;color:var(--lt-text)}
a,a:visited{color:#88fcff} a:hover{color:#fff}
.status.success{background:rgba(0,232,153,.26);border:1px solid rgba(136,255,76,.7);color:#f2fff8}.status.error{background:rgba(255,90,126,.26);border:1px solid rgba(255,175,195,.72);color:#fff0f4}
.login-card{background:radial-gradient(circle at top right, rgba(0,255,255,.12), transparent 26%),radial-gradient(circle at bottom left, rgba(255,43,122,.12), transparent 22%),linear-gradient(180deg, rgba(24,16,48,.98), rgba(10,8,24,.98))}
