:root{--parchment:#f7efdc;--ink:#2f2a1f;--ink-soft:#6b6353;--rule:#cbbd9b;--leaf:#2f7d4f;--hud-top:6px;--hud-width:min(calc(100vw - 16px), max(320px, 60vw), 110svh, 1100px, max(820px, 44.6vw));--hud-height:calc(var(--hud-width) * 141 / 1520);--hud-clearance:calc(var(--hud-top) + var(--hud-height) * .8);--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.45 var(--sans);color:var(--ink);background:var(--parchment);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{-webkit-tap-highlight-color:transparent}body{margin:0}#root{min-height:100svh}.save-status{z-index:40;box-sizing:border-box;width:min(520px,100vw - 32px);margin:0;position:fixed;top:64px;left:50%;transform:translate(-50%)}.save-status p{margin:0 0 8px}.save-status p:last-child{margin-bottom:0}.save-status__note{font-size:14px}.save-status--quiet{color:#ecd3a0;width:auto;font:italic 14px / 1.4 var(--serif);text-shadow:0 1px 3px #000;pointer-events:none;padding:2px 10px}.save-status--quiet:empty{display:none}.sync-notice{z-index:40;box-sizing:border-box;color:#ecd3a0;max-width:calc(100vw - 32px);font:italic 14px / 1.4 var(--serif);text-align:center;pointer-events:none;background:#140e08d9;border-radius:4px;margin:0;padding:4px 12px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.sync-notice:empty{display:none}.audio-control{--wood-dark:#3b2412;--wood:#8a5a2b;--wood-light:#c58a4a;--fill-green:#4f8a3c;--fill-green-light:#79b257;--track:#b8915c;--hud-parchment:#ecd3a0;align-items:center;gap:clamp(4px,.8cqw,10px);display:flex}.audio-control__button{width:clamp(22px,2.5cqw,32px);height:clamp(22px,2.5cqw,32px);color:var(--wood-dark);cursor:pointer;background:0 0;border:none;border-radius:0;place-items:center;padding:0;display:grid}.audio-control__button svg{shape-rendering:crispedges;width:100%;height:100%}.audio-control__button--small{width:clamp(18px,2.1cqw,27px);height:clamp(18px,2.1cqw,27px)}.audio-control__button--off{opacity:.4}.audio-control__button:hover{color:var(--wood)}.audio-control__button:focus-visible,.audio-control__slider:focus-visible{outline-offset:2px;outline:2px solid #ffd56b}.audio-control__slider{box-sizing:border-box;border:2px solid var(--wood-dark);appearance:none;background:linear-gradient(to bottom, #ffffff59 0 2px, transparent 2px), repeating-linear-gradient(to right, transparent 0 calc(10% - 2px), var(--wood-dark) calc(10% - 2px) 10%), linear-gradient(to right, var(--fill-green) var(--fill), var(--track) var(--fill));cursor:pointer;border-radius:0;width:clamp(64px,10.5cqw,140px);height:clamp(10px,1.15cqw,15px);margin:0}.audio-control__slider::-webkit-slider-thumb{box-sizing:border-box;border:2px solid var(--wood-dark);appearance:none;background:var(--wood);width:clamp(8px,.85cqw,11px);height:clamp(16px,1.9cqw,24px);box-shadow:inset 2px 2px 0 var(--wood-light), inset -2px -2px 0 #5c3a1a;border-radius:0}.audio-control__slider::-moz-range-thumb{box-sizing:border-box;border:2px solid var(--wood-dark);background:var(--wood);width:clamp(8px,.85cqw,11px);height:clamp(16px,1.9cqw,24px);box-shadow:inset 2px 2px 0 var(--wood-light), inset -2px -2px 0 #5c3a1a;border-radius:0}.game-hud{top:var(--hud-top);z-index:10;width:var(--hud-width);aspect-ratio:1520/141;pointer-events:none;position:fixed;left:50%;transform:translate(-50%);container-type:inline-size}.game-hud__bar{filter:drop-shadow(0 6px 10px #00000073);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.game-hud__slot{pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute}.game-hud__slot--volume{width:20.13%;height:40.43%;top:24.82%;left:75.79%}.game-hud__slot--nav{justify-content:flex-start;width:33.62%;height:40.43%;padding-left:1.2%;top:24.82%;left:12.63%}.game-hud__back{color:#3b2412;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:.5em;padding:.35em .6em;font:clamp(8px,1.05cqw,13px)/1 "Press Start 2P",monospace;display:inline-flex}.game-hud__back:hover{background:#8a5a2b2e}.game-hud__back:focus-visible{outline-offset:1px;outline:2px solid #3b2412}.chapter-banner{--banner-width:calc(var(--hud-width) * .4);top:calc(var(--hud-top) + var(--hud-height) * .787 - var(--banner-width) * 12 / 860 - 4px);z-index:8;width:var(--banner-width);margin-left:calc(var(--banner-width) / -2);transform-origin:50% 8%;filter:drop-shadow(0 6px 8px #00000073);pointer-events:none;-webkit-user-select:none;user-select:none;animation:7s ease-in-out infinite alternate banner-sway;position:fixed;left:50%}@keyframes banner-sway{0%{transform:rotate(-.6deg)}to{transform:rotate(.6deg)}}@media (prefers-reduced-motion:reduce){.chapter-banner{animation:none}}@media (width<=999px),(height<=545px){.game-hud__slot--volume{background:#ecd3a0;border:3px solid #3b2412;width:auto;height:auto;padding:4px 8px;top:82%;left:auto;right:2%;box-shadow:inset 0 0 0 2px #c58a4a,0 4px 8px #0006}.game-hud__slot--nav{background:#ecd3a0;border:3px solid #3b2412;width:auto;height:auto;padding:2px 4px;top:calc(82% + 40px);left:auto;right:2%;box-shadow:inset 0 0 0 2px #c58a4a,0 4px 8px #0006}.game-hud__back{font-size:9px}.chapter-banner{left:calc(50% - var(--hud-width) * .46);margin-left:0}}.rpg-popup-backdrop{z-index:9;padding-top:var(--hud-clearance);background:#05060d73;place-items:center;animation:.6s ease-out both rpg-popup-fade-in;display:grid;position:fixed;inset:0}.rpg-popup-backdrop--closing{animation:.6s ease-in both rpg-popup-fade-out}.rpg-popup{width:min(94vw, calc((92svh - var(--hud-clearance)) * var(--popup-aspect)), 1100px);aspect-ratio:var(--popup-aspect);filter:drop-shadow(0 18px 40px #0009);position:relative;container-type:inline-size}.rpg-popup__art{width:100%;height:100%;display:block}.pixel-art{image-rendering:pixelated}.rpg-popup__panel{fill:#000}.rpg-popup__text{box-sizing:border-box;padding:1.8cqw 2.4cqw;position:absolute;overflow-y:auto}.rpg-popup__line{color:#fff;overflow-wrap:break-word;-webkit-font-smoothing:none;margin:0;font-family:"Press Start 2P",ui-monospace,Courier New,monospace;font-size:max(8px,1.75cqw);line-height:1.5}.rpg-popup__sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cutscene-move{animation-name:cutscene-move;animation-timing-function:linear;animation-fill-mode:both}@keyframes cutscene-move{0%{transform:translateX(var(--move-from))}to{transform:translateX(var(--move-to))}}.torch-arc{animation-name:torch-arc;animation-fill-mode:both}@keyframes torch-arc{0%{animation-timing-function:ease-out;transform:translateY(0)}50%{transform:translateY(var(--arc-peak));animation-timing-function:ease-in}to{transform:translateY(var(--arc-end))}}.torch-spin{animation-name:torch-spin;animation-timing-function:linear;animation-fill-mode:both}@keyframes torch-spin{0%{transform:rotate(0)}to{transform:rotate(calc(var(--spin-turns) * 1turn))}}@media (prefers-reduced-motion:reduce){.cutscene-move,.torch-arc,.torch-spin{animation:none}}@keyframes rpg-popup-fade-out{0%{opacity:1}to{opacity:0}}@keyframes rpg-popup-fade-in{0%{opacity:0}to{opacity:1}}.rpg-popup__skip{color:#fff;letter-spacing:.05em;cursor:pointer;-webkit-font-smoothing:none;background:#000;border:2px solid #f3e6c8;margin-top:max(8px,1.4cqw);padding:.6em .9em;font-family:"Press Start 2P",ui-monospace,Courier New,monospace;font-size:max(8px,1.3cqw);line-height:1;position:absolute;top:100%;right:0;box-shadow:0 0 0 2px #000}.rpg-popup__skip:hover,.rpg-popup__skip:focus-visible{color:#ffd56b;outline:none}.rpg-popup__skip-caret{color:#ffd56b;margin-right:.6em;animation:1s step-end infinite rpg-skip-blink;display:inline-block}@keyframes rpg-skip-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.rpg-popup__skip-caret{animation:none}}.distance-form,.distance-form__walkers{display:contents}.distance-form__walkers{border:0;margin:0;padding:0}.distance-form__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.distance-form__tab{image-rendering:pixelated;cursor:pointer;-webkit-user-select:none;user-select:none;background:url(/assets/journal-tab-off.png) 50%/100% 100% no-repeat;place-items:center;transition:transform .12s ease-out,filter .12s ease-out;display:grid}.distance-form__tab.is-selected{cursor:default;background-image:url(/assets/journal-tab-on.png);animation:.26s ease-out distance-form-tab-pop}.distance-form__tab:not(.is-selected):hover{filter:brightness(1.06);transform:translateY(-4%)}.distance-form__tab:active{transform:translateY(5%)}.distance-form__tab:has(input:focus-visible){outline-offset:.2cqw;border-radius:1.5cqw;outline:.5cqw solid #f1d36b}.distance-form__tab-name{font:600 3.3cqw/1 var(--serif);font-variant:small-caps;letter-spacing:.04em;color:#3a2c19;text-shadow:0 .15cqw #fff8e199}.distance-form__tab.is-selected .distance-form__tab-name{color:#f4ead2;text-shadow:0 .2cqw #12301d}@keyframes distance-form-tab-pop{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}.distance-form__field{box-sizing:border-box;border-radius:1.2cqw;align-items:center;padding:0 4.5% 0 4%;transition:box-shadow .16s ease-out;display:flex}.distance-form__field:focus-within{box-shadow:inset 0 0 0 .4cqw #2f7d4f8c,0 0 1.6cqw #f1d36b8c}.distance-form__input{min-width:0;font:600 4.4cqw/1 var(--serif);color:var(--ink);caret-color:var(--leaf);appearance:textfield;background:0 0;border:0;flex:auto;padding:0}.distance-form__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.distance-form__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.distance-form__input::placeholder{color:#6b523673}.distance-form__input:focus{outline:none}.distance-form__input:disabled{color:var(--ink-soft)}.distance-form__unit{font:600 3.2cqw/1 var(--serif);font-variant:small-caps;color:#6b5236}.distance-form__submit{image-rendering:pixelated;cursor:pointer;background:url(/assets/journal-button.png) 50%/100% 100% no-repeat;border:0;place-items:center;padding:0;transition:transform .11s ease-out,filter .16s ease-out;display:grid}.distance-form__submit:hover:not(:disabled){filter:brightness(1.12)drop-shadow(0 0 1cqw #f1d36b8c)}.distance-form__submit:active:not(:disabled){filter:brightness(.92);transform:translateY(3%)scale(.97)}.distance-form__submit:focus-visible{outline-offset:-.6cqw;border-radius:2cqw;outline:.5cqw solid #f1d36b}.distance-form__submit:disabled{cursor:default;filter:saturate(.55)brightness(.9)}.distance-form__submit-label{font:600 3.9cqw/1 var(--serif);font-variant:small-caps;letter-spacing:.03em;color:#f4ead2;text-shadow:0 .25cqw #12301d}.distance-form__submit:disabled .distance-form__submit-label{animation:1.4s ease-in-out infinite distance-form-walking}@keyframes distance-form-walking{50%{opacity:.55}}.distance-form__hint{font:italic 2.9cqw/1.2 var(--serif);text-align:center;color:#5a4a33;justify-content:center;align-items:center;margin:0;display:flex}@media (prefers-reduced-motion:reduce){.distance-form__tab,.distance-form__submit{transition:none}.distance-form__tab.is-selected,.distance-form__submit:disabled .distance-form__submit-label{animation:none}}.progress,.progress__stats,.progress__landmarks{display:contents}.progress__sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.progress__stat{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.8cqw;margin:0;padding-top:5.5cqw;display:flex}.progress__stat dt{font:600 2.7cqw/1 var(--serif);font-variant:small-caps;letter-spacing:.06em;color:#6b5236}.progress__stat dd{font:600 4.2cqw/1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.progress__bar{overflow:hidden}.progress__fill{height:100%;image-rendering:pixelated;background:url(/assets/journal-progress-fill.png) 0/auto 100% repeat-x;transition:width .9s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden}.progress__fill:after{content:"";background:linear-gradient(100deg,#0000 0% 40%,#fff6c859 50%,#0000 60% 100%) 0 0/250% 100%;animation:3.6s linear infinite progress-glint;position:absolute;inset:0}@keyframes progress-glint{0%{background-position:150% 0}to{background-position:-100% 0}}.progress__landmark{box-sizing:border-box;align-items:center;gap:2%;padding:0 4.5% 0 11%;transition:background-color .4s ease-out;display:flex}.progress__gem{border-radius:20%;width:6.1%;height:52%;position:absolute;top:23%;left:2.1%}.progress__gem:before,.progress__gem:after{content:"";border-radius:inherit;transition:opacity .5s ease-out;position:absolute;inset:0}.progress__gem:before{background:#efe2c459}.progress__gem:after{mix-blend-mode:saturation;background:#8a8a8a}.progress__landmark.is-reached .progress__gem{animation:2.8s ease-in-out infinite progress-gem-glow}.progress__landmark.is-reached .progress__gem:before,.progress__landmark.is-reached .progress__gem:after{opacity:0}@keyframes progress-gem-glow{0%,to{box-shadow:0 0 .6cqw #6ec87859}50%{box-shadow:0 0 1.8cqw #8ce68cbf}}.progress__landmark-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:600 3cqw/1 var(--serif);color:var(--ink-soft);flex:auto;overflow:hidden}.progress__landmark-note{font:italic 2.9cqw/1 var(--serif);color:#8a7454;font-variant-numeric:tabular-nums;flex:none}.progress__landmark.is-reached .progress__landmark-name{color:var(--ink)}.progress__landmark.is-reached .progress__landmark-note{font-variant:small-caps;color:var(--leaf);font-style:normal;font-weight:600}@media (prefers-reduced-motion:reduce){.progress__fill,.progress__gem:before,.progress__gem:after{transition:none}.progress__fill:after,.progress__landmark.is-reached .progress__gem{animation:none}}.journal{filter:drop-shadow(0 1.5cqw 2.5cqw #0a080473);background:url(/assets/journal-panel.png) 50%/100% 100% no-repeat;width:100%;position:relative;container-type:inline-size}.journal__plaque{font:600 3.4cqw/1 var(--serif);font-variant:small-caps;letter-spacing:.08em;color:#f4ead2;text-shadow:0 .25cqw #12301d;place-items:center;margin:0;display:grid}.journal__header{box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;gap:1cqw;padding:3cqw 4cqw 0;display:flex}.journal__title{font:600 5.2cqw/1.1 var(--serif);color:var(--ink);margin:0}.journal__tally{font:600 3.3cqw/1.2 var(--serif);font-variant:small-caps;letter-spacing:.03em;font-variant-numeric:lining-nums;color:var(--leaf);margin:0}.route-map{aspect-ratio:1672/941;background:#0f1a12;width:100%;height:auto;display:block}.route-map image{image-rendering:auto}.windmill-sails{image-rendering:pixelated;animation-name:windmill-spin;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes windmill-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.windmill-sails{animation:none}}.chimney-smoke rect{shape-rendering:crispedges}.lit-window__panes{opacity:calc(.55 * var(--lights-strength,0));image-rendering:pixelated}.door-light__cracks{opacity:calc(.65 * var(--lights-strength,0));shape-rendering:crispedges}.door-light__glow{mix-blend-mode:screen;opacity:calc(.45 * var(--lights-strength,0))}.candle{mix-blend-mode:screen}.candle__flame{fill:#ffe09a}.candle__halo{fill:#ff7a2a;opacity:.12}.candle__flicker-a{animation:3.7s linear infinite candle-flicker-a}.candle__flicker-b{animation:5.3s linear infinite candle-flicker-b}@keyframes candle-flicker-a{0%,to{opacity:.9}9%{opacity:1}17%{opacity:.82}23%{opacity:.95}41%{opacity:.88}44%{opacity:.35}47%{opacity:.7}52%{opacity:.95}68%{opacity:.86}79%{opacity:1}88%{opacity:.84}}@keyframes candle-flicker-b{0%,to{opacity:1}13%{opacity:.86}27%{opacity:1}38%{opacity:.92}61%{opacity:1}71%{opacity:.5}73%{opacity:.8}77%{opacity:1}90%{opacity:.9}}.waterfall__flow{opacity:.6;shape-rendering:crispedges;animation:.9s steps(12,end) infinite waterfall-flow}.waterfall__flow--fast{opacity:.4;animation-duration:.6s}@keyframes waterfall-flow{0%{transform:translateY(0)}to{transform:translateY(12px)}}.waterfall__foam{opacity:0;shape-rendering:crispedges;animation:.7s step-end infinite waterfall-foam}.waterfall__foam--b{animation-delay:-.35s}@keyframes waterfall-foam{0%{opacity:.7}50%{opacity:.15}}.wheat-gust__band{animation-name:wheat-gust;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:backwards}@keyframes wheat-gust{0%{animation-timing-function:ease-in-out;transform:translate(0)}45%,to{transform:translateX(var(--gust-distance))}}@media (prefers-reduced-motion:reduce){.waterfall,.waterfall-bubbles,.wheat-gust{display:none}.candle__flicker-a,.candle__flicker-b{animation:none}}.mist-zone{transition:opacity 4s}.mist-zone--revealed{opacity:0;pointer-events:none}.mist-patch{image-rendering:auto}.road{fill:none;stroke-linecap:round}.road__guide{stroke:#0000;stroke-width:1px;pointer-events:none}.road__walked{stroke:#ffd56b;stroke-width:7px;opacity:.55;mix-blend-mode:multiply}.landmark__badge{opacity:.85}.landmark__badge path{shape-rendering:crispedges}.landmark__outline{fill:#3b2a18}.landmark--pending .landmark__fill{fill:#cdb487}.landmark--pending .landmark__pip{fill:#6b5236}.landmark--reached .landmark__outline{fill:#23381f}.landmark--reached .landmark__fill{fill:#5a8a4c}.landmark--reached .landmark__tick{fill:#eef2dc}.landmark__label,.landmark__distance{-webkit-font-smoothing:none;font-smooth:never;font-family:"Press Start 2P",ui-monospace,Courier New,monospace}.landmark__label{fill:#f4ead2;font-size:18px}.landmark__distance{fill:#e4d3a8;font-size:11px}.character__shadow{fill:#000;opacity:.3}.character__sprite{image-rendering:pixelated;background-repeat:no-repeat}.character__sprite--running{animation-name:run-cycle;animation-iteration-count:infinite}@keyframes run-cycle{0%{background-position:0 0}to{background-position:calc(-1 * var(--sprite-strip-width)) 0}}.character__sprite--idle,.standing-figure__bob{animation-name:idle-bob;animation-timing-function:steps(2,jump-none);animation-iteration-count:infinite;animation-direction:alternate}@keyframes idle-bob{0%{transform:translateY(0)}to{transform:translateY(-1.66667px)}}.day-night{pointer-events:none}.day-night__shade{mix-blend-mode:multiply}.day-night__lift{mix-blend-mode:screen}.day-night__glow{mix-blend-mode:soft-light}.ambient-lights{pointer-events:none}.ambient-lights .candle{opacity:calc(.7 + .3 * var(--lights-strength,0))}.nazgul__sprite{image-rendering:pixelated}.fireworks{pointer-events:none}.fireworks__sprite{image-rendering:pixelated}.fireworks__flash{mix-blend-mode:screen}.character__label-bg{fill:#2d2a22;opacity:.82}.character__name{fill:#fdf6e6;font-family:var(--serif);letter-spacing:.2px;text-anchor:middle;font-size:16px;font-weight:600}@media (prefers-reduced-motion:reduce){.character__sprite{background-position:0 0;animation:none;transform:none}.standing-figure__bob{animation:none}}@media (width<=760px){.landmark__label{font-size:22px}.landmark__distance{font-size:13px}.character__name{font-size:19px}}.day-night__depth{mix-blend-mode:multiply}.day-night__torchlight{mix-blend-mode:screen}.day-night__torch-pool{animation:1.7s ease-in-out infinite alternate torch-pool-breathe}@keyframes torch-pool-breathe{0%{opacity:.82}40%{opacity:1}70%{opacity:.9}to{opacity:.97}}.hobbit-torch{pointer-events:none}.hobbit-torch rect{shape-rendering:crispedges}.hobbit-torch__halo{fill:#ffb04a;opacity:.28;animation:.9s steps(3,end) infinite torch-halo-flicker}@keyframes torch-halo-flicker{0%{opacity:.32}to{opacity:.18}}.hobbit-torch__flame{animation:.42s steps(3,end) infinite torch-flame}@keyframes torch-flame{0%{transform:translate(0)}to{transform:translate(-12px)}}.hobbit-torch__bob--idle{animation-name:torch-idle-bob;animation-timing-function:steps(2,jump-none);animation-iteration-count:infinite;animation-direction:alternate}@keyframes torch-idle-bob{to{transform:translateY(-1px)}}.hobbit-torch__bob--running{animation-name:torch-run-bob;animation-timing-function:steps(2,end);animation-iteration-count:infinite;animation-direction:alternate}@keyframes torch-run-bob{to{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.day-night__torch-pool,.hobbit-torch__halo,.hobbit-torch__flame,.hobbit-torch__bob--idle,.hobbit-torch__bob--running{animation:none}}.fireflies{pointer-events:none;mix-blend-mode:screen}.firefly__glow{fill:url(#firefly-glow)}.firefly__body{fill:#dce79a}.app{flex-direction:column;min-height:100svh;display:flex}.app__map{background:#0f1a12;flex:auto;min-height:0;position:relative}.app__map-viewport{display:flex;position:absolute;inset:0;overflow:auto}.app__map-viewport .route-map{min-width:820px;min-height:461px;margin:auto}.app__panel{background:#0f1a12;justify-content:center;padding:16px;display:flex}.app__panel>.journal{width:min(100%,440px)}@media (width>=880px){.app{height:100svh;position:relative;overflow:hidden}.app__panel{background:0 0;padding:0;position:absolute;bottom:16px;right:16px}.app__panel>.journal{width:min(420px, (100svh - var(--hud-clearance) - 32px) * 2 / 3, max(320px, 17vw))}}@media (width>=880px) and (height>=461px){.app__map-viewport{overflow:clip}}@media (width<=879px){.app__map{flex:none;height:52svh;min-height:260px}}.screen{--wood-dark:#3b2412;--wood:#8a5a2b;--wood-light:#c58a4a;--hud-parchment:#ecd3a0;--fill-green:#4f8a3c;--fill-green-light:#79b257;--pixel:"Press Start 2P", monospace;isolation:isolate;background:#1e140a;min-height:100svh;position:relative}.screen:before{content:"";z-index:-1;background:url(/assets/journey-map.png) 50%/cover no-repeat;position:fixed;inset:0}@media (width>=1700px){.screen:before{image-rendering:pixelated}}.screen__column{box-sizing:border-box;width:min(100%,720px);margin:0 auto;padding:32px 16px 48px}.screen__heading{font:400 clamp(20px, 5vw, 34px) / 1.3 var(--pixel);color:var(--hud-parchment);text-shadow:-2px 0 0 var(--wood-dark), 2px 0 0 var(--wood-dark), 0 -2px 0 var(--wood-dark), 0 2px 0 var(--wood-dark), 4px 4px 0 var(--wood-dark), 0 0 18px #0009;overflow-wrap:anywhere;margin:0 0 12px}.screen__column>.screen__preview-note,.screen__section>.screen__subheading{text-shadow:-1px 0 0 var(--wood-dark), 1px 0 0 var(--wood-dark), 0 -1px 0 var(--wood-dark), 0 1px 0 var(--wood-dark), 2px 2px 0 var(--wood-dark), 0 0 8px #0000008c}.screen__heading:focus{outline:none}.screen__section{margin-top:28px}.screen__subheading{font:400 12px / 1.5 var(--pixel);letter-spacing:.04em;color:var(--hud-parchment);margin:0 0 12px}.plaque .screen__subheading{color:var(--wood-dark)}.screen__preview-note{font:italic 14px / 1.5 var(--serif);color:#ecd3a0b3;text-align:center;margin:36px 0 0}.plaque{border:3px solid var(--wood-dark);background:var(--hud-parchment);color:var(--ink);box-shadow:inset 0 0 0 2px var(--wood-light), 0 6px 12px #00000073;font:16px / 1.5 var(--serif);padding:16px;display:block}.plaque p{margin:0 0 12px}.plaque--quiet{margin:0}.plaque a:not(.pixel-button){color:var(--wood-dark)}.pixel-button{border:3px solid var(--wood-dark);background:var(--fill-green);box-shadow:inset 0 -4px 0 #00000040, inset 0 3px 0 var(--fill-green-light);color:#fff8e6;font:400 11px / 1.4 var(--pixel);text-shadow:2px 2px #00000059;cursor:pointer;border-radius:0;padding:10px 14px;text-decoration:none;display:inline-block}.pixel-button:hover{filter:brightness(1.08)}.pixel-button:active{box-shadow:inset 0 4px 0 #00000040, inset 0 -3px 0 var(--fill-green-light)}.pixel-button--secondary{background:var(--wood);box-shadow:inset 0 -4px 0 #00000040, inset 0 3px 0 var(--wood-light)}.pixel-button--small{padding:7px 10px;font-size:9px}.pixel-button:focus-visible,.text-button:focus-visible,.text-input:focus-visible{outline-offset:2px;outline:3px solid #f2c94c}.text-button{color:var(--wood-dark);font:15px / 1.4 var(--serif);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:4px 0;text-decoration:underline}.text-input{box-sizing:border-box;border:3px solid var(--wood-dark);width:100%;color:var(--ink);font:16px / 1.4 var(--serif);background:#fbf3df;border-radius:0;padding:10px 12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.disclosure{color:var(--hud-parchment);font:16px / 1.5 var(--serif)}.disclosure>summary{cursor:pointer;text-underline-offset:3px;width:fit-content;text-decoration:underline}.disclosure>summary:focus-visible{outline-offset:2px;outline:3px solid #f2c94c}.disclosure__list{margin:10px 0 0;padding-left:20px}.disclosure__list a{color:var(--hud-parchment)}.title-screen{background:#120c0b;overflow:hidden}.title-screen:before{image-rendering:auto;background:linear-gradient(#0000 55%,#0a060661),url(/assets/mordor-background.png) 50%/cover no-repeat}@media (width>=1700px){.title-screen:before{image-rendering:pixelated}}@media (aspect-ratio<=1){.title-screen:before{background-position:100%,100%}.title-screen .title-screen__stage{padding-top:21vh}.title-screen .title-screen__title img{width:min(92vw,44vh)}.title-screen .title-screen__undertitle img{width:min(62vw,30vh)}.title-screen .title-button{width:clamp(180px,40vw,360px)}}.mordor-scene{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden;container-type:size}.mordor-art{--art-px:max(100cqw / 1673, 100cqh / 940);--art-x:.5;left:calc((100cqw - 1673 * var(--art-px)) * var(--art-x));top:calc((100cqh - 940 * var(--art-px)) * .5);width:calc(1673 * var(--art-px));height:calc(940 * var(--art-px));position:absolute}@media (aspect-ratio<=1){.mordor-art{--art-x:1}}.mount-doom-lava,.mordor-smoke,.mordor-beam,.mordor-eye{position:absolute}.mount-doom-lava{image-rendering:pixelated;mix-blend-mode:screen}.mordor-smoke{image-rendering:pixelated}.mordor-beam{image-rendering:pixelated;mix-blend-mode:screen}.mordor-eye{filter:drop-shadow(0 0 1px #ff5a1459);overflow:visible}.title-screen__stage{box-sizing:border-box;flex-direction:column;justify-content:space-between;align-items:center;gap:24px;min-height:100svh;padding:6.5vh 16px max(7vh,56px);display:flex}.title-screen__title{margin:0;line-height:0}.title-screen__title img{filter:drop-shadow(0 4px 6px #0000008c);width:min(44vw,78vh);height:auto;display:block}.title-screen__undertitle{margin:0;line-height:0}.title-screen__undertitle img{filter:drop-shadow(0 2px 3px #0009);width:min(24vw,42.5vh);height:auto;margin:min(.3vw,.5vh) auto 0;display:block}.title-screen__actions{justify-items:center;gap:12px;display:grid}.title-screen__menu{justify-content:center;gap:max(12px,min(3.2vw,5.7vh));display:flex}.title-button{aspect-ratio:552/142;cursor:pointer;filter:drop-shadow(0 3px 4px #00000080);background:url(/assets/title-buttons.png) 0 0/224.638% 160.563% no-repeat;border:0;width:max(180px,min(21.5vw,38vh));padding:0;transition:filter .12s ease-out,transform .12s ease-out;display:block}.title-button--continue{background-position:5.523% 68.605%}.title-button--start{background-position:96.366% 68.605%}.title-button:hover:not(:disabled){filter:drop-shadow(0 3px 4px #00000080)brightness(1.12);transform:translateY(-1px)}.title-button:active:not(:disabled){filter:drop-shadow(0 1px 2px #00000080)brightness(.95);transform:translateY(2px)}.title-button:focus-visible{outline-offset:3px;outline:3px solid #f2c94c}.title-button:disabled{cursor:not-allowed;filter:grayscale(.85)brightness(.65)}@media (prefers-reduced-motion:reduce){.title-button{transition:none}.title-button:hover:not(:disabled),.title-button:active:not(:disabled){transform:none}}.title-screen__empty{color:var(--hud-parchment);font:italic 16px / 1.4 var(--serif);text-align:center;text-shadow:0 1px 3px #000;margin:0}@media (width<=560px){.title-screen__menu{flex-direction:column;align-items:center}.title-screen .title-button{width:min(86vw,380px)}}.title-screen__more{z-index:1;position:fixed;bottom:14px;right:16px}.title-screen__more-toggle{border:2px solid var(--wood-dark);color:var(--hud-parchment);font:400 9px / 1.3 var(--pixel);cursor:pointer;background:#140c08b8;padding:8px 10px;list-style:none}.title-screen__more-toggle::-webkit-details-marker{display:none}.title-screen__more-toggle:after{content:" +"}.title-screen__more[open] .title-screen__more-toggle:after{content:" -"}.title-screen__more-toggle:focus-visible{outline-offset:2px;outline:3px solid #f2c94c}.title-screen__more-panel{box-sizing:border-box;gap:14px;width:min(380px,100vw - 32px);max-height:calc(100svh - 80px);display:grid;position:absolute;bottom:calc(100% + 8px);right:0;overflow-y:auto}.disclosure--dark,.disclosure--dark .disclosure__list a{color:var(--ink)}.title-screen__preview-note{color:var(--ink-soft);font:italic 14px / 1.4 var(--serif);margin:0}@media (width<=560px){.title-screen__more,.title-screen__more-panel{right:50%;transform:translate(50%)}}.join-form{gap:8px;max-width:480px;margin-top:10px;display:grid}.join-form__label{font:400 9px / 1.5 var(--pixel)}.join-form__row{gap:10px;display:flex}.join-form__row .text-input{flex:auto;min-width:0}.join-form__note{margin:0;font-size:15px}.journey{--ink:#2b1a0c;--ink-soft:#5b3b1c;--cream:#f1dfb4;--cream-soft:#bba683;--night:#1d1711;--green:#1f6a35;--green-dark:#0e3a1b;--gold:#b8913f;--ivory:#f3e6c3;--wood-plate:#3a2716;--bronze:#8a6236;--u-w:max(1px, calc(min(100vw - 32px, max(1054px, 63vw)) / 1054));--u:var(--u-w);--journey-w:min(100vw - 32px, max(1054px, 63vw));--t-heading:max(17px, calc(32 * var(--u)));--t-section:max(16px, calc(30 * var(--u)));--t-title:max(14px, calc(22 * var(--u)));--t-body:max(12px, calc(16 * var(--u)));--t-meta:max(11px, calc(14 * var(--u)));--t-label:max(8px, calc(10 * var(--u)));--s1:calc(4 * var(--u));--s2:calc(8 * var(--u));--s3:calc(12 * var(--u));--s4:calc(16 * var(--u));--s5:calc(24 * var(--u));--control-h:calc(44 * var(--u));width:min(100% - 32px, var(--journey-w));padding:calc(40 * var(--u)) 0 var(--s4);font-family:var(--serif);margin:0 auto;position:relative}.journey__topbar{padding:0 calc(14 * var(--u));justify-content:space-between;align-items:center;gap:16px;display:flex}@media (width>=861px){.journey-screen{flex-direction:column;display:flex}.journey{--u:max(.7px, min(var(--u-w), calc((100vw - 32px) / 1054), calc((100svh - 30px) / 811)));--journey-w:min(100vw - 32px, calc(1054 * var(--u)));margin:auto}}.journey__nav{align-items:center;gap:var(--s2);box-sizing:border-box;height:calc(34 * var(--u));padding:0 var(--s3);border:2px solid var(--wood-dark);background:var(--wood-plate);box-shadow:inset 0 0 0 1px var(--bronze), inset 0 -3px 0 #0000004d;color:var(--hud-parchment);font:400 var(--t-label) / 1 var(--pixel);cursor:pointer;text-decoration:none;display:inline-flex}.journey__nav:hover{color:#f6e4b8;background:#4a321c}.journey__nav:focus-visible{outline-offset:2px;outline:3px solid #f2c94c}.journey__title:focus{outline:none}.journey-panel{box-sizing:border-box;border-style:solid;border-width:calc(16 * var(--u));filter:drop-shadow(0 6px 8px #00000073)}.journey-current{margin-top:calc(26 * var(--u));filter:drop-shadow(0 6px 8px #00000073);color:var(--ink);position:relative}.journey-current__art{width:100%;height:auto;display:block}.journey-current__body{flex-direction:column;justify-content:center;display:flex;position:absolute;inset:10% 4% 10% 36%}.journey-current__act{align-items:center;gap:var(--s2);margin:0 0 var(--s2);color:var(--ink-soft);font:400 var(--t-label) / 1 var(--pixel);display:inline-flex}.journey-current__act:before,.journey-current__act:after{content:"";border:1px solid #8a6a3e;width:5px;height:5px;transform:rotate(45deg)}.journey-current__head{justify-content:space-between;align-items:flex-end;gap:var(--s4);display:flex}.journey-current__title{font:400 var(--t-heading) / 1.1 var(--serif);margin:0}.journey-current__figures{text-align:right;color:var(--ink-soft);font-size:var(--t-meta);flex:none;gap:2px;margin:0;line-height:1.2;display:grid}.journey-current__figures strong{color:var(--ink);font-size:var(--t-body);font-weight:600}.journey-bar{height:calc(12 * var(--u));margin:var(--s3) 0 var(--s4);background:#b0895a;border:2px solid #6e4f2e;box-shadow:inset 0 3px #3c230a4d,inset 0 -2px #fff0c84d}.journey-bar__fill{background:var(--fill-green);max-width:100%;height:100%;box-shadow:inset 0 3px 0 var(--fill-green-light);display:block}.journey-current__foot{align-items:center;gap:var(--s4);display:flex}.journey-current__foot>.journey-continue:only-child{margin-left:auto}.journey-current__note{margin:var(--s2) 0 var(--s4);color:var(--ink-soft);font-size:var(--t-body)}.journey-walkers{flex:auto;margin:0;padding:0;list-style:none;display:flex}.journey-walkers__item{align-items:center;gap:var(--s2);padding:0 var(--s5);display:flex}.journey-walkers__item:first-child{padding-left:0}.journey-walkers__item+.journey-walkers__item{border-left:2px solid #6e4f2e59}.journey-walkers__item img{width:calc(38 * var(--u));height:auto}.journey-walkers__name,.journey-walkers__miles{display:block}.journey-walkers__name{font-size:var(--t-body);font-weight:600;line-height:1.25}.journey-walkers__miles{color:var(--ink-soft);font-size:var(--t-meta);white-space:nowrap;line-height:1.25}.journey-continue,.journey-copy{justify-content:center;align-items:center;gap:var(--s2);box-sizing:border-box;height:var(--control-h);padding:0 var(--s4);border:2px solid var(--green-dark);background:var(--green);box-shadow:inset 0 0 0 1px var(--gold), inset 0 -4px 0 #00000038;color:var(--ivory);font:400 var(--t-body) / 1 var(--serif);white-space:nowrap;cursor:pointer;flex:none;text-decoration:none;display:inline-flex}.journey-continue:hover,.journey-copy:hover{filter:brightness(1.1)}.journey-continue:active,.journey-copy:active{box-shadow:inset 0 0 0 1px var(--gold), inset 0 3px 0 #00000038;transform:translateY(1px)}.journey-continue{padding:0 var(--s5)}.journey-continue__chevron{font-size:1.35em;line-height:1;transform:translateY(-.07em)}.journey-continue:focus-visible,.journey-copy:focus-visible,.journey-act:focus-visible{outline-offset:3px;outline:3px solid #f2c94c}.journey-share{align-items:center;gap:var(--s3) var(--s5);margin-top:calc(20 * var(--u));padding:calc(7 * var(--u)) calc(6 * var(--u));background:var(--night);color:var(--cream);background-clip:padding-box;border-image:url(/assets/journey/panel-dark.png) 22;flex-wrap:wrap;display:flex}.journey-share__icon{width:calc(48 * var(--u));height:auto}.journey-share__text{flex:260px}.journey-share__title{font:400 var(--t-title) / 1.2 var(--serif);margin:0}.journey-share__message{margin:var(--s1) 0 0;color:var(--cream-soft);font-size:var(--t-meta);line-height:1.3}.journey-share__group{min-width:0;max-width:calc(560 * var(--u));height:var(--control-h);flex:380px;display:flex}.journey-share__link{box-sizing:border-box;background:#f0dcb0;border:2px solid #8a6a3e;border-right:0;flex:auto;min-width:0;display:flex;box-shadow:inset 0 2px #5a3c1433}.journey-share__url{min-width:0;padding:0 var(--s3);color:var(--ink);font:var(--t-meta) / 1 var(--serif);background:0 0;border:0;flex:auto}.journey-share__url:focus-visible{outline-offset:-3px;outline:3px solid #f2c94c}.journey-share__clip{box-sizing:border-box;width:var(--control-h);height:100%;padding:var(--s2);object-fit:contain;background:#e8d2a2;border-left:2px solid #8a6a3e}.journey-copy{min-width:calc(104 * var(--u))}.journey-copy.is-copied{background:#2b7d3f}.journey__ahead{margin-top:calc(30 * var(--u))}.journey__ahead-heading{align-items:center;gap:var(--s4);margin:0 0 calc(18 * var(--u));padding:0 calc(14 * var(--u));color:#f3e2b4;font:400 var(--t-section) / 1.2 var(--serif);text-shadow:-1px 0 0 var(--wood-dark), 1px 0 0 var(--wood-dark), 0 -1px 0 var(--wood-dark), 0 1px 0 var(--wood-dark), 2px 2px 0 var(--wood-dark), 0 0 8px #0000008c;white-space:nowrap;display:flex}.journey__ahead-heading:before,.journey__ahead-heading:after{content:"";background:#c99a52;flex:auto;height:2px;box-shadow:0 1px #2b1a0c99}.journey__ahead-text{align-items:center;gap:var(--s4);display:inline-flex}.journey__ahead-text:before,.journey__ahead-text:after{content:"";width:calc(7 * var(--u));height:calc(7 * var(--u));box-shadow:1px 1px 0 var(--wood-dark);border:2px solid #c99a52;transform:rotate(45deg)}.journey-acts{gap:var(--s4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.journey-acts li{display:flex}.journey-act{--marker:calc(36 * var(--u));box-sizing:border-box;border-style:solid;border-width:calc(12 * var(--u));background:var(--night);color:var(--cream);filter:drop-shadow(0 6px 8px #00000073);background-clip:padding-box;border-image:url(/assets/journey/panel-dark.png) 22;flex-direction:column;flex:auto;text-decoration:none;display:flex;position:relative}button.journey-act{width:100%;font:inherit;text-align:left;cursor:pointer;padding:0}button.journey-act:hover{filter:drop-shadow(0 6px 8px #00000073)brightness(1.08)}.journey-act.is-selected{box-shadow:0 0 0 2px var(--gold), 0 0 0 5px var(--green), 0 0 0 7px var(--green-dark)}.journey-act__art{aspect-ratio:245/109;object-fit:cover;width:100%;height:auto;display:block}.journey-act__text{gap:var(--s1);padding:var(--s3) calc(var(--marker) + var(--s4)) var(--s2) var(--s2);display:grid}.journey-act__number{color:var(--cream-soft);font:400 var(--t-label) / 1.2 var(--pixel)}.journey-act__title{font-size:var(--t-title);line-height:1.15}.journey-act__detail{color:var(--cream-soft);font-size:var(--t-meta);line-height:1.25}.journey-act__go,.journey-act__lock{right:var(--s2);bottom:var(--s2);box-sizing:border-box;width:var(--marker);height:var(--marker);position:absolute}.journey-act__go{color:var(--cream);font-size:calc(26 * var(--u));background:#191817;border:1px solid #3d3630;place-items:center;padding-bottom:.08em;line-height:1;display:grid}.journey-act.is-locked .journey-act__art{filter:grayscale(.45)brightness(.62)}.journey-act.is-locked .journey-act__number,.journey-act.is-locked .journey-act__title{color:var(--cream-soft)}.journey-act.is-locked .journey-act__detail{color:#a08d6c}.journey__preview-note{margin:calc(14 * var(--u)) 0 0;text-align:center;color:var(--hud-parchment);font:italic var(--t-meta) / 1.4 var(--serif);text-shadow:-1px 0 0 var(--wood-dark), 1px 0 0 var(--wood-dark), 0 -1px 0 var(--wood-dark), 0 1px 0 var(--wood-dark), 0 0 6px #0000008c}@media (width<=860px){.journey-current__body{--ink:var(--cream);--ink-soft:var(--cream-soft);background:var(--night);color:var(--ink);background-clip:padding-box;border:12px solid;border-image:url(/assets/journey/panel-dark.png) 22;margin-top:10px;padding:6px 4px;position:static}.journey-acts{grid-template-columns:minmax(0,1fr);width:min(100%,420px);margin:0 auto}}@media (width<=560px){.journey-current__head{flex-direction:column;align-items:flex-start;gap:6px}.journey-current__figures{text-align:left}.journey-current__foot{flex-direction:column;align-items:stretch}.journey-walkers__item{padding:0 16px}.journey-continue{width:100%}.journey-share__group{flex-basis:100%}}.options-menu{position:relative}.options-menu__toggle{list-style:none}.options-menu__toggle::-webkit-details-marker{display:none}.options-menu__panel{z-index:2;white-space:nowrap;padding:8px 14px;position:absolute;top:calc(100% + 8px);right:0}.text-button--danger{color:#8a2a12}.pixel-button--danger{background:#9c3a1e;box-shadow:inset 0 -4px #00000040,inset 0 3px #c8603a}.confirm-dialog{box-sizing:border-box;width:min(440px,100vw - 32px);padding:20px}.confirm-dialog:not([open]){display:none}.confirm-dialog::backdrop{background:#0a140dbf}.confirm-dialog p{margin:0 0 12px}.confirm-dialog__note{color:var(--ink-soft);font-size:14px}.confirm-dialog__buttons{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:8px;display:flex}
