:root{--cream:#fff8ed;--plum:#62456f;--rose:#aa5872;--line:#d9c4db;--ink:#655365;--gold:#dba948}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 16% 14%,#f6e0df 0,transparent 48%),radial-gradient(ellipse at 85% 90%,#e8dfed,transparent 55%),var(--cream);color:var(--plum);font-family:Georgia,'Times New Roman',serif;min-height:100dvh}.adventure{max-width:1500px;margin:auto;padding:18px 24px 12px}.back{position:absolute;top:18px;left:24px;color:var(--plum);text-decoration:none;font-size:20px;min-height:44px;padding:8px 12px;z-index:2}.heading{text-align:center}.emblem{font-size:22px;color:#caab66;height:36px}.emblem span{font-size:32px}.heading h1{font-size:clamp(32px,4vw,54px);font-weight:400;margin:0 0 4px}.heading p{font-size:clamp(16px,2vw,23px);margin:0 0 16px}button{font:inherit;color:var(--plum);cursor:pointer;min-height:46px;border:1.5px solid var(--line);border-radius:16px;background:#fff9f0;padding:10px 20px;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #b582c5;outline-offset:4px}button:hover{filter:brightness(.98)}button:disabled{cursor:default;opacity:.55}button[hidden],[hidden]{display:none!important}.map-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:16px}.map-tabs button{min-width:180px;font-size:20px}.map-tabs button[aria-pressed=true]{background:#fff0ce;border-color:#c9a453;box-shadow:0 0 0 3px #e8ca8a70}.map-tabs span[aria-hidden]{margin-right:6px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,25%);align-items:stretch;gap:18px}.map-wrap{position:relative;align-self:center}.map{position:relative;width:100%;aspect-ratio:3/2;background:#f4e7cf;border:2px solid #ccb5c8;border-radius:24px;overflow:hidden;box-shadow:0 3px 10px #79575c12}.map>img#map-art{width:100%;height:100%;display:block;object-fit:fill}.landmark{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;min-width:44px;min-height:44px;border-radius:45%;z-index:2}.landmark:hover{background:#ffe39c25;filter:none}.landmark:focus-visible{outline:3px solid #9264ac;outline-offset:-2px;background:#ffdf8a30}.landmark.found:after{content:'✓';position:absolute;right:0;top:0;background:#fff7df;color:#668456;border:2px solid #8d9d6a;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font:700 19px sans-serif;box-shadow:0 1px 4px #3b361a2f}.landmark.hinted{outline:4px solid #eec45d;outline-offset:0;background:#fff1a92a;animation:hint 1.4s ease-in-out infinite}.landmark.celebrate{animation:discovery .6s ease-out}.map #travelers{position:absolute;width:12%;height:auto;max-height:22%;object-fit:contain;transform:translate(-50%,-65%);transition:left .8s ease,right .8s ease,top .8s ease;z-index:3;pointer-events:none;filter:drop-shadow(0 3px 2px #62552c30)}#treasure-glow{position:absolute;font-size:clamp(32px,6vw,72px);transform:translate(-50%,-65%);color:#fff1a4;text-shadow:0 0 10px #da9e24;pointer-events:none;display:none;z-index:4}.map.complete #treasure-glow{display:block;animation:discovery 1s ease-out}#loading,#art-error{position:absolute;inset:30% 10% auto;background:#fff8edef;text-align:center;padding:16px;border-radius:14px;z-index:5}.clue-card{border:2px solid var(--line);border-radius:24px;background:#fff9efc9;padding:18px;text-align:center;display:flex;flex-direction:column;justify-content:center}.clue-card h2{font-size:clamp(23px,2.4vw,32px);font-weight:400;margin:0 0 12px}#clue-picture{display:block;width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;mask-image:radial-gradient(ellipse 75% 80%,#000 45%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 75% 80%,#000 45%,transparent 76%)}#clue-text{font-size:clamp(19px,2.2vw,29px);line-height:1.25;margin:12px 0 16px}.hear,#hint{color:white;background:linear-gradient(#baa1ce,#a78abf);border-color:#a58bb8;box-shadow:0 2px 4px #765b8c20}.hear{width:100%;font-size:20px}.stars{color:var(--gold);font-size:32px;letter-spacing:4px;line-height:1.2;margin-top:16px}#progress{font:15px/1.4 ui-rounded,'Avenir Next',sans-serif;margin:6px 0}#next-map{background:#fff0cf;border-color:#d7b35f;margin-top:12px;width:100%}.controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:14px 0 0}.controls button{min-width:150px;font-size:21px}#restart{background:var(--rose);color:white;border-color:var(--rose)}#feedback{font-size:19px;text-align:center;line-height:1.3;margin:0}.footnote{text-align:center;font-size:14px;margin:10px 0 0;color:#8d7793}@keyframes hint{50%{box-shadow:0 0 0 8px #ffde8120}}@keyframes discovery{0%{scale:.85}55%{scale:1.12}100%{scale:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1000px) and (max-height:850px){.adventure{max-width:1200px;padding-top:10px}.heading h1{font-size:40px}.heading p{font-size:18px;margin-bottom:10px}.emblem{height:30px}.map-tabs{margin-bottom:10px}.map-tabs button{min-height:44px;padding:8px 14px;font-size:18px}.workspace{max-width:1100px;margin:auto}.controls{max-width:1100px;margin:12px auto 0}.clue-card{padding:14px}#clue-text{font-size:23px}.stars{margin-top:10px}}
@media(max-width:850px),(orientation:portrait){.adventure{max-width:1050px;padding:16px}.back{left:10px;top:10px;font-size:17px}.heading h1{font-size:42px}.heading p{font-size:20px}.workspace{grid-template-columns:1fr;gap:12px}.map{border-radius:20px}.clue-card{display:grid;grid-template-columns:30% 1fr;gap:14px;padding:12px 18px;align-items:center}.clue-card h2{font-size:23px;margin:0}.clue-top{display:flex;flex-direction:column;align-items:center}#clue-picture{max-width:180px}#clue-text{font-size:23px;margin:0 0 10px}.hear{max-width:280px;width:80%;font-size:18px;padding:8px}.stars{font-size:26px;margin-top:8px}#progress{margin:3px 0}.controls button{min-width:120px;font-size:18px}#feedback{font-size:18px}.footnote{margin-top:8px}}
@media(max-width:550px){.adventure{padding:8px 10px 12px}.back{position:relative;display:inline-block;top:auto;left:auto;font-size:16px;min-height:36px;padding:4px 2px}.emblem{display:none}.heading h1{font-size:32px;margin-top:-2px}.heading p{font-size:15px;margin:4px 0 12px}.map-tabs{gap:6px;margin-bottom:10px}.map-tabs button{min-width:0;flex:1;font-size:14px;line-height:1.2;padding:8px 4px;border-radius:12px}.map-tabs span[aria-hidden]{display:block;margin:0 0 3px;font-size:18px}.workspace{gap:10px}.map{border-radius:16px}.clue-card{grid-template-columns:29% 1fr;gap:8px;padding:10px;border-radius:17px}.clue-card h2{font-size:16px;margin:0 0 3px}#clue-picture{width:100%;max-height:80px}#clue-text{font-size:18px;margin:0 0 8px}.hear{min-height:44px;padding:7px;font-size:15px;width:100%}.stars{font-size:22px;letter-spacing:2px;margin-top:5px}#progress{font-size:12px}#next-map{font-size:15px;padding:7px;margin-top:6px}.controls{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.controls button{font-size:16px;min-width:0;padding:9px}#feedback{grid-column:1/-1;grid-row:1;font-size:15px;min-height:38px;display:grid;place-items:center}.footnote{font-size:12px}.landmark.found:after{width:21px;height:21px;font-size:14px}.map #travelers{width:14%}}

@media(min-width:551px) and (max-width:850px){.adventure{padding-top:10px}.heading h1{font-size:36px}.heading p{font-size:18px;margin-bottom:10px}.emblem{height:30px}.map-tabs{margin-bottom:10px}.clue-card{padding:10px 16px}#clue-text{font-size:21px}.clue-card h2{font-size:21px}.stars{margin-top:5px}}

.voice-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}.voice-controls button{min-height:44px;padding:9px 20px;border:1px solid #bfa16a;border-radius:18px;background:#fff8ed;color:#59374f;font:inherit;cursor:pointer}.voice-controls #start-voice{background:#a95671;color:white;border-color:#a95671}.voice-controls button[aria-pressed="true"]{background:#f7e8b9}.voice-controls button:focus-visible{outline:3px solid #805a95;outline-offset:3px}.voice-controls button[hidden]{display:none}@media(max-width:550px){.voice-controls{margin-bottom:10px}.voice-controls button{font-size:15px;padding:8px 14px}}
