/* Edge-aligned game HUD: keep the landscape and player unobstructed. */
body{--hud-ink:#fffdf1;--hud-shadow:0 2px 5px #000a;--hud-glass:#172830a6;color:var(--hud-ink)}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;background:linear-gradient(0deg,#07151066,transparent 21%,transparent 83%,#07151012)}
body>header{inset:18px auto auto 24px;padding:0;background:none;z-index:4;width:88px;display:block}
body>header .brand-logo{width:88px;height:88px;margin:0}body>header .brand{display:block}
.location{top:30px;left:132px;max-width:320px;padding:9px 13px;border-radius:12px;background:var(--hud-glass)!important;border:1px solid #fff4;text-shadow:var(--hud-shadow);z-index:3}
.location h1{font-size:19px;line-height:1.25;margin:0;font-weight:650}.location h1:before{content:'●';color:#ff504c;margin-right:8px;font-size:17px}.location #stats{display:none}
#route-details{pointer-events:auto;display:flex;align-items:center;gap:8px;border:0;background:none;padding:5px 0 0;min-height:28px;width:100%;font-size:12px;text-align:left}
#route-summary{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.actions{inset:20px 20px auto auto;display:flex;flex-direction:row;gap:8px;z-index:4}.actions #pause,.actions #settings{padding:0;width:40px;height:40px;min-height:40px;border-radius:50%;border:1px solid #fff6;font-size:23px;background:var(--hud-glass)}
.actions #places{position:fixed;left:142px;top:111px;padding:7px 12px;min-height:34px;border:1px solid #fff5;border-radius:9px;font-size:14px;background:var(--hud-glass)}#places span{padding-left:14px}
#compass{display:block;top:22px;left:50%;width:300px;height:54px;padding-top:8px;z-index:3;background:linear-gradient(90deg,transparent,#13344866,transparent);text-shadow:var(--hud-shadow)}.compass-scale{height:26px}.compass-scale:before{content:'';position:absolute;left:8%;right:8%;top:-2px;height:5px;background:repeating-linear-gradient(90deg,#fffa 0 1px,transparent 1px 25px)}#compass .bearing{font-size:13px}.compass-scale:after{top:-13px}
#minimap{inset:76px 24px auto auto;width:190px;height:190px;border:2px solid #fff9;border-radius:50%;box-shadow:0 4px 18px #0004;z-index:3}
#objective{position:fixed;top:280px;right:24px;width:240px;border:0;padding:0 0 0 30px;margin:0;display:grid;gap:4px;z-index:3;text-shadow:var(--hud-shadow);background:none;pointer-events:none}
#objective:before{content:'⌂';position:absolute;left:0;top:-6px;font-size:32px;color:#ffda77}#objective small{font-size:12px;letter-spacing:0;color:#fff}#objective strong{font-size:14px;line-height:1.3;color:#ffdb76}#goal-distance{font-size:12px}
#hike-panel{left:28px;bottom:26px;width:440px;padding:0;border:0;border-radius:0;box-shadow:none;background:none!important;pointer-events:none;text-shadow:var(--hud-shadow)}
#hike-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px}#hike-panel dl div{display:block;position:relative;padding-left:31px;margin:0;min-width:0}#hike-panel dt{font-size:12px;color:#fff;margin-bottom:3px}#hike-panel dd{font-size:17px;line-height:1.2;white-space:nowrap}#hike-panel dl div:before{position:absolute;left:0;top:2px;font-size:23px;color:#fff;content:'↟'}#hike-panel dl div:nth-child(2):before{content:'◷'}#hike-panel dl div:nth-child(3):before{content:'△'}#hike-panel dl div:nth-child(4):before{content:'↑'}#hike-panel dl div:nth-child(5):before{content:'↓'}#hike-panel dl div:nth-child(6):before{content:'∠'}
#trail-panel{display:block;left:500px;right:280px;bottom:26px;width:auto;max-width:540px;padding:0 0 0 18px;border:0;border-left:1px solid #fff5;border-radius:0;box-shadow:none;background:none!important;pointer-events:none;text-shadow:var(--hud-shadow)}#trail-panel h2{font-size:12px;text-transform:none;letter-spacing:0;color:#fff;margin:0 0 4px}#elevation-profile{width:100%;height:49px}#profile-caption{display:none}
.bottom{left:auto;right:24px;bottom:26px;width:215px;padding:0;border:0;background:none;box-shadow:none;font-size:12px;line-height:1.5;text-align:right;text-shadow:var(--hud-shadow)}.bottom #distance{display:none}
#jump,#run,#joystick{display:none}#interact{bottom:145px;left:50%;transform:translateX(-50%);max-width:330px;z-index:4}
#map-message{top:350px;right:24px;max-width:240px;background:#142a30c9}
#game-settings nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}#game-settings nav a{display:block!important;font-size:14px;padding:10px;border:1px solid #fff2;border-radius:8px}#game-settings #entry-note{position:static;max-width:none;margin-top:20px;background:#ffffff0a}#game-settings #info{margin-left:8px}
#route-info #current-trail{position:static;width:auto;max-height:none;padding:0;border:0;background:none!important}#route-info #current-trail h2{display:none}#route-info #trail-exits{display:grid;overflow:visible}#route-info .trail-option{flex:auto;font-size:14px;min-height:44px}
#landmark-labels span{font-size:12px;background:#163746a8;border:0;box-shadow:none;padding:5px 8px;max-width:200px;white-space:normal;text-align:center}#landmark-labels span small{font-size:11px}#hover-info{top:155px;max-height:40dvh}
@media(max-width:1100px) and (min-width:901px){#compass{width:230px}.location{max-width:260px}.location h1{font-size:17px}#hike-panel{width:390px}#trail-panel{left:450px;right:240px}.bottom{width:180px}#objective{width:200px}}
@media(max-width:900px){
 body>header{top:max(12px,env(safe-area-inset-top));left:14px;width:58px}body>header .brand-logo{width:58px;height:64px;margin:0}
 #compass{top:max(18px,env(safe-area-inset-top));width:clamp(130px,36vw,240px);height:46px;padding-top:7px;left:47%}.compass-scale span{font-size:12px}#compass .bearing{font-size:11px}
 .actions{top:max(14px,env(safe-area-inset-top));right:12px;bottom:auto;flex-direction:row;gap:5px}.actions #pause,.actions #settings{width:32px;height:32px;min-height:32px;font-size:19px}
 .location{top:82px;left:14px;max-width:calc(100vw - 155px);padding:7px 9px;border-radius:8px}.location h1{font-size:15px;margin:0;line-height:1.3}.location h1:before{font-size:12px;margin-right:5px}#route-details{font-size:10px;min-height:23px;padding-top:3px}#route-summary{max-width:100%}
 .actions #places{left:14px;top:160px;font-size:12px;padding:5px 10px;min-height:31px}#places span{padding-left:7px}
 #minimap{top:75px;right:12px;left:auto;bottom:auto;width:115px;height:115px}#objective{top:201px;right:12px;width:155px;padding-left:21px;gap:3px}#objective:before{font-size:25px;top:-5px}#objective small{font-size:10px}#objective strong{font-size:11px}#goal-distance{font-size:10px}
 #hike-panel{display:block;left:16px;right:16px;bottom:calc(22px + env(safe-area-inset-bottom));width:auto;padding:0;background:none!important}#hike-panel dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 8px}#hike-panel dl div{padding-left:25px;margin:0;display:block}#hike-panel dt{font-size:10px}#hike-panel dd{font-size:13px}#hike-panel dl div:before{font-size:20px}
 #trail-panel{display:block;left:16px;right:16px;bottom:calc(129px + env(safe-area-inset-bottom));max-width:none;width:auto;padding:0;border:0;height:36px}#trail-panel h2{position:absolute;left:0;top:7px;font-size:11px}#elevation-profile{margin-left:78px;width:calc(100% - 78px);height:36px}
 #joystick{display:block;position:fixed;left:18px;right:auto;bottom:calc(189px + env(safe-area-inset-bottom));width:116px;height:116px;border:2px solid #fff9;background:#17333c66;border-radius:50%;z-index:4}#joystick:before{content:'▴';position:absolute;top:2px;left:calc(50% - 5px);color:#fff9}#joystick span{inset:22px;border-color:#fff6}#joystick button{width:48px;height:48px;background:radial-gradient(circle at 35% 30%,#fff,#afbec4);border:1px solid white;box-shadow:0 3px 8px #0005}
 #jump,#run{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;right:18px;left:auto;width:67px;height:67px;min-height:0;padding:0;border:2px solid #fffb;border-radius:50%;background:#1c303aa8;font-size:12px;line-height:1.1;z-index:4}#jump span,#run span{display:block;font-size:31px;line-height:1;margin-bottom:3px}#run{bottom:calc(185px + env(safe-area-inset-bottom))}#jump{bottom:calc(263px + env(safe-area-inset-bottom));color:#fff}#run[aria-pressed=true]{background:#a42732c9;color:white}
 .bottom{display:none}#interact{left:50%;bottom:calc(176px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100vw - 190px);font-size:11px;padding:7px;min-height:38px}
 #map-message{top:285px;right:12px;max-width:170px;font-size:10px}#hover-info{top:200px;max-height:28dvh;font-size:12px}.greeting-bubble{font-size:13px;padding:6px 10px}
}
@media(max-width:360px){.actions #pause{width:28px;height:28px;min-height:28px}#compass{left:45%;width:125px}#hike-panel dd{font-size:11px}#hike-panel dl div{padding-left:20px}.location{max-width:calc(100vw - 142px)}#objective{width:139px}}
@media(max-height:600px) and (orientation:landscape){
 body>header{top:8px;left:12px}body>header .brand-logo{width:52px;height:58px}.location{top:12px;left:78px;max-width:235px}.location h1{font-size:14px}.actions #places{top:80px;left:78px;font-size:12px}#compass{display:block;top:9px;width:180px;left:55%}#minimap{top:56px;right:12px;width:90px;height:90px}#objective{top:153px;right:12px;width:170px}#objective strong{font-size:10px}#objective small,#goal-distance{font-size:9px}
 #hike-panel{left:16px;right:16px;bottom:15px;width:auto}#hike-panel dl{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}#hike-panel dt{font-size:10px}#hike-panel dd{font-size:12px}#hike-panel dl div{padding-left:22px}#hike-panel dl div:before{font-size:18px}
 #trail-panel{left:170px;right:170px;bottom:65px;height:30px;width:auto}#elevation-profile{height:30px}.bottom{display:none}#joystick{bottom:80px;width:96px;height:96px}#jump,#run{width:50px;height:50px;font-size:10px;right:14px}#jump span,#run span{font-size:23px}#run{bottom:70px}#jump{bottom:128px}#interact{bottom:105px;font-size:11px}#map-message{top:200px}
}

#jump svg,#run svg{width:30px;height:30px;margin-bottom:3px}@media(max-height:600px) and (orientation:landscape){#jump svg,#run svg{width:23px;height:23px}}

.actions #game-support{position:fixed;right:120px;top:23px;min-height:34px;font-size:12px;pointer-events:auto}
@media(max-width:900px){.actions #game-support{left:14px;right:auto;top:201px;min-height:32px;padding:6px 10px;font-size:11px}}
@media(max-height:600px) and (orientation:landscape){.actions #game-support{left:14px;right:auto;top:122px;min-height:30px;font-size:11px}}
