/* LifeDice welcome: existing brand, variance 6 / motion 3 / density 3.
   Layers: welcome gate 10000 (same authentication gate); no new overlay layer. */
.beta-loading body:has(#betaGate.welcome) .phone { display: none; }
#betaGate.welcome { --welcome-paper:#F5EFE0; --welcome-card:#FFFDF6; --welcome-ink:#453B30; --welcome-muted:#6E6253; --welcome-action:#B4472E; --welcome-line:#C9BDA5; position:fixed; overflow-y:auto; display:block; padding:0; text-align:left; background:var(--welcome-paper); color:var(--welcome-ink); }
#betaGate.welcome * { box-sizing:border-box; }
.welcome-wrap { min-height:100dvh; max-width:1160px; margin:auto; padding:24px 32px max(24px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; }
.welcome-head { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:52px; }
#betaGate.welcome .welcome-brand { display:flex; align-items:center; gap:10px; background:none; color:var(--welcome-ink); padding:0; text-decoration:none; font-size:19px; font-weight:700; }
.welcome-brand img { width:42px; height:42px; border-radius:12px; }
#betaGate.welcome .welcome-language { min-height:44px; min-width:64px; padding:8px 12px; border:1px solid var(--welcome-line); border-radius:12px; background:transparent; color:var(--welcome-ink); cursor:pointer; font-size:14px; }
.welcome-main { display:grid; grid-template-columns:0.9fr 1.1fr; align-items:center; gap:52px; margin:28px 0 auto; padding:44px 0; }
.welcome-copy { grid-column:1; grid-row:1; }
.welcome-art { grid-column:2; grid-row:1; width:100%; height:auto; aspect-ratio:4/3; display:block; object-fit:cover; border-radius:24px; background:#BFE3F0; }
.welcome h1 { font-family:inherit; font-size:clamp(32px,4vw,48px); font-weight:700; letter-spacing:-.035em; line-height:1.3; text-wrap:balance; max-width:10em; margin:0 0 20px; }
.welcome-description { font-size:17px; color:var(--welcome-muted); line-height:1.8; max-width:24em; margin:0 0 32px; }
#betaGate.welcome .welcome-primary { display:flex; justify-content:center; align-items:center; min-height:54px; width:100%; max-width:330px; border-radius:16px; padding:14px 20px; font-size:16px; font-weight:600; background:var(--welcome-action); color:#FFFDF6; text-decoration:none; box-shadow:0 4px 0 rgba(116,65,40,.15); transition:transform .15s; }
#betaGate.welcome .welcome-primary:active { transform:translateY(2px); }
.welcome-secondary { margin-top:20px; font-size:15px; color:var(--welcome-muted); }
#betaGate.welcome .welcome-secondary a { display:inline-flex; align-items:center; min-height:44px; padding:0 8px; background:transparent; color:var(--welcome-action); font-weight:600; text-underline-offset:4px; }
.welcome-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; color:var(--welcome-muted); font-size:12px; }
#betaGate.welcome .welcome-footer a { display:inline-flex; align-items:center; min-height:44px; padding:4px 8px; background:transparent; color:var(--welcome-muted); font-size:12px; text-underline-offset:3px; }
#betaGate.welcome :focus-visible { outline:3px solid var(--welcome-action); outline-offset:4px; }
@media(max-width:767px) {
 .welcome-wrap { padding:16px 20px max(16px,env(safe-area-inset-bottom)); }
 .welcome-main { display:flex; flex-direction:column; gap:24px; padding:24px 0; margin:12px 0 auto; }
 .welcome-art { width:100%; height:clamp(170px,28dvh,260px); aspect-ratio:auto; object-position:55% 52%; }
 .welcome-copy { width:100%; }
 .welcome h1 { font-size:32px; max-width:12em; margin-bottom:12px; }
 .welcome-description { font-size:15px; margin-bottom:24px; }
 #betaGate.welcome .welcome-primary { max-width:none; }
 .welcome-secondary { margin-top:10px; text-align:center; }
 .welcome-footer { justify-content:center; gap:0 12px; }
}
@media(max-width:360px) { .welcome h1 { font-size:28px; } .welcome-main { gap:18px; padding:18px 0; } }
@media(prefers-color-scheme:dark) {
 #betaGate.welcome { --welcome-paper:#262923; --welcome-card:#32372E; --welcome-ink:#F5EFE0; --welcome-muted:#CEC7B7; --welcome-action:#F0A087; --welcome-line:#6B705F; }
 #betaGate.welcome .welcome-primary { background:#B4472E; color:#FFFDF6; }
}
@media(prefers-reduced-motion:reduce) { #betaGate.welcome * { transition:none; } }
