#forest{--dock:64px;height:100svh;min-height:340px;background:#253723;isolation:isolate}
#forestView{touch-action:none;background:#395239 url("/forest/entry.webp") center / cover;z-index:0}
#trailCanvas{display:block;width:100%;height:100%;opacity:0}
.game-ready #trailCanvas{opacity:1}
.forest-shade{z-index:1;background:linear-gradient(180deg,#101f19a3 0%,transparent 18%,transparent 73%,#101d16b5 100%)}
.forest-header,.forest-caption,.forest-toolbar,#trailControls,#onTrail,#carryBar,#leaveQuiet{z-index:2}
#carryBar .carried-open{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:inherit;text-align:left;padding:2px 5px;cursor:pointer;border-radius:5px}#carryBar .carried-open b,#carryBar .carried-open small{display:block}#carryBar .carried-open:is(:hover,:focus-visible){outline:1px solid #e4dfb1}
.sign-board-hit{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);background:transparent;border:0;padding:0;min-height:0;color:inherit;cursor:pointer;border-radius:5px}.sign-board-hit:is(:hover,:focus-visible){outline:2px solid #f8e4ac;background:#ffe4a22b}.sign-board-hit[hidden]{display:none}
#trailNames{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.trail-name{position:absolute;left:0;top:0;display:inline-block;background:#193529db;padding:4px 11px;border:1px solid #fff5c878;border-radius:20px;white-space:nowrap;color:#fffbe2;font:600 12px/1.3 var(--sans);text-shadow:0 1px 3px #12251c}
.trail-name{pointer-events:auto;min-height:28px}
.trail-name[hidden]{display:none}
.cafe-tag{background:#443827ed;color:#fff1cc;border-color:#f1cc89a6;box-shadow:0 2px 8px #24161144}
#forest[data-scene=cafe] .forest-actions{flex-wrap:wrap}
@media(max-width:720px){#forest[data-scene=cafe] .forest-copy p{display:none}}
.forest-caption{position:absolute;left:calc(var(--forest-edge) + 125px);right:var(--forest-edge);bottom:calc(var(--dock) + 18px);padding:0;align-items:flex-end;gap:12px}
.forest-copy h1{font-size:clamp(24px,3.1vw,46px);letter-spacing:-.065em}
.forest-copy p{font-size:clamp(12px,1.1vw,16px);margin-top:5px;max-width:33em}
.forest-toolbar{margin-top:auto;z-index:3}
#trailControls{position:absolute;left:var(--forest-edge);right:var(--forest-edge);bottom:calc(var(--dock) + 14px);pointer-events:none}
#trailStick{pointer-events:auto;touch-action:none;width:94px;height:94px;border-radius:100%;position:relative;display:grid;place-items:center;border:1px solid #fff4d594;background:radial-gradient(circle,#14271c76 0 34%,#16261d4a 35% 53%,#e5efd926 54% 55%,#16261d62 56%);box-shadow:0 2px 12px #1e311f25;user-select:none}
#trailStick::before{content:"⌃";position:absolute;left:0;right:0;top:2px;text-align:center;color:#f6efd6;font-size:14px}
#trailStick>span{width:39%;height:39%;border:1px solid #fff6d99c;border-radius:100%;background:#ecf0d756;box-shadow:0 3px 10px #172a1c44}
#trailHelp{position:fixed;top:clamp(78px,11vh,117px);right:var(--forest-edge);font-size:12px;color:#fffae9;background:#182b21ba;border-radius:20px;padding:7px 12px;margin:0;transition:opacity 1s}
#forest.has-walked #trailHelp{opacity:0}
#viewMode,#xrMode{pointer-events:auto;position:fixed;right:var(--forest-edge);bottom:calc(var(--dock) + 81px);font:600 12px var(--sans);color:#fff9d9;border:1px solid #fff4d573;border-radius:20px;background:#15291dcc;padding:8px 13px}
#xrMode{right:calc(var(--forest-edge) + 110px)}
@media(min-width:721px){#forest[data-scene=cafe] #viewMode,#forest[data-scene=cafe] #xrMode{top:clamp(117px,18vh,155px);bottom:auto}}
.scenery-only #trailControls,.scenery-only #trailNames{display:none}
.forest-actions:empty{display:none}
#bookmarkForm{padding:18px 22px 24px;margin:0;gap:15px}
#bookmarkForm p{margin:0;font-size:14px;line-height:1.7}
#bookmarkForm label{display:grid;gap:6px;font-weight:600;font-size:14px}
#bookmarkForm textarea{font-weight:400;font-family:var(--serif);line-height:1.65}
#bookmarkForm .primary{justify-self:end}
#bookmarkBook{font-family:var(--serif);padding:9px 13px;border-left:2px solid #909a6a;background:#e9eddd}
@media(max-width:720px){
 #forest{--dock:53px;--forest-edge:16px}.forest-brand small{font-size:8px}.forest-brand{gap:5px}.forest-nav{gap:4px}.forest-nav button{padding:5px 8px}
 .forest-nav #myBookmark{width:34px;padding:5px}.forest-nav #myBookmark span{display:none}
 .forest-caption{left:calc(var(--forest-edge) + 86px);right:var(--forest-edge);bottom:calc(var(--dock) + 12px);gap:7px}.forest-copy h1{font-size:22px}.forest-copy p{font-size:11px;line-height:1.5;margin-top:3px;max-width:25em}
 .forest-actions button{min-height:34px;padding:6px 11px;font-size:12px}.forest-actions{gap:4px}
 #trailStick{width:72px;height:72px}#viewMode,#xrMode{bottom:auto;top:clamp(110px,18svh,145px);right:var(--forest-edge);padding:6px 9px;font-size:11px}#xrMode{top:calc(clamp(110px,18svh,145px) + 36px)}
 #trailHelp{top:68px;font-size:10px}.on-trail{top:29svh}
}
@media(max-height:470px){#forest{--dock:39px}.forest-copy p{display:none}#trailStick{width:64px;height:64px}#trailHelp{top:55px}#forest .carry-bar{top:55px}.forest-caption{left:calc(var(--forest-edge) + 82px)}}

.cafe-tag.glow{background:#f3dfae;color:#3b2b17;border-color:#fff3cf;box-shadow:0 0 0 3px #ffe9a866,0 0 22px #ffd77a99}
