/* Compact world map: its header and close button always stay in the viewport. */
.map-panel{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden}
.map-panel>header{flex:0 0 auto;min-height:88px;height:auto;padding:16px 22px}
.map-panel h2{font-size:23px}
.map-panel header>button{z-index:3;top:13px;left:13px;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#ff6572,#b51939);box-shadow:0 9px 24px #ff365d66;color:#fff;font-weight:900;transition:transform .25s,box-shadow .25s}
.map-panel header>button:hover{transform:rotate(90deg) scale(1.08);box-shadow:0 12px 30px #ff365daa}
.map-rooms{flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px;overflow-y:auto;overscroll-behavior:contain}
.map-room{min-height:188px;padding:12px 14px 14px;border-radius:15px}
.map-room-icon{height:66px;margin-bottom:5px}
.map-room-icon i{top:4px;width:74px;height:49px}
.map-room-icon>span{width:42px;height:42px;margin:-3px 0 0!important;font-size:24px}
.map-room-icon>b{bottom:0;width:62px}
.map-room h3{font-size:15px}
.map-room button{right:12px;left:12px;bottom:12px;height:34px}
.map-panel>footer{flex:0 0 auto;padding:9px}

.player-panel{position:fixed;z-index:26;top:50%;left:50%;width:min(390px,calc(100% - 22px));padding:28px 25px 24px;transform:translate(-50%,-50%);direction:rtl;text-align:center;border:1px solid #78ead75c;border-radius:24px;background:radial-gradient(circle at 50% 0,#244c5d,#121c30 45%,#090f1cf9 100%);box-shadow:0 38px 120px #000f,0 0 0 1px #ffffff08;animation:playerPanelIn .25s cubic-bezier(.2,1.2,.4,1)}
.player-panel.hidden{display:none}
.player-panel>small{display:block;margin-top:12px;color:#66e7d3;font-size:9px;letter-spacing:2px}
.player-panel h2{margin:5px 0 3px;font-size:25px}
.player-panel>p{margin:0 0 17px;color:#96a5bc;font-size:12px}
.player-card-avatar{width:70px;height:70px;margin:0 auto;display:grid;place-items:center;border:2px solid #ffffff55;border-radius:50%;background:radial-gradient(circle at 32% 22%,#fff,var(--player-color,#66e7d3) 30%,#17243a 100%);color:#07131d;font-size:30px;font-weight:900;box-shadow:inset -8px -10px 17px #0005,0 12px 32px #0008,0 0 28px color-mix(in srgb,var(--player-color,#66e7d3) 60%,transparent)}
.player-close{position:absolute;top:14px;left:14px;width:39px;height:39px;border:0;border-radius:13px;background:linear-gradient(145deg,#ff6572,#b51939);box-shadow:0 9px 25px #ff365d66;cursor:pointer;transition:.25s}
.player-close:before,.player-close:after{content:"";position:absolute;left:9px;top:18px;width:21px;height:3px;border-radius:2px;background:#fff}
.player-close:before{transform:rotate(45deg)}
.player-close:after{transform:rotate(-45deg)}
.player-close:hover{transform:rotate(90deg) scale(1.08);box-shadow:0 12px 31px #ff365daa}
.player-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.player-card-actions button{min-height:92px;padding:12px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #ffffff14;border-radius:15px;background:linear-gradient(155deg,#1c2c46,#10192b);color:#eef7ff;cursor:pointer;transition:.2s}
.player-card-actions button:first-child{border-color:#66e7d344;background:linear-gradient(155deg,#19443f,#14273a)}
.player-card-actions button:hover{transform:translateY(-3px);border-color:#66e7d3;box-shadow:0 12px 26px #0007}
.player-card-actions button>span{font-size:24px;color:#66e7d3}
.player-card-actions button>b{font-size:12px}
.player-card-actions button>small{color:#8796ad;font-size:9px}
.player-panel>strong{display:block;min-height:16px;margin-top:13px;color:#66e7d3;font-size:10px}
@keyframes playerPanelIn{from{opacity:0;transform:translate(-50%,-46%) scale(.9)}}

.quick-home-exit{height:38px;padding:0 14px;display:flex;align-items:center;gap:7px;border:1px solid #ffd99766;border-radius:12px;background:linear-gradient(145deg,#845338,#4b302d);color:#fff4dc;box-shadow:inset 0 1px 0 #ffffff35,0 8px 21px #0006;cursor:pointer;animation:homeExitPulse 2.2s ease-in-out infinite}
.quick-home-exit.hidden{display:none}
.quick-home-exit span{font-size:19px}
.quick-home-exit b{font-size:11px}
.quick-home-exit:hover{transform:translateY(-2px);border-color:#ffe5ad;box-shadow:0 11px 25px #0008,0 0 18px #ffd45e35}
@keyframes homeExitPulse{50%{box-shadow:inset 0 1px 0 #ffffff35,0 8px 21px #0006,0 0 16px #ffd45e24}}

/* Keep settings beside management and clearly separated from the daily wheel. */
.settings-launch{right:132px;bottom:126px}

.admin-gender{margin-top:13px;padding:14px;border:1px solid #67e1ce38;border-radius:15px;background:linear-gradient(145deg,#102b32,#101a2c)}
.admin-gender h4{margin:0 0 4px;color:#76ead8;font-size:13px}
.admin-gender p{margin:0 0 10px;color:#8495ae;font-size:10px}
.admin-gender>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-gender select,.admin-gender button{min-height:40px;border:1px solid #ffffff16;border-radius:10px;background:#091321;color:#eef8ff;padding:0 10px}
.admin-gender button{border:0;background:linear-gradient(90deg,#67e1ce,#55a8e8);color:#07131d;font-weight:900;cursor:pointer}

@media(max-width:650px){
  .map-panel{width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:17px}
  .map-panel>header{min-height:82px;padding:14px 16px}
  .map-panel header>button{top:9px;left:9px}
  .map-rooms{grid-template-columns:1fr;padding:10px}
  .map-room{min-height:165px}
  .map-room-icon{height:55px}
  .map-panel>footer{display:none}
  .player-panel{padding:23px 17px 19px;border-radius:19px}
  .quick-home-exit{height:34px;padding:0 9px}
  .quick-home-exit b{display:none}
  .admin-gender>div{grid-template-columns:1fr}
  .settings-launch{right:61px;bottom:106px}
}
