:root{--ink:#14150f;--deep:#171a12;--panel:#22261b;--panel2:#292e20;--gold:#d9b75f;--gold2:#f1d990;--paper:#eee7d2;--muted:#aaa994;--line:#424936;--green:#94b96f;--red:#d37a68}*{box-sizing:border-box}html{background:var(--ink)}body{margin:0;color:var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at 20% -10%,rgba(100,118,63,.32),transparent 34%),radial-gradient(circle at 90% 35%,rgba(156,116,48,.12),transparent 28%),linear-gradient(180deg,#10120d,#191c14 55%,#11130e);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.05;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#fff 4px)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.shell{max-width:560px;margin:auto;min-height:100vh;padding:24px 20px 42px;position:relative}.hero{display:flex;flex-direction:column;justify-content:center;min-height:100svh}.heroMark{width:54px;height:54px;display:grid;place-items:center;border:1px solid #6e613c;border-radius:50%;color:var(--gold);font-size:25px;margin-bottom:22px;box-shadow:0 0 0 7px rgba(217,183,95,.05)}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:900;margin-bottom:9px}h1,h2{font-family:Georgia,Times New Roman,serif}h1{font-size:49px;line-height:.96;margin:5px 0 22px;letter-spacing:-.025em}h1 span{color:var(--gold2);font-style:italic}h2{font-size:31px;line-height:1.02;margin:9px 0 17px}h3{font-size:22px;line-height:1.3;margin:10px 0 18px}.lead{font-size:18px;line-height:1.58;color:#d8d3c4;margin:0 0 22px}.inventory,.lock,.missionCard,.quiz,.rankCard,.story{background:linear-gradient(145deg,rgba(38,43,30,.96),rgba(28,31,22,.96));border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 55px #0005}.missionCard{padding:19px;margin:7px 0 19px}.chapterRow,.inventoryTitle,.missionTop{display:flex;justify-content:space-between;align-items:center}.missionTop{font-size:11px;letter-spacing:.16em;color:var(--gold);font-weight:900;border-bottom:1px solid #3c4232;padding-bottom:13px}.missionTop b{color:#e9e2cf;letter-spacing:0}.missionStats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:18px 0}.missionStats div{text-align:center;border-right:1px solid #3d4333}.missionStats div:last-child{border:0}.missionStats strong{font-family:Georgia,serif;font-size:27px;color:var(--gold2);display:block}.missionStats span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.rule{display:flex;gap:11px;align-items:flex-start;margin:10px 0}.rule span{color:var(--gold);width:22px}.rule p{margin:0;color:#c9c5b7;font-size:13px;line-height:1.45}.primary{width:100%;border:0;border-radius:14px;padding:16px 18px;background:linear-gradient(180deg,#e1c36f,#cda64d);color:#17170e;font-weight:950;font-size:16px;cursor:pointer;box-shadow:0 8px 24px rgba(195,154,61,.18)}.primary:active{transform:translateY(1px)}.ghost,.hint{width:100%;background:transparent;color:var(--gold2);border:0;padding:15px;cursor:pointer;font-weight:750}.tiny{font-size:11px;color:#838776;text-align:center;line-height:1.5;margin-top:16px}.toggle{display:flex;gap:9px;align-items:center;color:#bdb9aa;font-size:13px;margin-top:12px}.toggle input{width:18px;height:18px;accent-color:var(--gold)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;padding-top:6px}.topbar b{font-family:Georgia,serif;font-size:18px}.scoreSmall{background:#2b3022;border:1px solid #424936;border-radius:999px;padding:8px 12px;color:var(--gold2);font-weight:900;min-width:74px;text-align:center}.scoreSmall span{margin-right:5px;color:var(--gold)}.progress{height:5px;background:#2a2f22;border-radius:5px;margin:18px 0 24px;overflow:hidden;border:1px solid #343a2b}.progress i{display:block;height:100%;background:linear-gradient(90deg,#aa8b42,var(--gold2));border-radius:5px;transition:width .35s ease}.story{padding:21px;margin:0 0 13px;position:relative;overflow:hidden}.story:after{content:"✦";position:absolute;right:-9px;bottom:-35px;font-family:Georgia,serif;font-size:100px;color:#fff;opacity:.025}.chapter{color:#9faa7a;text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:900}.chapterNumber{font-family:Georgia,serif;color:#5a6149;font-size:22px}.lock p,.story p{color:#cbc7b8;line-height:1.62;margin-bottom:0}.inventory{padding:13px 15px;margin:0 0 13px}.inventoryTitle span{font-size:10px;letter-spacing:.15em;font-weight:900;color:var(--gold)}.inventoryTitle b{font-size:12px;color:#a9ad98}.inventoryItems{display:flex;gap:7px;overflow:auto;padding-top:10px;scrollbar-width:none}.inventoryItems::-webkit-scrollbar{display:none}.inventoryItems span{white-space:nowrap;background:#303526;border:1px solid #444b37;border-radius:999px;padding:7px 10px;font-size:11px;color:#ddd7c4}.lock,.quiz{padding:21px;margin:0 0 15px}.lock{text-align:center}.pin,.seal{font-size:44px;color:var(--gold);margin-bottom:7px}.distance{background:#2b3022;border:1px solid #414735;border-radius:13px;padding:11px;margin:16px 0;display:flex;align-items:center;justify-content:center;gap:9px}.distance small{font-size:9px;letter-spacing:.14em;color:#a0a58e}.distance strong{color:var(--gold2);font-size:19px}.unlocked{font-size:10px;letter-spacing:.14em;color:#a8cf7b;font-weight:950;margin-bottom:10px}.challengeBar{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:8px 0 15px}.challengeBar>div{background:#2a2f21;border:1px solid #3d4431;border-radius:12px;padding:10px 12px}.challengeBar small{display:block;font-size:9px;letter-spacing:.12em;color:#959a85;margin-bottom:5px}.challengeBar b{font-size:15px;color:var(--gold2)}.challengeBar .lost{color:#4d5146}.answers{display:grid;grid-gap:9px;gap:9px}.answers button{min-height:56px;padding:11px 13px;text-align:left;border-radius:13px;border:1px solid #454c37;background:#292e21;color:#eee8d7;font-size:14px;display:flex;align-items:center;gap:11px;cursor:pointer}.answers button>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#343a2a;color:var(--gold2);font-size:12px;font-weight:900;flex:none}.answers button:hover{border-color:#676f50}.answers button.good{border-color:#86b567;background:#26391f}.answers button.good>span{background:#476b36;color:#fff}.answers button.bad{border-color:#b66d60;background:#3a2420}.answers button.bad>span{background:#7d4239;color:#fff}.wrongMsg{display:flex;justify-content:space-between;gap:10px;background:#3a2420;border:1px solid #70453d;border-radius:12px;padding:11px 12px;margin-top:11px;color:#e6a498;font-size:12px}.result{border-top:1px solid #3e4433;margin-top:18px;padding-top:18px;text-align:center}.resultIcon{width:42px;height:42px;display:grid;place-items:center;margin:0 auto 9px;border-radius:50%;background:#35452b;color:#bada92;font-size:22px;font-weight:900}.result>b{font-family:Georgia,serif;font-size:21px}.result p{color:#c9c5b7;line-height:1.55}.result strong{color:var(--gold2)}.hint{margin-top:6px}.hint.used{color:#b9b49e}.hintText{background:#2b3022;border:1px solid #424937;border-radius:12px;padding:13px;color:#d8d1bc;line-height:1.5;font-size:13px;margin:0}.error{color:#e49384}footer{padding-top:2px;opacity:.8}.finish{text-align:center}.seal{width:68px;height:68px;border:1px solid #736540;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 0 0 8px rgba(217,183,95,.04)}.finalScore{margin:4px 0 18px}.finalScore strong{font-family:Georgia,serif;font-size:76px;line-height:.9;color:var(--gold2);display:block}.finalScore span{font-size:13px;color:#9fa28e}.rankCard{padding:15px;margin:0 0 12px}.rankCard small{font-size:9px;letter-spacing:.16em;color:#999e88;display:block;margin-bottom:5px}.rankCard b{font-family:Georgia,serif;font-size:22px;color:var(--gold2)}.summaryGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:0 0 14px}.summaryGrid div{background:#24281d;border:1px solid #3d4432;border-radius:14px;padding:12px 7px}.summaryGrid strong{font-family:Georgia,serif;font-size:25px;color:var(--gold2);display:block}.summaryGrid span{font-size:9px;color:#9ca08b;display:block;margin-top:3px}.bookQuote{font-family:Georgia,serif;font-style:italic;color:#c8c0aa;line-height:1.55;padding:17px 15px;border-left:2px solid #76653a;margin:0 0 18px;text-align:left;background:#1d2018}@media(max-width:380px){h1{font-size:42px}.shell{padding-left:16px;padding-right:16px}.missionStats strong{font-size:23px}}.routeBtn{width:100%;margin-top:10px;border:1px solid #535c42;border-radius:14px;padding:14px 18px;background:#2a2f22;color:#eee4c8;font-weight:850;cursor:pointer}.routePreview{margin-top:14px;padding:15px 16px;border:1px solid #3e4533;border-radius:16px;background:rgba(34,38,27,.72);text-align:left}.routePreview p{font-size:13px;line-height:1.5;color:#d3cebd;margin:12px 0 8px}.routePreview small{display:block;color:#969a87;line-height:1.45}.gpsStatus{display:flex;align-items:center;gap:11px;text-align:left;background:#272c20;border:1px solid #3e4632;border-radius:14px;padding:12px 13px;margin:14px 0 10px}.gpsStatus small{display:block;font-size:9px;letter-spacing:.13em;color:#929883;margin-bottom:3px}.gpsStatus b{font-size:14px}.gpsDot{width:11px;height:11px;border-radius:50%;background:#777;box-shadow:0 0 0 5px rgba(255,255,255,.03)}.gpsStatus.searching .gpsDot{background:#d9b75f;box-shadow:0 0 0 5px rgba(217,183,95,.1)}.gpsStatus.connected .gpsDot{background:#8fbd6b;box-shadow:0 0 0 5px rgba(143,189,107,.1)}.gpsStatus.denied .gpsDot,.gpsStatus.error .gpsDot{background:#d37a68;box-shadow:0 0 0 5px rgba(211,122,104,.1)}.mapsFlow{display:grid;grid-gap:6px;gap:6px;text-align:left;margin:14px 0;padding:12px 13px;border-radius:13px;background:#20241b;border:1px solid #3a4130}.mapsFlow b,.mapsFlow span{font-size:12px;line-height:1.4}.mapsFlow b{color:var(--gold2)}.mapsFlow span{color:#b9b6a7}.travelCard{padding:21px;margin:0 0 15px;border:1px solid #525a40;border-radius:20px;background:linear-gradient(145deg,rgba(42,47,33,.98),rgba(27,31,22,.98));box-shadow:0 20px 55px #0005}.travelCard h3{font-family:Georgia,serif;color:var(--gold2);margin-bottom:7px}.travelCard>p{color:#d0cbbb;line-height:1.5}.travelCard .travelHelp{font-size:13px;color:#aaa997;border-left:2px solid #75663d;padding-left:11px;margin:16px 0}.openingStory{margin:0 0 18px;padding:19px 18px;border-radius:18px;border:1px solid #51472f;background:linear-gradient(145deg,rgba(43,39,27,.95),rgba(27,30,22,.96));box-shadow:0 20px 50px #0004}.openingStory p{font-family:Georgia,serif;font-size:16px;line-height:1.62;color:#ddd6c4;margin:0 0 11px}.openingStory p:last-of-type{margin-bottom:13px}.openingYear{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:900;margin-bottom:12px}.openingHook{border-top:1px solid #4c4736;padding-top:13px;color:var(--gold2);font-weight:800;line-height:1.5}.startBtn{font-size:17px;padding:18px}.addressBox{border:1px solid #454c37;background:#252a1e;border-radius:12px;padding:11px 13px;margin:10px 0 14px;color:#e0dac7;font-weight:800;font-size:13px}.arrivalDistance{display:grid;text-align:center;grid-gap:2px;gap:2px;background:#22271c;border:1px solid #404732;border-radius:14px;padding:13px;margin:10px 0 14px}.arrivalDistance small{font-size:9px;letter-spacing:.15em;color:#969b86}.arrivalDistance strong{font-family:Georgia,serif;color:var(--gold2);font-size:25px}.arrivalDistance span{font-size:10px;color:#898e7c}.travelSteps{display:grid;grid-gap:8px;gap:8px;margin:15px 0;padding:13px;border:1px solid #3d4432;border-radius:14px;background:#20241a;text-align:left}.travelSteps span{display:flex;align-items:center;gap:9px;color:#c6c2b2;font-size:12px}.travelSteps b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#343a2a;color:var(--gold2);font-size:11px;flex:none}.gpsMessage{background:#3b2721;border:1px solid #724a40;border-radius:12px;padding:11px 12px;font-size:12px;line-height:1.45}.footerActions{display:flex;align-items:center;justify-content:space-between;gap:12px}.resetLink{background:transparent;border:0;color:#878b7b;font-size:11px;text-decoration:underline;cursor:pointer;padding:12px 0}.hintLocked{margin-top:12px;padding:11px 13px;border:1px dashed #3e4435;border-radius:12px;color:#777d6e;font-size:11px;text-align:center}.typedChallenge{margin:14px 0}.typedChallenge label{display:block;font-size:10px;letter-spacing:.12em;color:#969b86;font-weight:800;margin-bottom:8px}.typedRow{display:flex;gap:8px}.typedRow input{min-width:0;flex:1 1;background:#22271c;border:1px solid #49503b;border-radius:12px;padding:14px;color:#eee7d4;font-size:15px;outline:none}.typedRow input:focus{border-color:#9f8953}.typedRow button{border:1px solid #8b784a;background:#3b3525;color:#e7d28d;border-radius:12px;padding:0 13px;font-weight:800}.typedRow button:disabled{opacity:.45}.factReveal{margin:14px 0 16px;padding:13px 14px;border:1px solid #454b38;border-radius:12px;background:rgba(255,255,255,.025)}.factReveal b{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#c8aa62;margin-bottom:6px}.factReveal p{margin:0;color:#c9c9bd;font-size:13px;line-height:1.55}audio{display:none}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.introScreen{display:grid;place-items:center;min-height:100svh;overflow:hidden;isolation:isolate;text-align:center}.introScreen:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 34%,rgba(241,217,144,.12),transparent 22%),radial-gradient(circle at 50% 46%,rgba(114,130,76,.18),transparent 43%),linear-gradient(180deg,rgba(9,10,7,.1),rgba(9,10,7,.74))}.introScreen:after{content:"";position:absolute;inset:18px;z-index:-1;border:1px solid rgba(217,183,95,.17);border-radius:28px;box-shadow:inset 0 0 90px rgba(0,0,0,.58)}.introGlow{position:absolute;width:min(78vw,410px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(217,183,95,.12);box-shadow:0 0 0 34px rgba(217,183,95,.025),0 0 0 76px rgba(217,183,95,.012),0 0 110px rgba(217,183,95,.09);animation:introGlow 5s ease-in-out infinite}.introContent{width:100%;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.introMark{width:58px;height:58px;display:grid;place-items:center;margin-bottom:28px;border:1px solid rgba(217,183,95,.42);border-radius:50%;color:var(--gold2);font-size:24px;box-shadow:0 0 0 9px rgba(217,183,95,.035);animation:introMark 3.2s ease-in-out infinite}.introTitle{margin:0;font-size:clamp(48px,14vw,72px);line-height:.94;letter-spacing:-.035em;text-shadow:0 10px 38px #000}.introTitle span{display:inline-block;margin-top:8px;color:var(--gold2);font-style:italic}.introSound{height:46px;display:flex;align-items:center;justify-content:center;gap:6px;margin:42px 0 34px}.introSound i{display:block;width:3px;height:32px;border-radius:999px;background:linear-gradient(180deg,var(--gold2),#8e7539);transform-origin:center;animation:introSound 1.1s ease-in-out infinite}.introSound i:nth-child(2),.introSound i:nth-child(6){animation-delay:-.7s}.introSound i:nth-child(3),.introSound i:nth-child(5){animation-delay:-.35s}.introSound i:nth-child(4){animation-delay:-.9s}.introSound.idle i,.introSound.ready i{animation-play-state:paused;opacity:.35;transform:scaleY(.2)}.introRetry{max-width:320px;margin:0 auto 12px}.introSkip{border:0;background:transparent;color:#d4cdb8;padding:13px 18px;font-size:14px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.introRetry:focus-visible,.introSkip:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}@keyframes introGlow{0%,to{opacity:.58;transform:scale(.97)}50%{opacity:1;transform:scale(1.03)}}@keyframes introMark{0%,to{transform:translateY(0);box-shadow:0 0 0 9px rgba(217,183,95,.035)}50%{transform:translateY(-4px);box-shadow:0 0 0 13px rgba(217,183,95,.02)}}@keyframes introSound{0%,to{transform:scaleY(.2);opacity:.42}50%{transform:scaleY(1);opacity:1}}@media (prefers-reduced-motion:reduce){.introGlow,.introMark,.introSound i{animation:none}.introSound i{transform:scaleY(.46)}}