@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#183c35;background:#f3f0e9;font-family:Space Grotesk,Noto Sans SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--pine: #183c35;--pine-deep: #0f2a26;--ink: #1e2924;--muted: #7b837b;--paper: #f3f0e9;--cream: #ebe4d8;--clay: #b85b43;--gold: #dfb15e;--line: rgba(24, 60, 53, .15)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;background:var(--paper)}button{font:inherit}button:focus-visible{outline:3px solid rgba(223,177,94,.8);outline-offset:3px}.app-shell{position:relative;min-height:100svh;overflow:hidden;background:var(--paper)}.map-stage{position:relative;min-height:100svh;overflow:hidden}.map-canvas,.map-fallback{position:absolute;top:0;right:0;bottom:0;left:0}.map-canvas{background:#dce5dd}.map-fallback{z-index:1;background:#d8e0d9;color:var(--pine);overflow:hidden}.fallback-grid{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;opacity:.45;transform:rotate(-16deg);background:repeating-linear-gradient(20deg,transparent 0 56px,rgba(255,255,255,.55) 58px 61px,transparent 63px 118px),repeating-linear-gradient(112deg,transparent 0 89px,rgba(24,60,53,.08) 91px 94px,transparent 96px 170px)}.fallback-copy{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:min(82vw,360px);padding:28px;border:1px solid rgba(24,60,53,.15);background:#f3f0e9db;box-shadow:0 20px 50px #0f2a261f;text-align:center}.fallback-icon{display:block;color:var(--clay);font-size:42px;line-height:1;margin-bottom:10px}.fallback-copy strong{font-family:"Noto Serif SC",serif;font-size:20px}.fallback-copy p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.topbar{position:absolute;z-index:5;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:max(22px,env(safe-area-inset-top)) 20px 18px;color:#fff;background:linear-gradient(180deg,rgba(15,42,38,.7),transparent)}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-family:"Noto Serif SC",serif;font-size:19px}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:14px;letter-spacing:.04em}.brand-lockup div span{margin-top:3px;color:#ffffffb3;font-size:10px;letter-spacing:.08em}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;background:#0f2a2647;cursor:pointer}.icon-button.light{border-color:#ffffff73;background:#ffffff1f}.map-status{position:absolute;z-index:4;top:92px;left:20px;display:flex;align-items:center;gap:8px;padding:8px 11px;color:var(--pine);background:#f3f0e9e0;box-shadow:0 8px 22px #0f2a2614;font-size:10px;letter-spacing:.04em}.map-status.is-warning{color:var(--clay)}.status-dot{width:7px;height:7px;border-radius:50%;background:#6fb07b}.is-warning .status-dot{background:var(--clay)}.map-actions{position:absolute;z-index:4;top:92px;right:20px;display:grid;gap:8px}.map-action{display:flex;align-items:center;gap:6px;padding:8px 11px;border:0;color:var(--pine);background:#f3f0e9e6;box-shadow:0 8px 22px #0f2a2614;font-size:11px;cursor:pointer}.action-icon{font-size:16px;line-height:1}.location-hint{position:absolute;z-index:4;top:139px;left:20px;color:#183c35a6;font-size:10px}.map-marker{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--paper);border-radius:50% 50% 50% 3px;color:#fff;background:var(--clay);box-shadow:0 5px 13px #183c3547;transform:rotate(-45deg)}.map-marker span{transform:rotate(45deg);font-size:10px;font-weight:700}.map-marker.is-done{background:var(--pine)}.user-marker{width:18px;height:18px;border:3px solid white;border-radius:50%;background:#4c9bd2;box-shadow:0 0 0 7px #4c9bd233}.route-panel{position:absolute;z-index:6;top:168px;left:20px;right:20px;padding:20px;color:var(--pine);background:#f3f0e9f5;box-shadow:0 18px 48px #0f2a262e}.panel-heading,.sheet-heading{display:flex;justify-content:space-between;align-items:flex-start}.section-label{color:var(--clay);font-size:9px;font-weight:700;letter-spacing:.17em}.route-panel h2,.modal-card h2{margin:6px 0 8px;font-family:"Noto Serif SC",serif;font-size:21px;font-weight:600}.route-panel p{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.6}.route-panel small{display:block;margin-top:8px;color:var(--muted);font-size:10px}.close-button{border:0;color:var(--pine);background:transparent;font-size:27px;line-height:1;cursor:pointer}.route-progress{height:5px;background:#d9d7ce}.route-progress span{display:block;height:100%;background:var(--clay);transition:width .3s ease}.bottom-sheet{position:absolute;z-index:7;right:0;bottom:0;left:0;padding:13px 22px max(22px,env(safe-area-inset-bottom));color:var(--pine);background:var(--paper);box-shadow:0 -14px 40px #0f2a261f}.sheet-handle{width:34px;height:4px;margin:0 auto 22px;border-radius:10px;background:#c3c6bc}.sheet-heading h1{max-width:280px;margin:6px 0 0;font-family:"Noto Serif SC",serif;font-size:clamp(23px,7vw,34px);line-height:1.18;font-weight:600;letter-spacing:-.04em}.point-index{color:var(--clay);font-size:18px;font-weight:600;letter-spacing:.1em}.clue{max-width:330px;margin:14px 0 12px;color:var(--muted);font-size:13px;line-height:1.65}.point-meta{display:flex;gap:16px;padding:11px 0 17px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.point-meta span+span:before{content:"·";margin-right:16px;color:#b8b7ae}.done-text{color:var(--pine)}.sheet-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.secondary-button,.primary-button{min-height:48px;border:0;cursor:pointer;font-size:12px;font-weight:600}.secondary-button{color:var(--pine);background:var(--cream)}.primary-button{display:flex;justify-content:space-between;align-items:center;padding:0 17px;color:var(--paper);background:var(--pine)}.primary-button span{font-size:18px}.secondary-button:disabled,.primary-button:disabled{color:#a39c90;background:#dedbd2;cursor:not-allowed}.primary-button:disabled span{color:#a39c90}.ar-link{display:block;width:100%;margin-top:14px;border:0;color:var(--clay);background:transparent;font-size:12px;text-align:left;cursor:pointer}.ar-link span{float:right;font-size:16px}.demo-note{margin:12px 0 0;color:#a39c90;font-size:10px;text-align:center}.distance-status{display:flex;align-items:flex-start;gap:8px;min-height:31px;margin-bottom:13px;padding:9px 10px;color:var(--clay);background:#b85b4314;font-size:10px;line-height:1.5}.distance-status.is-nearby{color:#997029;background:#dfb15e24}.distance-status.is-ready{color:#3f8064;background:#6fb07b24}.distance-pulse{flex:0 0 auto;width:7px;height:7px;margin-top:3px;border-radius:50%;background:currentColor}.distance-status.is-nearby .distance-pulse{animation:location-pulse 1.4s ease-in-out infinite}@keyframes location-pulse{50%{box-shadow:0 0 0 5px #dfb15e2e}}.loading-screen{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:18px;color:var(--paper);background:var(--pine-deep);text-align:center}.loading-symbol{display:grid;place-items:center;width:62px;height:62px;margin:auto;border:1px solid rgba(223,177,94,.7);border-radius:50%;color:var(--gold);font-family:"Noto Serif SC",serif;font-size:27px;animation:pulse 1.6s ease-in-out infinite}.loading-screen p{margin:0;color:#f3f0e9b3;font-size:11px;letter-spacing:.08em}@keyframes pulse{50%{transform:scale(1.08);opacity:.7}}.modal-backdrop{position:fixed;z-index:15;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px;background:#0f2a268c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card{position:relative;width:min(100%,380px);padding:28px 24px 24px;background:var(--paper);box-shadow:0 25px 80px #0f2a264d}.modal-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.modal-close{position:absolute;top:17px;right:18px}.help-list{display:grid;gap:18px;margin:26px 0 0;padding:0;list-style:none}.help-list li{display:flex;gap:15px;align-items:flex-start}.help-list li>span{color:var(--clay);font-size:11px;font-weight:700;letter-spacing:.1em}.help-list strong,.help-list small{display:block}.help-list strong{margin-bottom:4px;font-size:13px}.help-list small{color:var(--muted);font-size:11px}.ar-screen{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;overflow:hidden;color:#fff;background:var(--pine-deep)}.camera-feed{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.ar-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(15,42,38,.7),transparent 25%,transparent 66%,rgba(15,42,38,.8))}.ar-topbar{position:absolute;z-index:2;top:max(22px,env(safe-area-inset-top));right:20px;left:20px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;font-size:12px}.ar-count{color:var(--gold);font-size:10px}.ar-object{position:absolute;top:43%;left:50%;width:230px;height:260px;transform:translate(-50%,-50%);transition:transform .4s ease}.ar-object.is-camera-ready{transform:translate(-50%,-50%) perspective(600px) rotateY(-8deg) rotateX(4deg)}.treasure-card{position:absolute;top:48px;left:20px;display:grid;place-items:center;width:190px;height:152px;padding:16px;border:1px solid rgba(223,177,94,.8);color:var(--paper);background:#183c35de;box-shadow:0 22px 65px #00000059,inset 0 0 0 6px #dfb15e14;transform:rotate(-3deg)}.treasure-symbol{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-family:"Noto Serif SC",serif;font-size:26px}.treasure-card strong{margin-top:10px;font-family:"Noto Serif SC",serif;font-size:16px;font-weight:500}.treasure-card small{margin-top:4px;color:#f3f0e999;font-size:7px;letter-spacing:.18em}.orbit{position:absolute;border:1px solid rgba(223,177,94,.6);border-radius:50%;transform:rotate(35deg)}.orbit-one{top:38px;right:0;bottom:38px;left:0}.orbit-two{top:5px;right:34px;bottom:5px;left:34px;transform:rotate(-50deg)}.ar-caption{position:absolute;bottom:88px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#f3f0e9cc;font-size:11px}.ar-live-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}.ar-close-button{position:absolute;right:20px;bottom:max(22px,env(safe-area-inset-bottom));left:20px;min-height:48px;border:0;color:var(--pine);background:var(--paper);font-size:12px;font-weight:600;cursor:pointer}.ar-experience{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;overflow:hidden;color:#fff;background:#102e2a}.ar-camera,.ar-canvas,.ar-gradient{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ar-camera{object-fit:cover;background:radial-gradient(circle at 50% 35%,#53726b,#102e2a 72%)}.ar-canvas{z-index:1;pointer-events:none}.ar-gradient{z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(9,31,28,.72),transparent 23%,transparent 58%,rgba(9,31,28,.93))}.ar-header{position:absolute;z-index:4;top:max(20px,env(safe-area-inset-top));right:20px;left:20px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:11px}.ar-round-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.52);border-radius:50%;color:#fff;background:#0f2a264d;font-size:25px;line-height:1;cursor:pointer}.ar-header-title span,.ar-header-title strong{display:block}.ar-header-title span{color:#ffffffa8;font-size:8px;font-weight:700;letter-spacing:.2em}.ar-header-title strong{margin-top:4px;font-family:"Noto Serif SC",serif;font-size:13px;font-weight:500}.ar-points{color:var(--gold);font-size:10px;letter-spacing:.08em}.ar-target-frame{position:absolute;z-index:3;top:22%;right:28px;bottom:32%;left:28px;opacity:.62;pointer-events:none}.ar-target-frame i{position:absolute;width:26px;height:26px;border-color:#ffffffb8;border-style:solid}.ar-target-frame i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.ar-target-frame i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.ar-target-frame i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}.ar-target-frame i:nth-child(4){bottom:0;left:0;border-width:0 0 1px 1px}.ar-coordinate{position:absolute;z-index:4;top:142px;right:28px;display:flex;align-items:center;gap:7px;color:#ffffffad;font-size:9px;letter-spacing:.16em}.ar-motion-button{margin-left:6px;padding:5px 7px;border:1px solid rgba(255,255,255,.38);color:#fff;background:#0f2a2661;font-size:9px;letter-spacing:0;cursor:pointer}.ar-info-panel{position:absolute;z-index:4;right:22px;bottom:max(24px,env(safe-area-inset-bottom));left:22px}.ar-scene-label{color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.18em}.ar-place-name{display:block;margin-top:8px;color:#ffffff8f;font-size:10px;letter-spacing:.04em}.ar-info-panel h1{margin:8px 0;font-family:"Noto Serif SC",serif;font-size:clamp(29px,9vw,46px);font-weight:500;letter-spacing:-.05em}.ar-info-panel p{max-width:340px;margin:0 0 18px;color:#ffffffb8;font-size:12px;line-height:1.7}.ar-actions{display:grid;grid-template-columns:1fr 72px;gap:8px}.ar-collect-button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:0 17px;border:0;color:var(--pine);background:var(--paper);font-size:12px;font-weight:700;cursor:pointer}.ar-collect-button.is-collecting{animation:card-collect .65s ease-in-out}.ar-collect-button span{color:var(--clay);font-size:18px}.ar-share-button{min-height:50px;border:1px solid rgba(255,255,255,.48);color:#fff;background:#0f2a2652;font-size:12px;font-weight:700;cursor:pointer}.ar-share-button:disabled{color:#fff6;border-color:#fff3;cursor:not-allowed}.ar-collection-state{margin-top:11px;color:var(--gold);font-size:10px;animation:collection-in .45s ease-out both}.ar-info-panel small{display:block;min-height:15px;margin-top:10px;color:#ffffff85;font-size:10px}@keyframes card-collect{50%{transform:scale(.98);opacity:.75}}@keyframes collection-in{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:700px){.map-stage{max-width:520px;min-height:900px;margin:0 auto;box-shadow:0 0 70px #0f2a261f}.app-shell{background:#d9ddd4}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
