:root{color-scheme:dark;--cream:#fff5db;--gold:#ffda8b;--ink:#162c43;--mint:#a8e4cf;--glass:#112741dc;--rim:#ffffff29}*{box-sizing:border-box}body{margin:0;background:#101f3c;color:var(--cream);font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;overflow:hidden;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;border:1px solid var(--rim);background:var(--glass);font-weight:800;min-height:48px;border-radius:18px;padding:12px 20px}button:active{transform:scale(.95)}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}#playfield{position:fixed;inset:0;width:100%;height:100dvh;isolation:isolate;overflow:hidden}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;align-items:start;justify-content:space-between;gap:12px;pointer-events:none;z-index:5}.hud>*{pointer-events:auto}.round{width:52px;height:52px;min-height:48px;padding:0;border-radius:50%;display:grid;place-content:center;background:var(--glass);border:1px solid var(--rim);font-size:26px;box-shadow:0 5px 15px #07172b22}.mission{text-align:center;max-width:65%;background:linear-gradient(#10243bc9,#10243b00);padding:0 18px 12px;border-radius:22px}.mission h1{font-size:clamp(14px,2vw,20px);margin:5px 0 0;line-height:1.2;letter-spacing:-.025em;font-weight:700;text-shadow:0 1px 8px #07182c}#stamps{display:flex;gap:10px;justify-content:center}#stamps span{width:28px;height:28px;display:grid;place-content:center;border:1px solid #ffffff35;border-radius:50%;color:#dae9ef77;font-size:18px}#stamps .won{color:var(--ink);background:var(--gold);border-color:var(--gold)}#stamps .current{color:var(--gold);border-color:var(--gold)}.dock{position:absolute;z-index:6;bottom:max(12px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:end;pointer-events:none}.dock button{pointer-events:auto}.direction{width:68px;height:60px;border-radius:22px;font-size:32px;box-shadow:0 5px 0 #07172b80}.direction[aria-pressed=true]{background:var(--gold);color:var(--ink)}.camera-wrap{display:flex;flex-direction:column;align-items:center;position:relative}.camera{display:flex;align-items:center;justify-content:center;gap:9px;min-width:138px;min-height:64px;border-radius:24px;background:var(--gold);color:var(--ink);border:2px solid #ffe9b6;box-shadow:0 5px 0 #8e6738,0 8px 22px #030e2555;font-size:17px}.camera svg{width:42px;height:32px;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linejoin:round}.camera[aria-disabled=true]{background:#233e53;color:#bcd0d7;border-color:#7395a655;box-shadow:0 5px 0 #0c2031}.camera.ready{animation:breathe 2s ease-in-out infinite}.camera-hint{position:absolute;bottom:77px;background:var(--glass);padding:7px 13px;border-radius:16px;white-space:nowrap;font-size:12px}.camera-hint:empty{display:none}.photo-progress{position:absolute;bottom:-4px;transform:translateY(100%);display:flex;gap:4px;display:none}.status{position:absolute;top:100px;left:50%;transform:translateX(-50%);padding:9px 18px;border-radius:20px;background:#a8e4cff0;color:var(--ink);font-size:14px;text-align:center;max-width:65%;opacity:0;transition:opacity .2s;z-index:7;pointer-events:none}.status.visible{opacity:1}.ribbon{position:absolute;top:95px;left:max(18px,env(safe-area-inset-left));display:flex;gap:7px;z-index:3;pointer-events:none}.ribbon figure{margin:0;background:var(--cream);padding:4px 4px 12px;border-radius:4px;box-shadow:0 5px 13px #07172b66;transform:rotate(-6deg);width:72px}.ribbon figure:nth-child(2){transform:rotate(5deg)}.ribbon figure:nth-child(3){transform:rotate(-2deg)}.ribbon img{display:block;width:100%;aspect-ratio:1.5;object-fit:contain}.distance-controls{position:absolute;top:47%;right:max(18px,env(safe-area-inset-right));display:flex;gap:8px;z-index:4;transform:translateY(-30%)}.distance-controls button{display:flex;align-items:center;flex-direction:column;justify-content:center;width:72px;height:88px;padding:7px;font-size:12px;position:relative}.distance-controls [aria-pressed=true]{border:2px solid var(--gold);background:#fff3d6;color:var(--ink)}.tree-icon{font-size:26px;line-height:32px}.tree-icon.big{font-size:38px}.distance-controls b{position:absolute;right:3px;top:2px;color:#287e69;font-size:15px}.guide{position:absolute;z-index:4;pointer-events:none;left:50%;bottom:90px;transform:translateX(-50%);color:var(--gold);font-size:35px;animation:point 1.4s ease-in-out infinite;filter:drop-shadow(0 3px 4px #081a34)}.guide.to-right{left:auto;right:39px;bottom:84px;transform:none}.guide.to-left{left:39px;bottom:84px;transform:none}.shutter{position:absolute;inset:0;pointer-events:none;background:var(--cream);opacity:0;z-index:8}.shutter.flash{animation:flash .4s ease-out}.overlay{position:absolute;inset:0;z-index:9;display:grid;place-items:center;background:#07182c55;backdrop-filter:blur(3px);padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow:auto}.intro-card{width:430px;max-width:100%;margin-left:46%;padding:25px 30px;border-radius:32px;background:linear-gradient(140deg,#17334ee8,#0b213ae8);border:1px solid #c7e2ec44;box-shadow:0 20px 70px #010b2166}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:.19em;color:var(--mint);font-weight:800;margin:0 0 10px}h2{font-size:clamp(25px,4.2vw,44px);line-height:1.06;letter-spacing:-.04em;margin:0 0 15px}.intro-card h2{font-size:clamp(36px,5vw,62px);position:relative}.intro-card h2>span{color:var(--gold);position:absolute;right:0;top:3px}.intro-card>p:not(.eyebrow){font-size:14px;color:#d5e0df;margin:0 0 22px}.primary{background:var(--gold);color:var(--ink);border-color:var(--gold);min-height:55px;font-size:17px;display:flex;align-items:center;justify-content:space-between;gap:24px}.intro-card .primary{width:100%}.intro-links{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:17px;font-size:12px;color:#c5d9e1}.text-button{border:0;background:transparent;padding:0;min-height:44px;color:inherit;font-size:12px}.comparison{background:#07182caa}.compare-card{background:#f8efdb;color:var(--ink);border-radius:26px;width:min(720px,94%);padding:22px 28px;text-align:center;box-shadow:0 25px 80px #010b2166}.compare-card .eyebrow{color:#527b79}.compare-card h2{font-size:clamp(22px,3.3vw,33px);margin-bottom:15px}.photo-pair{display:flex;justify-content:center;gap:14px;margin:0 auto 16px;max-width:540px}.photo-pair figure{margin:0;padding:7px 7px 10px;background:#fffdf6;box-shadow:0 3px 9px #203b5125;transform:rotate(-2deg);flex:1;max-width:250px;border-radius:3px}.photo-pair figure:nth-child(2){transform:rotate(2deg)}.photo-pair img{width:100%;display:block;aspect-ratio:1.8;object-fit:contain;background:#1a354e}.photo-pair figcaption{font-size:11px;font-weight:800;margin-top:7px}.comparison-actions{display:flex;justify-content:center;gap:10px}.comparison-actions button{background:white;color:var(--ink);border:2px solid #ccd8d6;min-width:120px;min-height:58px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px}.comparison-actions button span{font-size:30px}.comparison-actions .primary{background:var(--gold);border-color:#e9c674}.compare-feedback{font-size:13px;font-weight:700;color:#2a7065;margin:12px 0 0;min-height:16px}.finish-card{width:min(650px,95%);border-radius:30px;text-align:center;background:#102a45f5;padding:26px;border:1px solid var(--rim)}.medal{width:68px;height:68px;position:relative;margin:0 auto 12px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:48px;box-shadow:0 0 50px #ffdc8a33}.medal span{position:absolute;font-size:22px;right:-9px;top:-3px;color:var(--gold)}.finish-card h2{font-size:clamp(25px,4vw,37px);margin:8px 0 18px}.finish-card>p:not(.eyebrow){font-size:14px;color:#d3e0e4}.discovery-cards{display:flex;gap:10px;justify-content:center}.discovery-cards>div{display:grid;place-items:center;gap:6px;background:#ffffff0c;border:1px solid var(--rim);border-radius:18px;padding:12px;width:130px}.discovery-cards span{font-size:32px;color:var(--gold)}.discovery-cards b{font-size:12px}.trail{display:block;position:relative;height:4px;border-radius:4px;background:var(--mint);margin:7px}.trail.long{width:70px}.trail.short{width:20px}.trail.dot{width:4px}.trail:not(.dot):after{content:'›';position:absolute;right:-3px;top:-10px;font-style:normal;font-size:22px}.end-actions{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px}.end-actions .primary{font-size:14px}.loading{background:#101f3c;display:flex;flex-direction:column;justify-content:center;gap:8px;z-index:20;font-size:14px}.loading-moon{font-size:70px;color:var(--gold);animation:breathe 1.7s infinite}.rotation{position:absolute;inset:0;z-index:30;background:#10233c;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}.rotation>span{font-size:70px;color:var(--gold);margin-bottom:22px}.rotation h2{font-size:32px}.rotation p,.rotation a{font-size:14px;color:#c5d9e1}.rotation a{margin-top:20px;padding:15px}dialog{color:var(--ink);color-scheme:light;background:#fcf5e6;border:0;border-radius:26px;padding:28px;width:min(580px,90vw);max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #030f2866}dialog::backdrop{background:#07182cbf;backdrop-filter:blur(5px)}dialog h2{font-size:28px}dialog h3{font-size:17px;margin:22px 0 8px}dialog p{font-size:14px;line-height:1.6}dialog .eyebrow{color:#507574}dialog a{color:#31697a}dialog button{background:white;color:var(--ink);border-color:#d1dfdf}.close{float:right;font-size:28px;border:0;background:transparent;padding:0 12px;min-height:44px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.menu-grid a{padding:14px;border:1px solid #d1dfdf;border-radius:18px;font-size:13px;display:grid;place-content:center;text-align:center}.menu-grid button{font-size:13px}.small{font-size:11px!important;color:#5d7888}audio{width:100%}.exploring-badge{color:var(--mint)}
@keyframes breathe{50%{filter:brightness(1.15);transform:scale(1.04)}}@keyframes point{50%{translate:0 8px}}@keyframes flash{0%{opacity:.8}100%{opacity:0}}
@media(max-height:500px){.hud{top:max(8px,env(safe-area-inset-top))}.round{width:48px;height:48px}.mission h1{font-size:14px;margin-top:3px}#stamps span{width:22px;height:22px;font-size:14px}.ribbon{top:80px}.ribbon figure{width:59px;padding:3px 3px 8px}.status{top:74px;font-size:12px;padding:7px 13px}.dock{bottom:max(12px,env(safe-area-inset-bottom))}.direction{width:60px;height:54px}.camera{min-height:54px;min-width:126px;font-size:15px}.camera svg{width:35px;height:28px}.camera-hint{bottom:67px;font-size:11px}.guide{bottom:77px}.guide.to-left,.guide.to-right{bottom:73px}.distance-controls{right:max(18px,env(safe-area-inset-right));top:46%}.distance-controls button{height:70px;width:62px;font-size:11px}.tree-icon.big{font-size:31px}.tree-icon{font-size:23px;line-height:28px}.intro-card{padding:20px 24px;width:350px}.intro-card h2{font-size:40px;margin-bottom:12px}.intro-card>p:not(.eyebrow){margin-bottom:16px;font-size:12px}.intro-links{margin-top:5px}.intro-card .primary{min-height:48px;font-size:16px}.compare-card{padding:17px 22px;width:min(620px,94%)}.compare-card h2{font-size:24px;margin-bottom:10px}.compare-card .eyebrow{margin-bottom:6px}.photo-pair{max-width:430px;margin-bottom:12px;gap:14px}.photo-pair figure{max-width:195px;padding:5px}.photo-pair img{aspect-ratio:2.1}.photo-pair figcaption{margin:4px 0 0;font-size:10px}.comparison-actions button{min-height:48px;padding:8px 18px;font-size:14px}.comparison-actions button span{font-size:25px}.compare-feedback{margin-top:9px;font-size:12px}.finish-card{padding:16px 24px}.medal{width:46px;height:46px;font-size:33px;margin-bottom:8px}.finish-card h2{font-size:27px;margin:6px 0 12px}.discovery-cards>div{padding:8px;gap:3px}.discovery-cards span{font-size:25px}.finish-card>p:not(.eyebrow){font-size:12px;margin:10px 0}.end-actions .primary{min-height:46px;padding:9px 15px}.finish-card .eyebrow{margin-bottom:3px}}
@media(max-width:680px) and (orientation:landscape){.intro-card{margin-left:39%;width:310px}.intro-card h2{font-size:35px}.compare-card{width:92%}.photo-pair img{aspect-ratio:2.5}.photo-pair{max-width:365px}.photo-pair figure{max-width:170px}.compare-card h2{font-size:21px}.compare-card{padding:12px 20px}.distance-controls{gap:5px}.distance-controls button{width:54px}.ribbon{gap:4px}.ribbon figure{width:48px}.end-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.picture-tree{display:inline-block;flex:none;width:36px;height:39px;background:url(assets/luna/scenery.png) -1.4px -1.4px/73.3px 73.3px no-repeat}.picture-tree.big{width:42px;height:45px;background-size:85.5px 85.5px;background-position:-1.6px -1.6px}.comparison-actions .picture-tree{min-width:36px}.discovery-cards .picture-tree{margin-bottom:1px}
