html.welcome-open{overflow:hidden}
#welcomeTour{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:var(--surface);color:var(--green);overflow:auto;overscroll-behavior:contain}
#welcomeTour::backdrop{background:var(--surface)}
.welcome-shell{min-height:100%;max-width:1120px;margin:auto;padding:28px 40px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
.welcome-top{display:flex;justify-content:space-between;align-items:center;gap:18px}.welcome-wordmark{display:flex;align-items:center;font-size:24px;letter-spacing:-1px}.welcome-wordmark img{width:30px;height:34px;margin-right:10px}.welcome-wordmark span{font-weight:400}.welcome-skip{background:transparent;border-color:var(--line);font-weight:500;font-size:16px}
.welcome-content{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;flex:1;padding:52px 0 38px}.welcome-copy h2{font-size:clamp(32px,4.4vw,52px);line-height:1.13;letter-spacing:-1.8px;margin:20px 0}.welcome-copy h2 em{font-family:Georgia,serif;font-weight:400}.welcome-copy p{font-size:19px;line-height:1.7;color:var(--ink)}.welcome-copy .welcome-hint{font-size:16px;line-height:1.6;color:var(--muted);margin-top:22px}.welcome-label{font-size:12px;letter-spacing:2px;font-weight:700}.welcome-demo{background:var(--sage);border-radius:140px 140px 24px 24px;min-height:360px;display:flex;align-items:center;justify-content:center;padding:40px 24px;position:relative}.welcome-demo [hidden]{display:none!important}.welcome-demo-panel{width:100%;max-width:310px}.welcome-demo small{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px}.welcome-demo-card{background:var(--surface);border:1px solid #d1d9ce;border-radius:14px;padding:20px;box-shadow:0 12px 30px #214d3c0b}.welcome-demo-card strong{font-size:20px;display:block}.welcome-demo-card p{font-size:15px;line-height:1.6;color:var(--muted);margin:9px 0}.welcome-demo-action{display:block;background:var(--green);color:var(--surface);border-radius:9px;padding:13px 16px;font-size:15px;margin-top:16px;font-weight:600}.welcome-demo-outline{display:block;border:1px solid #bac8bb;border-radius:9px;padding:13px;font-size:14px;margin-top:10px}.welcome-map{height:120px;position:relative;border-radius:12px;background:linear-gradient(30deg,transparent 42%,#f7f5ef 43%,#f7f5ef 48%,transparent 49%),linear-gradient(105deg,transparent 45%,#f7f5ef 46%,#f7f5ef 51%,transparent 52%),#cfdbce;margin-bottom:16px}.welcome-pin{position:absolute;background:white;border:2px solid var(--green);border-radius:50%;width:17px;height:17px;top:28%;left:30%}.welcome-pin:nth-child(2){top:65%;left:67%}.welcome-you{position:absolute;top:44%;left:49%;width:16px;height:16px;border:3px solid white;border-radius:50%;background:#267ce9;box-shadow:0 0 0 10px #267ce918}.welcome-nav-sample{display:flex;gap:16px;font-size:14px;margin-bottom:12px}.welcome-nav-sample b{border-bottom:2px solid var(--green);padding-bottom:6px}.welcome-calendar-date{color:var(--green);font-size:32px!important;font-weight:600}.welcome-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.welcome-progress{font-size:14px;color:var(--muted)}.welcome-dots{display:flex;gap:6px;margin-top:10px}.welcome-dots i{height:5px;width:24px;border-radius:3px;background:#d7ddd3}.welcome-dots .is-current{background:var(--green)}.welcome-actions{display:flex;gap:12px}.welcome-actions button{min-height:54px;font-size:17px;padding:12px 24px}.welcome-actions .welcome-next{background:var(--green);color:white;min-width:190px}.welcome-next:hover{background:#173c2e}.welcome-enter{animation:welcome-in .28s ease-out}@keyframes welcome-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.welcome-shell{padding:20px 22px max(22px,env(safe-area-inset-bottom))}.welcome-wordmark{font-size:21px}.welcome-skip{font-size:14px;padding:8px 12px}.welcome-content{grid-template-columns:1fr;gap:24px;padding:28px 0}.welcome-copy h2{font-size:34px;margin:12px 0 16px}.welcome-copy p{font-size:17px;line-height:1.6}.welcome-copy .welcome-hint{margin-top:12px;font-size:14px}.welcome-demo{min-height:215px;border-radius:75px 75px 18px 18px;padding:20px}.welcome-demo-panel{max-width:290px}.welcome-demo-card{padding:15px}.welcome-map{height:60px}.welcome-demo small{margin-bottom:8px}.welcome-demo-card p{margin:6px 0}.welcome-demo-action{margin-top:10px;padding:10px 13px}.welcome-demo-outline{padding:9px}.welcome-bottom{flex-wrap:wrap;padding-top:18px;gap:16px}.welcome-actions{width:100%}.welcome-actions .welcome-next{flex:1;min-width:0}.welcome-dots{display:inline-flex;margin:0 0 0 12px}.welcome-progress{display:flex;align-items:center}.welcome-demo-card strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.welcome-enter{animation:none}}

/* Brief illustrative motion; no perpetual animation or automatic slide changes. */
.welcome-enter .welcome-you{animation:welcome-pulse 1.8s ease-out 2}
.welcome-enter .welcome-demo-card{animation:welcome-card .45s ease-out both}
@keyframes welcome-pulse{0%,100%{box-shadow:0 0 0 7px #267ce918}55%{box-shadow:0 0 0 17px #267ce900}}
@keyframes welcome-card{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.welcome-enter .welcome-you,.welcome-enter .welcome-demo-card{animation:none}}
