:root{color-scheme:dark;--ink: #f6f1ea;--muted: #c9bfb4;--line: rgba(246, 241, 234, .16);--panel: rgba(28, 24, 21, .72);--gold: #e4b56a;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}body{background:#1c1916;color:var(--ink);font-family:var(--sans);overflow:hidden}#view{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#view:active{cursor:grabbing}#veil,#error{position:fixed;inset:0;display:grid;place-items:center;background:#1c1916;z-index:8;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--muted)}#veil[hidden],#error[hidden]{display:none}#error{padding:2rem;text-align:center;letter-spacing:0;text-transform:none}header{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));z-index:2;pointer-events:none;text-shadow:0 1px 10px rgba(28,24,21,.55)}.eyebrow{margin:0 0 2px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}h1{margin:0;font-family:var(--serif);font-weight:500;font-size:1.7rem;letter-spacing:-.02em}.toolbar{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:3;display:flex;gap:8px;align-items:center}.modes,.toolbar>button,#panel,dialog{background:var(--panel);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:999px}.modes{display:flex;padding:3px}button{font:inherit;color:var(--ink);background:transparent;border:0;border-radius:999px;padding:.5rem .85rem;cursor:pointer}.modes button[aria-pressed=true],.toolbar>button:hover,#panel button:hover{background:#f6f1ea1f}.modes button[aria-pressed=true]{color:var(--gold)}#hint{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);margin:0;z-index:2;font-size:.82rem;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;max-width:min(36rem,calc(100% - 2rem));text-align:center;pointer-events:none}#dot{position:fixed;left:50%;top:48%;width:5px;height:5px;margin:-2px 0 0 -2px;border-radius:50%;background:#f6f1eabf;box-shadow:0 0 0 1px #1c181559;z-index:2;pointer-events:none}body[data-mode=orbit] #dot,body[data-mode=plan] #dot{opacity:0}#panel{position:fixed;z-index:3;left:max(16px,env(safe-area-inset-left));bottom:max(62px,calc(env(safe-area-inset-bottom) + 52px));border-radius:18px;padding:.85rem .95rem .7rem;width:min(17.5rem,calc(100% - 7.5rem))}fieldset{border:0;margin:0;padding:0}legend{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}#panel label{display:flex;gap:.55rem;align-items:flex-start;font-size:.92rem;line-height:1.35;padding:.28rem 0;cursor:pointer}#panel input{margin-top:.2rem;accent-color:var(--gold)}#measure-btn{margin-top:.35rem;padding-left:0;color:var(--muted)}#stick{display:none;position:fixed;z-index:3;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:104px;height:104px;border-radius:50%;border:1px solid var(--line);background:#1c181566;pointer-events:none}#stick span{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;background:#e4b56ad9}dialog{border-radius:20px;color:var(--ink);width:min(34rem,calc(100% - 2rem));padding:1.3rem 1.35rem 1.1rem;z-index:6}dialog::backdrop{background:#120f0d8c}dialog h2{font-family:var(--serif);font-weight:500;margin:0 0 .4rem}dialog p,dialog li{color:var(--muted);line-height:1.45}dialog ul{padding-left:1.1rem}dialog button{margin-top:.4rem;background:var(--gold);color:#2a2118;font-weight:600}#measure-list{list-style:none;padding:0;margin:.6rem 0 .8rem}#measure-list li{padding:.55rem 0;border-top:1px solid var(--line)}#measure-list strong{color:var(--ink);display:block}#measure-list em{color:var(--gold);font-style:normal;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:720px){h1{font-size:1.35rem}.toolbar{gap:4px}.modes button,.toolbar>button{padding:.42rem .6rem}#hint{display:none}#panel{left:0;right:0;bottom:0;width:auto;border-radius:18px 18px 0 0;padding-bottom:max(.8rem,env(safe-area-inset-bottom))}fieldset{display:flex;gap:.2rem .8rem;flex-wrap:wrap}#panel label{width:calc(50% - .5rem);font-size:.84rem}body[data-mode=walk] #stick{display:block}body[data-mode=walk] #panel{bottom:128px}}@media(pointer:coarse){body[data-mode=walk] #stick{display:block}body[data-mode=walk] #panel{bottom:132px}}
