@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{font-family:'Montserrat',Arial,sans-serif;color:#fff8ec;font-synthesis:none;font-size:16px;--glass:rgba(20,39,42,.88);--muted:#c5d0cb;--accent:#ffc184}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#1c3339}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,canvas:focus-visible,a:focus-visible{outline:3px solid #ffc184;outline-offset:4px}button{border:0}#game,#scene{width:100%;height:100%;height:100dvh;display:block}#game{position:relative;overflow:hidden}#scene{touch-action:none;outline-offset:-5px}.hud{position:absolute;z-index:2}.top{top:30px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.brand{display:flex;gap:14px;align-items:center;text-shadow:0 2px 15px #243e4a70}.brand-icon{display:grid;place-content:center;width:48px;height:52px;background:#e89b61;border-radius:13px;color:#24353a;font-family:'Montserrat',Arial,sans-serif;font-size:35px;font-weight:800;position:relative;text-shadow:none}.brand-icon span{position:absolute;right:7px;top:5px;font-size:20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.2px}.brand h1{font-family:'Montserrat',Arial;font-weight:600;font-size:21px;letter-spacing:-.7px;margin:6px 0 0}.brand h1 span{margin:0 9px;color:#edcda7}.icon-button{pointer-events:auto;background:var(--glass);width:42px;height:42px;border-radius:50%;font-size:20px;border:1px solid #e4e6d42e}.discoveries{right:34px;top:96px;width:270px;padding:22px;border:1px solid #fff2;border-radius:18px;background:var(--glass);box-shadow:0 10px 50px #162d3414;backdrop-filter:blur(20px)}.section-title{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.6px;color:var(--muted);font-weight:600}.section-title #count{color:var(--accent);letter-spacing:1px}.discoveries h2{font-size:18px;letter-spacing:-.4px;font-weight:500;margin:12px 0 18px}.destination{background:transparent;width:100%;padding:11px 0;display:flex;align-items:center;gap:12px;text-align:left;border-top:1px solid #ffffff14}.destination .number{display:grid;place-items:center;border:1px solid #fff4;border-radius:50%;width:29px;height:29px;flex-shrink:0;font-size:12px;color:#d3dad0}.destination.selected .number{background:var(--accent);border-color:var(--accent);color:#233638}.destination.done .number{background:#abc6a9;color:#1d3330;border-color:#abc6a9}.destination .name{font-size:14px}.destination small{display:block;margin-top:3px;color:#c1cac4;font-size:12px}.destination .arrow{margin-left:auto;font-size:18px;color:var(--accent)}#questNote{font-size:12px;line-height:1.5;color:#bcc8c3;margin:15px 0 0}.location{left:34px;bottom:101px;text-shadow:0 2px 18px #142d36}.location .eyebrow{color:#ffe1b7}.location h2{font-family:'Montserrat',Arial;font-size:clamp(24px,3vw,39px);font-weight:500;letter-spacing:-1.5px;margin:9px 0}.location p{font-size:14px;margin:0;color:#f5ead9}.minimap{right:34px;bottom:87px;width:169px;height:194px;border:1px solid #fff3;border-radius:15px;padding:12px;background:var(--glass);backdrop-filter:blur(20px)}.map-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;color:#c7d1c6}.minimap svg{width:100%;height:152px}.bottom{bottom:0;left:0;width:100%;padding:22px 34px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(transparent,#142c367d);font-size:12px}.controls{display:flex;gap:22px;align-items:center}.controls span{display:flex;align-items:center;gap:7px}kbd{font-family:inherit;font-size:12px;display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;background:#152d3666;border:1px solid #fff4;border-radius:5px;color:#fff}#about{background:transparent;font-size:12px;color:#e8e6d9;text-align:right;padding:8px 0}.interaction{bottom:104px;left:50%;transform:translateX(-50%)}.interaction button{padding:12px 16px;display:flex;align-items:center;gap:12px;border:1px solid #ffe3ad70;border-radius:12px;background:#203a39ed;box-shadow:0 8px 30px #15282b44;font-size:14px}.interaction kbd{background:var(--accent);color:#213a38;min-width:27px;border:0;font-weight:700}.world-label{position:absolute;pointer-events:none;display:flex;align-items:center;gap:7px;background:#1a353bd9;white-space:nowrap;border:1px solid #fff5;border-radius:30px;padding:6px 11px 6px 6px;font-size:12px;box-shadow:0 4px 20px #0002;transform:translate(-50%,-100%)}.world-label i{width:23px;height:23px;display:grid;place-items:center;font-style:normal;border-radius:50%;background:var(--accent);color:#193236}.touch-pad{display:none;left:22px;bottom:100px;text-align:center;touch-action:none}.touch-pad button{width:46px;height:46px;margin:3px;background:#1a353ba8;border:1px solid #fff5;border-radius:10px;font-size:21px;user-select:none;-webkit-user-select:none}.touch-pad button:active{background:#e5aa72;color:#182d32}dialog{color:#243c3e;background:#fcf8ef;border:1px solid #fff8;padding:30px;border-radius:22px;width:min(460px,calc(100% - 30px));max-height:85dvh;box-shadow:0 30px 120px #081e3890;overflow:auto}dialog::backdrop{background:#132d3680;backdrop-filter:blur(6px)}.close{position:absolute;right:13px;top:12px;width:34px;height:34px;border-radius:50%;background:#263d3e0e;font-size:24px}.dialog-eyebrow{font-size:12px;color:#7b5e3f;letter-spacing:2px;margin:10px 0}.dialog-title{font-family:'Montserrat',Arial;font-size:28px;letter-spacing:-1px;line-height:1.2;margin:12px 0 18px;padding-right:10px}.dialog-copy{font-size:16px;line-height:1.7;color:#456060}.dialog-copy a,dialog a{color:#345e65}.dialog-img{width:100%;height:185px;object-fit:cover;border-radius:10px;margin:5px 0}.credit{font-size:12px;color:#5c6c65;line-height:1.5}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 18px;border-radius:10px;background:#243f40;color:#fff5e8;margin-top:24px;text-align:left}.help-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #1c3c341a;font-size:14px}.help-row kbd{background:#34534f;color:white}#loading,#error{position:absolute;inset:0;z-index:10;background:#203b43;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;padding:25px}#loading span:last-child{font-size:14px;color:#b9c8c6}#error h1{font-size:24px}#error p{max-width:430px;line-height:1.6}#error button{background:#ffc184;color:#203b43;padding:12px 20px;border-radius:8px}.loader{width:28px;height:28px;border:2px solid #ffffff30;border-top-color:#ffbf84;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}@media(pointer:coarse){.touch-pad{display:block}.controls{display:none}.location{bottom:300px}.interaction{bottom:110px;left:auto;right:22px;transform:none}}@media(max-width:700px){.top{top:20px;left:20px;right:20px}.brand h1{font-size:16px;letter-spacing:-.3px}.brand-icon{width:39px;height:43px;font-size:28px}.brand-icon span{font-size:17px}.eyebrow{font-size:10px;letter-spacing:1.6px}.discoveries{top:86px;right:18px;width:185px;padding:15px;border-radius:13px}.discoveries h2{font-size:15px;margin:10px 0}.destination{gap:8px;padding:8px 0}.destination .name{font-size:13px}.destination small{font-size:11px}.destination .number{width:25px;height:25px}.section-title{font-size:10px}.destination .arrow{display:none}#questNote{display:none}.minimap{right:18px;bottom:168px;width:110px;height:130px;padding:9px}.minimap svg{height:95px}.map-heading{font-size:9px}.location{left:22px;bottom:235px;max-width:220px}.location h2{font-size:26px;letter-spacing:-.8px}.location p{font-size:12px;line-height:1.5;max-width:175px}.bottom{padding:15px 20px;justify-content:flex-end}.controls{display:none}#about{font-size:10px}.touch-pad{bottom:65px;left:15px}.interaction{bottom:80px;right:15px;left:auto;transform:none;max-width:calc(100% - 180px)}.interaction button{font-size:12px;padding:10px;gap:7px}.interaction button>span:last-child{display:none}.world-label{font-size:11px}.brand h1 span{margin:0 4px}}@media(max-height:600px){.discoveries{top:85px;width:210px;padding:14px}.discoveries h2,#questNote{display:none}.destination{padding:6px 0}.location{bottom:85px}.location h2{font-size:26px}.minimap{display:none}.interaction{bottom:90px}.touch-pad{bottom:45px}}@media(prefers-reduced-motion:reduce){.loader{animation:none}}
#destinationSelect{display:block;pointer-events:auto;font:600 19px 'Montserrat',Arial;color:#fff8ec;background:#203a3bba;border:1px solid #fff3;border-radius:8px;padding:7px 27px 7px 10px;margin-top:5px;max-width:calc(100vw - 140px);cursor:pointer}#destinationSelect option{background:#203a3b;color:#fff8ec}#destinationSelect:focus-visible{outline:3px solid #ffc184;outline-offset:3px}@media(max-width:700px){#destinationSelect{font-size:13px;padding:7px 20px 7px 8px;max-width:calc(100vw - 125px)}}

.taull-photo{height:260px;object-fit:contain;background:#e3e5dc}
.experience-panel{left:34px;top:126px;width:270px;padding:19px;background:var(--glass);border:1px solid #fff3;border-radius:16px;backdrop-filter:blur(12px)}.experience-panel .eyebrow{font-size:10px;color:#c6d9cb}.experience-panel h2{font-size:18px;font-weight:500;margin:9px 0}.experience-panel p{font-size:13px;color:#cfdbd3;line-height:1.55;margin:10px 0 15px}.experience-actions{display:flex;gap:7px;flex-wrap:wrap}.experience-actions button{background:#eec190;color:#213e40;border-radius:8px;padding:10px;font-size:12px;font-weight:600}.experience-actions button:last-child{background:#ffffff14;color:#fff4dd;border:1px solid #fff3}.experience-actions b{font-weight:500;margin-left:3px}.experience-label.guide-label i{background:#9edacb}.experience-label.treasure-label i{background:#f2c885}.experience-toast{left:50%;bottom:165px;transform:translateX(-50%);background:#183c3fee;border:1px solid #ffffff40;border-radius:10px;padding:12px 18px;font-size:14px;max-width:80%;text-align:center;z-index:5}.story-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}.story-tabs button{padding:8px 10px;background:#e6e9e0;color:#34534d;font-size:12px;border-radius:7px}.story-tabs button[aria-pressed=true]{background:#294b48;color:#fff5e7}.voice-controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.voice-controls button{background:#2b5750;border-radius:8px;padding:11px 14px;color:white;font-size:14px}.voice-controls span{font-size:12px;color:#527168}.story-paragraph{font-size:16px;line-height:1.75;color:#365453;border-left:3px solid transparent;padding-left:12px;margin:15px 0}.story-paragraph.spoken{border-left-color:#bd824c;background:#ead6b52e}.reward-note{font-size:13px;line-height:1.6;background:#eee5d3;border-radius:8px;padding:12px;color:#655735}.reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.reward-card{padding:16px;border:1px solid #bacdbf;border-radius:12px;background:#eaf1e8}.reward-card.locked{background:#f0efea;border-style:dashed;border-color:#d0d2c9}.reward-card-top{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:12px;font-weight:600}.demo-tag{font-size:9px;letter-spacing:1px;background:#e6d7b9;color:#635030;border-radius:4px;padding:3px 5px}.reward-discount{display:block;font:600 32px 'Montserrat',Arial;margin-top:12px;letter-spacing:-1px}.reward-card p{font-size:13px;line-height:1.5;color:#45605b;margin:9px 0}.reward-card code{display:block;font:600 11px monospace;letter-spacing:.5px;padding:8px;background:#fff9;border-radius:5px;overflow-wrap:anywhere}.reward-card small{display:block;font-size:11px;color:#5c695e;margin-top:10px;line-height:1.45}.wallet-link{background:transparent;color:#285749;text-decoration:underline;padding:14px 0;font-size:14px}.has-experience #info{width:min(540px,calc(100% - 30px))}.has-experience .interaction{max-width:320px}.has-experience .interaction button{text-align:left}@media(max-width:900px){.experience-panel{left:22px;width:215px;padding:14px}.experience-panel p{font-size:12px}.experience-panel h2{font-size:16px}}@media(max-width:700px){.experience-panel{top:89px;left:15px;width:145px;padding:10px}.experience-panel h2,.experience-panel p,.experience-panel .eyebrow{display:none}.experience-actions{gap:6px}.experience-actions button{width:100%;font-size:11px;padding:9px 5px}.has-experience .discoveries{width:168px}.has-experience .location{bottom:260px}.has-experience .interaction{max-width:calc(100% - 176px)}.reward-grid{grid-template-columns:1fr}.has-experience #info{padding:23px}.experience-toast{bottom:200px;font-size:12px}}@media(max-height:600px){.experience-panel{top:94px;padding:12px}.experience-panel h2,.experience-panel p{display:none}.experience-panel .eyebrow{display:none}}
.demo-tag{font-size:12px}.reward-card small,.reward-card code{font-size:12px}.experience-panel .eyebrow{font-size:12px}@media(max-width:700px){.experience-panel{width:min(145px,calc((100vw - 48px)*.42))}.experience-actions button{font-size:12px}.has-experience .discoveries{width:min(168px,calc((100vw - 48px)*.58))}}

/* Adventure palette from the approved character and landscape concept. */
.has-experience{--glass:#fff1d9f2;--muted:#765940;--accent:#f6bd4e;color:#50321d}
.has-experience .brand{text-shadow:none;background:#fff1d9ed;padding:12px 18px;border-radius:24px;color:#50321d}
.has-experience .brand-icon{background:#f9ca65;color:#644122}
.has-experience #destinationSelect{background:transparent;color:#50321d;border-color:#c3976255;font-size:15px;font-family:Montserrat,Arial,sans-serif}
.has-experience .discoveries,.has-experience .experience-panel{border:1px solid #fff7e5;box-shadow:0 8px 28px #79512022;border-radius:24px}
.has-experience .experience-panel{top:145px}
.has-experience .experience-panel p,.has-experience .experience-panel .eyebrow,.has-experience .destination small,.has-experience #questNote,.has-experience .map-heading{color:#765940}
.has-experience .experience-panel h2,.has-experience .discoveries h2{font-weight:700}
.has-experience .experience-actions button,.has-experience .experience-actions button:last-child{color:#50321d;background:#ffcf65;border:1px solid #d99c3544;font-size:14px;border-radius:16px}
.has-experience .destination{border-color:#78502c22}.has-experience .destination .number{color:#674721;border-color:#c8a36b}.has-experience .destination .arrow,.has-experience #count{color:#956515}
.has-experience .world-label{background:#fff1d9ed;color:#50321d;border-color:#fff6dc;font-size:14px}
.has-experience .location{background:#fff1d9ed;text-shadow:none;padding:16px 22px;border-radius:22px}.has-experience .location .eyebrow,.has-experience .location p{color:#765940}.has-experience .location h2{font-weight:700;font-size:30px}
.has-experience .interaction button{background:#ffcf65;color:#50321d;border-color:#ffe8a6;border-radius:24px;font-weight:600}
.has-experience .bottom{color:white}.has-experience .minimap{border-radius:22px}.has-experience .icon-button{color:#50321d}
@media(max-width:700px){.has-experience .brand{padding:8px 10px;border-radius:16px}.has-experience .brand-icon{display:none}.has-experience #destinationSelect{font-size:12px;max-width:calc(100vw - 115px)}.has-experience .experience-panel{top:auto;bottom:16px;left:16px;right:16px;width:auto;padding:12px}.has-experience .experience-panel h2,.has-experience .experience-panel p,.has-experience .experience-panel>.eyebrow{display:none}.has-experience .experience-actions{justify-content:center}.has-experience .location{display:none}.has-experience .discoveries{top:110px;width:174px;padding:12px}.has-experience .discoveries h2{font-size:14px}.has-experience .minimap{bottom:190px}.has-experience .touch-pad{bottom:86px}.has-experience .interaction{bottom:104px}.has-experience .bottom{display:none}}

.touch-pad button[data-move=run]{width:104px;font-size:14px;font-weight:700}.has-experience .touch-pad button{background:#fff0d5e8;color:#50321d;border-color:#d6ab68}.has-experience .touch-pad button:active{background:#ffcf65}

.place-guide-panel{top:140px}@media(max-width:700px){.place-guide-panel{top:auto;bottom:18px;left:18px;right:18px;width:auto;padding:10px}.place-guide-panel h2,.place-guide-panel p,.place-guide-panel>.eyebrow{display:none}.place-guide-panel .experience-actions{justify-content:center}.place-guide-panel .experience-actions button{font-size:14px}.touch-pad{bottom:100px}}

.game-map-link{position:absolute;right:58px;top:0;pointer-events:auto;display:flex;align-items:center;gap:9px;background:#fff1d9f2;color:#3c5039;border:1px solid #fff6df;border-radius:12px;padding:11px 15px;text-decoration:none;font:600 12px Montserrat,Arial,sans-serif;box-shadow:0 5px 18px #263d2b18}.game-map-link:hover{background:#ffe0a0}.game-map-link span{font-size:16px;line-height:1}@media(max-width:700px){.game-map-link{right:0;top:56px;padding:8px 12px}.discoveries,.has-experience .discoveries{top:126px}}@media(max-width:700px) and (max-height:600px){.game-map-link{right:58px;top:0}.discoveries,.has-experience .discoveries{top:96px}}

.walk-actions{display:flex!important;justify-content:center}.touch-pad .walk-actions button{width:72px;font-size:14px;font-weight:700}.touch-pad button[aria-pressed=true]{background:#e5aa72;color:#182d32}.touch-pad button[data-jump][aria-disabled=true]{opacity:.65}@media(max-width:700px){.location{bottom:278px}.touch-pad .walk-actions button{width:70px}}

.icgc-tools{left:34px;top:414px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.icgc-tools button{background:#fff1d9f2;color:#50321d;border:1px solid #fff6df;border-radius:12px;padding:12px 17px;font-size:14px;font-weight:600;min-height:44px}.icgc-tools a{color:#fff;font-size:12px;text-decoration:underline;text-shadow:0 1px 4px #000;background:#173232a8;padding:4px 7px;border-radius:3px}.terrain-overview .discoveries,.terrain-overview .experience-panel,.terrain-overview .minimap,.terrain-overview .location,.terrain-overview .touch-pad,.terrain-overview #labels,.terrain-overview .interaction,.terrain-overview .controls{display:none!important}.terrain-overview .icgc-tools{top:145px}.guide-dialogue-open .icgc-tools{display:none}@media(max-width:700px){.touch-pad{display:block}.has-experience .touch-pad{bottom:142px}.has-experience .interaction{bottom:145px}.icgc-tools,.terrain-overview .icgc-tools{left:20px;top:126px;max-width:160px}.icgc-tools button{padding:11px 12px}.icgc-tools a{font-size:11px}}@media(max-height:600px) and (min-width:701px){.icgc-tools{top:auto;bottom:155px}}
