/* placeholder photo, recrop so the face is not cut awkwardly */
.phero__media img{object-position:center 26%;}

/* stepper */
.fs__steps{list-style:none;margin:0 0 28px;padding:0;display:flex;gap:6px;flex-wrap:wrap;}
.fs__steps li{display:flex;align-items:center;gap:10px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);padding:10px 16px 10px 10px;border:1px solid var(--line-2);}
.fs__steps li b{width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:.72rem;}
.fs__steps li.is-active{color:var(--ink);border-color:var(--accent);}
.fs__steps li.is-active b{background:var(--grad);border-color:transparent;color:#fff;}
.fs__steps li.is-done{color:var(--accent);}
.fs__pane{display:none;}
.fs__pane.is-active{display:block;}
.fs__nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}

/* pack cards (selectable) */
.vault{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:16px;}
.pk{position:relative;border:1px solid var(--line-2);background:#171009;padding:22px;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;
  transition:border-color .25s,transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s;}
.pk input{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.pk__bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;opacity:.22;
  -webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 85%);mask-image:linear-gradient(180deg,#000 30%,transparent 85%);transition:opacity .3s;}
.pk:hover .pk__bg{opacity:.32;}
.pk--img .pk__tag,.pk--img .pk__name,.pk--img .pk__desc,.pk--img .pk__ft,.pk--img .pk__wave{position:relative;z-index:1;}
.pk--big{grid-row:span 2;grid-column:span 1;background:linear-gradient(160deg,#221108,#140B08);}
.pk:hover{border-color:var(--accent);transform:translateY(-5px) rotate(-.5deg);box-shadow:0 16px 46px rgba(236,48,18,.28);}
.pk:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 16px 46px rgba(236,48,18,.25);}
.pk:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px;}
.pk__check{position:absolute;bottom:14px;right:14px;width:28px;height:28px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;opacity:0;transform:scale(.6);transition:opacity .25s,transform .3s;z-index:1;}
.pk:has(input:checked) .pk__check{opacity:1;transform:scale(1);}
.pk__tag{position:absolute;top:14px;right:14px;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(236,48,18,.5);color:#FF8A5B;padding:3px 8px;font-weight:700;}
.pk__wave{margin-bottom:auto;}
.pk__wave i{animation-play-state:paused;}
.pk:hover .pk__wave i,.pk:has(input:checked) .pk__wave i{animation-play-state:running;}
.pk__name{font-size:1.5rem;margin-top:auto;}
.pk--big .pk__name{font-size:2.3rem;}
.pk__desc{color:var(--muted);font-size:.9rem;margin:6px 0 0;}
.pk__ft{display:flex;gap:12px;font-size:.72rem;color:var(--muted);margin-top:8px;letter-spacing:.06em;}
.pk__fmt{color:#FF8A5B;font-weight:700;}

/* details + done panels */
.fs__panel{position:relative;max-width:640px;background:var(--bg-2);border:1px solid var(--line);padding:clamp(24px,4vw,40px);overflow:hidden;}
.fsform{display:flex;flex-direction:column;gap:16px;}
.fs__chosen{margin:0;}
.fs__chosen b{color:var(--ink);}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted);cursor:pointer;}
.consent input{width:auto;margin-top:4px;accent-color:var(--accent);}
.consent a{color:var(--accent);}
.fsform__err{color:#F87171;font-size:.85rem;margin:0;}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none !important;filter:none !important;}
.fs__done{border-color:rgba(236,48,18,.4);background:radial-gradient(70% 120% at 100% 0,rgba(236,48,18,.16),transparent 55%),var(--bg-2);}
.fs__done h2{font-size:clamp(2rem,5vw,3.6rem);position:relative;}
.unlock__fx{position:absolute;inset:0;pointer-events:none;width:100%;height:100%;}
.fs__links{list-style:none;margin:18px 0;padding:0;position:relative;}
.fs__links li{padding:10px 0;border-top:1px solid var(--line-2);}
.fs__links a{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);}
.fs__links a::before{content:"↓";color:var(--accent);}
.fs__links a:hover{color:var(--accent);}
.fs__links-empty{color:var(--muted);}
.fs__note{color:var(--muted);margin:0 0 18px;position:relative;}
@media (max-width:900px){ .vault{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .vault{grid-template-columns:1fr;grid-auto-rows:auto;} .pk{min-height:180px;} }

/* empty state: no packs published */
.fs__empty{padding:clamp(30px,6vw,70px) 0 10px;}
.fs__empty h2{font-size:clamp(2.6rem,6vw,4.6rem);margin:18px 0 12px;}
.fs__empty p{color:var(--muted);max-width:46ch;font-size:1.05rem;}
