/* Wawedo: an immersive introduction before the functional app. */
:root{--intro-pink:#c92f70;--intro-ink:#fff;--intro-support:#fff5f9;--rose-action:#c92f70;--form-ink:#60334a}
body[data-concept=klar]{--brand:var(--rose-action);--accent:var(--rose-action)}
body.booting{background:var(--intro-pink)}body.booting>.concept-bar,body.booting>.demo,body.booting>.app-header,body.booting>main,body.booting>.bottom{visibility:hidden}
[data-concept=klar] .radius-options input:checked+span{background:var(--rose-action);border-color:var(--rose-action)}
#setup.cinematic{background:var(--intro-pink);color:var(--intro-ink);border:0;padding:0;position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;box-shadow:none;overflow:auto;color-scheme:light}
#setup.cinematic::backdrop{background:var(--intro-pink)}#setup.cinematic.handoff::backdrop{background:transparent}
#setup.cinematic>.close{top:20px;right:20px;background:#ffffff40;color:var(--intro-ink)}
#setup.cinematic .cinema-scene{min-height:100svh;display:flex;flex-direction:column;padding:clamp(30px,6vh,72px) clamp(25px,7vw,110px) max(28px,env(safe-area-inset-bottom));position:relative}
.cinema-content{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;padding:50px 0 36px}
.cinema-title{font-family:var(--font);font-size:clamp(2.6rem,5.8vw,6.25rem);font-weight:600;letter-spacing:-.055em;line-height:1.1;text-align:center;margin:0;max-width:1140px;text-wrap:balance;color:var(--intro-ink)}
.cinema-title:focus,#setup-title:focus{outline:none}.sentence-line{display:block}.premise-title{font-size:clamp(2.35rem,5.15vw,5.5rem);line-height:1.16}.cinema-navigation{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:18px;width:100%;max-width:540px;margin:0 auto;min-height:58px;flex-shrink:0}
.cinema-next{display:inline-flex;align-items:center;justify-content:center;gap:18px;justify-self:center;padding:13px 22px;color:var(--intro-ink);font-size:1rem;font-weight:550;min-height:52px;border-radius:40px;border:1px solid #ffffff80;background:transparent}
.cinema-next>span{font-size:1.35rem;font-weight:400}.cinema-next:disabled{opacity:.35}.cinema-back{font-size:1.65rem;width:48px;min-height:48px;border-radius:50%;color:#ffffff}.nav-spacer{width:48px}.cinematic button:focus-visible,.cinematic a:focus-visible,.cinematic input:focus-visible,.cinematic select:focus-visible{outline:3px solid var(--intro-ink);outline-offset:4px}
.language-scene{width:100%;text-align:center}.language-question{min-height:clamp(260px,38vh,390px);display:flex;flex-direction:column;justify-content:center;align-items:center}.question-title{max-width:1030px;font-size:clamp(2.75rem,6.6vw,7.25rem);line-height:1.08}.question-title[lang=ja]{line-height:1.35;letter-spacing:-.03em}.question-title[lang=vi]{line-height:1.2}.language-caption{display:flex;align-items:center;justify-content:center;gap:12px;margin:38px 0 0;font-size:.9375rem;color:var(--intro-support)}.language-flag{font-size:clamp(4.5rem,8vw,6.5rem);line-height:1.2}.quiet-action{color:inherit;min-height:44px;font-size:.875rem;padding:8px 4px;text-underline-offset:4px}.cinema-support{font-size:clamp(1.05rem,1.65vw,1.4rem);line-height:1.5;letter-spacing:-.025em;color:var(--intro-support);max-width:650px;margin:36px auto 0;text-align:center;text-wrap:pretty}.evidence-scene,.reveal-scene{text-align:center;max-width:1140px}.evidence-link{display:inline-block;margin-top:20px;color:var(--intro-support);text-decoration:underline}
.reveal-lead,.reveal-ending{font-size:clamp(1.1rem,2.2vw,1.875rem);font-weight:450;letter-spacing:-.03em;margin:0 0 25px}.reveal-ending{margin:15px 0 0}.reveal-word{font-family:var(--font);font-size:clamp(4.2rem,13vw,11rem);font-weight:650;line-height:1.05;letter-spacing:-.075em;margin:0;color:var(--intro-ink)}.reveal-word>span{color:inherit}.reveal-scene .cinema-support{margin-top:40px}
#setup.cinematic .cinema-form{width:100%;max-width:510px;padding:0;margin:0 auto;text-align:left;color:var(--intro-ink)}
#setup.cinematic .cinema-form h2{font-family:var(--font);font-size:clamp(2rem,4.2vw,3.6rem);font-weight:600;letter-spacing:-.055em;line-height:1.07;margin:0 0 22px;color:var(--intro-ink)}
#setup.cinematic .setup-description{font-size:1rem;line-height:1.5;margin:0 0 30px;color:var(--intro-support)}#setup.cinematic .config-progress{font-size:.8125rem;letter-spacing:.04em;margin:0 0 30px;color:var(--intro-support)}.configuring .cinema-content{padding-top:35px;padding-bottom:35px}.configuring .cinema-next{background:var(--intro-ink);color:var(--intro-pink);border-color:var(--intro-ink);min-width:170px}.cinema-form fieldset{border:0;padding:0}.child-count{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0}.child-count label{position:relative;cursor:pointer;margin:0!important}.child-count input,.cinema-form .radius-options input{position:absolute;opacity:0;width:1px;height:1px;inset:50%;padding:0}.child-count span{display:block;text-align:center;font-size:1.75rem;padding:22px 5px;background:transparent;border:1px solid #ffffff60;border-radius:16px}.child-count input:checked+span{background:var(--intro-ink);color:var(--intro-pink);border-color:var(--intro-ink)}.child-count input:focus-visible+span,.cinema-form .radius-options input:focus-visible+span{outline:3px solid var(--intro-ink);outline-offset:3px}
#setup.cinematic .age-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:14px;margin:12px 0}.cinema-form .age-row label{font-size:.9375rem;margin:0;color:var(--intro-ink)}#setup.cinematic .cinema-form select{width:100%;border:1px solid #ffffff60;border-radius:14px;padding:14px 15px;background:#fff;color:var(--form-ink);font-size:1rem}#setup.cinematic .cinema-form select option{background:#fff;color:var(--form-ink)}.cinema-form .location-permission{background:transparent;border:1px solid #ffffff60;color:var(--intro-ink);border-radius:14px;padding:16px;min-height:54px}.cinema-form .field-help{margin:22px 0;color:var(--intro-support)}.cinema-form label[for=city]{color:var(--intro-ink);margin:0 0 8px;font-size:.875rem}.cinema-form .field-status{color:var(--intro-ink);font-size:.875rem;line-height:1.5}#setup.cinematic .setup-note{color:var(--intro-support);font-size:.8125rem;line-height:1.5;margin:18px 0 0}.cinema-form .radius-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 24px}.cinema-form .radius-options label{margin:0;cursor:pointer;position:relative}.cinema-form .radius-options span{border:1px solid #ffffff60;background:transparent;border-radius:15px;padding:21px 3px;font-size:1.65rem;color:var(--intro-ink)}.cinema-form .radius-options small{display:block;font-size:.8125rem;margin-top:4px}.cinema-form .radius-options input:checked+span{background:var(--intro-ink);border-color:var(--intro-ink);color:var(--intro-pink)}.cinema-form .radius-summary{color:var(--intro-ink);font-size:.9375rem}.cinematic .reset-local{display:block;max-width:510px;margin:18px auto 0;color:var(--intro-support);text-decoration:underline}.cinematic.configuring .cinema-scene{padding-bottom:max(26px,env(safe-area-inset-bottom))}
.handoff-stage{min-height:100dvh;display:flex;align-items:center;justify-content:center}.handoff-stage .wordmark{display:inline-block;font-family:var(--font);font-size:clamp(4.2rem,13vw,10rem);font-weight:700;letter-spacing:-.06em;line-height:1.15;color:#fff;transform-origin:top left}.handoff-stage .brand-dot{color:inherit}.brand-entering .app-header .wordmark{visibility:hidden}#setup.handoff{pointer-events:none}#setup.handoff .close{display:none}
@media(prefers-reduced-motion:no-preference){.cinema-scene .cinema-content{animation:cinema-arrive .65s cubic-bezier(.2,.7,.2,1) both}.scene-0 .cinema-content{animation:none}.sentence-line{animation:sentence-arrive .85s cubic-bezier(.18,.65,.2,1) both;animation-delay:calc(.18s + var(--line)*.27s)}.scene-0 .cinema-navigation{animation:cinema-arrive .65s ease-out 1.3s both}.reveal-word{animation:brand-reveal .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:.3s}.reveal-ending{animation:cinema-arrive .7s ease-out .65s both}@keyframes sentence-arrive{from{opacity:0;transform:translateY(25px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes cinema-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-reveal{from{opacity:0;transform:translateY(15px) scale(.94);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}}
@media(max-width:650px){#setup.cinematic .cinema-scene{padding:24px 25px max(24px,env(safe-area-inset-bottom))}.cinema-content{padding:55px 0 42px}.premise-title{font-size:clamp(2rem,7.8vw,3.25rem);line-height:1.2;letter-spacing:-.055em}.question-title{font-size:clamp(2.8rem,11.5vw,4.2rem);line-height:1.1}.language-question{min-height:300px}.language-caption{margin-top:34px;font-size:.875rem}.cinema-title{font-size:2.9rem}.premise-title{font-size:clamp(2rem,7.8vw,3.25rem)}.question-title{font-size:clamp(2.8rem,11.5vw,4.2rem)}.cinema-support{font-size:1.0625rem;line-height:1.55;margin-top:30px;max-width:360px}.reveal-word{font-size:clamp(4.3rem,19vw,6rem)}.reveal-lead,.reveal-ending{font-size:1.2rem}.reveal-scene .cinema-support{margin-top:32px}.cinema-navigation{grid-template-columns:44px 1fr 44px;gap:8px}.nav-spacer{width:44px}.cinema-next{font-size:1rem;gap:18px}.cinema-form .config-progress{margin-bottom:25px}#setup.cinematic .cinema-form h2{font-size:2.5rem}.configuring .cinema-content{padding-top:50px}.child-count{gap:8px}.child-count span{font-size:1.5rem;padding:20px 4px}.cinema-form .radius-options{gap:7px}.cinema-form .radius-options span{font-size:1.4rem;padding:19px 3px}.handoff-stage .wordmark{font-size:clamp(4.2rem,18vw,6rem)}}
@media(max-width:360px){#setup.cinematic .cinema-scene{padding-left:20px;padding-right:20px}.cinema-title{font-size:2.45rem}.premise-title{font-size:1.95rem}.question-title{font-size:2.85rem}.language-question{min-height:270px}#setup.cinematic .cinema-form h2{font-size:2.2rem}.cinema-support{font-size:1rem}.cinema-form .age-row{grid-template-columns:56px 1fr!important}.cinema-next{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){#setup.cinematic *,#setup.cinematic *:before,#setup.cinematic *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* A short explanation belongs to the active discovery view. */
.view-description{font-size:.875rem;line-height:1.45;color:var(--muted);margin:12px 3px 18px}
#setup.cinematic .age-row{grid-template-columns:1fr 1.6fr;padding:8px 18px;background:#fff;border:1px solid #ffffff80;border-radius:18px;gap:16px;min-height:76px}
#setup.cinematic .age-row label{font-size:1rem;color:var(--form-ink);font-weight:500}
#setup.cinematic .age-row select{border:0;background:#fff;color:var(--intro-pink);font-size:1.125rem;font-weight:550;padding:14px 0;min-width:0}
#setup.cinematic .age-row select:focus-visible{outline-color:var(--intro-pink)}
@media(max-width:360px){#setup.cinematic .age-row{grid-template-columns:58px 1fr!important;padding:7px 14px;gap:10px}.language-flag{font-size:4.5rem}}

/* Opening: two sentences and one next step form a centered composition. */
#setup.cinematic .scene-0{justify-content:center;gap:clamp(36px,5svh,60px);padding-top:max(38px,env(safe-area-inset-top));padding-bottom:max(38px,env(safe-area-inset-bottom))}
.scene-0 .cinema-content{flex:0 0 auto;padding:0}
.scene-0 .cinema-navigation{margin:0 auto}
.sentence-group{display:block}
.sentence-group+.sentence-group{margin-top:clamp(28px,4svh,48px)}
/* Center the lettering itself; the terminal dot sits outside its optical axis. */
.reveal-lockup{display:grid;justify-items:center;row-gap:clamp(22px,3svh,34px)}
.reveal-lockup .reveal-lead,.reveal-lockup .reveal-ending{margin:0}
.reveal-lockup .reveal-word{position:relative;width:max-content;max-width:100%;margin:0;line-height:1;letter-spacing:normal}
.reveal-lettering{display:block;letter-spacing:-.075em;padding-inline-end:.075em}
.reveal-dot{position:absolute;inset-inline-start:100%;bottom:0;letter-spacing:0;margin-inline-start:-.06em}
.question-title:lang(ar){font-family:-apple-system,BlinkMacSystemFont,"Geeza Pro","Segoe UI",sans-serif;letter-spacing:0;line-height:1.4}
.question-title:lang(hi),.question-title:lang(ko),.question-title:lang(zh){letter-spacing:0;line-height:1.3}
.evidence-copy{max-width:650px;margin:30px auto 0}
.evidence-copy .cinema-support{font-size:clamp(1rem,1.45vw,1.25rem);margin:0;line-height:1.5}
.evidence-copy .cinema-support+.cinema-support{margin-top:16px}
#evidence .detail-body>h2{padding-right:26px}
.evidence-source p{color:var(--muted);line-height:1.6}
.evidence-source a{display:inline-block;color:var(--brand);font-size:.9375rem;text-underline-offset:3px}
.evidence-source+.evidence-source{border-top:1px solid var(--line);padding-top:8px;margin-top:28px}
@media(max-width:650px){.reveal-lockup .reveal-word{font-size:clamp(4rem,17.5vw,5.75rem)}.evidence-copy{max-width:360px}}
/* One forward action beside the content, throughout the introduction. */
#setup.cinematic .cinema-scene{justify-content:center;gap:clamp(30px,4svh,48px);padding-block:max(36px,env(safe-area-inset-top)) max(36px,env(safe-area-inset-bottom))}
#setup.cinematic .cinema-content{flex:0 0 auto;padding:0}
#setup.cinematic .cinema-navigation{display:flex;justify-content:center;min-height:64px;margin:0 auto}
#setup.cinematic .cinema-next{width:84px;min-width:84px;min-height:64px;padding:12px 10px;border:0;border-radius:0;background:transparent;color:#fff}
#setup.cinematic .cinema-next svg{width:64px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
#setup.cinematic .cinema-next:not(:disabled):hover svg{transform:translateX(5px)}
#setup.cinematic .scene-0{gap:clamp(36px,5svh,60px)}
.reveal-lockup{row-gap:clamp(28px,4svh,42px)}
.reveal-lockup .reveal-word{width:clamp(245px,43vw,700px);max-width:100%;line-height:0}
.reveal-graphic{display:block;width:100%;height:auto;fill:currentColor;overflow:visible}
.reveal-graphic text{font:650 100px var(--font);letter-spacing:-6px}
@media(max-width:650px){.reveal-lockup .reveal-word{width:min(72vw,340px)}#setup.cinematic .scene-3 .cinema-content{width:100%}}
/* Current weather stays compact alongside the discovery heading. */
.app-header .heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:24px;width:100%}
[data-concept=klar] .app-header .heading-row h1{margin:0;font-size:clamp(1.9rem,7.5vw,2.75rem)}
.weather-widget{flex:0 0 auto;text-align:right;max-width:140px;color:var(--muted)}
.weather-reading{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:1.75rem;font-weight:500;line-height:1.15;letter-spacing:-.04em;color:var(--ink)}
.weather-reading .icon{width:27px;height:27px;color:var(--brand)}
.weather-caption{display:block;font-size:.875rem;line-height:1.4;margin-top:3px}
.weather-source{font-size:.875rem;color:var(--muted);text-decoration:none;text-underline-offset:3px}.weather-source:hover{text-decoration:underline}
.weather-unavailable{display:block;font-size:1.625rem;line-height:1.2}
.weather-filter-note{font-size:.875rem;line-height:1.45;color:var(--brand);margin:-5px 0 20px}
.filter-body>h2{margin-top:0;padding-right:22px}.filter-group{border:0;margin:28px 0 0;padding:0}.filter-group legend{font-size:1rem;font-weight:600;margin-bottom:13px;padding:0}
.environment-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.environment-options label{position:relative;margin:0;cursor:pointer}.environment-options input{position:absolute;opacity:0;width:1px;height:1px;padding:0}
.environment-options span{display:block;border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center;color:var(--ink);font-size:.9375rem}
.environment-options input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.environment-options input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.filter-help{font-size:.875rem;line-height:1.5;color:var(--muted);margin:12px 0 0}
.filter-group .chips{margin:0}.filter-group .free-option{display:flex;align-items:center;gap:12px;margin:0;cursor:pointer;font-size:1rem}.free-option input{width:20px;height:20px;accent-color:var(--accent);margin:0}
.filter-weather{border-top:1px solid var(--line);margin-top:26px;padding-top:12px;font-size:.875rem;color:var(--muted)}.filter-weather p{line-height:1.5}.filter-weather .text-button{padding-left:0;text-decoration:underline;text-underline-offset:3px;font-size:.875rem}.weather-credit{font-size:.8125rem}
.filter-reset{display:block;margin:10px auto 0;font-size:.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
@media(max-width:360px){.app-header .heading-row{gap:10px}.weather-widget{max-width:118px}.weather-caption,.weather-source{font-size:.8125rem}}

/* Attribution remains accessible without a provider label in the weather reading. */
.weather-widget{position:relative;padding-right:22px}
.weather-source{position:absolute;right:-5px;bottom:-3px;display:grid;place-items:center;width:28px;height:28px}
.weather-source .icon{width:14px;height:14px;stroke-width:1.5}
.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:16px 0 0;font-size:.875rem}
.legal-links a{color:var(--muted);text-decoration:none;padding:8px 0;text-underline-offset:4px}
.legal-links a:hover{text-decoration:underline}
.intro-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:8px 24px max(16px,env(safe-area-inset-bottom));font-size:.875rem}
.intro-legal a{color:var(--intro-support);text-decoration:none;text-underline-offset:4px;min-height:32px;display:flex;align-items:center}
.intro-legal a:hover{text-decoration:underline}

/* Real destination cards retain the approved quiet, spacious layout. */
.pilot-note{color:var(--muted);font-size:.8125rem;line-height:1.5;max-width:540px;margin:0 0 22px}
.place-alert{color:var(--brand);font-weight:550}.detail-body h2{padding-right:18px;overflow-wrap:anywhere}.detail-actions{display:flex;flex-direction:column;gap:10px}.detail-actions a{text-decoration:none}.detail-actions .primary{margin-top:10px}.route-link{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:28px;background:var(--soft);color:var(--brand);text-align:center;padding:10px 14px}.detail-save{display:block;width:100%;margin:8px 0 24px;min-height:44px}.place-provenance{border-top:1px solid var(--line);padding-top:18px;font-size:.8125rem;color:var(--muted)}.place-provenance summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--ink)}.place-provenance p{line-height:1.6}.place-provenance a{text-underline-offset:3px}.facts dd{overflow-wrap:anywhere}#change-area{display:block;margin:6px auto}#empty button{max-width:100%}

.startup,.no-script{position:fixed;inset:0;z-index:100;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#c92f70;color:white;font-size:1.125rem}.startup a,.no-script a{text-decoration:underline;text-underline-offset:5px;padding:12px}.no-script{z-index:101}
