.gif-vault{
  margin: 18px auto 8px;
  width:min(100%, 980px);
  padding:14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,247,249,.98));
  box-shadow:0 14px 34px rgba(0,0,0,.07);
}
.gif-vault__head{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  margin-bottom:12px;
}
.gif-vault__title{display:inline-block; position:relative; font-family:"Press Start 2P", monospace; font-weight:900; font-size:clamp(16px,1.65vw,19px); line-height:1.05; letter-spacing:1px; text-transform:uppercase; padding:0; background:none; border:0; border-radius:0; box-shadow:none; color:#3a4150; text-shadow:0 1px 0 rgba(255,255,255,.55);} 
.gif-vault__title::before{content:none;} 
.gif-vault__title::after{content:none;}
.gif-vault__sub{font-size:12px; opacity:.72;}
.gif-vault__grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.92fr); gap:14px; align-items:start;}
.gif-vault__card{
  border:1px solid rgba(0,0,0,.08); border-radius:18px; padding:18px;
  background:rgba(255,255,255,.82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}
.gif-vault__dropname{font-size:22px; font-weight:900; line-height:1.02; margin:0; flex:1 1 auto; min-width:0;}

.gif-vault__drophead{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; flex-wrap:nowrap;}
.gif-vault__meta--inline{margin-top:0; justify-content:flex-end; flex-shrink:0; flex-wrap:nowrap; align-items:center; gap:8px;}
.gif-vault__desc{font-size:13px; line-height:1.45; opacity:.86; margin:0 0 4px; max-width:none;}
.gif-vault__meta{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.gif-vault__pill{
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  font-size:12px;
  font-weight:900;
  background:rgba(255,255,255,.92);
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
}
.gif-vault__pill.is-live{
  background:linear-gradient(180deg, #1b1b21 0%, #09090c 100%);
  color:#fff;
  border-color:#0a0a0d;
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 8px 18px rgba(0,0,0,.24);
}
.gif-vault__actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;}
.gif-vault__btn{
  border:1px solid rgba(0,0,0,.12); border-radius:12px; background:#fff; color:inherit;
  font-weight:900; letter-spacing:.04em; padding:11px 13px; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center; min-height:42px;
  box-shadow:0 6px 14px rgba(0,0,0,.05);
}
.gif-vault__btn:disabled{opacity:.5; cursor:not-allowed; box-shadow:none;}
.gif-vault__btn--primary{background:#111; color:#fff; border-color:#111;}
.gif-vault__token{display:grid; gap:12px; align-content:start;}
.gif-vault__summary{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
.gif-vault__stat{
  border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:10px; background:rgba(255,255,255,.8);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}
.gif-vault__statLabel{font-size:11px; opacity:.62; font-weight:800; letter-spacing:.08em;}
.gif-vault__statValue{font-size:20px; font-weight:900; margin-top:2px;}
.gif-vault__stat--current{display:flex; align-items:center; gap:6px;}
.gif-vault__stat--current .gif-vault__statLabel{flex:1; min-width:0; line-height:1.3;}
.gif-vault__stat--current .gif-vault__statValue--icon{flex:0 0 auto; margin-top:0;}
.gif-vault__gallery{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;}
.gif-vault__slot{position:relative; border-radius:16px; overflow:hidden; aspect-ratio:1/1; background:#efefef; border:1px solid rgba(0,0,0,.08); padding:0; font:inherit; text-align:left; appearance:none; -webkit-appearance:none; width:100%;}
.gif-vault__slot img{width:100%; height:100%; object-fit:cover; display:block; image-rendering:pixelated; aspect-ratio:1/1;}
.gif-vault__slotOverlay{position:absolute; inset:auto 0 0 0; padding:8px; background:linear-gradient(180deg, transparent, rgba(0,0,0,.82)); color:#fff; font-size:11px; font-weight:800;}
.gif-vault__slot.is-empty{
  display:flex; align-items:center; justify-content:center; padding:8px; text-align:center; font-size:11px; font-weight:800; color:#777;
  background:repeating-linear-gradient(135deg, #f6f6f7 0 12px, #f0f0f2 12px 24px);
}
.gif-vault__note{margin-top:14px; font-size:12px; opacity:.78; line-height:1.45; max-width:none;}
.gif-vault__banner{
  margin-top:10px; padding:10px 12px; border-radius:12px; background:rgba(17,17,17,.05); font-size:12px; line-height:1.45;
  border:1px solid rgba(0,0,0,.06); max-width:100%;
}
body.dark-ui .gif-vault{background:linear-gradient(180deg, rgba(20,20,24,.95), rgba(11,11,14,.99)); border-color:rgba(255,255,255,.08); box-shadow:0 14px 34px rgba(0,0,0,.30);}
body.dark-ui .gif-vault__card,
body.dark-ui .gif-vault__stat{background:rgba(255,255,255,.035); border-color:rgba(255,255,255,.08); box-shadow:none;}
body.dark-ui .gif-vault__btn{background:#191b21; color:#f3f6ff; border-color:rgba(255,255,255,.1); box-shadow:0 8px 16px rgba(0,0,0,.24);}
body.dark-ui .gif-vault__btn--primary{background:#f3f6ff; color:#111; border-color:#f3f6ff;}
body.dark-ui .gif-vault__pill{border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.04);}
body.dark-ui .gif-vault__pill.is-live{background:linear-gradient(180deg, #ffffff 0%, #dfe7ff 100%); color:#111; border-color:#eef2ff; box-shadow:0 0 24px rgba(255,255,255,.1);}
body.dark-ui .gif-vault__slot{background:#101215; border-color:rgba(255,255,255,.08);}
body.dark-ui .gif-vault__slot.is-empty{background:repeating-linear-gradient(135deg, #12151a 0 12px, #171b21 12px 24px); color:#9aa4b1;}
body.dark-ui .gif-vault__banner{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08);}
body.dark-ui .gif-vault__title{color:#e7edf8; text-shadow:0 1px 0 rgba(255,255,255,.04);} 
body.dark-ui .gif-vault__title::before{content:none;} 
body.dark-ui .gif-vault__title::after{content:none;}
@media (max-width: 820px){
  .gif-vault__grid{grid-template-columns:1fr;}
  .gif-vault__gallery{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gif-vault__note{max-width:none;}
  .gif-vault__previewFrame, .gif-vault__previewMeta{max-width:none;}
}
@media (max-width: 560px){
  .gif-vault{padding:12px; border-radius:18px;}
  .gif-vault__summary{grid-template-columns:1fr 1fr 1fr;}
  .gif-vault__gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gif-vault__drophead{align-items:flex-start; gap:10px; flex-wrap:wrap;}
  .gif-vault__dropname{font-size:20px; flex:1 1 100%; min-width:0;}
  .gif-vault__meta--inline{justify-content:flex-start; gap:6px; flex:1 1 100%;}
  .gif-vault__pill{padding:6px 10px; font-size:11px;}
  .gif-vault__card{padding:16px;}
}


.gif-vault__loadedState[hidden]{display:none !important;}
.gif-vault__previewState{display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start; align-content:start;}
.gif-vault__previewFrame{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:1/1;
  background:linear-gradient(180deg, rgba(16,18,22,.08), rgba(16,18,22,.02));
  border:1px solid rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:360px;
  margin:0 auto;
}
.gif-vault__previewImg{width:100%; height:100%; object-fit:contain; image-rendering:pixelated; display:block;}
.gif-vault__previewMeta{display:grid; gap:8px; max-width:360px; margin:0 auto; width:100%;}
.gif-vault__previewToken{font-size:13px; font-weight:900; letter-spacing:.04em;}
.gif-vault__previewCopy{font-size:12px; line-height:1.45; opacity:.82; margin:0;}
.gif-vault-preview-modal__media{background:linear-gradient(180deg, rgba(17,18,23,.05), rgba(17,18,23,.02));}
.gif-vault-preview-modal__img{object-fit:contain; image-rendering:pixelated;}
.gif-vault-preview-modal__copy{padding:0 18px 18px; display:grid; gap:8px;}
.gif-vault-preview-modal__title{font-weight:900; letter-spacing:.06em; font-size:14px;}
.gif-vault-preview-modal__text{font-size:12px; line-height:1.45; opacity:.82;}
body.preload .stage{display:none;}
body.preload .recentWrap{margin-top:8px;}
body.preload .gif-vault{margin-top:12px;}
body.dark-ui .gif-vault__previewFrame{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); border-color:rgba(255,255,255,.08);}
body.dark-ui .gif-vault-preview-modal__media{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));}


.gif-vault__banner:empty{display:none;}
.gif-vault__previewState{display:flex;flex-direction:column;gap:10px;}
.gif-vault__loadedState[hidden], .gif-vault__previewState[hidden]{display:none !important;}
.gif-vault__loadedState{display:grid; gap:14px; align-content:start;}
.gif-vault__previewCopy{min-height:auto;}

@media (max-width: 920px) and (orientation: landscape){
  .gif-vault__drophead{align-items:center;}
  .gif-vault__meta--inline{align-items:center;}
}

@media (min-width: 821px){
  .gif-vault__previewState{grid-template-columns:minmax(220px,320px) minmax(0,1fr); gap:16px; align-items:center;}
  .gif-vault__previewFrame{margin:0;}
  .gif-vault__previewMeta{margin:0; align-self:center;}
  .gif-vault__loadedState .gif-vault__actions{margin-top:4px;}
}


/* v10 layout polish */
.gif-vault__grid > .gif-vault__card{align-self:start; height:auto;}
.gif-vault__head{align-items:flex-start;}
.gif-vault__banner{width:fit-content; max-width:100%;}
.gif-vault__card{padding:16px 16px 14px;}
.gif-vault__drophead{margin-bottom:10px;}
.gif-vault__desc{margin:0 0 2px; max-width:34ch;}
.gif-vault__actions{margin-top:12px;}
.gif-vault__note{margin-top:12px; max-width:28ch;}
.gif-vault__token{gap:10px;}
.gif-vault__summary{gap:8px;}
.gif-vault__stat{padding:10px 12px 9px;}
.gif-vault__gallery{gap:8px;}
.gif-vault__loadedState{gap:10px;}
.gif-vault__loadedState .gif-vault__actions{margin-top:4px;}
.gif-vault__previewFrame{max-width:330px;}
.gif-vault__previewMeta{max-width:330px;}
.gif-vault__previewCopy{max-width:28ch;}
@media (min-width: 821px){
  .gif-vault__grid{grid-template-columns:minmax(0,1fr) minmax(310px,.88fr); gap:12px;}
  .gif-vault__previewState{grid-template-columns:minmax(0,1fr); justify-items:center; align-content:center; gap:10px;}
  .gif-vault__previewFrame{max-width:300px; margin:0 auto;}
  .gif-vault__previewMeta{max-width:300px; margin:0 auto;}
}
@media (max-width: 820px){
  .gif-vault__banner{width:100%;}
  .gif-vault__previewFrame{max-width:320px;}
}

/* v11 compact orientation overhaul */
@media (min-width: 821px){
  .gif-vault{padding:12px 14px 14px;}
  .gif-vault__head{margin-bottom:10px; gap:10px 14px; align-items:flex-start;}
  .gif-vault__titleWrap{display:grid; gap:6px;}
  .gif-vault__banner{padding:9px 12px; font-size:12px; width:clamp(420px, 58%, 560px); max-width:100%;}
  .gif-vault__grid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); gap:12px; align-items:stretch;}
  .gif-vault__card{padding:16px 18px 15px; border-radius:20px; height:100%;}
  .gif-vault__drophead{margin-bottom:8px; align-items:center; gap:12px;}
  .gif-vault__dropname{font-size:26px; line-height:1;}
  .gif-vault__meta--inline{gap:8px;}
  .gif-vault__desc{font-size:13px; line-height:1.35; max-width:none; width:100%; margin:0 0 2px;}
  .gif-vault__actions{margin-top:10px; gap:10px;}
  .gif-vault__btn{min-height:40px; padding:10px 14px;}
  .gif-vault__note{margin-top:10px; font-size:12px; line-height:1.35; max-width:none; width:100%;}

  .gif-vault__token{padding:14px 16px; justify-content:center;}
  .gif-vault__previewState{
    display:grid;
    grid-template-columns:minmax(170px, 210px) minmax(0,1fr);
    gap:14px;
    align-items:center;
    justify-items:start;
  }
  .gif-vault__previewFrame{max-width:210px; width:100%; margin:0; border-radius:16px;}
  .gif-vault__previewMeta{max-width:none; width:auto; margin:0; align-self:center; gap:6px;}
  .gif-vault__previewToken{font-size:14px;}
  .gif-vault__previewCopy{font-size:12px; line-height:1.4; max-width:22ch;}

  .gif-vault__loadedState{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "summary"
      "gallery"
      "actions";
    gap:10px;
    align-items:start;
    align-content:center;
    min-height:100%;
  }
  .gif-vault__summary{grid-area:summary; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;}
  .gif-vault__stat{padding:10px 12px 9px; border-radius:14px; min-width:0;}
  .gif-vault__statLabel{font-size:10px;}
  .gif-vault__statValue{font-size:16px; line-height:1.05;}
  .gif-vault__gallery{grid-area:gallery; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;}
  .gif-vault__slot{border-radius:14px; aspect-ratio:1 / 1;}
  .gif-vault__slot.is-empty{font-size:10px; padding:6px;}
  .gif-vault__loadedState .gif-vault__actions{grid-area:actions; margin:2px 0 0; align-self:start; justify-self:start;}
  .gif-vault__loadedState .gif-vault__btn{min-width:148px;}
}

@media (max-width: 820px){
  .gif-vault{padding:12px;}
  .gif-vault__head{margin-bottom:10px;}
  .gif-vault__banner{width:100%;}
  .gif-vault__grid{gap:10px;}
  .gif-vault__card{padding:14px 14px 13px;}
  .gif-vault__desc{max-width:none;}
  .gif-vault__note{max-width:none;}
  .gif-vault__previewState{display:grid; grid-template-columns:minmax(0,1fr); gap:10px; justify-items:center;}
  .gif-vault__previewFrame{max-width:250px;}
  .gif-vault__previewMeta{max-width:250px; width:100%;}
}


/* v14 grid banner alignment fix */
@media (min-width: 821px){
  .gif-vault__head{margin-bottom:8px;}
  .gif-vault__grid{
    grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
    grid-template-areas:
      "banner token"
      "drop token";
    gap:12px;
    align-items:start;
  }
  .gif-vault__banner--grid{
    grid-area:banner;
    width:100%;
    max-width:none;
    margin:0;
    align-self:start;
    justify-self:stretch;
    padding:10px 12px;
    font-size:12px;
    line-height:1.45;
  }
  .gif-vault__card--drop{grid-area:drop;}
  .gif-vault__token{grid-area:token; align-self:start; margin-top:0;}
}

@media (max-width: 820px){
  .gif-vault__banner--grid{width:100%; margin:0 0 10px;}
}

@media (max-width: 560px){
  .gif-vault__title{font-size:14px; letter-spacing:.06em; padding:0;}
  .gif-vault__title::after{content:none;}
}

@media (max-width: 560px){
  .gif-vault__title{font-size:15px; letter-spacing:.06em; padding:0;}
  .gif-vault__title::after{content:none;}
}

/* Step 1 modal scaffolding */
.gif-vault-dialog__panel{
  width:min(92vw, 760px);
  display:grid;
  gap:16px;
}
.gif-vault-dialog__head{display:grid; gap:6px; padding-right:32px;}
.gif-vault-dialog__eyebrow{font-size:11px; font-weight:800; letter-spacing:.12em; opacity:.6;}
.gif-vault-dialog__title{font-size:20px; line-height:1.05; font-weight:900;}
.gif-vault-dialog__sub{font-size:12px; line-height:1.45; opacity:.82;}
.gif-vault-dialog__walletRow{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.gif-vault-dialog__walletRow--stack{align-items:flex-start;}
.gif-vault-dialog__walletPill{
  display:inline-flex; align-items:center; gap:8px; padding:8px 11px; border-radius:999px;
  border:1px solid rgba(0,0,0,.1); background:rgba(255,255,255,.8); font-size:12px; font-weight:800;
}
.gif-vault-dialog__status{
  border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:12px 14px;
  background:rgba(17,17,17,.04); font-size:12px; line-height:1.45;
}
.gif-vault-dialog__status.is-good{background:rgba(68,189,100,.10); border-color:rgba(68,189,100,.25);}
.gif-vault-dialog__status.is-bad{background:rgba(255,99,99,.08); border-color:rgba(255,99,99,.22);}
.gif-vault-dialog__status.is-wait{background:rgba(255,255,255,.06);}
.gif-vault-dialog__content{display:grid; gap:12px;}
.gif-vault-dialog__stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
.gif-vault-dialog__grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;}
.gif-vault-dialog__grid .gif-vault__slot{aspect-ratio:1/1;}
.gif-vault-dialog__actions{display:flex; gap:10px; flex-wrap:wrap;}
.gif-vault-dialog__actions--stack{margin-top:2px;}
.gif-vault-dialog__claimLayout{display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr); gap:16px; align-items:start;}
.gif-vault-dialog__mediaFrame{border:1px solid rgba(0,0,0,.08); border-radius:18px; overflow:hidden; background:#d7d7d9; aspect-ratio:1/1;}
.gif-vault-dialog__mediaImg{width:100%; height:100%; object-fit:contain; image-rendering:pixelated; display:block;}
.gif-vault-dialog__claimInfo{display:grid; gap:10px; align-content:start;}
.gif-vault-dialog__claimToken{font-size:14px; font-weight:900; letter-spacing:.05em; margin-top:4px;}
.gif-vault-dialog__claimCopy{font-size:12px; line-height:1.45; opacity:.82;}

body.dark-ui .gif-vault-dialog__walletPill{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.1);}
body.dark-ui .gif-vault-dialog__status{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08);}
body.dark-ui .gif-vault-dialog__status.is-good{background:rgba(68,189,100,.12); border-color:rgba(68,189,100,.26);}
body.dark-ui .gif-vault-dialog__status.is-bad{background:rgba(255,99,99,.10); border-color:rgba(255,99,99,.26);}
body.dark-ui .gif-vault-dialog__mediaFrame{background:#d7d7d9; border-color:rgba(255,255,255,.08);}

@media (max-width: 760px){
  .gif-vault-dialog__panel{width:min(94vw, 680px);}
  .gif-vault-dialog__claimLayout{grid-template-columns:1fr;}
  .gif-vault-dialog__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gif-vault-dialog__stats{grid-template-columns:1fr 1fr 1fr;}
}


/* v18 modal polish */
.gif-vault-dialog__panel,
.gif-vault-preview-modal .gif-modal__panel{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.gif-vault-dialog .gif-modal__close,
.gif-vault-preview-modal .gif-modal__close{
  justify-self:end;
  align-self:start;
  width:42px;
  height:42px;
  min-width:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  border-radius:12px;
}
.gif-vault-dialog__walletRow--stack{
  display:grid;
  grid-template-columns:1fr;
  width:100%;
  gap:10px;
}
.gif-vault-dialog__walletRow--stack .gif-vault__btn{
  width:100%;
}
.gif-vault-dialog__walletRow--stack .gif-vault-dialog__walletPill{
  width:max-content;
  max-width:100%;
}
.gif-vault-dialog__actions--stack{display:grid;grid-template-columns:1fr;}
.gif-vault-dialog__actions--stack .gif-vault__btn{width:100%;}
@media (max-width:760px){
  .gif-vault-dialog__mediaFrame{max-height:42vh;}
  .gif-vault-dialog__panel{padding:12px 12px 14px;}
}

/* v19 modal behavior + no-token claim button */
.gif-vault-dialog .gif-modal__panel{position:relative; padding:14px 14px 16px; gap:12px;}
.gif-vault-dialog .gif-modal__close{position:absolute; top:12px; right:12px; left:auto; width:40px !important; height:40px !important; min-width:40px !important; max-width:40px !important; padding:0 !important; display:inline-flex !important; align-items:center; justify-content:center; line-height:1; margin:0;}
.gif-vault-dialog__head{padding-right:52px; gap:4px;}
.gif-vault-dialog__panel .gif-vault-dialog__head:first-of-type{margin-top:0;}
.gif-vault-dialog__claimLayout{align-items:center; gap:14px;}
.gif-vault-dialog__mediaFrame{display:flex; align-items:center; justify-content:center; overflow:hidden;}
.gif-vault-dialog__mediaImg{display:block; width:auto; height:auto; max-width:100%; max-height:100%; margin:auto;}
.gif-vault-dialog__claimInfo{align-self:start; width:100%; margin-top:14px;}
@media (max-width:760px){
  .gif-vault-dialog .gif-modal__panel{padding:12px 12px 14px;}
  .gif-vault-dialog__head{padding-right:48px;}
  .gif-vault-dialog__claimLayout{align-items:start;}
  .gif-vault-dialog__mediaFrame{max-height:38vh;}
}


/* v20 preview modal alignment */
.gif-vault-preview-modal .gif-modal__panel{position:relative; padding-top:58px; padding-bottom:16px;}
.gif-vault-preview-modal .gif-modal__close{position:absolute; top:12px; right:12px; left:auto; z-index:5; width:40px !important; height:40px !important; min-width:40px !important; max-width:40px !important; padding:0 !important; display:inline-flex !important; align-items:center; justify-content:center; line-height:1; margin:0;}
.gif-vault-preview-modal .gif-modal__media,
.gif-vault-preview-modal__media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:4px auto 0;
  text-align:center;
}
.gif-vault-preview-modal__img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  margin:0 auto;
}
.gif-vault-dialog__mediaFrame{justify-self:center; width:100%;}
@media (max-width:760px){
  .gif-vault-preview-modal .gif-modal__panel{padding-top:12px;}
}


/* v21 modal media sizing fix */
.gif-vault-dialog__claimLayout{align-items:start !important; justify-items:center; gap:14px;}
.gif-vault-dialog__mediaFrame{
  width:100%;
  max-width:min(100%, 360px);
  aspect-ratio:1 / 1;
  margin:0 auto;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden;
  padding:0;
}
.gif-vault-dialog__mediaImg{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  background:#d7d7d9;
}
.gif-vault-preview-modal .gif-modal__panel{
  align-items:center;
}
.gif-vault-preview-modal .gif-modal__media,
.gif-vault-preview-modal__media{
  width:100%;
  max-width:min(100%, 320px);
  aspect-ratio:1 / 1;
  margin:0 auto;
  overflow:hidden;
  border-radius:18px;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#d7d7d9;
}
.gif-vault-preview-modal__img,
.gif-vault-preview-modal .gif-modal__img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
  margin:0 auto;
  background:#d7d7d9;
}
.gif-vault-preview-modal__copy{
  width:100%;
  max-width:min(100%, 320px);
  margin:0 auto;
}
@media (max-width:760px){
  .gif-vault-dialog__mediaFrame{max-width:min(100%, 320px);}
  .gif-vault-preview-modal .gif-modal__media,
  .gif-vault-preview-modal__media,
  .gif-vault-preview-modal__copy{max-width:min(100%, 300px);}
}


/* v22 modal media final fit fix */
.gif-vault-dialog__mediaFrame{
  background:#d7d7d9 !important;
  justify-self:center;
}
.gif-vault-dialog__mediaImg{
  background:#d7d7d9 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.gif-vault-preview-modal .gif-modal__panel{
  position:relative;
  padding-top:62px !important;
  align-items:center;
}
.gif-vault-preview-modal .gif-modal__close{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  z-index:10 !important;
}
.gif-vault-preview-modal .gif-modal__media,
.gif-vault-preview-modal__media{
  background:#d7d7d9 !important;
  max-width:min(100%, 300px) !important;
  margin:0 auto !important;
  border-radius:18px;
}
.gif-vault-preview-modal .gif-modal__img,
.gif-vault-preview-modal__img{
  background:#d7d7d9 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.gif-vault-preview-modal__copy{
  max-width:min(100%, 300px) !important;
  width:100%;
  margin:0 auto !important;
}
@media (max-width:760px){
  .gif-vault-dialog__mediaFrame{max-width:min(100%, 300px) !important;}
  .gif-vault-preview-modal .gif-modal__media,
  .gif-vault-preview-modal__media,
  .gif-vault-preview-modal__copy{max-width:min(100%, 280px) !important;}
}


/* v13 claim modal spacing fix */
.gif-vault-dialog__head{margin-bottom:10px;}
.gif-vault-dialog__claimLayout{margin-top:8px;}
@media (max-width:760px){
  .gif-vault-dialog__head{margin-bottom:10px !important;}
  .gif-vault-dialog__claimLayout{margin-top:8px !important; grid-template-columns:1fr !important; gap:10px !important;}
  .gif-vault-dialog__mediaFrame{margin-top:0 !important; margin-bottom:8px !important; max-width:min(100%, 300px) !important;}
  .gif-vault-dialog__claimInfo{margin-top:6px !important; align-self:start !important;}
}


/* v16 claim modal token-line clearance */
.gif-vault-dialog__claimLayout{gap:16px !important;}
.gif-vault-dialog__claimInfo{margin-top:18px !important;}
@media (max-width:760px){
  .gif-vault-dialog__claimLayout{margin-top:4px !important; gap:14px !important;}
  .gif-vault-dialog__mediaFrame{margin-bottom:0 !important;}
  .gif-vault-dialog__claimInfo{margin-top:18px !important; padding-top:0 !important;}
  .gif-vault-dialog__claimToken{margin-top:0 !important;}
}


/* v23 final modal image fit */
.gif-vault-dialog__mediaFrame{
  background:transparent !important;
  border:0 !important;
  aspect-ratio:auto !important;
  width:100% !important;
  max-width:min(100%, 320px) !important;
  display:block !important;
  overflow:visible !important;
  padding:0 !important;
  margin:0 auto 18px !important;
}
.gif-vault-dialog__mediaImg{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:unset !important;
  object-position:center center !important;
  border-radius:24px !important;
  background:#d7d7d9 !important;
}
.gif-vault-dialog__claimLayout{gap:16px !important;}
@media (max-width:760px){
  .gif-vault-dialog__mediaFrame{
    max-width:min(100%, 300px) !important;
    margin:0 auto 18px !important;
  }
}
.gif-vault-preview-modal .gif-modal__media,
.gif-vault-preview-modal__media{
  background:transparent !important;
  border:0 !important;
}
.gif-vault-preview-modal__img,
.gif-vault-preview-modal .gif-modal__img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:unset !important;
  object-position:center center !important;
  border-radius:24px !important;
  background:#d7d7d9 !important;
}


.gif-vault__btn--ghost{background:transparent; box-shadow:none;}
.gif-vault__btn--tiny{min-height:34px; padding:8px 12px; font-size:11px; letter-spacing:.08em;}
.gif-vault-dialog__walletPill.is-good{border-color:rgba(68,189,100,.35);}
.gif-vault-dialog__mediaFrame.is-library{aspect-ratio:auto; min-height:260px; padding:14px; align-items:stretch; justify-content:stretch; background:rgba(255,255,255,.72);}
.body.dark-ui .gif-vault-dialog__mediaFrame.is-library{}
.gif-vault-walletTokens{display:flex; flex-direction:column; gap:14px; width:100%; min-height:0; height:auto; justify-content:flex-start;}
.gif-vault-walletTokens__head{display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:6px;}
.gif-vault-walletTokens__eyebrow{font-size:10px; letter-spacing:.22em; font-weight:800; opacity:.72;}
.gif-vault-walletTokens__meta{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.gif-vault-walletTokens__title{font-size:18px; line-height:1.1; letter-spacing:.03em; font-weight:800;}
.gif-vault-walletTokens__count{display:inline-flex; align-items:center; min-height:26px; padding:5px 10px; border-radius:999px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.76); font-size:10px; letter-spacing:.16em; font-weight:800;}
.gif-vault-walletTokens__status{font-size:12px; line-height:1.45; color:#4f5565; min-height:34px;}
.gif-vault-walletTokens__railWrap{
  position:relative;
  width:100%;
  margin-top:18px;
  overflow:hidden;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
  border:1px solid rgba(0,0,0,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}
.gif-vault-walletTokens__fade{display:none;}
.gif-vault-walletTokens__fade--left,
.gif-vault-walletTokens__fade--right{background:none;}
.gif-vault-walletTokens__list{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:28px 12px 16px;
  cursor:grab;
  user-select:none;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-snap-type:x proximity;
  scroll-padding-inline:10px;
  -webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%);
}
.gif-vault-walletTokens__list::-webkit-scrollbar{display:none; width:0; height:0;}
.gif-vault-walletTokens__railWrap::before,
.gif-vault-walletTokens__railWrap::after{content:''; position:absolute; top:0; bottom:0; width:56px; pointer-events:none; opacity:0; transition:opacity .16s ease;}
.gif-vault-walletTokens__railWrap::before{left:0; background:linear-gradient(90deg, rgba(125,159,255,.18), transparent);}
.gif-vault-walletTokens__railWrap::after{right:0; background:linear-gradient(270deg, rgba(125,159,255,.18), transparent);}
.gif-vault-walletTokens__railWrap.is-edge-left::before{opacity:1;}
.gif-vault-walletTokens__railWrap.is-edge-right::after{opacity:1;}
.gif-vault-walletTokens__edgeZone{position:absolute; top:0; bottom:0; width:72px; z-index:3; background:transparent;}
.gif-vault-walletTokens__edgeZone--left{left:0;}
.gif-vault-walletTokens__edgeZone--right{right:0;}
@media (pointer:coarse){
  .gif-vault-walletTokens__edgeZone{display:none;}
}
.gif-vault-walletTokens__list.is-dragging{cursor:grabbing; scroll-behavior:auto;}
.gif-vault-walletToken{position:relative; z-index:1; flex:0 0 auto; min-width:118px; display:flex; flex-direction:column; gap:10px; align-items:center; justify-content:flex-start; border:1px solid rgba(0,0,0,.09); border-radius:22px; background:rgba(255,255,255,.92); padding:14px 12px 14px; cursor:pointer; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; scroll-snap-align:center;}
.gif-vault-walletToken:hover{transform:translateY(-2px); border-color:rgba(0,0,0,.18); box-shadow:0 10px 18px rgba(0,0,0,.08);}
.gif-vault-walletToken.is-selected{border-color:#111; background:#fff; box-shadow:0 14px 28px rgba(0,0,0,.14); transform:translateY(-2px);}
.gif-vault-walletToken__badge{display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:3px 8px; border-radius:999px; font-size:9px; letter-spacing:.14em; font-weight:800; color:#555; background:rgba(0,0,0,.05);}
.gif-vault-walletToken.is-selected .gif-vault-walletToken__badge{background:#111; color:#fff;}
.gif-vault-walletToken__img{width:84px; height:84px; image-rendering:pixelated; object-fit:contain; border-radius:14px; background:#d7d7d9; box-shadow:inset 0 1px 0 rgba(255,255,255,.6);}
.gif-vault-walletToken__label{font-size:12px; font-weight:800; letter-spacing:.08em;}
.gif-vault-walletTokens__verifyBtn{margin-top:auto; width:100%;}
body.dark-ui .gif-vault__btn--ghost{background:transparent; color:#f3f6ff; border-color:rgba(255,255,255,.14);}
body.dark-ui .gif-vault-dialog__mediaFrame.is-library{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08);}
body.dark-ui .gif-vault-walletTokens__count{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); color:#edf1ff;}
body.dark-ui .gif-vault-walletTokens__status{color:#c7cfdf;}
body.dark-ui .gif-vault-walletTokens__railWrap{
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  border-color:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
body.dark-ui .gif-vault-walletTokens__fade--left{background:none;}
body.dark-ui .gif-vault-walletTokens__fade--right{background:none;}
body.dark-ui .gif-vault-walletToken{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.1); color:#f3f6ff;}
body.dark-ui .gif-vault-walletToken:hover{border-color:rgba(255,255,255,.22); box-shadow:0 10px 18px rgba(0,0,0,.22);}
body.dark-ui .gif-vault-walletToken.is-selected{border-color:#f3f6ff; background:rgba(255,255,255,.11);}
body.dark-ui .gif-vault-walletToken__badge{background:rgba(255,255,255,.08); color:#d7def0;}
body.dark-ui .gif-vault-walletToken.is-selected .gif-vault-walletToken__badge{background:#f3f6ff; color:#111827;}
@media (max-width: 720px){
  .gif-vault-dialog__mediaFrame.is-library{min-height:240px; padding:12px;}
  .gif-vault-walletTokens{gap:12px;}
  .gif-vault-walletTokens__title{font-size:16px;}
  .gif-vault-walletTokens__status{font-size:11px; line-height:1.4; min-height:30px;}
  .gif-vault-walletTokens__list{gap:10px; padding:18px 22px 12px;}
  .gif-vault-walletToken{min-width:102px; border-radius:18px; padding:12px 10px;}
  .gif-vault-walletToken__img{width:72px; height:72px;}
  .gif-vault-walletToken__label{font-size:11px;}
  .gif-vault__btn--tiny{width:100%; justify-content:center; text-align:center;}
}


/* v-next wallet claim modal polish */
.gif-vault-dialog__claimInfo{gap:12px !important;}
.gif-vault-dialog__walletRow{align-items:center; gap:10px 12px;}
.gif-vault-dialog__walletRow .gif-vault__btn{justify-content:center;}
.gif-vault-dialog__walletRow .gif-vault__btn--tiny{min-width:150px;}
.gif-vault-dialog__status{max-width:100%; overflow-wrap:anywhere; word-break:break-word;}
.gif-vault-dialog__claimLayout{grid-template-columns:minmax(220px,300px) minmax(0,1fr) !important; gap:20px !important;}
.gif-vault-dialog__mediaFrame.is-library{padding:16px !important; border-radius:20px !important;}
.gif-vault-walletTokens__head{align-items:flex-start !important;}
.gif-vault-walletTokens__status{min-height:22px;}
.gif-vault-walletTokens__list{padding-top:16px !important;}
.gif-vault__btn--tiny{min-height:36px;}
@media (min-width: 761px){
  .gif-vault-dialog__claimInfo .gif-vault__btn{min-width:0; width:100%;}
  .gif-vault-dialog__claimInfo .gif-vault-dialog__walletPill{max-width:100%;}
}
@media (max-width: 760px){
  .gif-vault-dialog__claimLayout{grid-template-columns:1fr !important; gap:14px !important;}
  .gif-vault-dialog__walletRow,
  .gif-vault-dialog__walletRow--stack{align-items:stretch !important;}
  .gif-vault-dialog__walletRow .gif-vault__btn,
  .gif-vault-dialog__walletRow .gif-vault-dialog__walletPill{width:100%;}
  .gif-vault-dialog__claimToken{font-size:13px;}
  .gif-vault-dialog__claimCopy{font-size:11px; line-height:1.5;}
  .gif-vault-dialog__status{font-size:11px; padding:10px 12px;}
}

.gif-vault-disconnect.is-hidden{display:none !important;visibility:hidden !important;pointer-events:none !important;}

#gifVaultOwnerDisconnectBtn[hidden],
#gifVaultClaimDisconnectBtn[hidden],
#gifVaultOwnerDisconnectBtn.is-hidden,
#gifVaultClaimDisconnectBtn.is-hidden { display: none !important; }


/* wallet wheel visibility + replacement fixes */
.gif-vault-walletTokens[hidden],
.gif-vault-walletTokens:not(.is-active),
#gifVaultClaimModalImg[hidden],
#gifVaultClaimModalImg.is-hidden{display:none !important;}
.gif-vault-dialog__mediaFrame.is-library{display:block !important;}
.gif-vault-dialog__mediaFrame.is-library .gif-vault-walletTokens{display:flex; width:100%; min-height:0; height:auto;}
.gif-vault-dialog__mediaFrame:not(.is-library) .gif-vault-walletTokens{display:none !important;}
.gif-vault-dialog__mediaFrame:not(.is-library) #gifVaultClaimModalImg{display:block !important;}
.gif-vault-dialog__mediaFrame.is-library #gifVaultClaimModalImg{display:none !important;}
.gif-vault-dialog__mediaFrame.is-library{padding:14px 14px 12px !important;}
.gif-vault-walletTokens__head,.gif-vault-walletTokens__meta{width:100%;}
.gif-vault-walletTokens__verifyBtn{margin-top:6px; width:100%;}
@media (min-width: 761px){
  .gif-vault-dialog__mediaFrame.is-library{min-height:300px !important;}
}


/* v-next multi-select wallet rail + mobile cleanup */
.gif-vault-walletTokens__controls{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  margin-top:2px;
}
.gif-vault-walletTokens__controlBtn{
  flex:1 1 0;
  min-width:0;
}
.gif-vault-walletTokens__actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
}
.gif-vault-walletTokens__verifyBtn{
  margin-top:0;
}
.gif-vault-walletToken.is-claimed{
  border-style:solid;
  border-color:rgba(46, 170, 98, .45);
  opacity:0.55;
  cursor:default;
}
.gif-vault-walletToken.is-claimed .gif-vault-walletToken__badge{
  background:rgba(46, 170, 98, .14);
  color:#167a48;
}
body.dark-ui .gif-vault-walletToken.is-claimed{
  border-color:rgba(86, 216, 146, .5);
}
body.dark-ui .gif-vault-walletToken.is-claimed .gif-vault-walletToken__badge{
  background:rgba(86, 216, 146, .18);
  color:#bff7d8;
}

@media (max-width:760px){
  .gif-vault-dialog__panel{
    max-height:min(92vh, 900px);
    padding:12px 12px 16px !important;
  }
  .gif-vault-dialog__head{
    padding-right:46px !important;
    margin-bottom:8px !important;
  }
  .gif-vault-dialog__title{
    font-size:18px;
    line-height:1.08;
  }
  .gif-vault-dialog__sub{
    font-size:11px;
    line-height:1.45;
  }
  .gif-vault-dialog__claimLayout{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:4px !important;
  }
  .gif-vault-dialog__mediaFrame,
  .gif-vault-dialog__mediaFrame.is-library{
    max-width:100% !important;
    min-height:unset !important;
    padding:12px !important;
    border-radius:18px !important;
  }
  .gif-vault-dialog__claimInfo{
    width:100%;
    margin-top:0 !important;
    gap:10px !important;
  }
  .gif-vault-dialog__claimToken{
    margin-top:0 !important;
    font-size:12px !important;
    line-height:1.35;
  }
  .gif-vault-dialog__claimCopy{
    font-size:11px !important;
    line-height:1.5 !important;
  }
  .gif-vault-dialog__walletRow,
  .gif-vault-dialog__walletRow--stack{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    align-items:stretch !important;
  }
  .gif-vault-dialog__walletRow .gif-vault__btn,
  .gif-vault-dialog__walletRow .gif-vault-dialog__walletPill,
  .gif-vault-dialog__walletRow .gif-vault-disconnect{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .gif-vault-dialog__walletPill{
    min-height:40px;
    justify-content:center;
  }
  .gif-vault-dialog__status{
    min-height:0 !important;
    font-size:11px !important;
    line-height:1.45 !important;
    padding:10px 12px !important;
  }
  .gif-vault-dialog__actions--stack{
    gap:8px !important;
  }
  .gif-vault-dialog__actions--stack .gif-vault__btn{
    width:100% !important;
  }
  .gif-vault-walletTokens{
    gap:10px !important;
  }
  .gif-vault-walletTokens__head{
    gap:8px !important;
  }
  .gif-vault-walletTokens__meta{
    align-items:flex-start !important;
    gap:6px !important;
  }
  .gif-vault-walletTokens__title{
    font-size:15px !important;
    line-height:1.15 !important;
  }
  .gif-vault-walletTokens__count{
    min-height:24px !important;
    font-size:9px !important;
    letter-spacing:.14em !important;
  }
  .gif-vault-walletTokens__status{
    min-height:0 !important;
    font-size:11px !important;
    line-height:1.45 !important;
  }
  .gif-vault-walletTokens__controls{
    grid-template-columns:1fr 1fr;
    display:grid;
    gap:8px;
  }
  .gif-vault-walletTokens__controlBtn,
  .gif-vault-walletTokens__verifyBtn{
    width:100% !important;
    min-height:36px !important;
  }
  .gif-vault-walletTokens__railWrap{
    margin-top:6px !important;
    border-radius:18px !important;
  }
  .gif-vault-walletTokens__list{
    padding:20px 14px 14px !important;
    gap:10px !important;
  }
  .gif-vault-walletToken{
    min-width:96px !important;
    border-radius:16px !important;
    padding:12px 9px 12px !important;
    gap:8px !important;
  }
  .gif-vault-walletToken__img{
    width:68px !important;
    height:68px !important;
  }
  .gif-vault-walletToken__label{
    font-size:10px !important;
  }
}


/* v-next mobile library spacing + verified button cleanup */
.gif-vault-dialog__walletRow .gif-vault__btn[hidden],
.gif-vault-dialog__walletRow .gif-vault__btn[style*="display: none"]{
  display:none !important;
}

@media (max-width:760px){
  .gif-vault-dialog__mediaFrame.is-library{
    max-width:100% !important;
    margin:0 0 20px !important;
    padding:12px !important;
    overflow:visible !important;
  }
  .gif-vault-dialog__mediaFrame.is-library .gif-vault-walletTokens{
    min-height:0 !important;
    height:auto !important;
  }
  .gif-vault-dialog__mediaFrame.is-library .gif-vault-walletTokens__railWrap{
    flex:0 0 auto !important;
  }
  .gif-vault-dialog__mediaFrame.is-library + .gif-vault-dialog__claimInfo{
    margin-top:14px !important;
    padding-top:0 !important;
  }
  .gif-vault-dialog__mediaFrame.is-library + .gif-vault-dialog__claimInfo .gif-vault-dialog__claimToken,
  .gif-vault-dialog__mediaFrame.is-library + .gif-vault-dialog__claimInfo .gif-vault-dialog__claimCopy{
    display:none !important;
  }
  .gif-vault-dialog__mediaFrame.is-library + .gif-vault-dialog__claimInfo .gif-vault-dialog__walletRow{
    margin-top:0 !important;
  }
  .gif-vault-walletTokens{
    gap:12px !important;
  }
  .gif-vault-walletTokens__head{
    gap:10px !important;
    margin-bottom:2px !important;
  }
  .gif-vault-walletTokens__status{
    margin-top:2px !important;
    margin-bottom:8px !important;
  }
  .gif-vault-walletTokens__railWrap{
    margin-top:10px !important;
  }
  .gif-vault-walletTokens__list{
    padding:26px 14px 18px !important;
  }
}


/* v-next final mobile claim layout stack fix */
@media (max-width:760px){
  #gifVaultClaimModal .gif-vault-dialog__panel{
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__claimLayout{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:14px !important;
    width:100% !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__mediaFrame,
  #gifVaultClaimModal .gif-vault-dialog__mediaFrame.is-library{
    position:relative !important;
    display:block !important;
    flex:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 0 16px !important;
    clear:both !important;
    overflow:visible !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__claimInfo{
    position:relative !important;
    display:grid !important;
    align-self:auto !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    clear:both !important;
    z-index:1 !important;
  }
  #gifVaultClaimModal #gifVaultWalletTokens,
  #gifVaultClaimModal .gif-vault-walletTokens,
  #gifVaultClaimModal .gif-vault-walletTokens__railWrap,
  #gifVaultClaimModal .gif-vault-walletTokens__list{
    position:relative !important;
    z-index:auto !important;
    height:auto !important;
    max-height:none !important;
  }
  #gifVaultClaimModal .gif-vault-walletTokens__railWrap{
    margin-bottom:0 !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__walletRow,
  #gifVaultClaimModal .gif-vault-dialog__status,
  #gifVaultClaimModal .gif-vault-dialog__actions{
    position:relative !important;
    z-index:2 !important;
  }
}

/* v-next mobile claim header-to-rail spacing trim */
@media (max-width:760px){
  #gifVaultClaimModal .gif-vault-dialog__head{
    margin-bottom:6px !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__claimLayout{
    margin-top:0 !important;
    gap:8px !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__mediaFrame.is-library{
    margin:0 0 8px !important;
    padding:8px 12px 12px !important;
  }
  #gifVaultClaimModal .gif-vault-walletTokens{
    gap:8px !important;
  }
  #gifVaultClaimModal .gif-vault-walletTokens__head{
    gap:6px !important;
    margin-bottom:0 !important;
  }
  #gifVaultClaimModal .gif-vault-walletTokens__status{
    margin-top:0 !important;
    margin-bottom:4px !important;
  }
  #gifVaultClaimModal .gif-vault-walletTokens__railWrap{
    margin-top:4px !important;
  }
  #gifVaultClaimModal .gif-vault-walletTokens__list{
    padding-top:18px !important;
  }
}


/* v-next mobile wallet rail separation + verified cleanup */

@media (max-width:760px){
  #gifVaultClaimModal .gif-vault-dialog__mediaFrame.is-library{
    margin:0 0 12px !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__claimInfo{
    margin-top:10px !important;
    gap:10px !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__walletRow,
  #gifVaultClaimModal .gif-vault-dialog__status,
  #gifVaultClaimModal .gif-vault-dialog__actions{
    margin-top:0 !important;
  }
  #gifVaultClaimModal .gif-vault-walletTokens__actions[hidden]{
    display:none !important;
  }
}


/* wallet rail placement fix */
.gif-vault-dialog__claimInfo.has-wallet-library{
  align-content:start;
}
.gif-vault-dialog__claimInfo .gif-vault-walletTokens{
  order:-1;
  width:100%;
  min-height:0;
  height:auto;
}
.gif-vault-dialog__claimInfo .gif-vault-walletTokens__railWrap{
  position:relative;
  width:100%;
}
.gif-vault-dialog__claimInfo .gif-vault-walletTokens__actions[hidden],
#gifVaultVerifyAllBtn[hidden]{
  display:none !important;
}
@media (max-width:760px){
  .gif-vault-dialog__claimLayout{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    justify-items:stretch !important;
  }
  .gif-vault-dialog__claimInfo{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    margin-top:0 !important;
  }
  .gif-vault-dialog__claimInfo .gif-vault-walletTokens{
    margin:0 0 2px 0 !important;
  }
  .gif-vault-dialog__claimInfo .gif-vault-walletTokens__list{
    padding:16px 16px 12px !important;
  }
  .gif-vault-dialog__walletRow,
  .gif-vault-dialog__walletRow--stack,
  .gif-vault-dialog__status,
  .gif-vault-dialog__actions{
    position:relative;
    z-index:1;
  }
}


/* v7 mobile gap tighten + desktop claim preview restore */
#gifVaultWalletTokens{margin-top:0 !important;}
@media (max-width:760px){
  .gif-vault-dialog__claimInfo{
    gap:8px !important;
    margin-top:0 !important;
  }
  .gif-vault-dialog__claimToken,
  .gif-vault-dialog__claimCopy{
    margin-bottom:0 !important;
  }
  #gifVaultWalletTokens{
    margin-top:2px !important;
  }
  .gif-vault-dialog__mediaFrame.is-library{
    display:none !important;
  }
}
@media (min-width:761px){
  .gif-vault-dialog__claimLayout{
    grid-template-columns:minmax(240px,320px) minmax(0,1fr) !important;
    align-items:start !important;
  }
  .gif-vault-dialog__mediaFrame,
  .gif-vault-dialog__mediaFrame.is-library{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:320px !important;
    width:100% !important;
    min-height:320px !important;
    padding:16px !important;
  }
  .gif-vault-dialog__mediaFrame.is-library #gifVaultClaimModalImg,
  .gif-vault-dialog__mediaFrame #gifVaultClaimModalImg{
    display:block !important;
  }
  .gif-vault-dialog__claimInfo{
    margin-top:0 !important;
    width:100% !important;
  }
}


@media (min-width:761px){
  .gif-vault-dialog__mediaFrame.is-library{
    display:block !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    max-width:360px !important;
    width:100% !important;
    min-height:320px !important;
    padding:16px !important;
  }
  .gif-vault-dialog__mediaFrame.is-library .gif-vault-walletTokens{
    display:flex !important;
    width:100% !important;
    height:100% !important;
  }
  .gif-vault-dialog__mediaFrame.is-library #gifVaultClaimModalImg{
    display:none !important;
  }
}


/* v10 respect JS hidden state for claim media frame */
#gifVaultClaimModal .gif-vault-dialog__mediaFrame[hidden],
#gifVaultClaimModal .gif-vault-dialog__mediaFrame.is-hidden,
#gifVaultClaimModal .gif-vault-dialog__mediaFrame.is-library[hidden],
#gifVaultClaimModal .gif-vault-dialog__mediaFrame.is-library.is-hidden{
  display:none !important;
}


/* v14 mobile claim modal — prevent text overlapping preview image */
@media (max-width:760px){
  #gifVaultClaimModal .gif-vault-dialog__claimLayout{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:0 !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__mediaFrame,
  #gifVaultClaimModal .gif-vault-dialog__mediaFrame:not(.is-library){
    flex:0 0 auto !important;
    width:min(100%, 280px) !important;
    max-width:min(100%, 280px) !important;
    max-height:none !important;
    height:auto !important;
    overflow:hidden !important;
    margin:0 auto 12px !important;
    position:relative !important;
    z-index:0 !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__mediaImg{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:45vh !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }
  #gifVaultClaimModal .gif-vault-dialog__claimInfo{
    flex:0 0 auto !important;
    width:100% !important;
    position:relative !important;
    z-index:1 !important;
    margin:0 !important;
    padding-top:4px !important;
  }
}

/* Claim celebration overlay */
.gif-vault-celebrate{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:rgba(10,12,16,0.92);opacity:0;transition:opacity .3s ease;pointer-events:none;}
.gif-vault-celebrate.is-active{opacity:1;pointer-events:auto;}
.gif-vault-celebrate canvas{width:min(90vw,400px);height:min(90vh,480px);image-rendering:auto;}

/* All-claimed carousel */
.gif-vault__carousel{margin-top:8px;}
.gif-vault__carousel-label{font-size:10px;font-weight:800;letter-spacing:.14em;opacity:.45;margin-bottom:8px;}
.gif-vault__carousel-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 0 8px;scrollbar-width:none;}
.gif-vault__carousel-rail::-webkit-scrollbar{display:none;}
.gif-vault__carousel-item{flex:0 0 auto;scroll-snap-align:center;width:72px;height:72px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#161a22;cursor:pointer;padding:0;appearance:none;-webkit-appearance:none;}
.gif-vault__carousel-item img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:pixelated;}
.gif-vault__carousel-item span{display:block;font-size:8px;font-weight:700;letter-spacing:.08em;text-align:center;padding:2px 0;color:rgba(255,255,255,.5);}
body:not(.dark-ui) .gif-vault__carousel-item{background:#eaebed;border-color:rgba(0,0,0,.08);}
body:not(.dark-ui) .gif-vault__carousel-item span{color:rgba(0,0,0,.4);}

/* All-claimed carousel */
.gif-vault__carousel{margin-top:10px;}
.gif-vault__carousel-label{font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.5;margin-bottom:8px;}
.gif-vault__carousel-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 0;scrollbar-width:none;}
.gif-vault__carousel-rail::-webkit-scrollbar{display:none;}
.gif-vault__carousel-item{flex:0 0 auto;scroll-snap-align:center;width:72px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;border-radius:14px;padding:6px;transition:background .15s ease,transform .15s ease;}
.gif-vault__carousel-item:hover{background:rgba(255,255,255,.06);transform:scale(1.05);}
.gif-vault__carousel-item:active{transform:scale(0.96);}
.gif-vault__carousel-item img{width:56px;height:56px;border-radius:10px;image-rendering:pixelated;object-fit:cover;border:1px solid rgba(255,255,255,.08);}
.gif-vault__carousel-id{font-size:9px;font-weight:700;opacity:.5;letter-spacing:.04em;}
body.dark-ui .gif-vault__carousel-item:hover{background:rgba(255,255,255,.06);}

/* Disconnect wallet button */
.gif-vault__disconnect{text-align:center;padding:12px 0 4px;opacity:.5;transition:opacity .15s;}
.gif-vault__disconnect:hover{opacity:.8;}
