@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playpen+Sans:wght@400;500;600&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#263b32;background:#f1f0e6}*{box-sizing:border-box}body{margin:0}main{height:100svh;min-height:650px;overflow:hidden;position:relative}header{position:absolute;top:35px;left:4%;right:4%;display:flex;justify-content:space-between;z-index:3}a{font-family:'Playpen Sans','Comic Sans MS',cursive;font-size:23px;text-decoration:none;color:inherit}a span{display:block;font:11px 'DM Sans',sans-serif;margin-top:7px;letter-spacing:.08em}button{font:inherit;cursor:pointer}#restart{background:none;border:0;color:#45574a;font-size:12px}#scene{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#quiz{position:absolute;left:7%;top:28%;width:390px;transition:opacity .65s,transform .65s}.intro{font-size:13px;color:#677263}h1{font:500 clamp(42px,4.5vw,70px)/1.1 'Playpen Sans','Comic Sans MS',cursive;letter-spacing:-.035em;margin:22px 0}#feedback{font-size:14px;line-height:1.6;min-height:45px;max-width:340px}.answers{display:flex;gap:12px;margin-top:23px}.answers button{padding:16px 23px;border-radius:5px;border:1px solid #acb4a4;background:transparent;color:#334b3b}.answers #yes{background:#324f3b;color:#fff;border-color:#324f3b}.answers span{margin-left:25px}button:hover{filter:brightness(1.12)}button:focus-visible{outline:3px solid #b77940;outline-offset:5px}button:disabled{display:none}.progress{font-size:11px;color:#677263;margin-top:45px;display:flex;gap:8px;align-items:center}.progress i{width:40px;height:1px;background:#aab39f;margin:0 8px}.location{position:absolute;right:9%;bottom:20%;font-size:10px;letter-spacing:.13em;pointer-events:none}.location small{display:block;font-size:9px;margin:8px 0 0 18px;color:#62705c}.dot{display:inline-block;width:7px;height:7px;background:#647b4e;border-radius:50%;margin-right:10px}footer{position:absolute;bottom:28px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:10px;color:#64705e}footer b{margin-left:10px}#boy{position:absolute;right:21%;bottom:22%;width:200px;filter:drop-shadow(0 12px 14px #23362925)}#boy svg{width:100%}#boy span{position:absolute;right:-35px;top:20px;background:#fffdf4;padding:12px 17px;border-radius:15px;font-size:12px}#wave{transform-origin:191px 83px;animation:wave .6s ease-in-out infinite alternate}@keyframes wave{to{transform:rotate(18deg)}}.out{opacity:0;transform:translateY(12px)}#error{position:absolute;right:10%;top:45%;max-width:260px;font-size:14px}@media(max-width:700px){main{min-height:750px}header{top:24px}a{font-size:19px}#quiz{top:auto;bottom:95px;left:7%;width:86%}h1{font-size:42px;margin:10px 0}h1 br{display:none}.intro{font-size:11px}#feedback{min-height:24px;margin:10px 0}.answers{margin-top:14px}.progress{margin-top:22px}.location{top:39%;bottom:auto;right:8%}footer{font-size:9px}footer span:first-child{max-width:150px}#boy{width:120px;right:12%;bottom:49%}#boy span{right:-10px;font-size:10px;top:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}::selection{background:#c5d4b5}
/* Mobile-first immersive scene. */
html,body{width:100%;height:100%;overflow:hidden}main{height:100svh;min-height:0}header{top:max(20px,env(safe-area-inset-top));left:6%;right:6%;pointer-events:none}header a{font-size:18px}header a span{font-size:9px}header button{pointer-events:auto}#scene{inset:0;position:absolute}#quiz{top:var(--hotel-y,43%);left:var(--hotel-x,42%);bottom:auto;width:min(86vw,350px);transform:translate(-50%,-50%);padding:22px 20px;text-align:center;background:rgba(247,246,235,.94);border-radius:14px;box-shadow:0 12px 35px #263b3220;transition:none;z-index:2}.intro{font-size:11px;margin:0 0 12px}h1{font-size:clamp(30px,8vw,40px)!important;line-height:1.12;margin:0 0 12px}h1 br{display:none}#feedback{font-size:12px;line-height:1.5;min-height:18px;margin:0 auto;max-width:280px}.answers{justify-content:center;gap:9px;margin-top:17px}.answers button{padding:14px 18px;font-size:13px;min-height:46px}.answers span{margin-left:9px}.progress{justify-content:center;font-size:10px;margin:18px 0 0}.location{top:auto;bottom:75px;right:6%;font-size:9px}.location small{font-size:8px}footer{bottom:max(20px,env(safe-area-inset-bottom));left:6%;right:6%;font-size:9px;gap:16px}footer span:first-child{max-width:155px}#boy{width:110px;right:5%;bottom:15%;z-index:3;pointer-events:none}#boy span{font-size:10px;right:0;top:-12px}#error{top:75%;left:10%;right:10%;max-width:none;font-size:12px}.out{transform:translate(-50%,-50%)}@media(min-width:701px){#quiz{width:350px}h1{font-size:40px!important}#boy{width:160px;right:15%}}@media(max-height:640px){#quiz{padding:16px}.intro{display:none}h1{font-size:28px!important}.progress{margin-top:12px}.location{bottom:55px}header a span{display:none}}
#quiz{visibility:hidden;opacity:0;background:#fffbed;box-shadow:0 18px 55px #263b3238;border:2px solid #fffef8}#reaction{position:absolute;left:50%;top:74%;transform:translate(-50%,-50%);width:min(86vw,350px);padding:20px 23px;background:#a23f2c;color:#fff9ed;font-size:clamp(22px,6vw,29px);line-height:1.15;font-weight:600;text-align:center;border-radius:12px;box-shadow:0 14px 35px #582d2933;z-index:5;visibility:hidden;opacity:0}#reaction::before{content:'';position:absolute;top:-10px;left:50%;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:12px solid #a23f2c}.invite{animation:invite 1s ease-in-out infinite alternate}@keyframes invite{to{transform:scale(1.055);box-shadow:0 5px 18px #324f3b66}}#boy{width:150px;right:2%;bottom:4%;z-index:4}#boy img{width:100%;height:100%;max-height:37svh;object-fit:contain;display:block}#boy span{top:8px;right:-3px}@media(max-height:640px){#reaction{top:76%;padding:15px;font-size:21px}#boy{width:110px}}
[hidden]{display:none!important}#quiz .answers button:disabled{display:none}#quiz .answers button{touch-action:manipulation}#quiz .answers #yes:disabled{display:inline-block;opacity:.5;pointer-events:none}
#boy span{top:-38px;right:8px;white-space:nowrap}
@media(max-width:700px){
 #quiz{top:calc(env(safe-area-inset-top,0px) + 92px);left:50%;transform:translate(-50%,-50%);width:88vw;max-width:350px}
 #quiz{margin-top:105px}
 #reaction{top:auto;bottom:calc(22px + env(safe-area-inset-bottom,0px));margin-bottom:28px}
 #boy{bottom:10%;right:3%;width:125px}
 .location{bottom:65px;left:6%;right:auto}
}
@media(max-width:700px) and (max-height:640px){#quiz{top:65px;margin-top:95px;padding:14px}#quiz h1{font-size:26px!important}#quiz .progress{display:none}#reaction{font-size:19px;padding:12px}#boy{width:95px}}
#girl{position:absolute;z-index:4;pointer-events:none;transition:left .5s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 10px 12px #263b3220)}#girl img{width:100%;max-height:37svh;object-fit:contain;display:block}#memory-photo{position:absolute;left:6%;right:6%;top:44%;bottom:9%;margin:0;z-index:4;background:#fffbed;padding:9px 9px 30px;box-shadow:0 12px 30px #263b3238;transform:rotate(-3deg);border-radius:4px;pointer-events:none}#memory-photo img{width:100%;height:100%;object-fit:contain}#memory-photo figcaption{text-align:center;font-size:11px;margin-top:8px}#running-no{position:fixed;z-index:20;padding:14px 24px;min-height:48px;border:1px solid #acb4a4;border-radius:5px;background:#fffbed;color:#334b3b;font:500 15px 'DM Sans',sans-serif;touch-action:manipulation;box-shadow:0 5px 20px #263b3225}#quiz.long-question h1{font-size:clamp(22px,6vw,29px)!important;line-height:1.18}#quiz.photo-question{margin-top:65px}#quiz.photo-question h1{font-size:29px!important}#quiz .answers{flex-wrap:wrap}#quiz .progress{font-size:10px}#reaction{z-index:6}#boy img{max-height:none}@media(min-width:701px){#memory-photo{left:30%;right:30%;top:48%}}@media(max-height:640px){#quiz.long-question h1{font-size:21px!important}#quiz.long-question .intro{display:none}#memory-photo{top:46%;bottom:8%}#quiz.photo-question{margin-top:55px}}
#camera-flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:50}
#memory-montage{position:fixed;inset:0;z-index:8;overflow:hidden;background:rgba(241,240,230,.92);pointer-events:none}#central-memory{position:absolute;left:50%;top:50%;width:min(56vw,370px);max-height:42svh;object-fit:contain;padding:8px;background:#fffbed;box-shadow:0 15px 45px #263b3238;transform:translate(-50%,-50%) rotate(-3deg);opacity:0;z-index:2}.train-photo{position:absolute;left:50%;top:50%;width:min(22vw,150px);height:min(28vw,190px);object-fit:cover;padding:5px;background:#fffbed;box-shadow:0 8px 22px #263b3233;opacity:0;will-change:transform}#quiz.final-message{top:50%!important;left:50%!important;margin-top:0!important;padding:30px 23px;z-index:10}#quiz.final-message h1{font-size:clamp(28px,7.5vw,40px)!important;line-height:1.2}#quiz.final-message .intro,#quiz.final-message .progress{display:none}#quiz.final-message #feedback:empty{display:none}#quiz.final-message #feedback{margin-top:20px;font-size:15px;font-style:italic}#quiz.final-message .answers{margin-top:25px}.memories-active .location,.memories-active footer,.memories-active #scene{opacity:.3;transition:opacity 1s}#quiz.final-message .answers[hidden]{display:none!important}
#final-gallery{position:fixed;inset:0;z-index:9;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:max(85px,env(safe-area-inset-top)) 12px max(65px,env(safe-area-inset-bottom));animation:gallery-in .8s ease-out both}.final-photo-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;align-items:center;width:100%;max-width:1000px;margin:0 auto}.final-photo-row img{width:100%;height:clamp(85px,20svh,175px);object-fit:cover;border:4px solid #fffbed;box-shadow:0 6px 16px #263b3226;transform:rotate(var(--tilt));border-radius:2px}.final-photo-row.bottom img{transform:rotate(calc(var(--tilt)*-1))}@keyframes gallery-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@media(max-width:700px){#final-gallery{padding-top:max(85px,env(safe-area-inset-top));padding-bottom:max(65px,env(safe-area-inset-bottom))}.final-photo-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 9px;width:94%}.final-photo-row img{height:clamp(55px,10svh,95px);border-width:3px}#quiz.final-message{max-height:42svh;overflow:auto;padding:22px 18px}#quiz.final-message h1{font-size:clamp(25px,7vw,34px)!important}}@media(max-height:640px){#final-gallery{padding-top:60px;padding-bottom:40px}.final-photo-row img{height:9svh}#quiz.final-message{padding:16px}#quiz.final-message h1{font-size:25px!important}}

#quiz h1,#reaction{font-family:'Playpen Sans','Comic Sans MS',cursive;font-weight:500;letter-spacing:-.02em;line-height:1.25}#reaction{font-weight:600}#quiz.final-message h1{line-height:1.3}#quiz{max-height:64svh;overflow-y:auto;overscroll-behavior:contain}#quiz.final-message{max-height:42svh}
