:root{--cream:#fbf6ea;--paper:#fffdf7;--gold:#c7962a;--gold2:#ddb04a;--line:#e7dcc7;--text:#171717;--muted:#655d52;--red:#7d1b22;--dark:#17120b;--green:#27492f}
 *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:Inter,system-ui,sans-serif;color:var(--text)}button{font:inherit}.page{max-width:920px;margin:0 auto;background:var(--cream);min-height:100vh;padding-bottom:22px}
 .hero{min-height:176px;background:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.72)),url("./images/hero.jpg") center/cover no-repeat,radial-gradient(circle at 50% 20%,#403322,#070605);color:white;display:grid;place-items:center;text-align:center;padding:28px 20px}.hero .crown{font-size:38px;color:var(--gold2);line-height:1}.hero h1{font-family:Cinzel,serif;font-size:clamp(40px,10vw,78px);margin:6px 0 0;text-transform:uppercase;letter-spacing:.07em;line-height:.95}.hero p{margin:10px 0 0;color:#f0cb77;font-family:Cinzel,serif;letter-spacing:.13em;font-weight:700}
 .card{margin:0 12px 18px;background:var(--paper);border-radius:0 0 30px 30px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.1);border:1px solid rgba(231,220,199,.7);border-top:0}.video{width:100%;background:#111;position:relative;border-top:1px solid rgba(231,220,199,.75)}.video.hidden{display:none}.video video{width:100%;display:block;max-height:78vh;aspect-ratio:16/9;object-fit:contain;background:#111}.video.locked video{pointer-events:none}.video.locked::after{content:"Tap BEGIN THIS STOP below";position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.36);color:white;font-weight:900;font-size:clamp(22px,5vw,34px);text-align:center;padding:20px}.videoStatus{display:none;position:absolute;left:14px;right:14px;bottom:14px;padding:12px 14px;border-radius:14px;background:rgba(0,0,0,.74);color:white;font-weight:900;text-align:center}.videoStatus.show{display:block}
 .intro{padding:22px;text-align:center}.stopnum{color:var(--gold);font-weight:900;letter-spacing:.18em;font-size:14px}.title{font-family:Cinzel,serif;font-size:clamp(34px,8vw,56px);margin:8px 0 6px;text-transform:uppercase;line-height:1}.subtitle{color:var(--muted);font-size:21px;margin:0}.begin{margin-top:18px;width:100%;min-height:88px;border:0;border-radius:24px;background:linear-gradient(180deg,#8d1e24,#6d151a);color:white;font-size:clamp(25px,6.5vw,38px);font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(125,27,34,.22);animation:buttonGlow 3.8s ease-in-out infinite}.begin.story-complete{animation:none;background:linear-gradient(180deg,#27492f,#19321f)}.begin:active,.largeBtn:active,.nextBtn:active,.launch:active{transform:translateY(1px)}
 .storyDone{display:none;margin:14px 0 0;padding:14px;border:1px solid #e5ca8b;background:#fff3d4;border-radius:18px;text-align:center;font-weight:900;color:#4a3512}.storyDone.show{display:block}.hint{font-size:15px;color:var(--muted);margin:12px 0 0;line-height:1.45}
 .section{margin:18px 12px;padding:24px;border-radius:28px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.06);text-align:center}.sectionLabel{font-weight:900;letter-spacing:.16em;color:var(--gold);font-size:13px;text-transform:uppercase}.section h2{font-family:Cinzel,serif;font-size:clamp(34px,8vw,48px);margin:8px 0 8px}.section p{color:var(--muted);font-size:20px;margin:0 0 18px;line-height:1.35}
 model-viewer{width:100%;height:360px;display:block;border-radius:22px;background:radial-gradient(circle at 50% 30%,#efe4ca,#d2bd92)}.launch{width:100%;min-height:76px;border:0;border-radius:22px;background:linear-gradient(180deg,var(--gold2),#be8a1d);color:white;font-size:29px;font-weight:900;box-shadow:0 12px 28px rgba(199,150,42,.25);margin-top:16px;cursor:pointer}.launch:disabled{opacity:.55;background:#b9aa8b;box-shadow:none}.arContinue{display:none;width:100%;min-height:68px;border:0;border-radius:20px;background:linear-gradient(180deg,#27492f,#19321f);color:white;font-size:22px;font-weight:900;margin-top:14px;cursor:pointer}.arContinue.show{display:block}.arPhotoTip{margin:14px 0 0!important;padding:14px 16px;border-radius:18px;background:#fff3d4;border:1px solid #e5ca8b;color:#4a3512!important;font-weight:900;font-size:17px!important}.arPhotoTip small{display:block;margin-top:5px;color:#6a541d;font-weight:800}
 .gps{margin:18px 12px 26px;padding:24px;border-radius:30px;background:linear-gradient(180deg,#14100b,#2b2113);color:white;text-align:center;box-shadow:0 16px 44px rgba(0,0,0,.18)}.gps.topGuide{margin-top:-10px;border-radius:0 0 30px 30px}.gps h2{font-family:Cinzel,serif;font-size:38px;margin:0 0 8px;color:#f0cb77}.gps p{margin:0;color:#eadcbc;font-size:18px}.compassWrap{display:grid;place-items:center;margin:20px 0}.compass{width:226px;height:226px;border-radius:999px;border:3px solid var(--gold2);display:grid;place-items:center;position:relative;background:radial-gradient(circle,#3a2a15,#100c08);box-shadow:inset 0 0 30px rgba(221,176,74,.18),0 0 24px rgba(221,176,74,.16);overflow:hidden}.compass::before{content:"";position:absolute;inset:18px;border-radius:999px;border:1px dashed rgba(221,176,74,.7)}.compass::after{content:"✥";position:absolute;color:rgba(221,176,74,.18);font-size:150px;line-height:1}.dir{position:absolute;font-weight:900;color:#f4cf75}.n{top:12px}.e{right:15px}.s{bottom:12px}.w{left:15px}.pointer{width:108px;height:108px;position:relative;transform:rotate(0deg);transition:transform .45s ease;filter:drop-shadow(0 0 16px rgba(221,176,74,.45))}.pointer:before{content:'';position:absolute;left:50%;top:0;transform:translateX(-50%);width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:82px solid var(--gold2)}.pointer:after{content:'';position:absolute;left:50%;bottom:7px;transform:translateX(-50%);width:30px;height:30px;border-radius:999px;background:#8d1e24;border:5px solid #f4cf75;box-shadow:0 0 0 4px rgba(141,30,36,.32)}.pointer span{position:absolute;left:50%;top:32px;transform:translateX(-50%) rotate(45deg);width:25px;height:25px;border:4px solid #fff4c2;border-radius:6px}.distance{font-size:46px;font-weight:900;color:#fff;margin-top:2px}.distance small{display:block;font-size:15px;color:#e6d3a8;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dest{font-size:18px;color:#f0cb77;margin:5px 0 16px}.gpsControls{display:grid;grid-template-columns:1fr;gap:12px}.largeBtn,.nextBtn{width:100%;min-height:66px;border:0;border-radius:20px;background:linear-gradient(180deg,var(--gold2),#b78316);color:white;font-size:23px;font-weight:900;cursor:pointer}.largeBtn.secondary{background:#fffaf0;color:#171717}.gpsNote{font-size:14px!important;margin-top:14px!important;color:#dbc99e!important}.nextBlock{margin-top:18px;padding-top:18px;border-top:1px solid rgba(221,176,74,.25)}.nextBlock h3{font-family:Cinzel,serif;color:#f0cb77;font-size:30px;margin:0 0 6px}.nextBlock p{color:#eadcbc;margin:0 0 12px;font-size:20px}.finish{background:linear-gradient(180deg,#8d1e24,#6d151a)}
 .dev{margin:22px 12px 34px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#f1ebdf}.dev summary{font-size:18px;font-weight:900;cursor:pointer}.stop-all{margin-top:12px;min-height:54px;width:100%;border-radius:14px;background:#fff2ec;color:#882b21;border:1px solid #eac7bc;font-weight:900}
 .gate-screen{position:fixed;inset:0;z-index:80;background:linear-gradient(180deg,rgba(7,6,5,.96),rgba(42,33,20,.98)),url("./images/hero.jpg") center/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:18px;color:white;text-align:center;transition:opacity .45s ease}.gate-screen.hide{opacity:0;pointer-events:none}.gate-card{width:min(760px,96vw);border:1px solid rgba(221,176,74,.5);border-radius:30px;padding:28px;background:rgba(255,250,240,.09);box-shadow:0 28px 90px rgba(0,0,0,.55);backdrop-filter:blur(4px)}.gate-crown{font-size:58px;color:var(--gold2);filter:drop-shadow(0 0 18px rgba(221,176,74,.35))}.gate-card h2{font-family:Cinzel,serif;font-size:clamp(36px,10vw,68px);line-height:.96;margin:10px 0 8px;letter-spacing:.06em;text-transform:uppercase}.gate-card p{font-size:20px;color:#fff1c8;margin:0 0 18px;line-height:1.35}.gate-actions{display:grid;gap:12px;margin-top:18px}.gate-btn{width:100%;min-height:68px;border:0;border-radius:20px;font-size:22px;font-weight:900;cursor:pointer}.gate-btn.primary{background:linear-gradient(180deg,var(--gold2),#b78316);color:white}.gate-btn.secondary{background:#fffaf0;color:#171717}.gate-btn.ghost{background:rgba(255,250,240,.12);color:#fff;border:1px solid rgba(255,255,255,.32)}.gate-small{display:block;margin-top:14px;color:#dbc99e;font-size:14px;line-height:1.4}@media(min-width:760px){.gate-actions.two{grid-template-columns:1fr 1fr}}

 .languageBar{margin:12px 12px 0;padding:12px 14px;border-radius:18px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 6px 20px rgba(0,0,0,.05)}
 .languageBar label{font-weight:900;color:var(--muted)}
 .languageSelect{min-height:46px;max-width:230px;width:55%;border:2px solid #d7c495;border-radius:14px;background:#fffaf0;padding:8px 12px;font:inherit;font-weight:900;color:#171717}
 .gate-language{margin:14px auto 4px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
 .gate-language label{font-weight:900;color:#fff1c8}.gate-language .languageSelect{width:auto;min-width:210px}


 .dev[hidden]{display:none!important}
 .devPanel{margin-top:14px;padding:14px;border:1px solid #d8c690;border-radius:16px;background:#fffaf0;text-align:left}
 .devPanel h4{margin:0 0 8px;font-size:1rem}
 .devGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
 .devLangBtn,.devUtilityBtn{min-height:42px;border:1px solid #b99a4d;border-radius:12px;background:#fff;color:#282014;font:inherit;font-weight:900;cursor:pointer;padding:8px 10px}
 .devLangBtn.active{background:#2d5b3c;color:#fff;border-color:#2d5b3c}
 .devLangBtn.loading{opacity:.65;cursor:wait}
 .devLangBtn.failed{border-color:#a52a2a;color:#8e1f1f;background:#fff1f1}
 .devUtilities{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
 .devUtilityBtn{flex:1 1 180px;background:#f5ead0}
 .devDiagnostics{margin-top:12px;padding:12px;border-radius:12px;background:#171717;color:#f8edcc;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.55;overflow-wrap:anywhere}
 .devDiagnostics strong{color:#ffd86a}
 .devStatus{margin-top:10px;padding:10px 12px;border-radius:12px;background:#edf7ee;color:#1f542b;font-weight:800}
 .devStatus.error{background:#fff0f0;color:#8d2020}
 .devStatus.testing{background:#fff7db;color:#745600}
 .devHint{display:block;margin-top:9px;color:#655b49;font-size:.82rem;line-height:1.4}
 @media(min-width:700px){.devGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}

 .end-screen{position:fixed;inset:0;z-index:50;background:linear-gradient(180deg,#070605,#2a2114);display:none;align-items:center;justify-content:center;padding:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom));opacity:0;transition:opacity .55s ease}.end-screen.show{display:flex;opacity:1}.end-card{width:min(980px,100%);max-height:100%;overflow:auto;text-align:center}.farewellVideo{width:100%;max-height:76vh;object-fit:contain;border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.45);background:#000}.thank-img{display:none;width:100%;max-height:72vh;object-fit:contain;border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.45);background:#fff}.thanksFallback{display:none;border-radius:24px;background:#fffaf0;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.thanksFallback h2{font-family:Cinzel,serif;font-size:42px;margin:0 0 18px}.bubbles{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.bubbles span{background:#fff;border:1px solid #ead7ad;border-radius:999px;padding:10px 14px;font-weight:900;color:#352817}.end-actions{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px}.end-actions button,.end-actions a{display:grid;place-items:center;min-height:70px;border:0;border-radius:20px;text-decoration:none;font-size:24px;font-weight:900;cursor:pointer}.return-btn{background:#fffaf0;color:#171717}.meath-btn{background:linear-gradient(180deg,var(--gold2),#b78316);color:white}
 .video video.cinematic{cursor:pointer}.cinemaOverlay{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;text-align:center;padding:22px;background:radial-gradient(circle at 50% 35%,rgba(74,52,22,.96),rgba(6,5,4,.98));color:white;opacity:0;transition:opacity .45s ease;pointer-events:none}.cinemaOverlay.show{display:flex;opacity:1}.cinemaCard{width:min(720px,94vw);border:1px solid rgba(221,176,74,.45);border-radius:28px;padding:28px;background:rgba(255,250,240,.08);box-shadow:0 28px 90px rgba(0,0,0,.5)}.cinemaKnot{font-size:58px;color:var(--gold2);filter:drop-shadow(0 0 18px rgba(221,176,74,.35))}.cinemaTitle{font-family:Cinzel,serif;font-size:clamp(32px,8vw,54px);margin:8px 0;color:#f0cb77}.cinemaText{font-size:22px;line-height:1.35;color:#fff6df;margin:0}.cinemaDistance{font-size:44px;font-weight:900;color:white;margin-top:14px}.cinemaDistance small{display:block;font-size:15px;color:#e9d49b;text-transform:uppercase;letter-spacing:.12em}.storyDone{scroll-margin-top:18px}.arrivalPulse{animation:pulseGold 1s ease 3}@keyframes pulseGold{0%,100%{box-shadow:0 16px 44px rgba(0,0,0,.18)}50%{box-shadow:0 0 0 8px rgba(221,176,74,.2),0 18px 54px rgba(221,176,74,.36)}}@keyframes buttonGlow{0%,100%{box-shadow:0 14px 30px rgba(125,27,34,.22)}50%{box-shadow:0 0 0 7px rgba(221,176,74,.22),0 18px 44px rgba(221,176,74,.36)}}
 @media(min-width:760px){.end-actions,.gpsControls{grid-template-columns:1fr 1fr}.card,.section,.gps,.dev{margin-left:18px;margin-right:18px}}
 
 .flow-hidden{display:none!important}
 .cinemaOverlay{pointer-events:auto}
 .cinemaAction{width:100%;min-height:72px;margin-top:22px;border:0;border-radius:22px;background:linear-gradient(180deg,var(--gold2),#b78316);color:white;font-size:clamp(23px,6vw,31px);font-weight:900;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.28)}
 .postArOverlay{position:fixed;inset:0;z-index:65;display:none;align-items:center;justify-content:center;text-align:center;padding:22px;background:radial-gradient(circle at 50% 35%,rgba(39,73,47,.97),rgba(6,12,8,.99));color:white}.postArOverlay.show{display:flex}.postArCard{width:min(720px,94vw);border:1px solid rgba(221,176,74,.5);border-radius:28px;padding:30px;background:rgba(255,250,240,.08);box-shadow:0 28px 90px rgba(0,0,0,.55)}.postArCard h2{font-family:Cinzel,serif;font-size:clamp(34px,9vw,56px);color:#f0cb77;margin:8px 0 12px}.postArCard p{font-size:22px;line-height:1.4;color:#fff6df;margin:0}.postArKnot{font-size:58px;color:var(--gold2)}
 .walkingArrival{margin-top:14px;background:#fffaf0!important;color:#171717!important}
 
 .preloadStatus{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:75;display:none;max-width:640px;margin:auto;padding:12px 16px;border-radius:18px;background:rgba(18,15,10,.94);color:#fff6df;box-shadow:0 12px 34px rgba(0,0,0,.3);font-size:14px;font-weight:800;text-align:center}
 .preloadStatus.show{display:block}
 .preloadStatus strong{color:#f0cb77}


/* Bottom developer scene launcher */
.devBottom{
 margin-top:34px!important;
 margin-bottom:40px!important;
 padding:18px!important;
 border:2px solid #c89b31!important;
 background:linear-gradient(180deg,#f8f0dd,#eee0bd)!important;
 box-shadow:0 18px 44px rgba(62,42,11,.16);
}
.devHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.devHeader h2{font-family:Cinzel,serif;margin:2px 0 5px;font-size:clamp(26px,7vw,38px);color:#2d2417}
.devHeader p{margin:0;color:#65583f;line-height:1.45}
.devEyebrow{font-size:12px;letter-spacing:.14em;font-weight:900;color:#8a651c}
.devBadge{flex:0 0 auto;border-radius:999px;padding:8px 10px;background:#17130d;color:#f2ca6e;font-size:11px;font-weight:900;letter-spacing:.09em}
.sceneTestList{display:grid;gap:10px}
.sceneTestRow{display:grid;gap:11px;padding:12px;border:1px solid #d9c48d;border-radius:16px;background:#fffaf0}
.sceneTestRow.active{border-color:#2d6a43;box-shadow:0 0 0 3px rgba(45,106,67,.12)}
.sceneTestInfo{display:flex;align-items:center;gap:11px;min-width:0}
.sceneTestNumber{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:999px;background:#292116;color:#f1cb72;font-weight:900}
.sceneTestName{min-width:0}
.sceneTestName strong{display:block;color:#2b2317;font-size:16px}
.sceneTestName small{display:block;margin-top:3px;color:#77684d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sceneTestActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.devSceneBtn,.devArBtn{min-height:48px;border-radius:12px;font:inherit;font-weight:900;cursor:pointer}
.devSceneBtn{border:1px solid #b79548;background:#fff;color:#332817}
.devArBtn{border:0;background:linear-gradient(180deg,#d9ad43,#a87918);color:white}
.devArBtn:disabled{opacity:.45;cursor:not-allowed}
.devAdvanced{margin-top:16px;border-top:1px solid #ceb87e;padding-top:12px}
.devAdvanced summary{cursor:pointer;font-weight:900;color:#3b2e1b}
.devAdvancedBody{padding-top:12px}
@media(min-width:720px){
 .sceneTestRow{grid-template-columns:minmax(0,1fr) 300px;align-items:center}
}


/* Prominent developer language tester */
.devLanguageTester{
 margin:0 0 16px;
 padding:14px;
 border:1px solid #c9ae69;
 border-radius:16px;
 background:#fffaf0;
}
.devLanguageTester label{
 display:block;
 margin-bottom:8px;
 font-weight:900;
 color:#332817;
}
.devLanguageSelectRow{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:8px;
}
#devLanguageSelect{
 min-height:50px;
 width:100%;
 border:1px solid #b79548;
 border-radius:12px;
 padding:0 12px;
 background:#fff;
 color:#2b2317;
 font:inherit;
 font-weight:800;
}
.devApplyLanguageBtn{
 min-height:50px;
 border:0;
 border-radius:12px;
 padding:0 16px;
 background:linear-gradient(180deg,#2f754b,#215b39);
 color:#fff;
 font:inherit;
 font-weight:900;
 cursor:pointer;
}
#devLanguageHelp{
 margin:9px 0 0;
 color:#6e6046;
 font-size:13px;
 line-height:1.4;
}
@media(max-width:560px){
 .devLanguageSelectRow{grid-template-columns:1fr}
}
