.plan-welcome-overlay {
  --pw-accent: #ef6b43;
  --pw-accent-2: #f7a34b;
  --pw-glow: rgba(239,107,67,.24);
  position: fixed; inset: 0; z-index: 12000;
  display: grid; place-items: center; padding: 18px;
  overflow: auto; color: #f8f4ee;
  background: rgba(10,9,8,.78);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  backdrop-filter: blur(18px) saturate(1.15);
  animation: pw-fade-in .32s ease both;
}
.plan-welcome-overlay.pw-blue { --pw-accent:#68a9ff; --pw-accent-2:#6ae0db; --pw-glow:rgba(80,145,255,.25); }
.plan-welcome-overlay.pw-violet { --pw-accent:#b586ff; --pw-accent-2:#ef77ca; --pw-glow:rgba(176,124,240,.28); }
.plan-welcome-overlay.pw-leaving { animation: pw-fade-out .26s ease both; pointer-events:none; }
.plan-welcome-shell {
  position: relative; isolation: isolate; width: min(780px, 100%);
  max-height: calc(100dvh - 36px); overflow: auto;
  padding: clamp(24px, 4vw, 44px); border-radius: 30px;
  border: 1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 50% -20%, var(--pw-glow), transparent 44%),
    linear-gradient(145deg, rgba(40,36,32,.98), rgba(18,17,16,.99));
  box-shadow: 0 34px 100px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.08);
  animation: pw-rise .55s cubic-bezier(.16,1,.3,1) both;
  scrollbar-width: thin;
}
.pw-aurora { position:absolute; inset:0; overflow:hidden; border-radius:inherit; z-index:-1; pointer-events:none; }
.pw-aurora i { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--pw-accent); opacity:.5; box-shadow:0 0 18px var(--pw-accent); animation:pw-float 7s ease-in-out infinite; }
.pw-aurora i:nth-child(1){left:10%;top:24%;animation-delay:-1s}.pw-aurora i:nth-child(2){right:12%;top:15%;animation-delay:-4s;transform:scale(.7)}.pw-aurora i:nth-child(3){right:20%;bottom:24%;animation-delay:-2.5s;transform:scale(.45)}
.pw-x { position:absolute; top:16px; right:16px; width:38px; height:38px; border:1px solid rgba(255,255,255,.1); border-radius:50%; background:rgba(255,255,255,.05); color:rgba(255,255,255,.64); font:300 25px/1 system-ui; cursor:pointer; transition:.2s ease; }
.pw-x:hover { color:#fff; background:rgba(255,255,255,.1); transform:rotate(5deg); }
.pw-head { max-width:620px; margin:0 auto 26px; text-align:center; }
.pw-mark { position:relative; display:grid; place-items:center; width:68px; height:68px; margin:0 auto 16px; border-radius:22px; color:#fff; background:linear-gradient(135deg,var(--pw-accent),var(--pw-accent-2)); box-shadow:0 15px 42px var(--pw-glow); animation:pw-mark .75s cubic-bezier(.16,1,.3,1) both; }
.pw-mark span { font-size:30px; line-height:1; }
.pw-mark i { position:absolute; inset:-8px; border:1px solid color-mix(in srgb, var(--pw-accent) 38%, transparent); border-radius:27px; animation:pw-pulse 2.7s ease-out infinite; }
.pw-eyebrow { color:var(--pw-accent-2); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.pw-head h1 { margin:7px 0 8px; color:#fff; font-size:clamp(28px,5vw,44px); line-height:1.03; letter-spacing:-.045em; }
.pw-head p { max-width:560px; margin:0 auto; color:rgba(247,242,235,.68); font-size:15px; line-height:1.55; }
.pw-allowance { display:inline-flex; margin-top:14px; padding:7px 12px; border:1px solid color-mix(in srgb,var(--pw-accent) 32%,transparent); border-radius:999px; color:rgba(255,255,255,.84); background:color-mix(in srgb,var(--pw-accent) 10%,transparent); font-size:11.5px; font-weight:700; }
.pw-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pw-feature { display:flex; align-items:flex-start; gap:12px; min-height:76px; padding:15px; border:1px solid rgba(255,255,255,.08); border-radius:17px; background:rgba(255,255,255,.035); opacity:0; animation:pw-item .48s cubic-bezier(.16,1,.3,1) calc(.18s + var(--pw-i)*.055s) forwards; }
.pw-feature.pw-clickable { cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.pw-feature.pw-clickable:hover,.pw-feature.pw-clickable:focus-visible { border-color:color-mix(in srgb,var(--pw-accent) 36%,transparent); background:color-mix(in srgb,var(--pw-accent) 8%,rgba(255,255,255,.035)); transform:translateY(-2px); outline:none; }
.pw-feature-icon { flex:0 0 auto; display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:var(--pw-accent-2); background:color-mix(in srgb,var(--pw-accent) 13%,transparent); }
.pw-feature-icon svg { width:19px; height:19px; }
.pw-feature b,.pw-feature small { display:block; }.pw-feature b { color:#fff; font-size:13px; line-height:1.35; }.pw-feature small { margin-top:3px; color:rgba(247,242,235,.58); font-size:11.5px; line-height:1.42; }
.pw-actions { display:flex; gap:9px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.pw-action { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:0 15px; border-radius:13px; font:700 12px/1 system-ui; cursor:pointer; transition:transform .18s ease,filter .18s ease,background .18s ease; opacity:0; animation:pw-item .45s cubic-bezier(.16,1,.3,1) calc(.48s + var(--pw-i)*.07s) forwards; }
.pw-action svg { width:17px; height:17px; }.pw-action:hover { transform:translateY(-2px); filter:brightness(1.08); }.pw-action:active { transform:scale(.97); }
.pw-action.pw-primary { color:#111; border:0; background:linear-gradient(135deg,var(--pw-accent),var(--pw-accent-2)); }
.pw-action.pw-secondary { color:#fff; border:1px solid color-mix(in srgb,var(--pw-accent) 42%,transparent); background:color-mix(in srgb,var(--pw-accent) 12%,rgba(255,255,255,.02)); }
.pw-action.pw-quiet { color:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); }
.pw-continue { display:flex; justify-content:center; align-items:center; gap:10px; width:100%; margin-top:14px; padding:12px; border:0; background:transparent; color:rgba(255,255,255,.75); font:700 12.5px/1 system-ui; cursor:pointer; }
.pw-continue span { color:var(--pw-accent-2); transition:transform .2s ease; }.pw-continue:hover span{transform:translateX(4px)}
.pw-preview-note { text-align:center; color:rgba(255,255,255,.35); font:600 10px/1.4 system-ui; letter-spacing:.04em; }
@keyframes pw-fade-in{from{opacity:0}to{opacity:1}}@keyframes pw-fade-out{to{opacity:0}}@keyframes pw-rise{from{opacity:0;transform:translateY(28px) scale(.975)}to{opacity:1;transform:none}}@keyframes pw-mark{from{opacity:0;transform:rotate(-12deg) scale(.55)}to{opacity:1;transform:none}}@keyframes pw-pulse{0%{opacity:0;transform:scale(.8)}35%{opacity:.7}100%{opacity:0;transform:scale(1.32)}}@keyframes pw-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes pw-item{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:620px){.plan-welcome-overlay{place-items:end center;padding:0}.plan-welcome-shell{width:100%;max-height:94dvh;border-radius:28px 28px 0 0;padding:28px 18px 18px}.pw-head{margin-bottom:18px}.pw-mark{width:58px;height:58px;border-radius:19px}.pw-head h1{font-size:30px}.pw-head p{font-size:13.5px}.pw-features{grid-template-columns:1fr}.pw-feature{min-height:0;padding:12px}.pw-feature small{font-size:11px}.pw-actions{display:grid;grid-template-columns:1fr 1fr}.pw-action{justify-content:center}.pw-action:last-child:nth-child(odd){grid-column:1/-1}.pw-x{top:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.plan-welcome-overlay,.plan-welcome-shell,.pw-mark,.pw-mark i,.pw-feature,.pw-action,.pw-aurora i{animation:none!important;opacity:1}.pw-action,.pw-x,.pw-continue span{transition:none!important}}
