/* Crownspire Academy: compact gameplay HUD, after legacy responsive styles. */
#gameScreen #academyMapHud .academy-map-open{display:none!important}
#gameScreen .reference-nav{left:auto!important;right:calc(16px + env(safe-area-inset-right))!important;top:calc(84px + env(safe-area-inset-top))!important;width:auto!important;display:flex!important;justify-content:flex-end!important;align-items:center;gap:clamp(4px,1vw,12px)!important}
#gameScreen .reference-nav button{flex:0 0 auto;width:clamp(49px,4.2vw,62px)!important;height:clamp(51px,5vw,66px)!important;min-height:48px!important;font-size:10px;transform:scale(var(--academy-hud-scale,1));transform-origin:center}
#gameScreen .reference-nav .chip{position:relative!important;margin:0 4px 0 0!important;display:flex;align-items:center;justify-content:center;gap:2px;min-width:53px;min-height:38px;padding:4px 8px;border:1px solid #8396b4;background:#0c1628db;color:#cbd8ed;font:12px Georgia,serif;border-radius:4px;white-space:nowrap;text-shadow:0 1px 2px #000}
#gameScreen .hud{align-items:flex-start}
#gameScreen .hud #academyFullscreenButton{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin-left:auto!important;margin-right:2px!important;align-self:flex-start;width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;flex:0 0 48px;display:grid;place-items:center;transform:scale(var(--academy-hud-scale,1));transform-origin:center}
#gameScreen #menuBtn{flex-shrink:0;transform:scale(var(--academy-hud-scale,1));transform-origin:center}
#gameScreen #interact{display:none!important}
#gameScreen .hall-controls button:first-child{display:none!important}
#gameScreen .hall-controls{right:calc(10px + env(safe-area-inset-right))!important;top:calc(171px + env(safe-area-inset-top))!important;display:flex!important;gap:0!important}
#gameScreen .hall-controls button:not(:first-child){min-width:48px!important;min-height:48px!important;transform:scale(var(--academy-hud-scale,1))}
#gameScreen .hall-prompt:not(:disabled){pointer-events:auto!important;cursor:pointer;border:1px solid #94aac9;min-height:44px;box-shadow:0 0 12px #719ac944}
#gameScreen .hall-prompt:disabled{pointer-events:none!important}
#gameScreen .joystick{width:var(--academy-joystick-size,128px)!important;height:var(--academy-joystick-size,128px)!important;left:var(--academy-joystick-left,12px)!important;bottom:var(--academy-joystick-bottom,132px)!important}
html:not(.academy-touch-device) #gameScreen .joystick{display:none!important}
#menu .scroll > #menuInventory,#menu .scroll > .academy-menu-section,#menu .scroll > button[aria-haspopup="dialog"]{flex-shrink:0}
#menu .scroll > button[aria-haspopup="dialog"]{min-height:50px;order:-5}
#menu .scroll > .academy-menu-section{order:-4;border:1px solid #778eac;padding:10px 12px;background:#101c2d;color:#dce6f2}
#menu .academy-menu-section summary{font:500 18px Georgia,serif;cursor:pointer;min-height:35px}
#menu .academy-menu-section p{font:14px/1.4 Georgia,serif;color:#bdcee0}
#menu .academy-menu-section button{min-height:44px}
#menu .academy-menu-access{max-height:190px;overflow:auto}
#menu .academy-menu-access[hidden]{display:none!important}
@media (max-width:760px) and (orientation:portrait){
 #gameScreen .hall-status{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin-left:48px!important}
 #gameScreen .hud{gap:5px!important}
 #gameScreen .reference-nav{top:calc(70px + env(safe-area-inset-top))!important;right:8px!important;left:auto!important;gap:3px!important}
 #gameScreen .reference-nav button{width:51px!important;height:53px!important;min-width:48px!important}
 #gameScreen .reference-nav .chip{font-size:11px;min-width:48px;padding:4px}
 #gameScreen .hud #academyFullscreenButton{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;flex-basis:44px}
 #gameScreen .hall-controls{top:calc(178px + env(safe-area-inset-top))!important}
 #gameScreen #academyMapHud{top:calc(190px + env(safe-area-inset-top))}
}
@media(max-height:550px) and (orientation:landscape){
 #gameScreen .reference-nav{top:calc(62px + env(safe-area-inset-top))!important}
 #gameScreen .hall-controls{top:calc(131px + env(safe-area-inset-top))!important}
 #gameScreen #academyMapHud{top:calc(128px + env(safe-area-inset-top))}
}
@media(min-width:761px) and (max-width:1200px){
 #gameScreen .reference-nav{top:calc(76px + env(safe-area-inset-top))!important}
 #gameScreen .hall-status{width:min(39vw,380px)}
}

/* HUD pass 2: four identical silver gothic controls in one row. */
#gameScreen .hud{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:clamp(2px,.35vw,7px)!important}
#gameScreen .hud .hall-status{margin-right:auto!important;flex:0 1 min(42vw,440px);min-width:0}
#gameScreen .hud #menuBtn,
#gameScreen .hud #academyFullscreenButton,
#gameScreen .hud .hud-utility{
 box-sizing:border-box!important;position:relative!important;inset:auto!important;
 flex:0 0 clamp(46px,5vw,60px)!important;
 width:clamp(46px,5vw,60px)!important;height:clamp(46px,5vw,60px)!important;
 min-width:0!important;min-height:0!important;margin:0!important;padding:6px!important;
 display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:0;
 background:var(--ref-ring) center/contain no-repeat!important;
 color:#e7edfb!important;border:0!important;border-radius:0!important;
 box-shadow:none!important;text-shadow:0 1px 3px #000;
 transform:scale(var(--academy-hud-scale,1));transform-origin:top center;
 font:10px Georgia,serif!important;
}
#gameScreen .hud #menuBtn{font-size:23px!important}
#gameScreen .hud #academyFullscreenButton{font-size:23px!important}
#gameScreen .hud .hud-utility .ref-icon{font-size:21px;line-height:1}
#gameScreen .hud .hud-utility:disabled{opacity:.5}
#gameScreen .hud .hud-utility:focus-visible,#gameScreen .hud #academyFullscreenButton:focus-visible,#gameScreen .hud #menuBtn:focus-visible{outline:2px solid #dcecff;outline-offset:1px}
#gameScreen .hud .hud-utility{touch-action:manipulation;cursor:pointer}
#gameScreen .wanted-indicator{position:absolute!important;left:calc(12px + env(safe-area-inset-left));top:calc(125px + env(safe-area-inset-top));z-index:12;display:flex;align-items:center;gap:3px;margin:0!important;width:max-content;min-width:54px;min-height:27px;padding:4px 9px;border:1px solid #7d95b2;background:#0a1424dd;color:#dde8f6;border-radius:3px;font:12px Georgia,serif;pointer-events:none}
#gameScreen .reference-nav{display:none!important}
@media(max-width:760px) and (orientation:portrait){
 #gameScreen .hud .hall-status{flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;margin-left:48px!important}
 #gameScreen .hud #menuBtn,#gameScreen .hud #academyFullscreenButton,#gameScreen .hud .hud-utility{flex-basis:40px!important;width:40px!important;height:44px!important}
 #gameScreen .hud #menuBtn,#gameScreen .hud #academyFullscreenButton{font-size:20px!important}
 #gameScreen .hud .hud-utility .ref-icon{font-size:17px}
 #gameScreen .hud .hud-utility{font-size:8px!important}
 #gameScreen .wanted-indicator{top:calc(141px + env(safe-area-inset-top));left:9px;font-size:11px}
}
@media(max-width:420px){
 #gameScreen .hud{gap:1px!important}
 #gameScreen .hud .hall-status{margin-left:40px!important}
 #gameScreen .hud #menuBtn,#gameScreen .hud #academyFullscreenButton,#gameScreen .hud .hud-utility{flex-basis:36px!important;width:36px!important;height:42px!important}
}

/* A deliberate touch sprint affordance sits northwest of the joystick. */
#gameScreen #academySprintBadge{position:absolute;z-index:16;left:calc(var(--academy-joystick-left,12px) + 2px);bottom:calc(var(--academy-joystick-bottom,132px) + var(--academy-joystick-size,128px) - 18px);display:none;align-items:center;justify-content:center;flex-direction:column;width:52px;height:52px;border:1px solid #9daec5;border-radius:50%;background:radial-gradient(circle,rgba(23,62,117,.35),rgba(9,23,48,.35) 65%,rgba(9,21,43,.1));color:#d3e7ff;text-shadow:0 0 8px #7aaad8;box-shadow:inset 0 0 8px #a6c8f438;cursor:pointer;touch-action:manipulation;backdrop-filter:blur(2px)}
.academy-touch-device #gameScreen #academySprintBadge{display:flex}
#gameScreen #academySprintBadge span{font:26px/1 Georgia,serif}
#gameScreen #academySprintBadge small{font:8px/1.2 Georgia,serif;letter-spacing:.05em}
#gameScreen #academySprintBadge.charging{box-shadow:inset 0 0 16px #8bcaff99,0 0 12px #5694c288}
#gameScreen #academySprintBadge.active{background:radial-gradient(circle,rgba(23,77,149,.48),rgba(7,24,53,.35));border-color:#c4e6ff;box-shadow:inset 0 0 17px #77aeea88,0 0 17px #60b1fd6e;color:#fff}
#gameScreen .hall-controls button:nth-child(2){display:none!important}
#gameScreen .hall-controls:empty{display:none!important}
.academy-hide-joystick #gameScreen .joystick,.academy-hide-sprint #gameScreen #academySprintBadge,.academy-hide-quests #gameScreen .hud .hud-utility:last-child,.academy-hide-wanted #gameScreen .wanted-indicator,.academy-hide-sneak #gameScreen #sneak,.academy-hide-hide #gameScreen #hide,.academy-hide-minimap #gameScreen #academyMapHud{display:none!important}

/* User-configurable joystick edge, including the sprint status indicator. */
.academy-joystick-right #gameScreen .joystick{left:auto!important;right:var(--academy-joystick-right,12px)!important}
.academy-joystick-right #gameScreen #academySprintBadge{left:auto!important;right:calc(var(--academy-joystick-right,12px) + 2px)!important}
/* Phone: give health and mana the first row and keep all four utility buttons equally sized on their own aligned row. */
@media(max-width:760px) and (orientation:portrait){
 #gameScreen .hud{top:calc(7px + env(safe-area-inset-top))!important;left:7px!important;right:7px!important}
 #gameScreen .hud .hall-status{flex:0 1 auto!important;width:calc(100% - 58px)!important;max-width:none!important;margin-left:51px!important;margin-right:0!important}
 #gameScreen .hud #menuBtn,#gameScreen .hud #academyFullscreenButton,#gameScreen .hud .hud-utility{position:absolute!important;top:61px!important;min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important;flex-basis:44px!important;margin:0!important}
 #gameScreen .hud #menuBtn{right:calc(3 * 46px + 2px)!important}
 #gameScreen .hud #academyFullscreenButton{right:calc(2 * 46px + 2px)!important}
 #gameScreen .hud .hud-utility:nth-last-child(2){right:calc(1 * 46px + 2px)!important}
 #gameScreen .hud .hud-utility:last-child{right:2px!important}
 #gameScreen .wanted-indicator{top:calc(128px + env(safe-area-inset-top))!important}
}
@media(max-width:420px) and (orientation:portrait){
 #gameScreen .hud #menuBtn,#gameScreen .hud #academyFullscreenButton,#gameScreen .hud .hud-utility{width:44px!important;height:44px!important;flex-basis:44px!important}
}
.academy-settings .academy-hud-visibility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:9px 0}
.academy-settings .academy-hud-visibility>p{grid-column:1/-1;color:#dbe7f5;margin:4px 0 7px}
.academy-settings .academy-hud-visibility label{min-height:44px;display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding:5px;border:1px solid #405674}
.academy-settings .academy-hud-visibility input{width:17px;height:17px;accent-color:#84aede}
.academy-settings .academy-hud-visibility label>span:nth-child(2){font-size:21px;color:#bed5f2}
.academy-settings .academy-hud-visibility label>span:nth-child(3){font-size:12px}

/* Button-size settings change the hitbox and spacing together, never just visual scale. */
#gameScreen .hud #menuBtn,#gameScreen .hud #academyFullscreenButton,#gameScreen .hud .hud-utility{
 transform:none!important;flex-basis:var(--academy-hud-button-size,54px)!important;
 width:var(--academy-hud-button-size,54px)!important;height:var(--academy-hud-button-size,54px)!important
}
@media(max-width:760px) and (orientation:portrait){
 #gameScreen .hud #menuBtn,#gameScreen .hud #academyFullscreenButton,#gameScreen .hud .hud-utility{
  transform:none!important;flex-basis:var(--academy-hud-mobile-size,44px)!important;
  width:var(--academy-hud-mobile-size,44px)!important;height:var(--academy-hud-mobile-size,44px)!important;
  min-height:var(--academy-hud-mobile-size,44px)!important
 }
 #gameScreen .hud #menuBtn{right:calc(var(--academy-hud-mobile-step,46px) + var(--academy-hud-mobile-step,46px) + var(--academy-hud-mobile-step,46px) + 2px)!important}
 #gameScreen .hud #academyFullscreenButton{right:calc(var(--academy-hud-mobile-step,46px) + var(--academy-hud-mobile-step,46px) + 2px)!important}
 #gameScreen .hud .hud-utility:nth-last-child(2){right:calc(var(--academy-hud-mobile-step,46px) + 2px)!important}
 #gameScreen .hud .hud-utility:last-child{right:2px!important}
}
