*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#132e31;color:#f1e4bd;font-family:system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;font-size:12px;color:inherit;border:1px solid #e6cf9355;background:#152f30b5;padding:12px 20px;border-radius:3px;backdrop-filter:blur(10px)}button:hover{background:#a18b4d44;border-color:#f5d991}a{color:#e3d0a0;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #b9e3d3;outline-offset:4px}[hidden]{display:none!important}#realm{position:relative;width:100%;height:100svh;overflow:hidden}#viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}#viewport.dragging{cursor:grabbing}#world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}#painting{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none}#route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.5s}#route path{fill:none;stroke:#fff0b8;stroke-width:1.5;stroke-dasharray:4 4;filter:drop-shadow(0 0 3px #123)}#route circle{fill:#f5dca3;stroke:#375d53;stroke-width:1.5}.edge-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0a252ade,transparent 45%,#102a2b22),linear-gradient(0deg,#102a2bd9,transparent 35%,transparent 70%,#102a2bce);transition:opacity 1s}.breath{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 85% 45%,#e8ead510,transparent 55%);animation:air 14s ease-in-out infinite alternate}@keyframes air{to{opacity:.2;transform:translateX(-30px)}}header{position:absolute;top:0;left:4%;right:4%;height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:5}.brand{font:23px serif;letter-spacing:4px;color:#f2e8d2}.brand small{display:block;font:7px system-ui;letter-spacing:3px;margin-top:7px}.top-links{display:flex;align-items:center;gap:22px}.top-links a{font-size:10px}.top-links button{font-size:10px;padding:9px 12px}#opening{position:absolute;left:8%;top:23%;max-width:620px}small{font-size:9px;letter-spacing:3px;color:#dfcb98}h1{font:56px/1.6 serif;letter-spacing:7px;margin:20px 0}p{font-size:13px;line-height:2;color:#d0d6be}#begin{min-width:160px;margin-top:20px;border-color:#dfc68f}.fine{font-size:10px;opacity:.75;margin-top:25px}.credit{position:absolute;bottom:82px;right:4%;font-size:8px;text-align:right;color:#c5c9b3;line-height:1.7;pointer-events:none}footer{position:absolute;bottom:20px;left:4%;right:4%;display:flex;align-items:center;gap:25px;font-size:10px;color:#ddd5b7}footer button{margin-left:auto;font-size:10px}#journeyCount{font-size:12px;letter-spacing:3px}#wayfinding{position:absolute;left:6%;top:19%;max-width:380px;pointer-events:none}#wayfinding h2{font:32px/1.6 serif;letter-spacing:3px;margin:15px 0}#wayfinding p{font-size:12px;max-width:280px}#clue{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;padding:0;border:1px solid #ffe2a1;background:#f8e4b526;box-shadow:0 0 0 10px #f2dfaa18,0 0 25px #ffe3a744;animation:glimmer 3s ease-in-out infinite}#clue:before{content:'✧';font-size:24px;color:#fff1c8}#clue:hover{background:#f8e4b566}@keyframes glimmer{50%{box-shadow:0 0 0 16px #f2dfaa05,0 0 35px #ffe3a766}}#navigator{position:absolute;left:6%;bottom:115px;display:flex;align-items:center;gap:15px;font-size:11px}#navigator button{font-size:10px}#bearing{min-width:80px}#discovered{position:absolute;left:6%;bottom:115px;width:410px;max-width:88vw;padding:24px 28px;border-left:1px solid #f0d6a5;background:linear-gradient(110deg,#102e30ee,#102e30ab);backdrop-filter:blur(14px);animation:arrive .7s ease}#discovered h2{font:27px/1.4 serif;margin:13px 0}#discovered p{font-size:12px}#discovered>div{display:flex;gap:10px}#discovered button{font-size:11px;padding:10px 14px}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#ending{position:absolute;left:7%;top:17%;max-width:570px;background:linear-gradient(90deg,#102c2cf2,#102c2c55);padding:25px}#ending h2{font:34px/1.5 serif;margin:17px 0}#ending p{font-size:12px}#ending .ending-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:21px}#ending .archive-link{display:inline-flex;align-items:center;justify-content:center;font-size:11px;min-height:39px;padding:10px 14px;border:1px solid #e6cf9388;background:#d4bb7340;color:#fff0bf;box-shadow:0 0 24px #e7c86b20}#ending .archive-link:hover{background:#d4bb7370;border-color:#f5d991}body.overview #route{opacity:1}body.overview .edge-shade{opacity:.3}dialog{background:#0e2428;color:#e6dcc2;border:1px solid #bca56c;width:95vw;max-width:95vw;padding:15px}dialog::backdrop{background:#000c;backdrop-filter:blur(6px)}.photo-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-tools>span{font-size:11px}.photo-tools>div{display:flex;gap:5px;align-items:center}.photo-tools button{font-size:11px;min-width:40px}.photo-tools output{font-size:11px;min-width:50px;text-align:center}.note{font-size:11px;color:#b8c8ba}#photoViewport{height:70vh;overflow:auto;touch-action:none;background:#071517;cursor:zoom-in;overscroll-behavior:contain}#photoImage{display:block;max-width:none;margin:0 auto;user-select:none;-webkit-user-drag:none}#photoViewport.magnified{cursor:grab}html[lang=en] h1{font-size:48px;letter-spacing:0}html[lang=en] #wayfinding h2{letter-spacing:0;font-size:29px}@media(max-width:800px){header{height:75px;left:5%;right:5%;gap:10px}.brand{font-size:18px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1px}.top-links{gap:9px}.top-links a{font-size:9px}.top-links a:first-child{display:none}.top-links button{padding:9px;font-size:9px}#opening{left:7%;right:7%;top:22%}h1{font-size:38px;letter-spacing:4px}#opening small{font-size:7px;letter-spacing:2px}.credit{bottom:83px;left:7%;right:7%;font-size:7px;max-width:90vw}footer{gap:12px;font-size:8px;left:5%;right:5%}footer button{padding:10px;font-size:9px}#help{max-width:150px;font-size:8px}#wayfinding{top:15%;left:7%;max-width:250px}#wayfinding h2{font-size:26px}#wayfinding p{font-size:11px;max-width:200px}#navigator{left:7%;bottom:135px}#discovered{left:6%;bottom:128px;padding:20px;width:88%}#discovered h2{font-size:24px}#discovered p{font-size:11px}#ending{top:14%;left:6%;right:6%;padding:20px}#ending h2{font-size:28px}#ending p{font-size:11px}.photo-tools{flex-wrap:wrap}#photoViewport{height:65vh}html[lang=en] h1{font-size:37px}}@media(prefers-reduced-motion:reduce){.breath,#clue,#discovered{animation:none}#route,.edge-shade{transition:none}}
