@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{color:#354a3b;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eee9da;font-family:DM Sans,sans-serif;font-weight:500}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;min-height:48px}button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #aa654d}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}button svg{flex-shrink:0;width:24px;height:24px}[hidden]{display:none!important}#app,#world{position:absolute;inset:0}#world canvas{touch-action:none;width:100%;height:100%;display:block}.topbar{padding:calc(24px + env(safe-area-inset-top)) 32px 0;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.brand{flex-direction:column;gap:2px;display:flex}.brand-name{letter-spacing:-2px;font-family:Fraunces,Georgia,serif;font-size:36px;font-weight:600;line-height:1}.brand-dot{color:#b36d53;vertical-align:top;margin-left:5px;font-family:Georgia,serif;font-size:24px}.brand #place-name{letter-spacing:.05em;color:#657363;margin-top:7px;font-size:12px}.top-actions{pointer-events:auto;gap:10px;display:flex}.round{background:#fbf7eddd;border-radius:50%;place-items:center;width:48px;height:48px;font-size:28px;display:grid;box-shadow:0 3px 16px #5560400d}.back{background:#fbf7eddf;border-radius:28px;padding:0 18px;font-size:13px;position:absolute;top:113px;left:32px}.bottom{bottom:calc(20px + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;align-items:center;gap:12px;width:min(640px,100% - 28px);display:flex;position:absolute;left:50%;transform:translate(-50%)}#caption{text-align:center;color:#3d5144;text-shadow:0 1px 10px #fff,0 1px 4px #fff;max-width:440px;margin:0;font-size:14px;line-height:1.5}.dock{pointer-events:auto;background:#fbf8eef5;border:1px solid #ffffffa6;border-radius:40px;align-items:center;padding:5px;display:flex;box-shadow:0 8px 32px #4656401a}.dock button{background:0 0;border-radius:30px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:4px 24px;font-size:13px;display:flex}.dock-divider{background:#d9decd;width:1px;height:24px}.context{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:6px;max-width:560px;display:flex}.context button{background:#f9f6eae8;border:1px solid #ffffff9c;border-radius:28px;min-height:48px;padding:0 14px;font-size:12px;box-shadow:0 3px 10px #53634408}.tray{pointer-events:auto;background:#fcf9f0f5;border:1px solid #fff;border-radius:23px;gap:4px;padding:8px;display:flex;box-shadow:0 8px 32px #4656401a}.tool{background:0 0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:68px;min-height:70px;font-size:10px;display:flex;position:relative}.tool[aria-pressed=true]{color:#405e3c;background:#e3ead5}.tool small{background:#e9dfca;border-radius:50%;min-width:16px;height:16px;font-size:10px;line-height:16px;position:absolute;top:4px;right:6px}.tool[aria-pressed=true] small{background:#cbd9b5}#load-status{color:#6a755e;background:#f9f6eadd;border-radius:12px;max-width:240px;padding:8px 12px;font-size:12px;line-height:1.5;position:absolute;top:105px;right:32px}dialog{color:#354a3b;background:#faf6ea;border:1px solid #fff;border-radius:28px;width:min(560px,100% - 32px);max-height:calc(100dvh - 40px);padding:28px;overflow:auto;box-shadow:0 24px 100px #334e3340}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#39453250}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.modal-head .round{background:#efebdf;flex-shrink:0}.eyebrow{letter-spacing:.15em;color:#8c907a;font-size:9px}h1{letter-spacing:-.6px;margin:9px 0 0;font-family:Fraunces,Georgia,serif;font-size:28px;font-weight:500;line-height:1.15}.place-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.place-card{background:#eeefdf;border-radius:18px;flex-direction:column;align-items:center;padding:0 0 16px;display:flex;overflow:hidden}.place-card svg{width:100%;height:auto}.place-card strong{font-family:Fraunces,Georgia,serif;font-size:19px;font-weight:500}.place-card span{color:#738168;margin-top:5px;font-size:10px}.wide{background:#e6e9d9;border-radius:14px;width:100%;margin-top:18px;font-size:13px;display:block}.setting{border-bottom:1px solid #e5e4d4;justify-content:space-between;align-items:center;min-height:58px;font-size:14px;display:flex}.setting input{accent-color:#6f8653;cursor:pointer;width:48px;height:28px}.help{color:#71806a;margin:20px 0 0;font-size:13px;line-height:1.7}@media (width<=600px){.topbar{padding:calc(20px + env(safe-area-inset-top)) 20px 0}.brand-name{font-size:31px}.back{top:106px;left:20px}.top-actions{gap:6px}.bottom{bottom:calc(16px + env(safe-area-inset-bottom));gap:9px}#caption{max-width:320px;font-size:12px}.context{gap:5px;max-width:360px}.context button{padding:0 11px;font-size:11px}.tray{border-radius:20px;gap:0;width:100%;max-width:400px;padding:6px}.tool{flex:1;width:auto;min-width:0;min-height:65px;font-size:9px}.tool small{right:3px}.dock button{padding:4px 23px}.place-cards{gap:7px}.place-card strong{font-size:17px}.place-card span{font-size:9px}dialog{padding:22px}h1{font-size:25px}#load-status{max-width:170px;font-size:10px;top:105px;right:20px}}@media (height<=600px){.topbar{padding-top:12px}.brand-name{font-size:28px}.bottom{gap:5px;bottom:12px}.tray{position:absolute;bottom:114px}.context button{min-height:48px}#caption{font-size:11px}.back{top:85px}.dock button{min-height:48px}.brand #place-name{margin-top:3px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.brand-name{font-size:28px}.brand-dot{font-size:18px}.brand #place-name{font-size:11px}.topbar{padding:calc(20px + env(safe-area-inset-top)) 24px 0}.top-actions{gap:5px}.top-actions .round{width:44px;height:44px;min-height:44px;box-shadow:none;background:#fbf7edb5}.top-actions #sound{display:none}.back{background:#fbf7edb5;min-height:44px;padding:0 14px;font-size:11px;top:92px;left:24px}.bottom{bottom:calc(18px + env(safe-area-inset-bottom));gap:9px}.dock{background:#fbf8eed4;padding:2px;box-shadow:0 3px 16px #4656400d}.dock button{gap:8px;min-height:44px;padding:2px 16px;font-size:11px}.dock button svg{width:21px;height:21px}#caption{opacity:0;pointer-events:none;text-shadow:none;background:#faf7ecb8;border-radius:20px;padding:6px 13px;font-size:12px;transition:opacity .55s}#caption.visible{opacity:1}.choices{pointer-events:auto;background:#fcf9f0ed;border:1px solid #fff9;border-radius:28px;align-items:center;gap:4px;padding:5px;display:flex;box-shadow:0 4px 24px #46564012}.choices button{background:0 0;border-radius:24px;align-items:center;gap:8px;min-height:48px;padding:0 14px;font-size:12px;display:flex}.choices .choice-close{color:#7c8770;width:44px;padding:0;font-size:23px}.choices button:hover{background:#e8eddf}.context[hidden]{display:none!important}.tray{box-shadow:0 4px 24px #46564012}.tool{width:62px;min-height:64px}.help{font-size:12px}.eyebrow{letter-spacing:.12em}@media (width<=600px){.topbar{padding:calc(16px + env(safe-area-inset-top)) 16px 0}.brand-name{font-size:26px}.back{top:88px;left:16px}.top-actions{gap:3px}.bottom{bottom:calc(14px + env(safe-area-inset-bottom))}.choices button{gap:6px;padding:0 11px;font-size:11px}.choices .choice-close{width:38px}.choices button svg{width:21px;height:21px}#caption{max-width:300px;font-size:11px}.context{max-width:360px}.tool{width:auto}}@media (prefers-reduced-motion:reduce){#caption{transition:none}}button{min-width:48px;min-height:48px}.top-actions .round{width:48px;min-width:48px;height:48px;min-height:48px}.back,.dock button{min-width:48px;min-height:48px}.choices .choice-close{width:48px;min-width:48px;min-height:48px}.setting input{width:48px;height:48px}.camera-reset{right:24px;top:calc(84px + env(safe-area-inset-top));background:#fbf7eddb;border-radius:28px;min-height:48px;padding:0 16px;font-size:12px;position:absolute}.camera-setting{align-items:center;gap:8px;padding-top:16px;font-size:14px;display:flex}.camera-setting>span{flex:1}.camera-setting output{color:#71806a;margin-top:4px;font-size:12px;display:block}.camera-setting button{background:#e6e9d9;border-radius:50%;width:48px;height:48px;font-size:24px}.camera-setting button:disabled{opacity:.4;cursor:default}@media (width<=600px){.camera-reset{right:16px;top:calc(80px + env(safe-area-inset-top));font-size:11px}}
