/* The introduction flows into a single garden scene. Translated labels and
   short phones grow in document flow instead of being clipped into plaques. */
body[data-screen=welcome] #screen>.welcome-landing{--welcome-cream:#fff3dc;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;padding:0;background:#7d9846 url('/assets/living-farm/v3/farm-yard-no-signs.webp') center center/cover no-repeat;overflow:hidden}
.welcome-landing>.welcome-yard{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:0;pointer-events:none}
.welcome-landing .welcome-intro{position:relative;z-index:2;padding:23px 22px 0;text-align:center;background:linear-gradient(#fff3dcce,#fff3dc7a 75%,#fff3dc00);text-shadow:0 1px 2px #fff9e7,0 0 16px #fff3dc}
.welcome-landing .welcome-kicker{display:flex;justify-content:center;align-items:center;gap:7px;margin:0 0 12px;color:#583c23;font-size:10px;font-weight:800;letter-spacing:1px;line-height:1.4}
.welcome-landing .welcome-kicker img{width:21px;height:25px;object-fit:contain;flex:none}
.welcome-landing .welcome-intro h1{margin:0;color:#4b2c16;font-size:clamp(29px,8.6cqw,44px);font-weight:1000;line-height:1.08;letter-spacing:-.035em}
.welcome-landing .welcome-intro h1 em{font-style:normal;color:#925a20}
.welcome-landing .welcome-landscape{position:relative;isolation:isolate;width:100%;height:clamp(350px,52svh,500px);margin:0;flex:1 0 auto;min-height:350px;background:none}
.welcome-landing .welcome-family{position:absolute;z-index:2;height:86%;width:86%;max-width:none;left:7%;bottom:3%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 3px #34291b26)}
.welcome-ground-shadow{position:absolute;z-index:1;left:30%;bottom:1%;width:40%;height:9%;border-radius:50%;background:radial-gradient(ellipse,#47301b44,transparent 69%)}
.welcome-landing .welcome-entry{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;padding:10px 28px max(20px,env(safe-area-inset-bottom));background:linear-gradient(#fff3dc00,#fff3dcc7 30%,#fff3dce8)}
.welcome-landing .welcome-entry>.button{display:flex;gap:12px;align-items:center;justify-content:center;width:100%;min-height:56px;padding:13px 15px;margin:0;font-size:clamp(15px,4.2cqw,20px);line-height:1.3;border-radius:13px;background:linear-gradient(#ffe3a0,#f0bc54);color:#56330e;border:1px solid #cf963d;box-shadow:inset 0 2px #fff0c8,0 3px 0 #bb842d,0 6px 12px #9c6c2320}
.welcome-landing .welcome-entry>.button svg{flex:none;width:21px;height:21px}
.welcome-landing .welcome-login{margin:14px 0 0;color:#573c23;font-size:13px;line-height:1.5}
.welcome-landing .welcome-login .inline-link{padding:5px 4px;min-height:36px;color:#69431f;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.welcome-landing .welcome-explore{display:flex;align-items:center;justify-content:center;gap:7px;margin:3px 0 0;min-height:42px;padding:8px;color:#725a3d;font-size:13px;font-weight:750;line-height:1.4}
.welcome-landing .welcome-explore svg{width:16px;height:16px}
.welcome-app-install{position:relative;padding:12px 22px max(28px,env(safe-area-inset-bottom));background:#fff3dc;color:#56361c}
.welcome-app-card{padding:20px 16px 16px;border:1px solid #b58a4b;border-radius:14px;background:linear-gradient(#fff9ebed,#f7e6c6f5),url('/assets/living-farm/decor/wood.webp') center/cover;box-shadow:inset 0 0 0 4px #ecd2a3,0 4px 0 #ab7c3733}
.welcome-app-card>header{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:0 2px}
.welcome-app-card>header>img{flex:none;width:56px;height:56px;filter:drop-shadow(0 2px 1px #76552b29)}
.welcome-app-card>header>div{min-width:0}
.welcome-app-card h2{margin:0;color:#523014;font-size:clamp(20px,5.5cqw,27px);font-weight:950;line-height:1.15;overflow-wrap:anywhere}
.welcome-app-card header p{margin:6px 0 0;color:#795c3e;font-size:13px;line-height:1.5}
.welcome-app-actions{display:grid;gap:12px}
.welcome-app-link{display:flex;align-items:center;gap:12px;min-width:0;width:100%;min-height:76px;padding:14px 12px;border:1px solid #bd8b3f;border-radius:10px;text-align:left;text-decoration:none;color:#53310e;box-shadow:inset 0 2px #fff5d2,0 2px 0 #b5833955;background:linear-gradient(#ffe7a9e8,#efc477e8),url('/assets/living-farm/decor/wood.webp') center/cover}
.welcome-app-link>svg{flex:none;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.welcome-app-link>span{flex:1;min-width:0}
.welcome-app-link strong{display:block;font-size:16px;font-weight:900;line-height:1.3;overflow-wrap:anywhere}
.welcome-app-link small{display:block;margin-top:4px;color:#765537;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.welcome-app-link>.welcome-app-arrow{width:18px;height:18px}
.welcome-app-iphone{background:linear-gradient(#fff8e9,#f3e2c3);border-color:#c5a574}
.welcome-app-link:focus-visible{outline:3px solid #6b792c;outline-offset:4px}
@media(max-width:359px){.welcome-app-install{padding-inline:14px}.welcome-app-card{padding:18px 12px 14px}.welcome-app-card>header{gap:9px}.welcome-app-card>header>img{width:46px;height:46px}.welcome-app-link{gap:9px;padding:13px 10px}.welcome-app-link strong{font-size:15px}}
@media(max-height:720px){.welcome-landing .welcome-intro{padding-top:16px}.welcome-landing .welcome-landscape{height:350px;min-height:350px}.welcome-landing .welcome-entry{padding-top:8px;padding-bottom:16px}}
@media(max-width:359px){.welcome-landing .welcome-intro{padding-inline:16px}.welcome-landing .welcome-kicker{font-size:8px;gap:5px;letter-spacing:.8px}.welcome-landing .welcome-entry{padding-inline:22px}}
.welcome-landing .welcome-film{display:flex;align-items:center;gap:14px;width:100%;min-height:100px;margin:0 0 16px;padding:8px 12px 8px 8px;text-align:left;border:1px solid #bd904d;border-radius:14px;background:#fff2d9ed;box-shadow:0 3px 0 #ad804343;color:#593618}
.welcome-film-image{position:relative;flex:none;overflow:hidden;width:62px;height:84px;border-radius:8px;background:#32472b}
.welcome-film-image img{width:100%;height:100%;object-fit:cover}
.welcome-film-image>svg{position:absolute;inset:0;margin:auto;width:34px;height:34px;padding:7px;border-radius:50%;background:#ffda83;fill:#603b13;stroke:#603b13}
.welcome-film>span:last-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.welcome-film strong{font-size:16px;line-height:1.2;font-weight:950}.welcome-film small{font-size:12px;line-height:1.4;color:#806340}.welcome-film-languages{font-size:10px;color:#946e3d;line-height:1.4}
.promo-dialog{width:min(100%,520px);max-width:100vw;max-height:100dvh;margin:auto;padding:16px;border:1px solid #b68a48;border-radius:0;background:#fff2dc;color:#4e3018;box-shadow:0 12px 80px #0007;overflow-y:auto}
.promo-dialog::backdrop{background:#0e1a13dc;backdrop-filter:blur(5px)}
.promo-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.promo-dialog h2{font-size:21px;line-height:1.2;margin:0;font-weight:950}.promo-close{font-size:32px;line-height:1;min-width:44px;min-height:44px;border-radius:8px;color:#603b13}
.promo-language-step{padding:12px 4px 20px}.promo-language-step>p{font-size:17px;font-weight:850;margin:0 0 18px}.promo-language-step>small{display:block;line-height:1.5;color:#806340;margin-top:18px;font-size:12px}
.promo-language-choices{display:grid;gap:12px}.promo-language-choices button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;min-height:58px;border:1px solid #cb9b53;border-radius:11px;background:linear-gradient(#ffdf9a,#f4c567);color:#593612;font-size:19px;font-weight:850;box-shadow:inset 0 2px #fff0ca,0 2px #b68a48}.promo-language-choices svg{width:23px;height:23px;fill:currentColor}
.promo-playback video{display:block;width:100%;max-height:calc(100dvh - 160px);aspect-ratio:9/16;object-fit:contain;background:#142a1d;outline-offset:2px}.promo-change{display:block;margin:10px auto 0;padding:12px 16px;min-height:44px;color:#704821;font-weight:850;text-decoration:underline;text-underline-offset:3px}.promo-error{font-size:14px;line-height:1.5;padding:10px;color:#a32b22}
@media(max-width:540px){.promo-dialog{min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}.promo-language-step{padding-top:32px}.promo-playback video{max-height:calc(100dvh - 165px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}
