.welcome-active{max-width:510px;margin:auto;min-height:100dvh;background:#fff}
.welcome-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.splash-screen,.welcome-screen{width:100%;max-width:510px;margin-inline:auto;position:relative;min-height:100svh;min-height:100dvh;overflow:hidden;isolation:isolate}
.splash-screen{display:flex;align-items:center;justify-content:center;padding:36px 18px 100px;color:var(--ink);background:radial-gradient(ellipse at 22% 17%,#bbf0e370,transparent 45%),radial-gradient(ellipse at 85% 65%,#bbf0e35c,transparent 49%),linear-gradient(160deg,#f7fdfb,#effcf9);direction:rtl}
.splash-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#3cd5af08 1px,transparent 1px),linear-gradient(90deg,#3cd5af08 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse at 50% 42%,#000,transparent 67%)}
.splash-screen:after{content:"";position:absolute;inset:18px;z-index:-1;border:1px solid #ffffff8c;border-radius:28px;pointer-events:none}
.splash-center{display:flex;flex-direction:column;align-items:center;width:100%}
.splash-visual{position:relative;width:min(360px,100%);aspect-ratio:6/5;flex:none;direction:ltr}
.splash-aura{position:absolute;inset:16% 10%;border-radius:50%;background:radial-gradient(ellipse,#bbf0e394,#bbf0e351 36%,#bbf0e300 70%);animation:splash-breathe 4s ease-in-out infinite alternate}
.splash-orbits{position:absolute;inset:0;width:100%;height:100%;stroke:#3cd5af65;stroke-width:1}
.splash-ticks{stroke:#3cd5af54;stroke-dasharray:1 12;stroke-linecap:round}
.splash-orbits .splash-trace{stroke:#3cd5af;stroke-width:2;stroke-linecap:round;stroke-dasharray:38 666;animation:splash-orbit 9s linear infinite}
.splash-brackets{stroke:#3cd5af80;stroke-linecap:round;stroke-linejoin:round}
.splash-core{position:absolute;left:50%;top:49%;width:43%;aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(-10deg);border:1px solid #ffffffed;border-radius:29%;background:linear-gradient(135deg,#fffffff7,#ffffffb3 44%,#d8f7efcf);box-shadow:inset 0 0 0 5px #ffffff55,0 24px 45px -20px #213d4252,0 3px 0 #213d4280;animation:splash-float 4.5s ease-in-out infinite alternate;overflow:hidden}
.splash-core:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,#ffffff90 43%,transparent 60%);transform:translateX(-120%);animation:splash-sheen 5s ease-in-out infinite}
.splash-symbol{width:93%;height:auto;object-fit:contain;transform:rotate(10deg);filter:drop-shadow(0 6px 4px #213d4218)}
.splash-node{position:absolute;width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffffdb;border-radius:15px;background:#f7fdfbdc;box-shadow:0 8px 20px #213d4210;animation:splash-node 4s ease-in-out infinite alternate;color:#213d42}
.splash-node svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.splash-node-food{right:6%;top:27%;transform:rotate(9deg);animation-delay:-1s}.splash-node-move{left:9%;top:15%;transform:rotate(-8deg);animation-delay:-2s}.splash-node-scan{left:20%;bottom:7%;transform:rotate(7deg);animation-delay:-3s}
.splash-particle{position:absolute;width:5px;height:5px;border-radius:50%;background:#3cd5af;box-shadow:0 0 0 5px #213d422b}.splash-particle-one{right:23%;bottom:18%}.splash-particle-two{left:13%;top:52%;width:4px;height:4px;background:#3cd5af;box-shadow:0 0 0 4px #213d422b}
.splash-brand{display:flex;flex-direction:column;align-items:center;margin-top:10px;position:relative}
.splash-wordmark{width:200px;height:auto;object-fit:contain}
.splash-brand p{margin-top:15px;color:#536b70;font-size:14px;letter-spacing:-.2px}
.splash-brand-line{width:24px;height:3px;border-radius:3px;background:#9eead7;margin-top:22px}
.splash-foot{position:absolute;bottom:calc(42px + env(safe-area-inset-bottom));display:flex;align-items:center;flex-direction:column;gap:13px}
.splash-foot p{font-size:11px;color:#536b70}
.splash-loading{display:flex;direction:ltr;align-items:center;gap:5px;height:12px}
.splash-loading i{display:block;width:5px;height:5px;border-radius:4px;background:#3cd5af;animation:splash-load 1.2s ease-in-out infinite}
.splash-loading i:nth-child(2){animation-delay:.15s}.splash-loading i:nth-child(3){animation-delay:.3s}
.welcome-screen{display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top)) 28px calc(12px + env(safe-area-inset-bottom));background:#fff;color:var(--ink,#213d42);touch-action:pan-y pinch-zoom}
.welcome-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;position:relative;z-index:2}
.welcome-identity{display:flex;flex-direction:column;gap:4px}
.welcome-header img{width:105px;height:31px;object-fit:contain}
.welcome-identity>span{font:6px/1.4 Arial,sans-serif;letter-spacing:1.1px;color:#536b70}
.welcome-skip{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 9px;background:#effcf9;font-size:12px;color:#536b70;border:1px solid #e8faf5;border-radius:12px}
.welcome-skip svg{width:14px;height:14px}
.welcome-art{position:relative;flex:1;min-height:272px;max-height:410px;margin:22px -10px 18px;display:flex;align-items:center;justify-content:center;border:1px solid #e8faf5;border-radius:24px;background:linear-gradient(#3cd5af04 1px,transparent 1px),linear-gradient(90deg,#3cd5af04 1px,transparent 1px),radial-gradient(ellipse at 50% 60%,#e8faf5,#f7fdfb 65%);background-size:28px 28px,28px 28px,100% 100%;animation:welcome-in .4s ease both}
.welcome-halo{position:absolute;left:50%;top:48%;width:230px;height:230px;transform:translate(-50%,-50%);border:1px solid #9eead755;border-radius:50%;box-shadow:0 0 0 27px #213d4220}
.welcome-halo:after{content:"";position:absolute;inset:20px;border:1px dashed #9eead74a;border-radius:50%}
.welcome-orbit-dot{position:absolute;left:17px;top:17px;width:9px;height:9px;border-top:1px solid #3cd5af;border-left:1px solid #3cd5af}
.welcome-art:after{content:"";position:absolute;right:17px;bottom:17px;width:9px;height:9px;border-right:1px solid #3cd5af;border-bottom:1px solid #3cd5af}
.welcome-photo{position:relative;width:112%;max-width:112%;height:auto;object-fit:contain;z-index:1;filter:drop-shadow(0 16px 14px #213d420b);user-select:none;-webkit-user-drag:none}
.welcome-art-label{display:flex;align-items:center;gap:6px;position:absolute;right:17px;top:16px;font-size:10px;color:#213d42;z-index:2;background:#ffffffd9;border:1px solid #d8f7ef;border-radius:8px;padding:5px 8px}
.welcome-art-label svg{width:14px;height:14px}
.welcome-float{position:absolute;z-index:2;bottom:18px;left:17px;display:flex;align-items:center;gap:9px;padding:9px 11px;background:#fffffff5;border:1px solid #d8f7ef;border-radius:12px;box-shadow:0 8px 20px #213d4208}
.welcome-float-icon{display:grid;place-items:center;width:30px;height:30px;background:#e8faf5;color:#213d42;border-radius:9px}
.welcome-float-icon svg{width:18px;height:18px}
.welcome-float strong{display:block;font-size:11px;font-weight:700}
.welcome-float small{display:block;font-size:9px;color:#536b70;margin-top:2px}
.welcome-art-number{position:absolute;left:18px;top:20px;font:9px/1.4 Arial,sans-serif;letter-spacing:1.2px;color:#536b70}
.welcome-copy{position:relative;animation:welcome-in .4s ease both}
.welcome-eyebrow{display:flex;align-items:center;gap:7px;font-size:11px;color:#213d42;margin-bottom:9px}
.welcome-eyebrow i{width:5px;height:5px;border-radius:2px;background:#3cd5af}
.welcome-copy h1{font-size:28px;line-height:1.55;letter-spacing:-.7px;font-weight:700;outline:none}
.welcome-description{font-size:14px;line-height:1.85;color:#536b70;margin-top:12px;max-width:380px;min-height:52px}
.welcome-footer{margin-top:10px}
.welcome-pagination{display:flex;justify-content:center;align-items:center;direction:rtl;height:44px}
.welcome-pagination button{width:44px;height:44px;padding:0;background:transparent;display:grid;place-items:center;border-radius:10px}
.welcome-pagination button span{width:21px;height:3px;background:#d8f7ef;border-radius:4px;transition:background .2s}
.welcome-pagination button[aria-current=step] span{background:#3cd5af}
.welcome-actions{display:flex;gap:10px;align-items:center}
.welcome-next{display:flex;align-items:center;justify-content:space-between;flex:1;min-height:50px;padding:0 18px;background:#3cd5af;color:var(--ink);border:1px solid #3cd5af;border-radius:13px;font-size:14px;transition:background .15s}
.welcome-next:hover{background:#9eead7}
.welcome-next svg,.welcome-previous svg{width:19px;height:19px}
.welcome-next svg{color:#213d42}
.welcome-previous{display:grid;place-items:center;width:50px;height:50px;border:1px solid #d8f7ef;border-radius:13px;background:#f7fdfb;flex-shrink:0}
.welcome-previous svg{transform:rotate(180deg)}
.welcome-signoff{text-align:center;font-size:10px;color:#536b70;line-height:1.6;margin-top:13px}
.welcome-scanner .welcome-art{background-color:#effcf9;background-image:linear-gradient(#3cd5af07 1px,transparent 1px),linear-gradient(90deg,#3cd5af07 1px,transparent 1px),radial-gradient(ellipse at 50% 60%,#d8f7ef,#effcf9 70%)}
.welcome-scanner .welcome-photo{width:122%;max-width:122%}

@keyframes splash-load{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}
@keyframes splash-orbit{to{stroke-dashoffset:-704}}
@keyframes splash-breathe{to{transform:scale(1.12);opacity:.65}}
@keyframes splash-float{to{transform:translate(-50%,calc(-50% - 6px)) rotate(-7deg)}}
@keyframes splash-node{to{translate:0 -6px}}
@keyframes splash-sheen{0%,35%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes welcome-in{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:700px){.welcome-active{border-radius:26px;overflow:hidden;box-shadow:0 12px 60px #213d4212;min-height:calc(100dvh - 40px)}.splash-screen,.welcome-screen{min-height:calc(100dvh - 40px)}.welcome-screen{padding-inline:32px}}
@media(max-height:740px){.welcome-screen{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}.welcome-art{min-height:218px;max-height:260px;margin-top:14px;margin-bottom:12px}.welcome-halo{width:180px;height:180px}.welcome-photo{width:100%;max-height:270px}.welcome-scanner .welcome-photo{width:112%}.welcome-copy h1{font-size:25px}.welcome-description{font-size:13px;margin-top:8px;min-height:48px}.welcome-eyebrow{margin-bottom:6px}.welcome-footer{margin-top:4px}.welcome-signoff{margin-top:10px}}
@media(max-height:620px){.welcome-screen{padding-inline:24px}.welcome-header{min-height:44px}.welcome-header img{width:98px;height:29px}.welcome-identity>span{font-size:5.5px}.welcome-art{min-height:145px;max-height:155px;margin-top:10px;margin-bottom:10px;border-radius:18px}.welcome-halo{width:140px;height:140px}.welcome-photo{height:166px;width:94%}.welcome-scanner .welcome-photo{width:105%;height:176px}.welcome-art-label{font-size:9px;top:10px;right:12px;padding:3px 6px}.welcome-art-number{left:12px;top:15px;font-size:8px}.welcome-orbit-dot{display:none}.welcome-float{padding:5px 7px;bottom:10px;left:10px;gap:6px}.welcome-float strong{font-size:10px}.welcome-float small{font-size:8px}.welcome-float-icon{width:25px;height:25px}.welcome-copy h1{font-size:22px;line-height:1.5}.welcome-description{font-size:12px;line-height:1.8;min-height:43px;margin-top:6px}.welcome-eyebrow{font-size:10px}.welcome-next,.welcome-previous{min-height:46px;height:46px}.welcome-signoff{display:none}}
@media(max-width:350px){.welcome-screen{padding-inline:22px}.welcome-copy h1{font-size:23px}.welcome-description{font-size:12px}.welcome-float{left:10px}.welcome-art-label{right:12px}.welcome-art-number{left:12px;font-size:8px;letter-spacing:.6px}}
@media(max-height:620px){.splash-screen{padding:24px 16px 85px}.splash-visual{width:min(270px,70vw)}.splash-brand{margin-top:0}.splash-wordmark{width:170px}.splash-brand p{font-size:12px;margin-top:9px}.splash-brand-line{margin-top:14px}.splash-foot{bottom:calc(26px + env(safe-area-inset-bottom));gap:9px}}
@media(max-height:460px) and (min-width:500px){.splash-screen{padding:28px 32px 68px}.splash-center{flex-direction:row;justify-content:center;gap:20px}.splash-visual{width:230px}.splash-brand{margin-top:0}.splash-foot{bottom:18px;gap:6px}.splash-screen:after{inset:10px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){.splash-center,.splash-aura,.splash-core,.splash-core:after,.splash-node,.splash-orbits .splash-trace,.splash-loading i,.welcome-art,.welcome-copy{animation:none}.welcome-pagination button span,.welcome-next{transition:none}}