:root{color:#233c45;font-synthesis:none;--ink:#142b36;--muted:#718080;--paper:#f7f6f0;--line:#233c451c;--gold:#b18b58;background:#edece6;font-family:DM Sans,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{height:100dvh;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline-offset:3px;outline:3px solid #b88b48}button{border:0}button:disabled{opacity:.45;cursor:wait}button:hover{filter:brightness(.96)}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}#sidebar{background:var(--paper);z-index:20;border-right:1px solid var(--line);flex-direction:column;width:294px;display:flex;position:absolute;top:0;bottom:0;left:0}.brand{border-bottom:1px solid var(--line);height:106px;color:var(--ink);letter-spacing:1.15px;flex-shrink:0;align-items:center;gap:15px;margin:0 27px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.brand small{letter-spacing:2px;color:var(--muted);margin-top:6px;font-size:8px;display:block}.crest{width:39px;height:48px;color:var(--ink);letter-spacing:-5px;font:40px Georgia,serif;position:relative}.crest>span{color:#ae4e40;font-size:33px;position:absolute;bottom:0;right:0}.sidebar-intro{padding:30px 27px 25px}.eyebrow{letter-spacing:1.8px;color:#8b785f;font-size:9px;font-weight:700}h1{letter-spacing:-1px;margin:15px 0 14px;font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.16}.sidebar-intro p{color:var(--muted);margin:0;font-size:11px}.section-heading{letter-spacing:1.25px;color:#718080;justify-content:space-between;margin:0 27px 11px;font-size:8px;font-weight:700;display:flex}.section-heading span:last-child{color:#a3aaa5;font-size:7px}#places{scrollbar-width:thin;scrollbar-color:#c9cfca transparent;flex:1;padding:0 12px 15px;overflow:auto}#places button{text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:12px;width:100%;padding:13px 15px;font-size:11px;transition:background .2s;display:flex}#places button:hover{background:#eaece4}#places button.active{background:#e5e9df;border-color:#d4dccd}#places .place-number{color:#97a099;font-variant-numeric:tabular-nums;font-size:9px;font-weight:500}#places .place-name{flex:1}#places .arrow{color:#939e96;font-size:13px}.sidebar-bottom{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:7px;padding:18px 20px;font-size:8px;display:flex}.sidebar-bottom button{background:0 0;margin-left:auto;font-size:16px}.status-dot{background:#7c9275;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}#viewport{background:#dce6e6;position:absolute;inset:0 0 0 294px}#scene{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.topbar{pointer-events:none;z-index:5;justify-content:space-between;align-items:center;display:flex;position:absolute;top:24px;left:31px;right:28px}.topbar>*{pointer-events:auto}.location-label{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f6f0d9;border:1px solid #fff7;border-radius:30px;align-items:center;gap:9px;padding:11px 16px;font-size:10px;display:flex}.top-actions{gap:7px;display:flex}.top-actions button{background:#f7f6f0e6;border-radius:50%;min-width:35px;height:35px;font-size:17px}.top-actions #quality{border-radius:20px;padding:0 14px;font-size:9px}#menu{background:var(--paper);border-radius:25px;padding:10px 14px;font-size:12px;display:none}.compass{color:#3b5260;flex-direction:column;align-items:center;gap:3px;font-size:10px;display:flex;position:absolute;top:88px;right:36px}.compass span{text-shadow:0 1px 2px #fff;font-family:Georgia,serif;font-size:35px;line-height:1;display:block}.compass b{letter-spacing:1px;font-size:8px}.toolbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:5;white-space:nowrap;background:#f7f6f0ee;border:1px solid #fff8;border-radius:10px;align-items:center;padding:7px;display:flex;position:absolute;bottom:53px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #1d343815}.toolbar button{background:0 0;border-radius:6px;align-items:center;gap:7px;height:37px;padding:0 14px;font-size:11px;display:inline-flex}.toolbar button span{font-size:17px}.toolbar .active{background:var(--ink);color:#fff}.toolbar-rule{background:var(--line);width:1px;height:21px;margin:0 5px}.toolbar #reset{padding:0 12px;font-size:22px}.toolbar #toggle-labels{font-size:10px}.toolbar #toggle-labels[aria-pressed=false]{color:#999;text-decoration:line-through}#controls-hint{white-space:nowrap;color:#52666b;text-shadow:0 1px 2px #fff;pointer-events:none;font-size:9px;position:absolute;bottom:27px;left:50%;transform:translate(-50%)}#controls-hint span{margin:0 8px}.credit{letter-spacing:.5px;color:#718080;pointer-events:none;font-size:7px;position:absolute;bottom:10px;right:24px}.credit span{padding:0 5px}#place-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:4;background:#f7f6f0f2;border:1px solid #fff8;border-radius:8px;width:290px;padding:23px 24px 17px;position:absolute;bottom:142px;left:31px;box-shadow:0 6px 32px #112f3810}#place-card h2{margin:10px 0;font:400 25px/1.15 Georgia,serif}#place-card p{color:#6a7979;margin:0 0 18px;font-size:11px;line-height:1.7}.card-actions{justify-content:space-between;align-items:center;display:flex}.card-actions #walk-here{background:var(--ink);color:#fff;border-radius:4px;justify-content:space-between;min-width:135px;padding:10px 13px;font-size:10px;display:flex}.card-actions #card-close{background:0 0;font-size:20px}#walk-prompt{background:#f7f6f0e6;border-radius:5px;align-items:center;gap:12px;padding:9px 12px;font-size:10px;display:flex;position:absolute;top:78px;left:31px}#walk-prompt button{color:#fff;background:#233c45;border-radius:4px;padding:6px 9px;font-size:9px}#tour-bar{background:var(--ink);color:#eaece4;z-index:7;white-space:nowrap;border-radius:7px;align-items:center;gap:10px;padding:7px 10px;font-size:10px;display:flex;position:absolute;bottom:112px;left:50%;transform:translate(-50%)}#tour-bar button{color:#eee;background:0 0;border-radius:3px;padding:7px}#tour-pause{border:1px solid #ffffff40!important}.label{letter-spacing:.35px;color:#32464a;pointer-events:none;white-space:nowrap;background:#f8f7f0dc;border:1px solid #fff9;border-radius:3px;padding:5px 8px;font-size:8px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 5px #1d33331a}.label:after{content:"";background:#68786b60;width:1px;height:12px;position:absolute;top:100%;left:50%}#scene-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}#loading,#failure{z-index:12;text-align:center;background:#ebede5;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}#loading h2,#failure h2{margin:18px 0 10px;font:400 32px Georgia,serif}.load-mark{color:#9b6b48;letter-spacing:-3px;border:1px solid #bac6b6;border-radius:50%;place-items:center;width:74px;height:74px;font:25px Georgia,serif;display:grid}#loading p,#failure p{color:#728075;font-size:12px}#loading small{color:#929d92;margin-top:22px;font-size:9px}.progress{background:#cdd5c9;width:220px;height:2px;margin-top:20px;overflow:hidden}.progress span{background:#667e65;width:3%;height:100%;transition:width .4s;display:block}#failure button{background:var(--ink);color:#fff;border-radius:5px;padding:12px 24px}dialog{background:var(--paper);color:var(--ink);border:1px solid #fff;border-radius:10px;width:calc(100% - 32px);max-width:520px;padding:40px;box-shadow:0 25px 90px #102a3745}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11273160}dialog h2{margin:16px 0 25px;font:400 31px Georgia,serif}dialog h3{margin-top:26px;font-size:12px}dialog p,dialog dd{color:#6b7978;font-size:12px;line-height:1.8}dialog dt{margin:18px 0 4px;font-size:12px;font-weight:700}dialog dd{margin:0}dialog a{color:#496352}dialog .small{font-size:10px}.dialog-close{background:0 0;font-size:24px;position:absolute;top:12px;right:17px}#touch-controls{pointer-events:none;color:#3c5655;justify-content:space-between;align-items:flex-end;font-size:10px;display:flex;position:absolute;bottom:115px;left:24px;right:24px}#move-pad{pointer-events:auto;touch-action:none;background:#f8f7ef75;border:1px solid #ffffffc0;border-radius:50%;width:92px;height:92px;position:relative}#move-pad span{pointer-events:none;background:#253f4899;border:1px solid #fff8;border-radius:50%;width:32px;height:32px;position:absolute;top:29px;left:29px}body.walking #scene{cursor:grab}body.walking #scene:active{cursor:grabbing}body.locked #walk-prompt{display:none}body.locked #scene{cursor:none}@media (height<=780px) and (width>=801px){.brand{height:86px}.sidebar-intro{padding:23px 27px 20px}h1{margin:10px 0;font-size:30px}#places button{padding:10px 15px}.sidebar-bottom{padding:13px 20px}}@media (width<=1050px){#sidebar{width:255px}#viewport{left:255px}.brand{margin:0 20px;font-size:10px}.sidebar-intro{padding-left:20px;padding-right:20px}.section-heading{margin-left:20px;margin-right:20px}.toolbar button{padding:0 10px}.toolbar #toggle-labels{display:none}.topbar{left:20px;right:20px}#place-card{width:260px;left:20px}.credit{font-size:6px}}@media (width<=800px){#viewport{left:0}#sidebar{width:285px;transition:transform .2s;transform:translate(-100%);box-shadow:10px 0 40px #172e3625}body.menu-open #sidebar{transform:translate(0)}body.menu-open #menu{margin-left:280px}#menu{display:block}.topbar{top:16px;left:16px;right:16px}.location-label{display:none}.top-actions #quality{padding:0 10px}.compass{top:70px;right:25px}.toolbar{max-width:calc(100% - 24px);padding:5px;bottom:45px}.toolbar button{height:37px;padding:0 9px;font-size:10px}.toolbar button span{font-size:16px}.toolbar-rule{margin:0 2px}#controls-hint{font-size:8px;bottom:22px}.credit{font-size:6px;bottom:7px;right:15px}#place-card{width:245px;padding:18px 20px;bottom:112px;left:16px}#place-card h2{font-size:22px}#place-card p{margin-bottom:12px;font-size:10px}#walk-prompt{gap:8px;font-size:9px;top:65px;left:16px}#walk-prompt>span,body.walking #place-card{display:none}#tour-bar{gap:5px;font-size:9px;bottom:101px}body.touring #place-card{bottom:156px}dialog{padding:30px}#touch-controls>span{text-align:right;max-width:85px}#scene-labels .label{padding:4px 6px;font-size:7px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
