.scenery{position:absolute;inset:0;background:url('../design/5038-29-imgImage7.png') center/cover}.scenery::after{content:'';position:absolute;inset:0;backdrop-filter:blur(28px);background:linear-gradient(90deg,#12173373,#1217338c 55%,#121733b8)}
/* Gentle invitation to start; runs only while the welcome screen is visible. */
#s0.on #start{animation:start-pulse 2.4s ease-in-out infinite;transform-origin:center}
#s0.on #start:hover,#s0.on #start:focus-visible{animation-play-state:paused}
#s0.on #start:active{animation:none;transform:scale(.98)}
@keyframes start-pulse{
  0%,100%{transform:scale(1);box-shadow:0 14px 30px #0a0e284d,0 0 0 0 #e9e1fa00}
  50%{transform:scale(1.045);box-shadow:0 18px 42px #0a0e2866,0 0 0 12px #e9e1fa26,0 0 40px #e9e1fa55}
}
@media(prefers-reduced-motion:reduce){#s0.on #start{animation:none}}
#s0{background:url('../design/5038-13-imgImage1.png') center/cover}#s0::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1217338c,#12173359 40%,#1217338c 70%,#121733d9)}
.language{position:absolute;right:50px;top:24px;display:flex;gap:4px;width:190px;height:70px;padding:5px;border:1px solid #ffffff73;border-radius:999px;background:#ffffff1a}.lang{flex:1;border-radius:999px;background:none;font-size:22px;font-weight:500;letter-spacing:2.16px}.lang.active{background:#fff;color:var(--navy);font-weight:700}.hero-logo{position:absolute;left:540px;top:200px;width:840px;height:390px;text-align:center}.hero-logo h1{position:relative;z-index:1;margin:0;color:#fff;font:170px/1.08 Ghanachocolate,serif;letter-spacing:-7px;white-space:pre-line;text-shadow:0 6px 28px #12173326}.hero-sparkle{position:absolute;left:115.956px;top:8.5px;pointer-events:none}.hero-logo-en{position:absolute;display:none;object-fit:contain;left:503.21px;top:232px;width:955px;height:335px}.intro-sub{position:absolute;left:200px;right:200px;top:626px;text-align:center;font-size:38px;font-weight:350;letter-spacing:-1px}.start{position:absolute;top:771px;left:677px;width:566px;height:126px;font-size:40px;gap:18px}
.place-preview{position:absolute;left:306.75px;top:303px;width:796.5px;height:auto;aspect-ratio:var(--card-aspect-ratio);border-radius:19.7px;overflow:hidden;border:1px solid #ffffff59;box-shadow:0 33px 66px #0a0e2873;background-size:cover;background-position:center}.place-preview::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#121733b8,#1217332e 34%,transparent 55%)}.place-caption{position:absolute;left:40px;right:40px;bottom:32px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.place-caption strong{font:64px/1.16 Ghanachocolate,serif;letter-spacing:-3.4px}.place-caption span{font-size:22px;letter-spacing:5.7px;color:#ffffffcc}.places{position:absolute;left:1163.25px;top:303px;width:450px;height:594px;display:flex;flex-direction:column;justify-content:space-between}.place{display:flex;align-items:center;gap:15px;padding:6px 13px 6px 8px;min-height:59px;border:2.46px solid transparent;border-radius:11.5px;background:none;width:100%;text-align:left;font-size:22px;font-weight:500}.place img{width:59px;height:44px;object-fit:cover;border-radius:5px}.place span{flex:1}.place::after{content:'';width:11.5px;height:11.5px;border:1px solid #ffffff8c;border-radius:50%;flex:none}.place.sel{background:#fffffff2;color:var(--navy);border-color:var(--lavender)}.place.sel::after{background:var(--navy);border-color:var(--navy)}
#s2 .pv{position:absolute;left:285px;top:301px;width:737.2px}.phrases{position:absolute;left:1081px;top:301px;width:552.9px;height:552.9px;display:flex;flex-direction:column;justify-content:space-between}.chip{height:66.35px;display:flex;align-items:center;gap:10px;padding:0 25.8px;border:1px solid #ffffff66;border-radius:12.9px;background:#ffffff1f;text-align:left;font-size:22px;font-weight:500}.chip.sel{background:#fffffff2;color:var(--navy);border:2.76px solid var(--lavender);font-weight:700}.chip.write{background:transparent;border:1px dashed #ffffffb3}.chip.write.sel{background:#fffffff2}.edit-hint{position:absolute;left:285px;top:880px;width:737px;display:flex;justify-content:center;gap:10px;align-items:center;font-size:22px;font-weight:400;letter-spacing:-1px;color:#ffffffbf}
#s3 .pv{position:absolute;left:347px;top:301px;width:401.33px}.inputbar{position:absolute;left:803px;top:301px;width:769.22px;height:93.64px;display:flex;align-items:center;padding:0 30px;gap:20px;border:3px solid var(--lavender);border-radius:14px;background:#fffffff2;color:var(--navy)}.inputbar input{border:0;outline:0;background:none;min-width:0;flex:1;color:var(--navy);font-size:32px;font-weight:500}.inputbar b{font-size:22px;font-weight:400;color:#666987;white-space:nowrap}.text-actions{position:absolute;right:347.78px;top:422px;display:flex;gap:12px}.text-actions .btn{height:67px;min-width:150px;font-size:22px;padding:0 40px}.text-actions .primary{width:217px}.keyboard-space{position:absolute;left:0;right:0;top:650px;bottom:0;border-top:1px solid #ffffff33;background:#ffffff0d;pointer-events:none}
.photo-choices{position:absolute;left:234px;top:301px;width:1452px;display:flex;gap:33px}.photo-choice{width:709px;height:485px;border:1px solid #ffffff33;border-radius:23px;background:#ffffff0a;display:flex;flex-direction:column;align-items:center;padding-top:34px;gap:24px}.photo-choice:first-child{border-color:#fff;background:#ffffff0d}.photo-choice .card{width:429px;border-radius:15px}.photo-choice .btn{height:74px;min-width:297px;font-size:25px}.photo-sample{position:absolute;width:37%;aspect-ratio:4/3;right:6%;bottom:8%;background:linear-gradient(140deg,#d2d7ff,#ffdae7);border:5px solid white;border-radius:3px;transform:rotate(-5deg);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px #0a0e2833}.privacy{position:absolute;left:168px;top:880px;width:1584px;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;font-weight:300;color:#ffffffbf}
.camera-box{position:absolute;left:128px;top:249px;width:849.416px;height:637.062px;background:#080b20b8;border-radius:23px;overflow:hidden;box-shadow:0 0 0 1px #ffffff59,0 35px 70px #0a0e2873}.camera-box video,.camera-box .chosen-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-box video{transform:scaleX(-1)}.camera-guide{position:absolute;left:238.9px;top:176.96px}.camera-label{position:absolute;top:21px;left:25px;font-size:22px;letter-spacing:3.45px;color:#fff9}.camera-progress{position:absolute;right:24px;top:21px;font-size:22px}.camera-ring{position:absolute;left:309.68px;top:185.81px;width:233.589px;height:233.589px;border:1.77px solid #ffffffb3;box-shadow:0 0 0 8.85px #e9e1fa1f;border-radius:50%}.camera-corners{position:absolute;inset:62px 35px 35px;pointer-events:none}.camera-corners i{position:absolute;width:55px;height:55px;border-color:#ffffffcc;border-style:solid;border-width:0}.camera-corners i:nth-child(1){left:0;top:0;border-left-width:2px;border-top-width:2px}.camera-corners i:nth-child(2){right:0;top:0;border-right-width:2px;border-top-width:2px}.camera-corners i:nth-child(3){left:0;bottom:0;border-left-width:2px;border-bottom-width:2px}.camera-corners i:nth-child(4){right:0;bottom:0;border-right-width:2px;border-bottom-width:2px}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:150px;font-weight:700;background:#12173340}.countdown[hidden]{display:none}.flash{position:absolute;inset:0;background:white;opacity:0;pointer-events:none}.flash.go{animation:flash .4s}@keyframes flash{from{opacity:1}to{opacity:0}}.camera-side{position:absolute;left:1185px;top:142px;width:607px}.camera-side h1{font-size:53.35px;letter-spacing:-1.35px;line-height:1.2}.camera-side .sub{font-size:26px;font-weight:350;color:var(--muted);margin-top:10px;min-height:62px}.shots-label{margin-top:24px;font-size:22px;color:#ffffffb3}.picks{display:flex;gap:24px;margin-top:10px}.pick-wrap{width:291px;text-align:center}.pick{width:291px;height:218.5px;background:transparent;border:1px dashed #ffffff8c;border-radius:14.6px;position:relative;overflow:hidden;display:grid;place-items:center;font-size:22px;color:#ffffffbf}.pick img{width:100%;height:100%;object-fit:cover}.pick.sel{border:4px solid white}.pick.sel::after{content:'✓';position:absolute;right:8px;top:8px;background:var(--navy);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;color:#fff}.pick-wrap p{font-size:22px;font-weight:350;color:#ffffffbf;margin-top:12px}.camera-steps{margin-top:46px;border-top:1px solid #ffffff38;list-style:none}.camera-steps li{height:70px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #ffffff38;color:#ffffff80;font-size:22px}.camera-steps b{border:1px solid currentColor;border-radius:50%;width:33px;height:33px;display:grid;place-items:center}.camera-steps .active{color:#fff}.camera-steps .active b{background:white;color:var(--navy)}.camera-error{position:absolute;inset:0;padding:80px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center;background:#121733e6;font-size:30px}.camera-error.on{display:flex}
#s6 .pv{position:absolute;left:155px;top:175px;width:966.725px}#s6 .title{left:1224px;width:542px;text-align:left}.tray{position:absolute;left:1224px;top:303px;width:542px}.emos{padding:22px;display:grid;grid-template-columns:repeat(5,84.22px);gap:14.65px 18.3px;background:#ffffff24;border:1px solid #ffffff59;border-radius:22px}.ebtn{height:84.22px;background:#ffffff0f;border-radius:16.5px;font-size:47.6px}.edit-help{position:absolute;left:1224px;top:562px;width:542px;display:grid;grid-template-columns:1fr 1fr;gap:0 14.6px;border-top:1px solid #ffffff38}.edit-help p{height:51.3px;display:flex;align-items:center;gap:14.6px;border-bottom:1px solid #ffffff38;font-size:22px;color:#ffffffe6}.restore-card{position:absolute;left:1224px;top:697px;min-width:187px;height:70px;font-size:22px;gap:10px;padding:0 16px}
#s7 .pv{position:absolute;left:561px;top:301px;width:798.667px}.message{position:absolute;left:80px;top:395px;max-width:900px}.message h1{font-size:92px;font-weight:500;line-height:1.12;letter-spacing:-4.14px;white-space:pre-line}.message p{font-size:32px;font-weight:350;color:var(--muted);margin-top:40px}.flying-card{position:absolute;left:936px;top:320px;width:560px;transform:rotate(-2deg);}.flying-card .card{box-shadow:0 0 0 6px #fff,0 0 80px #e9e1fab3}.sending .flying-card{animation:depart 2.6s cubic-bezier(.4,0,.3,1) forwards}@keyframes depart{0%{top:320px;opacity:0}15%{opacity:1}50%{top:260px}100%{top:-450px;opacity:0}}#s9{background:url('../design/5038-634-imgImage.png') center/cover}#s9::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#12173399,#12173359)}.return-note{position:absolute;left:80px;bottom:120px;font-size:22px;font-weight:350;color:#ffffffcc}.return-track{position:absolute;left:80px;right:80px;top:986px;height:2px;background:#ffffff38}.return-track i{display:block;height:100%;width:100%;background:white}.on .return-track i{animation:return-progress 3.5s linear forwards}@keyframes return-progress{to{width:0}}
.modal-layer{position:absolute;inset:0;z-index:100;background:#080b2066;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center}.modal-layer[hidden]{display:none}.modal{width:880px;min-height:537px;border:1px solid #ffffff40;border-radius:40px;background:#303654ed;box-shadow:0 40px 100px #0004;text-align:center;padding:65px 70px 56px}.modal-symbol{width:128px;height:128px;margin:0 auto 36px;border:1px solid #ffffff99;border-radius:50%;background:#ffffff1a;display:grid;place-items:center;font-size:58px;font-weight:700}.modal h2{font-size:42px;line-height:64px;font-weight:700;letter-spacing:-1px}.modal p{font-size:26px;line-height:39px;font-weight:350;color:var(--muted);margin-top:16px;white-space:pre-line}.modal-actions{display:flex;justify-content:center;gap:24px;margin-top:48px}.modal-actions .btn{min-width:0;flex:1;max-width:420px}.modal-actions .only{width:420px;flex:none}.admin-hotspot{position:absolute;left:900px;top:0;width:120px;height:55px;z-index:12;background:transparent}
html[lang=en] .place-caption strong{font-family:var(--font);font-size:48px;letter-spacing:-1px}html[lang=en] .place-caption span{display:none}html[lang=en] .title h1{font-size:47px}html[lang=en] .edit-help p{font-size:20px}html[lang=en] .message h1{font-size:78px}html[lang=en] .message p{font-size:28px}html[lang=en] .modal h2{font-size:36px}html[lang=en] .camera-side h1{font-size:48px}

#s9::before{background:linear-gradient(90deg,#121733cc,#1217338c 66.914%,#12173373)}#s9 .message h1{font-size:96px;line-height:1.12;letter-spacing:-4.32px}#s9 .message{top:50%;transform:translateY(-50%)}

.keyboard-retry{display:none;position:absolute;left:50%;top:80px;transform:translateX(-50%);pointer-events:auto;font-size:24px;padding:20px 36px}
html[data-keyboard="unavailable"] .keyboard-retry{display:flex}
.keyboard-preview{position:absolute;inset:0;padding:16px 100px 20px;background:#e7e7ec;color:#24242b;box-shadow:0 -6px 24px #0002}
.keyboard-preview p{text-align:center;font-size:19px;line-height:30px;color:#555560;margin-bottom:12px}
.keyboard-preview-keys{display:flex;flex-direction:column;gap:9px;max-width:1550px;margin:auto}
.keyboard-preview-row{display:flex;justify-content:center;gap:9px;height:78px}
.keyboard-preview-row span{display:flex;align-items:center;justify-content:center;flex:1;max-width:140px;border-radius:7px;background:#fafafa;box-shadow:0 2px 1px #0002;font-size:29px}
.keyboard-preview-row .wide{flex:1.5;max-width:210px;background:#d4d4dc;font-size:24px}
.keyboard-preview-row .space{flex:6;max-width:840px;font-size:22px}

/* Direct attention to the physical camera above the kiosk while shooting. */
.camera-look-prompt{position:absolute;top:40px;left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font-size:26px;font-weight:350;line-height:normal;text-align:center;white-space:nowrap;pointer-events:none;animation:camera-look-bounce 1.4s ease-in-out infinite}
.camera-look-prompt[hidden]{display:none}
.camera-look-arrow{font:inherit}
@keyframes camera-look-bounce{0%,100%{transform:translate(-50%,0)}45%{transform:translate(-50%,-12px)}65%{transform:translate(-50%,-5px)}}
@media(prefers-reduced-motion:reduce){.camera-look-prompt{animation:none}}
