/* A lightweight welcome gift; theme colours follow the rest of the studio. */
.welcome-dialog {
  width:min(400px,calc(100vw - 32px)); max-height:calc(100dvh - 36px - var(--safe-top) - var(--safe-bottom));
  padding:0; border:1px solid #fff8; border-radius:30px; color:var(--ink);
  background:radial-gradient(ellipse at 50% 18%,#e6b59457,transparent 57%),#faf6ee;
  box-shadow:0 30px 100px #26170e52,0 2px 6px #26170e24,inset 0 1px 0 #fff;
  overflow:auto; overscroll-behavior:contain;
}
.welcome-dialog::backdrop { background:#241c155e; backdrop-filter:blur(7px); }
.welcome-dialog.is-from-intro::backdrop { animation:welcome-backdrop 420ms ease both; }
.welcome-content { position:relative; padding:28px 26px 22px; text-align:center; }
.welcome-dialog[open] { animation:welcome-arrive 440ms cubic-bezier(.2,.7,.2,1) both; }
.welcome-eyebrow { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.23em; }
.welcome-emblem {
  position:relative; display:grid; place-items:center; width:104px; height:104px; margin:22px auto 19px;
  border-radius:50%; border:1px solid #dcbea6;
  background:linear-gradient(145deg,#fffdf8 6%,#eedac7 64%,#c89771);
  box-shadow:0 15px 24px #92562e24,inset 0 2px 2px #fff,inset 0 -5px 9px #98522b24;
}
.welcome-emblem::before { content:""; position:absolute; inset:6px; border:1px solid #fff9; border-radius:inherit; }
.welcome-emblem img { width:66px; height:66px; object-fit:contain; filter:url('#aura-black-mark'); mix-blend-mode:multiply; }
.welcome-amount { display:flex; align-items:baseline; justify-content:center; gap:10px; margin-bottom:15px; }
.welcome-amount>span { font-size:78px; font-weight:800; line-height:1; letter-spacing:-.065em; }
.welcome-amount small { font-size:17px; font-weight:700; letter-spacing:.06em; color:var(--accent); }
.welcome-dialog h2 { margin:0 auto 12px; font-size:27px; font-weight:780; letter-spacing:-.04em; line-height:1.15; outline:none; }
.welcome-gift { display:block; font-size:22px; letter-spacing:.035em; }
#welcome-description { max-width:270px; margin:auto; font-size:14px; line-height:1.5; color:var(--muted); }
.welcome-claim {
  display:flex; justify-content:center; align-items:center; gap:16px; width:100%; min-height:53px;
  margin-top:25px; padding:12px 15px; border:1px solid #a33c22; border-radius:17px;
  color:#fffaf3; background:linear-gradient(145deg,#cd6338,#ae3a1b);
  box-shadow:0 8px 16px #af44172b,inset 0 1px 0 #ffe2c96b;
  font-size:14px; font-weight:700; line-height:1.4; transition:transform 180ms ease,box-shadow 180ms ease;
}
.welcome-claim:not(:disabled):active { transform:translateY(1px); box-shadow:0 3px 9px #af441725; }
.welcome-claim span { font-size:22px; font-weight:400; }
.welcome-later { display:block; width:100%; min-height:48px; margin-top:12px; padding:11px 15px; border:1px solid #ad927b55; border-radius:17px; background:#e8dcca45; color:var(--ink); font-size:15px; font-weight:600; transition:background 180ms ease,transform 180ms ease; }
.welcome-later:hover { background:#e8dcca88; }
.welcome-later:active { transform:translateY(1px); }
.welcome-error { margin:15px 0 -8px; font-size:12px; color:var(--accent); line-height:1.45; }
.welcome-dialog.is-claimed .welcome-emblem { animation:welcome-received 420ms ease both; }
.welcome-flight { position:fixed; z-index:10010; display:flex; align-items:center; justify-content:center; border-radius:30px; pointer-events:none; background:var(--accent); color:var(--paper); font:700 16px var(--ui-font); }
.profile-welcome { display:block; width:100%; margin:18px 0; padding:16px 18px; border:1px solid var(--line); border-radius:18px; background:var(--accent-soft); text-align:left; }
.profile-welcome>span { display:block; color:var(--muted); font-size:11px; margin-bottom:5px; }
.profile-welcome strong { display:flex; align-items:center; justify-content:space-between; color:var(--ink); font-size:15px; }
:root[data-theme="dark"] .welcome-dialog { background:radial-gradient(ellipse at 50% 18%,#a1d8452b,transparent 55%),#141b10; border-color:#b8e87532; box-shadow:0 30px 100px #0009,inset 0 1px 0 #e6ffc321; }
:root[data-theme="dark"] .welcome-dialog::backdrop { background:#05080399; }
:root[data-theme="dark"] .welcome-emblem { border-color:#819e59; background:linear-gradient(145deg,#4a6331,#25371a 65%,#111b0c); box-shadow:0 16px 30px #0006,0 0 45px #b0e96113,inset 0 2px 2px #efffd933; }
:root[data-theme="dark"] .welcome-emblem::before { border-color:#deffab33; }
:root[data-theme="dark"] .welcome-emblem img { filter:url('#aura-black-mark') invert(1); mix-blend-mode:normal; }
:root[data-theme="dark"] .welcome-claim { background:linear-gradient(145deg,#d0f88e,#a6d65e); border-color:#c6ed84; color:#17210e; box-shadow:0 8px 24px #a0dd4721,inset 0 1px 0 #f4ffe1b0; }
:root[data-theme="dark"] .welcome-later { border-color:#b8e87545; background:#b8e8750d; }
:root[data-theme="dark"] .welcome-later:hover { background:#b8e8751a; }
@keyframes welcome-backdrop { from { opacity:0; } to { opacity:1; } }
@keyframes welcome-arrive { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes welcome-received { 50% { transform:translateY(-5px) scale(1.06); } }
@media(max-height:680px) { .welcome-content { padding:20px 24px 14px; } .welcome-emblem { width:76px; height:76px; margin:15px auto; } .welcome-emblem img { width:49px; height:49px; } .welcome-amount>span { font-size:62px; } .welcome-dialog h2 { font-size:24px; } .welcome-claim { margin-top:20px; } }
@media(prefers-reduced-motion:reduce) { .welcome-dialog[open],.welcome-dialog::backdrop,.welcome-dialog.is-claimed .welcome-emblem { animation:none; } .welcome-claim,.welcome-later { transition:none; } }
