/* Candy Apocalypse theme */
:root {
  --ca-text: #fff7ff;
  --ca-text-dim: #ffd9f5;
}
html, body {
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 95, 178, 0.20), transparent 18%),
    radial-gradient(circle at 82% 14%, rgba(89, 228, 255, 0.16), transparent 18%),
    radial-gradient(circle at 72% 82%, rgba(196, 255, 80, 0.14), transparent 20%),
    linear-gradient(180deg, #34113f 0%, #1a1030 100%);
  color: var(--ca-text);
}
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.3; background: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 12px, transparent 12px 24px); z-index:0; }
body>*{position:relative;z-index:1}
h1,h2,h3{color:#fff9fe;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 0 14px rgba(255,95,178,.22)}
.muted,.admin-status-label,#profileUserInfo,#joinQrText,#mapHelp{color:var(--ca-text-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(92,27,95,.94), rgba(45,18,77,.96));
  border:1px solid rgba(255,161,214,.38);
  box-shadow:0 16px 36px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.04);
}
.admin-status-card{background:radial-gradient(circle at top left, rgba(255,95,178,.18), transparent 34%), radial-gradient(circle at bottom right, rgba(89,228,255,.14), transparent 26%), linear-gradient(180deg, rgba(92,27,95,.98), rgba(45,18,77,.98));}
.admin-tab-button,.sub-tab-button,.button-link,button{border:1px solid rgba(255,174,215,.6);color:var(--ca-text);background:linear-gradient(180deg, rgba(255,116,195,.78), rgba(149,70,201,.86));box-shadow:0 0 16px rgba(255,95,178,.12)}
.admin-tab-button:hover,.sub-tab-button:hover,.button-link:hover,button:hover{border-color:rgba(255,255,255,.9);background:linear-gradient(180deg, rgba(255,134,205,.88), rgba(162,82,219,.92))}
.admin-tab-button.active,.sub-tab-button.active{background:linear-gradient(180deg, rgba(97,235,255,.82), rgba(53,153,255,.88));border-color:rgba(210,255,255,.95);color:#031929;box-shadow:0 0 24px rgba(89,228,255,.24)}
button.secondary,.secondary-link{background:linear-gradient(180deg, rgba(196,255,80,.65), rgba(80,188,113,.82));border-color:rgba(227,255,175,.82);color:#16340e}
button.danger-button{background:linear-gradient(180deg, rgba(255,123,123,.9), rgba(255,81,137,.92));border-color:rgba(255,213,213,.7);color:#2e0714}
.ready-button{background:linear-gradient(180deg, rgba(196,255,80,.98), rgba(80,221,144,.98))!important;border-color:rgba(242,255,197,.95)!important;color:#14300f!important;box-shadow:0 0 24px rgba(196,255,80,.24)!important}
.status-pill{color:#fffafe;border-color:rgba(255,174,215,.44);background:rgba(82,25,101,.7)}
.status-pill-good{background:rgba(85,214,128,.35);border-color:rgba(196,255,80,.86)}
.status-pill-waiting{background:rgba(255,183,54,.35);border-color:rgba(255,220,123,.84);color:#fff5da}
.status-pill-paused{background:rgba(98,114,255,.35);border-color:rgba(150,160,255,.85)}
.status-pill-ended{background:rgba(255,91,145,.34);border-color:rgba(255,173,202,.84)}
input,select,textarea{color:var(--ca-text);background:rgba(45,17,68,.94);border:1px solid rgba(255,174,215,.44)}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(89,228,255,.95);box-shadow:0 0 0 3px rgba(89,228,255,.14),0 0 16px rgba(89,228,255,.16)}
.readonly-input{background:rgba(62,28,79,.88);color:#efcfe7}
.admin-list>*,.join-player-row{background:rgba(79,26,95,.72);border:1px solid rgba(255,174,215,.24)}
.join-player-avatar,.profile-avatar-preview,.profile-icon-button{border:1px solid rgba(89,228,255,.52);box-shadow:0 0 12px rgba(89,228,255,.12)}
.profile-icon-button{background:linear-gradient(180deg, rgba(255,116,195,.78), rgba(149,70,201,.86))}
.fallback-avatar,.profile-icon-fallback{color:#fff}
.fallback-avatar{background:rgba(97,235,255,.35);border:1px solid rgba(219,255,255,.55)}
.join-qr-placeholder{background:linear-gradient(180deg, rgba(81,31,101,.95), rgba(40,18,64,.97));border:1px dashed rgba(89,228,255,.38)}
.join-qr-image{background:#fffefb}
#adminMap,.admin-map,.map,.leaflet-container{border:1px solid rgba(89,228,255,.42);box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 16px rgba(89,228,255,.08)}
.map-status{color:#fffdfd;background:rgba(69,21,78,.92);border:1px solid rgba(255,174,215,.35)}
.map-status.success{background:rgba(85,214,128,.25);border-color:rgba(196,255,80,.7)}
.map-status.error{background:rgba(255,91,145,.24);border-color:rgba(255,173,202,.74)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#5a2068;color:var(--ca-text)}
a,a:visited{color:#b9fbff} a:hover{color:#fff}
.status.success{background:rgba(85,214,128,.28);border:1px solid rgba(196,255,80,.7);color:#f4fff0}
.status.error{background:rgba(255,91,145,.28);border:1px solid rgba(255,173,202,.72);color:#fff0f5}
.login-card{background:radial-gradient(circle at top right, rgba(89,228,255,.12), transparent 26%), radial-gradient(circle at bottom left, rgba(255,95,178,.12), transparent 22%), linear-gradient(180deg, rgba(92,27,95,.98), rgba(45,18,77,.98))}
