:root{font-family:Inter,system-ui,sans-serif;color:#f4f7f4;background:#152222;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:1px solid #ffffff30;background:#172828d9;border-radius:12px;padding:11px 16px;min-height:44px}button:hover{background:#3a5143}button:focus-visible,a:focus-visible{outline:3px solid #d6efaa;outline-offset:3px}a{color:inherit}#world{position:fixed;inset:0}#world canvas{display:block;touch-action:none}header{position:fixed;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 30px;background:linear-gradient(#101d29da,transparent);z-index:3}.brand{font-size:22px;text-decoration:none;font-weight:750;white-space:nowrap}.brand span{font-weight:350;color:#cce3bb}nav{display:flex;gap:6px}nav a{padding:10px 16px;text-decoration:none;border-radius:30px;font-size:14px}nav .selected{background:#e0efc9;color:#213120}.location{position:fixed;top:108px;left:30px;text-shadow:0 2px 16px #000b;pointer-events:none}.location small{font-size:12px;letter-spacing:2px;color:#dde9d3}h1{font-size:clamp(24px,4vw,44px);font-weight:450;margin:10px 0}output{font-size:14px}.actions{position:fixed;top:110px;right:24px;display:flex;gap:8px}.bottom{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:290px;right:30px;display:flex;justify-content:space-between;gap:12px;font-size:14px;text-shadow:0 2px 4px #000;background:#142224b8;padding:14px 20px;border-radius:12px;pointer-events:none}#minimap{position:fixed;bottom:28px;left:28px;width:210px;height:210px;border:1px solid #ffffff55;border-radius:50%;background:#132728d9;box-shadow:0 8px 40px #0004}#compass{position:fixed;top:24px;left:50%;font-size:14px;pointer-events:none}#joystick,#run{display:none}#interact{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#d9edb8;color:#18241a;font-weight:650}#loading,#paused{position:fixed;inset:0;display:grid;place-content:center;text-align:center;background:#10212ceb;z-index:5;padding:24px}#loading b{font-size:72px;color:#cee3a8}#loading a{margin-top:20px}#paused{background:#10212cb8;backdrop-filter:blur(6px)}[hidden]{display:none!important}dialog{max-width:640px;width:calc(100% - 28px);max-height:85dvh;overflow:auto;border:1px solid #ffffff38;border-radius:22px;padding:24px;background:#192b2a;color:#f0f4eb;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#06161b99;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{font-size:23px;font-weight:500}dialog p{line-height:1.65;font-size:16px}#destinations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 24px}#destinations button{text-align:left;background:#30433c}#destinations small{display:block;color:#bbcbb9;font-size:12px;margin-top:6px}label{display:block;font-size:14px;margin-bottom:10px}input{width:100%;padding:14px;background:#0f201e;border:1px solid #52665a;border-radius:12px;color:inherit}#route-results{display:grid;gap:6px;margin-top:14px}#route-results button{text-align:left;font-size:14px}.muted{color:#c0cbbb;font-size:13px} @media(max-width:900px){header{padding:14px 16px;flex-wrap:wrap;gap:12px}.brand{font-size:19px}nav{gap:0}nav a{padding:8px 9px}.location{top:116px;left:18px;max-width:65%}.location small{font-size:12px;letter-spacing:.7px}.actions{top:auto;bottom:210px;right:14px;flex-direction:column;align-items:flex-end}.actions button{font-size:13px;padding:8px 12px}.actions #info{display:block}#minimap{width:124px;height:124px;left:16px;bottom:64px}.bottom{left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));padding:10px 12px;font-size:12px}.bottom #hint{max-width:80%}#compass{top:88px;left:50%}#joystick{display:block;position:fixed;bottom:76px;right:20px;width:122px;height:122px;border:1px solid #ffffff70;border-radius:50%;background:#142a2b70;touch-action:none}#joystick span{position:absolute;inset:16px;border:1px solid #ffffff30;border-radius:50%}#joystick button{position:absolute;top:50%;left:50%;width:52px;height:52px;transform:translate(-50%,-50%);border-radius:50%;background:#e1ebd7cc;padding:0;pointer-events:none}#run{display:block;position:fixed;bottom:78px;right:160px;font-size:13px}#run[aria-pressed=true]{background:#d9edb8;color:#17251b}#interact{bottom:220px;left:20px;transform:none;max-width:55%;font-size:13px}#destinations{grid-template-columns:1fr 1fr}}@media(max-height:520px){.location{top:76px}.location small{display:none}.location h1{font-size:22px}.actions{top:75px;bottom:auto;flex-direction:row}.bottom #hint{display:none}#minimap{width:100px;height:100px}#compass{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

#landmark-labels{position:fixed;inset:0;pointer-events:none;z-index:1}#landmark-labels span{position:absolute;top:0;left:0;padding:5px 9px;border-radius:5px;background:#102a3266;color:#f2f5eb;font-size:12px;text-shadow:0 1px 3px #000}header,.location,.actions,.bottom,#minimap,#interact,#joystick,#run{z-index:2}dialog{z-index:10}

/* Exploration HUD: quiet forest glass and amber route accents. */
:root{--glass:#10291fdf;--line:#dfebc94d;--amber:#ffc65c}header{padding:16px 24px}.location{top:92px;left:24px}.location small{letter-spacing:2px;color:#f8d58d}.location h1{font-size:30px;font-weight:600}.actions{top:90px;right:24px}.actions button{font-size:14px;border-radius:8px;background:var(--glass)}#compass{top:21px;left:50%;transform:translateX(-50%);width:330px;height:52px;overflow:hidden;background:linear-gradient(90deg,transparent,#13342a9c,transparent);text-align:center;font-size:16px;font-weight:600;color:#fff4d4;z-index:3;white-space:nowrap}#compass .bearing{display:block;color:var(--amber);font-size:14px}.compass-scale{height:28px;position:relative}.compass-scale span{position:absolute;transform:translateX(-50%);font-size:14px}.compass-scale:after{content:'▾';color:var(--amber);position:absolute;left:50%;top:-8px}#minimap{top:155px;right:24px;left:auto;bottom:auto;width:160px;height:160px;border:2px solid #e9f0d9b3}#hike-panel,#trail-panel{position:fixed;z-index:2;bottom:74px;border:1px solid var(--line);border-radius:12px;background:var(--glass);box-shadow:0 8px 24px #07171133;padding:17px 19px;width:285px}#hike-panel{left:24px}#trail-panel{right:24px;width:320px}#hike-panel h2,#trail-panel h2{font-size:14px;text-transform:uppercase;letter-spacing:1.3px;margin:0 0 12px;color:#fff2ce}dl{margin:0}dl div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;font-size:14px}dt{color:#d4decf}dd{font-weight:650;margin:0;font-variant-numeric:tabular-nums}#objective{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px;display:grid;gap:6px}#objective small{font-size:12px;color:#ddd7b8;letter-spacing:1px}#objective strong{font-size:17px;color:var(--amber)}#goal-distance{font-size:14px}#elevation-profile{width:100%;height:80px;display:block}#profile-caption{font-size:12px;color:#c3d1be}.bottom{left:24px;right:24px;bottom:18px;padding:12px 16px;background:#10291fc9;border:1px solid var(--line);border-radius:8px}#landmark-labels span{background:#10291fde;border:1px solid #c5d4b87a;border-radius:6px;font-size:14px;padding:7px 10px;white-space:nowrap;box-shadow:0 3px 10px #0002}#landmark-labels span:after{content:'';display:block;width:1px;height:17px;background:#f5f0dc;position:absolute;left:50%;top:100%}#landmark-labels span small{display:block;font-size:12px;color:#ecdba7;margin-top:3px}#landmark-labels span.animal-label{border-color:#efc87580}nav{margin-left:auto}#distance{color:#ffcf71}
@media(min-width:901px) and (max-width:1250px){#compass{top:64px;width:270px}.actions{top:115px}.location{top:100px}}
@media(max-width:900px){header{padding:10px 14px}.location{top:107px;left:14px}.location h1{font-size:23px;margin:5px 0}.location output{font-size:12px}.location small{font-size:12px;letter-spacing:1px}#compass{top:61px;width:260px}.actions{top:auto;right:12px;bottom:228px;gap:5px}.actions button{font-size:12px;padding:7px 10px;min-height:36px}#minimap{top:110px;right:14px;width:104px;height:104px}#hike-panel{left:12px;bottom:73px;width:186px;padding:12px}#hike-panel h2{font-size:12px;letter-spacing:.6px}dl div{font-size:12px;margin:7px 0;gap:5px}#trail-panel{display:none}.bottom{left:12px;right:12px;bottom:12px;padding:9px 11px}.bottom #hint{font-size:12px}#joystick{bottom:78px;right:16px;width:110px;height:110px}#run{bottom:190px;right:20px}#landmark-labels span{font-size:12px;padding:5px 7px}#landmark-labels span small{font-size:12px}#distance{display:none}}
@media(max-height:560px){.location{top:72px}.location output{display:none}#hike-panel{bottom:58px;padding:10px;width:200px}#hike-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}dl div{display:block;margin:3px 0;font-size:12px}#trail-panel{display:none}#minimap{top:125px;width:95px;height:95px}.actions{top:70px;bottom:auto}#compass{display:none}}
@media(max-width:600px){header nav a:not(:first-child):not(.selected){display:none}header{flex-wrap:nowrap;gap:8px}nav a{font-size:13px;padding:8px 11px}#landmark-labels span{max-width:210px;white-space:normal;text-align:center}}

.greeting-bubble{position:fixed;top:0;left:0;z-index:4;pointer-events:none;background:#fff9e9;color:#243725;border:1px solid #dfd7bb;border-radius:16px;padding:8px 16px;font-size:17px;font-weight:700;box-shadow:0 4px 12px #0003;white-space:nowrap}.greeting-bubble:after{content:'';position:absolute;bottom:-7px;left:calc(50% - 7px);border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid #fff9e9}
#jump{position:fixed;right:24px;bottom:410px;z-index:3;border-color:#f5cc6b;color:#ffe0a0;background:#10291fea}#current-trail{position:fixed;z-index:2;left:24px;top:210px;width:300px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--glass);max-height:210px;overflow:auto}#current-trail h2{font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:#ffe2a8;margin:0 0 9px}#trail-current{font-size:14px;white-space:pre-line;line-height:1.45}#trail-exits{display:grid;gap:5px;margin-top:10px}.trail-option{font-size:13px;text-align:left;padding:7px 9px;min-height:32px;border-radius:5px;border-left:5px solid #ccc;background:#ffffff0a}.inspectable{pointer-events:auto!important;cursor:help}.inspectable:focus-visible{outline:2px solid #ffdd88}#hover-info{position:fixed;z-index:12;top:150px;left:50%;transform:translateX(-50%);width:min(400px,calc(100vw - 30px));background:#102820f5;border:1px solid #ead7a8;border-radius:12px;padding:18px;color:#fcf4df;font-size:14px;line-height:1.6;white-space:pre-line;box-shadow:0 15px 55px #0005;cursor:pointer;max-height:60dvh;overflow:auto}.bear-roar{background:#fee1b6;color:#70260f;border-color:#ce9851}.bear-roar:after{border-top-color:#fee1b6}
@media(max-width:900px){#current-trail{left:12px;top:172px;width:200px;max-height:155px;padding:10px}#current-trail h2{font-size:12px}#trail-current{font-size:12px}.trail-option{font-size:12px;padding:5px;min-height:30px}#jump{right:90px;bottom:193px;font-size:13px;padding:8px 13px;min-height:38px}#hover-info{top:100px}}
@media(max-height:720px) and (min-width:901px){#current-trail{top:190px;max-height:135px;width:270px}#trail-exits{display:flex;overflow-x:auto}.trail-option{flex:0 0 180px}#hike-panel{width:235px;padding:12px}#hike-panel dl div{margin:6px 0}#jump{bottom:370px}}
@media(max-height:560px){#current-trail{top:125px;max-height:100px;width:220px}#hike-panel{bottom:57px}#jump{right:150px;bottom:110px}#current-trail h2{display:none}}

.tadek-speech{max-width:min(360px,80vw);white-space:normal;text-align:center;line-height:1.45;font-size:15px;border-color:#f1b66b}.tadek-name{color:#ffd38b!important;border-color:#e2a466!important}#interact{max-width:calc(100vw - 35px)}

.entry-note{position:fixed;z-index:14;top:160px;left:24px;max-width:330px;background:#16332ceb;padding:12px;border-radius:12px;color:#edf5dc;font-size:14px}.entry-note[hidden]{display:none}.entry-note summary{cursor:pointer}.entry-note p{line-height:1.5}.entry-note a{color:#d8eead}@media(max-width:700px){.entry-note{top:125px;left:12px;max-width:250px}}

#minimap{cursor:crosshair;touch-action:manipulation}#minimap:focus-visible{outline:3px solid #ffd477;outline-offset:4px}#map-message{position:fixed;z-index:4;top:320px;right:24px;max-width:230px;background:#10291fe8;border-radius:8px;padding:8px 10px;font-size:12px;pointer-events:none}#map-message:empty{display:none}.cart-speech{background:#fff0d0;color:#493d2a}@media(max-width:900px){#map-message{top:240px;right:12px;max-width:175px;font-size:11px}}
