/* Welcome card (signed-out visitors) and the profile welcome-gift panel. */
.tfw-overlay,.welcome-gift-panel{--w-yellow:#ffd700;--w-ink:#f5f5f2;--w-muted:#a3a3a3;--w-line:rgba(255,255,255,.1);--w-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","DM Sans","Helvetica Neue",sans-serif}
html.tfw-lock{overflow:hidden}
.tfw-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s;font-family:var(--w-font);-webkit-font-smoothing:antialiased}
.tfw-overlay.is-open{opacity:1;visibility:visible;transition:opacity .35s}
.tfw-card{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);width:min(920px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--w-line);border-radius:24px;background:#0b0b0c;color:var(--w-ink);box-shadow:0 40px 120px rgba(0,0,0,.6);transform:translateY(18px) scale(.98);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.tfw-overlay.is-open .tfw-card{transform:none}
.tfw-close{position:absolute;right:14px;top:14px;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--w-line);border-radius:50%!important;background:rgba(0,0,0,.55);color:#fff;font:300 22px/1 var(--w-font);cursor:pointer;transition:border-color .2s,background .2s}
.tfw-close:hover{border-color:#fff}
.tfw-visual{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:14px;padding:64px 28px 28px;background:var(--w-yellow);color:#000}
.tfw-visual img{width:100%;max-width:380px;height:auto;filter:drop-shadow(0 26px 30px rgba(0,0,0,.35));animation:tfw-float 6s ease-in-out infinite}
.tfw-visual p{margin:0;font:600 13px/1.3 var(--w-font);letter-spacing:.02em;color:#000!important;-webkit-text-fill-color:#000!important}
.tfw-badge{position:absolute;left:22px;top:22px;padding:8px 13px;border-radius:999px;background:#000;color:var(--w-yellow);font:600 11px/1 var(--w-font);letter-spacing:.14em;text-transform:uppercase}
@keyframes tfw-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.tfw-body{display:flex;flex-direction:column;gap:18px;padding:40px 36px 32px}
.tfw-eyebrow{display:flex;align-items:center;gap:9px;margin:0;font:500 11px/1 var(--w-font);letter-spacing:.16em;text-transform:uppercase;color:var(--w-yellow)}
.tfw-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--w-yellow)}
.tfw-overlay h2{-webkit-text-fill-color:currentColor;margin:0;font:450 clamp(28px,3.4vw,40px)/1.05 var(--w-font);letter-spacing:-.04em;color:#fff}
.tfw-overlay h2 em{font-style:normal;color:var(--w-yellow);-webkit-text-fill-color:var(--w-yellow)}
.tfw-gift{margin:-8px 0 0;font:400 14px/1.5 var(--w-font);color:#d8d8d4!important;-webkit-text-fill-color:#d8d8d4!important}
.tfw-features{display:grid;gap:10px;margin:2px 0 0;padding:0;list-style:none}
.tfw-features li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--w-line);border-radius:14px}
.tfw-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,215,0,.12)}
.tfw-icon svg{width:18px;height:18px;fill:none;stroke:var(--w-yellow);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tfw-features strong{display:block;margin:1px 0 2px;font:600 14px/1.2 var(--w-font);color:#fff}
.tfw-features span{font:400 13px/1.45 var(--w-font);color:var(--w-muted)}
.tfw-cta{display:flex;align-items:center;justify-content:center;gap:12px;height:52px;border-radius:12px;background:var(--w-yellow);color:#000!important;-webkit-text-fill-color:#000!important;font:600 15px/1 var(--w-font);text-decoration:none;transition:background .2s,transform .2s}
.tfw-cta:hover{background:#ffe033;transform:translateY(-1px)}
.tfw-cta:focus-visible,.tfw-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
.tfw-string{margin:0;padding:12px 14px;border-left:2px solid var(--w-yellow);background:rgba(255,215,0,.06);border-radius:0 10px 10px 0;font:400 13px/1.5 var(--w-font);color:#d8d8d4}
.tfw-string b{color:#fff;font-weight:600}
.tfw-fine{margin:-6px 0 0;font:400 11px/1.4 var(--w-font);color:#7d7d79}
@media (max-width:760px){
  .tfw-overlay{place-items:end center;padding:0}
  .tfw-card{grid-template-columns:1fr;max-height:92vh;border-radius:22px 22px 0 0;transform:translateY(40px)}
  .tfw-visual{flex-direction:row;justify-content:flex-start;gap:14px;padding:46px 18px 16px}
  .tfw-visual img{width:46%;max-width:200px}
  .tfw-visual p{font-size:12px;max-width:16ch}
  .tfw-badge{left:16px;top:14px}
  .tfw-body{gap:14px;padding:22px 18px 22px}
  .tfw-features li{padding:10px 12px}
}
@media (prefers-reduced-motion:reduce){.tfw-overlay,.tfw-card{transition:none}.tfw-visual img{animation:none}}

/* Profile panel */
html body .welcome-gift-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin:24px 0;padding:28px;border:1px solid var(--w-line);border-radius:20px;background:#0b0b0c;color:var(--w-ink);font-family:var(--w-font)}
html body .welcome-gift-panel h2{margin:6px 0 10px;font:450 clamp(26px,3vw,36px)/1.05 var(--w-font)!important;letter-spacing:-.035em!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .welcome-gift-panel h3{margin:0 0 6px;font:600 18px/1.25 var(--w-font)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .welcome-gift-panel p{color:var(--w-muted);font-size:14px;line-height:1.55}
.welcome-steps{display:grid;gap:8px;margin:16px 0 18px;padding:0;list-style:none;counter-reset:step}
.welcome-steps li{counter-increment:step;display:flex;align-items:center;gap:10px;font-size:14px;color:#d8d8d4}
.welcome-steps li::before{content:counter(step);display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--w-line);border-radius:50%;font-size:12px;font-weight:600}
.welcome-steps li.is-done::before{content:"✓";background:var(--w-yellow);border-color:var(--w-yellow);color:#000}
html body .welcome-steps a{color:var(--w-yellow)!important;-webkit-text-fill-color:var(--w-yellow)!important}
.welcome-ig{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;background:#fff;color:#000!important;-webkit-text-fill-color:#000!important;font:600 14px/1 var(--w-font);text-decoration:none}
.welcome-ig svg{width:18px;height:18px;fill:none;stroke:#000;stroke-width:1.8}
.welcome-gift-status{align-self:start;padding:22px;border:1px solid var(--w-line);border-radius:16px}
.welcome-gift-panel[data-status="verified"] .welcome-gift-status,.welcome-gift-panel[data-status="fulfilled"] .welcome-gift-status{background:var(--w-yellow);border-color:var(--w-yellow)}
html body .welcome-gift-panel[data-status="verified"] .welcome-gift-status :is(h3,p),html body .welcome-gift-panel[data-status="fulfilled"] .welcome-gift-status :is(h3,p){color:#000!important;-webkit-text-fill-color:#000!important}
.welcome-claim{display:grid;gap:14px;margin-top:16px}
.welcome-field{display:grid;gap:6px;font-size:13px;color:#d8d8d4}
.welcome-field[hidden]{display:none}
.welcome-field i{font-style:normal;color:#8a8a86}
.welcome-address{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}
.welcome-address[hidden]{display:none}
.welcome-address legend{margin-bottom:6px;font-size:13px;color:#d8d8d4}
.welcome-address-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px}
.welcome-address .welcome-field{min-width:0}
.welcome-address :is(input,select){width:100%;min-width:0;box-sizing:border-box}
.welcome-field :is(input,select){height:46px;padding:0 14px;border:1px solid var(--w-line);border-radius:10px;background:#000;color:#fff;font:400 15px var(--w-font)}
.welcome-choice{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
.welcome-choice legend{width:100%;margin-bottom:6px;font-size:13px;color:#d8d8d4}
.welcome-choice label{position:relative;cursor:pointer}
.welcome-choice input{position:absolute;opacity:0}
.welcome-choice span{display:block;padding:10px 14px;border:1px solid var(--w-line);border-radius:10px;font-size:14px;color:#d8d8d4}
.welcome-choice input:checked+span{border-color:var(--w-yellow);color:#fff}
.welcome-choice input:focus-visible+span{outline:2px solid var(--w-yellow);outline-offset:2px}
.welcome-error{margin:0;color:#ff8a80!important}
@media (max-width:760px){html body .welcome-gift-panel{grid-template-columns:1fr;padding:20px}}

/* Follow button: full-width, unmistakable; the status badge shows where the member's check stands. */
html body .welcome-gift-panel .welcome-ig{display:flex;justify-content:center;width:100%;max-width:340px;min-height:50px;font-size:15px;transition:transform .2s,box-shadow .2s}
html body .welcome-gift-panel .welcome-ig:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
html body .welcome-gift-panel .welcome-ig:focus-visible{outline:2px solid var(--w-yellow);outline-offset:3px}
html body .welcome-gift-panel .welcome-verify{width:100%;min-height:48px}
.welcome-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 11px;border-radius:999px;border:1px solid var(--w-line);font:600 12px/1 var(--w-font);color:#e5e5e5}
.welcome-badge.is-claimed{border-color:rgba(255,215,0,.5);color:var(--w-yellow)}
.welcome-badge.is-verified,.welcome-badge.is-fulfilled{border-color:rgba(0,0,0,.25);background:rgba(0,0,0,.08);color:#000}
.welcome-badge.is-rejected{border-color:rgba(255,138,128,.5);color:#ff8a80}
html body .welcome-gift-panel.is-instagram-only[data-status="verified"] .welcome-gift-status{background:var(--w-yellow)}
html body .welcome-gift-panel .welcome-ig span{color:#000!important;-webkit-text-fill-color:#000!important}
