:root{color-scheme:light;--ink:#302b25;--muted:#70685e;--paper:#f5f1e9;--line:#d7cfc1;--accent:#766044;font-family:"Segoe UI",sans-serif;font-size:15px}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#302c27;color:var(--ink)}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,canvas:focus-visible{outline:3px solid #ad8045;outline-offset:4px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}#viewer{position:fixed;inset:0}#panorama{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#panorama.dragging{cursor:grabbing}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,17,14,.52),transparent 26%,transparent 72%,rgba(20,17,14,.42))}.masthead{position:absolute;top:max(32px,env(safe-area-inset-top));left:max(40px,env(safe-area-inset-left));right:max(40px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:#fffaf1;pointer-events:none}.masthead button{pointer-events:auto}.eyebrow{display:block;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.19em;line-height:1.6}h1{font:400 34px/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.02em;margin:8px 0 0}.text-button{background:transparent;padding:10px 0;font-size:12px;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:18px;white-space:nowrap}.masthead .text-button{margin-top:8px;color:#fffaf1;text-shadow:0 1px 6px #0006}.text-button:hover{opacity:.8}.toolbar{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:max(40px,env(safe-area-inset-left));right:max(40px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.view-note{color:#fffaf1;display:grid;grid-template-columns:8px auto;column-gap:10px;row-gap:5px;font-size:12px;text-shadow:0 1px 6px #0007}.view-dot{width:5px;height:5px;align-self:center;background:#f0dac0;border-radius:50%}.view-note small{grid-column:2;font-size:11px;opacity:.8}.controls{display:flex;align-items:center;gap:8px}.controls button{height:46px;min-width:46px;padding:0 14px;background:var(--paper);border:1px solid #ffffff50;border-radius:3px;display:inline-flex;justify-content:center;align-items:center;box-shadow:0 2px 12px #0001;transition:background .15s}.controls button:hover{background:#fffaf1}.controls button svg{width:21px;height:21px}.controls .reference-button{font-size:12px;padding:0 17px;margin-right:5px}.control-group{display:flex;overflow:hidden;border-radius:3px}.control-group button{border-radius:0;box-shadow:none;font-size:24px;font-weight:300;padding-bottom:2px}.control-group button+button{border-left:1px solid var(--line)}dialog{position:fixed;border:1px solid #e8dfd2;border-radius:4px;padding:0;background:var(--paper);color:var(--ink);max-width:calc(100vw - 36px);max-height:calc(100dvh - 36px);width:530px;box-shadow:0 18px 90px #0003;overscroll-behavior:contain}dialog::backdrop{background:#211b1566;backdrop-filter:blur(4px)}.dialog-body{padding:40px 42px 27px}.dialog-body>.eyebrow{color:var(--accent)}h2{font:400 38px/1.09 Georgia,"Times New Roman",serif;letter-spacing:-.025em;margin:15px 0 22px}p{font-size:14px;line-height:1.65;margin:0 0 20px;color:var(--muted)}.review-note{display:flex;align-items:baseline;gap:19px;padding:20px 0;margin:24px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.note-number{font:italic 16px Georgia,serif;color:var(--accent);white-space:nowrap}.review-note strong{font-size:13px;font-weight:600}.review-note p{font-size:13px;margin:7px 0 0;line-height:1.55}.primary{background:var(--ink);color:var(--paper);border-radius:2px;min-height:48px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:36px;width:100%;font-size:13px}.primary:hover{background:#4b4032}.gesture-note{font-size:11px;line-height:1.6;text-align:center;margin:16px 0 0}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;color:var(--paper);font-size:13px;white-space:nowrap}.loading-mark{height:18px;width:18px;border:1px solid #fff4;border-top-color:var(--paper);border-radius:50%;animation:spin 1.2s linear infinite}.error{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--paper);padding:34px}.error>p{max-width:470px}.error>.primary{width:auto;margin-top:8px}.error h2{font-size:34px}.reference-dialog{width:1100px;padding:28px 30px 0}.reference-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.reference-heading h2{font-size:30px;margin:8px 0 24px}.reference-heading .text-button{margin-top:10px}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reference-grid figure{margin:0}.reference-grid img{width:100%;height:270px;object-fit:contain;display:block;background:#e9e3d9}.reference-grid figcaption{font-size:11px;color:var(--muted);padding:9px 0 2px}.reference-footnote{font-size:12px;margin:22px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-script{position:fixed;inset:0;display:grid;place-content:center;padding:30px;text-align:center;background:var(--paper);z-index:10}.is-error .masthead,.is-error .toolbar,.is-error .shade{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.masthead{top:max(22px,env(safe-area-inset-top));left:22px;right:22px}.eyebrow{font-size:9px}h1{font-size:28px}.masthead .text-button{font-size:0;gap:0;padding:8px;margin-top:5px;border:1px solid #fff8;border-radius:50%;width:36px;height:36px;justify-content:center}.masthead .text-button span{font-size:18px}.toolbar{left:20px;right:20px;bottom:max(20px,env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:16px}.view-note{font-size:11px;display:flex;gap:8px}.view-note small{display:none}.controls{gap:7px}.controls button{min-width:44px;height:44px;padding:0 12px}.controls .reference-button{font-size:11px;padding:0 12px;margin-right:0}.dialog-body{padding:30px 27px 23px}h2{font-size:33px}.dialog-body p{font-size:13px}.dialog-body .gesture-note{font-size:11px}.review-note{margin:20px 0;padding:17px 0}.reference-dialog{padding:24px 22px 0}.reference-heading h2{font-size:25px}.reference-grid{grid-template-columns:1fr}.reference-grid img{height:auto;max-height:400px}.reference-heading .text-button{gap:8px}}@media(max-height:650px){.dialog-body{padding-top:25px;padding-bottom:22px}.dialog-body h2{font-size:30px;margin:10px 0 16px}.dialog-body p{font-size:12px;margin-bottom:15px}.review-note{padding:13px 0;margin:16px 0}.review-note p{margin-bottom:0}.dialog-body .gesture-note{margin:12px 0 0;font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Fixed-point direction controls. */
.toolbar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"note directions" "note controls";row-gap:10px;column-gap:20px}
.view-note{grid-area:note;align-self:end}.controls{grid-area:controls;justify-content:flex-end}
.direction-shortcuts{grid-area:directions;display:flex;align-items:center;justify-content:flex-end;gap:6px}
.direction-label{font-size:10px;color:#fffaf1;text-shadow:0 1px 6px #0008;margin-right:5px}
.direction-shortcuts button{font-size:12px;min-height:40px;padding:0 14px;border:1px solid #ffffff50;border-radius:3px;background:var(--paper);box-shadow:0 2px 12px #0001}
.direction-shortcuts button:hover{background:#fffaf1}
@media(max-width:700px){.toolbar{display:flex;flex-direction:column;align-items:center;gap:11px}.direction-shortcuts{order:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:min(100%,330px)}.direction-label{grid-column:1/-1;text-align:center;margin:0 0 2px}.direction-shortcuts button{padding:0 9px;min-height:40px}.view-note{order:0;align-self:center}.controls{order:2;justify-content:center;gap:6px}.controls .reference-button{padding:0 10px}}
@media(max-width:380px){.toolbar{left:12px;right:12px}.controls button{min-width:40px;padding:0 10px}.controls .reference-button{font-size:10px;padding:0 9px}}
