.admin-console-backdrop{
  position:fixed;
  inset:0;
  z-index:10040;
  display:block;
  padding:0;
  background:transparent;
  backdrop-filter:none;
  pointer-events:none;
}
.admin-console-backdrop[hidden]{display:none !important;}
.admin-console{
  position:fixed;
  top:76px;
  right:20px;
  width:min(560px,calc(100vw - 32px));
  max-height:calc(100vh - 96px);
  overflow:hidden;
  pointer-events:auto;
  border:1px solid rgba(222,194,131,.55);
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 8%,rgba(137,87,199,.16),transparent 34%),
    linear-gradient(180deg,rgba(41,32,57,.98),rgba(23,19,31,.98) 72%);
  color:var(--text);
  box-shadow:0 22px 60px rgba(0,0,0,.62),0 0 0 1px rgba(157,103,236,.15),inset 0 1px 0 rgba(255,255,255,.06);
}
.admin-console-head,
.admin-console-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-color:rgba(216,189,132,.22);
}
.admin-console-head{
  border-bottom:1px solid rgba(216,189,132,.22);
  cursor:grab;
  user-select:none;
  touch-action:none;
}
.admin-console.is-dragging .admin-console-head{cursor:grabbing;}
.admin-console-foot{border-top:1px solid rgba(216,189,132,.22);font-size:12px;color:var(--muted);}
.admin-console-kicker{
  display:block;
  color:#cbb2ef;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.admin-console h2{margin:3px 0 0;color:#ffe4a0;font-family:"Trebuchet MS","Lucida Grande","Lucida Sans Unicode","Lucida Sans","Trebuchet MS","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Arial,sans-serif;font-size:22px;}
.admin-console h3{margin:0;color:#f1dda9;font-family:"Trebuchet MS","Lucida Grande","Lucida Sans Unicode","Lucida Sans","Trebuchet MS","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Arial,sans-serif;font-size:16px;}
.admin-console p{margin:5px 0 12px;color:var(--muted);font-size:12px;}
.admin-console-minimize{
  width:38px;
  height:38px;
  padding:0;
  border-radius:50%;
  font-size:23px;
}
.admin-console-body{
  display:grid;
  gap:13px;
  max-height:calc(100vh - 235px);
  overflow:auto;
  padding:16px 18px;
}
.admin-console-status{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.admin-console-status>div,
.admin-console-group{
  border:1px solid rgba(216,189,132,.2);
  border-radius:13px;
  background:rgba(10,8,15,.35);
}
.admin-console-status>div{display:grid;gap:4px;padding:10px 12px;}
.admin-console-status span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;}
.admin-console-status b{overflow-wrap:anywhere;color:#fff0c5;font-size:13px;}
.admin-console-group{padding:13px;}
.admin-command-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.admin-command-grid button,
#adminResetOverrides{
  min-height:39px;
  padding:8px 10px;
  border-color:rgba(177,130,236,.36);
  background:linear-gradient(180deg,rgba(77,56,100,.74),rgba(39,29,51,.92));
  color:#f6e8ff;
  font-size:12px;
}
.admin-command-grid button:hover,
#adminResetOverrides:hover{border-color:rgba(247,214,132,.64);color:#fff2bc;}
.admin-console-inspector #adminAscendedBossList{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.admin-boss-pill{
  padding:5px 8px;
  border:1px solid rgba(164,119,229,.28);
  border-radius:999px;
  background:rgba(91,54,129,.23);
  color:#e7d6fb;
  font-size:11px;
}
body.admin-console-open{overflow:auto;}
@media(max-width:760px){
  .admin-console-backdrop{padding:0;}
  .admin-console{width:min(94vw,560px);max-height:calc(100vh - 78px);}
  .admin-console-body{max-height:calc(100vh - 217px);padding:12px;}
  .admin-console-status{grid-template-columns:1fr;}
  .admin-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-console-head,.admin-console-foot{padding:13px;}
  .admin-console-foot{align-items:stretch;flex-direction:column;}
}

.admin-night-preset-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.admin-night-preset-grid button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  min-height:39px;
  padding:8px 10px;
  border-color:rgba(177,130,236,.3);
  background:rgba(34,25,46,.82);
  color:#eee2fb;
  font-size:11px;
  text-align:left;
}
.admin-night-preset-grid button[aria-pressed="true"]{
  border-color:rgba(247,214,132,.78);
  background:linear-gradient(180deg,rgba(101,67,119,.84),rgba(49,33,63,.95));
  color:#fff2bc;
  box-shadow:0 0 0 1px rgba(247,214,132,.18),0 0 14px rgba(132,68,152,.2);
}
.admin-night-swatch{
  width:17px;
  height:17px;
  flex:0 0 17px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:var(--admin-night-swatch,#6e1028);
  box-shadow:0 0 8px color-mix(in srgb,var(--admin-night-swatch,#6e1028) 60%,transparent);
}
.admin-night-swatch-default{
  background:linear-gradient(135deg,#601015,#1c0209 62%,#070208);
}
.admin-night-custom-row{
  display:grid;
  grid-template-columns:150px minmax(190px,1fr) auto auto;
  gap:10px;
  align-items:end;
  margin-top:11px;
}
.admin-night-color-field,
.admin-night-intensity-field{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:11px;
}
.admin-night-color-field input{
  width:100%;
  height:39px;
  padding:3px;
  border:1px solid rgba(177,130,236,.36);
  border-radius:9px;
  background:rgba(14,10,20,.72);
  cursor:pointer;
}
.admin-night-intensity-field>span{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.admin-night-intensity-field output{color:#fff0c5;font-weight:800;}
.admin-night-intensity-field input{width:100%;accent-color:#b26bd6;}
#adminApplyNightColor,
#adminStopNightPreview{
  min-height:39px;
  padding:8px 13px;
  border-color:rgba(177,130,236,.4);
  background:linear-gradient(180deg,rgba(77,56,100,.78),rgba(39,29,51,.94));
  color:#f6e8ff;
  font-size:12px;
}
.admin-night-color-status{
  margin-top:9px;
  color:#d8c7ea;
  font-size:11px;
}
@media(max-width:760px){
  .admin-night-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-night-custom-row{grid-template-columns:1fr;align-items:stretch;}
}


/* Admin color preview: show only the haze layer without changing game time or rerendering the app. */
body.admin-night-preview .night-atmosphere{
  opacity:1;
  visibility:visible;
}
body.admin-night-preview .night-atmosphere::before{
  animation:none;
  opacity:.82;
}
#adminStopNightPreview{
  border-color:rgba(199,151,151,.34);
  background:linear-gradient(180deg,rgba(78,48,58,.72),rgba(39,25,31,.94));
  color:#f4dce2;
}

.admin-console-restore{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:10041;
  min-height:38px;
  padding:8px 13px;
  border:1px solid rgba(222,194,131,.62);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(77,56,100,.96),rgba(39,29,51,.98));
  color:#fff0c5;
  font-size:12px;
  font-weight:850;
  box-shadow:0 12px 28px rgba(0,0,0,.44),0 0 14px rgba(157,103,236,.2);
  cursor:pointer;
}
.admin-console-restore[hidden]{display:none;}
.admin-console-restore:hover,
.admin-console-restore:focus-visible{
  border-color:#f2dca6;
  outline:2px solid rgba(157,103,236,.45);
  outline-offset:2px;
}
