/* ------------------------------------------------------------
 * storage-list.css
 * - 보관함 목록 전용
 * ------------------------------------------------------------ */

.storage-list{
  gap:3px;
}

.storage-ticket-card{
  position:relative;
  overflow:visible;
  padding:10px 4px 10px 1px;
  border:0;
  border-bottom:1px solid rgba(208,216,210,0.88);
  border-radius:0;
  background:none;
  box-shadow:none;
  transition:transform .16s ease, opacity .16s ease;
}

.storage-ticket-card:active{
  transform:translateY(1px);
}

.storage-ticket-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
  padding-right:50px;
}

.storage-ticket-lines{
  min-width:0;
  flex:1 1 auto;
}

.storage-ticket-meta{
  color:var(--text-strong);
  font-size:13px;
  font-weight:800;
  line-height:1.3;
}

.storage-ticket-date{
  margin-top:2px;
  color:var(--text-faint);
  font-size:12px;
  font-weight:600;
}

.storage-ticket-head-badges{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:150px;
  margin-top:1px;
  position:relative;
  z-index:1;
}

.storage-shared-badge,
.storage-ticket-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:0 7px;
  border-radius:999px;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:-0.01em;
  border:0;
}

.storage-shared-badge{
  background:#f3f5f2;
  color:var(--text-soft);
  order:2;
}

.storage-shared-badge--premium{
  background:#f1faf2;
  color:#29663a;
  order:1;
}

.storage-ticket-badge--grade{
  min-width:58px;
  padding:0 12px;
  letter-spacing:0.02em;
  background:#f5f6f3;
  color:var(--text-soft);
}

.storage-ticket-card.grade-s .storage-ticket-badge--grade{
  background:#e8f7f2;
  color:#11876d;
}

.storage-ticket-card.grade-a .storage-ticket-badge--grade{
  background:#f1f3ef;
  color:#5e6764;
}

.storage-ticket-card.grade-b .storage-ticket-badge--grade{
  background:#f6f7f4;
  color:#6f7875;
}

.storage-ticket-card.grade-c .storage-ticket-badge--grade{
  background:#f2f1ee;
  color:#6c6a64;
}

.storage-grade-orb{
  position:absolute;
  top:3px;
  right:0;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid rgba(208,216,210,0.88);
  background:#ffffff;
  color:var(--text-strong);
  box-shadow:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:-0.02em;
}

.storage-grade-orb.grade-s{
  color:#11876d;
  background:#e8f7f2;
}

.storage-grade-orb.grade-a{
  color:#5e6764;
  background:#f1f3ef;
}

.storage-grade-orb.grade-b{
  color:#6f7875;
  background:#f6f7f4;
}

.storage-grade-orb.grade-c{
  color:#6c6a64;
  background:#f2f1ee;
}

.storage-ball-row{
  gap:5px;
  margin-bottom:8px;
}

.storage-ball-row .storage-ball{
  width:31px;
  height:31px;
  font-size:13px;
}

.storage-ticket-title{
  margin-top:12px;
  color:var(--text-strong);
  font-size:14px;
  font-weight:900;
  line-height:1.4;
  letter-spacing:-0.02em;
}

.storage-ticket-result{
  margin-top:8px;
  color:var(--text-strong);
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}

.storage-ticket-foot{
  margin-top:5px;
  color:var(--text-soft);
  font-size:12px;
  line-height:1.45;
  font-weight:600;
}

.storage-ticket-card.is-win .storage-ticket-result{color:var(--success)}
.storage-ticket-card.is-lose .storage-ticket-result{color:var(--text)}
.storage-ticket-card.is-pending .storage-ticket-result{color:var(--info)}

.storage-ticket-card.is-shared{
  border-bottom-color:rgba(42,193,160,0.36);
  box-shadow:none;
}

.storage-ticket-card.is-shared .storage-ticket-meta{
  color:var(--text-strong);
}

.storage-ticket-card.is-premium{
  border-bottom-color:rgba(104,167,117,0.36);
  padding-block:12px;
}

.storage-ticket-card.is-premium .storage-ticket-result{
  color:#245f38;
}

.storage-ticket-card.is-premium .storage-ticket-foot{
  color:#4d6d56;
}

.storage-ticket-card.is-premium-sealed::before{
  content:"";
  position:absolute;
  inset:6px 0 auto;
  height:74px;
  pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,0), rgba(255,255,255,0.72), rgba(255,255,255,0));
  opacity:.42;
  transform:translateX(-72%);
  animation:premiumStorageSweep 3.8s ease-in-out infinite;
}

.storage-ball-row--sealed{
  position:relative;
  padding:8px 10px;
  border-radius:16px;
  border:1px solid rgba(188,202,194,0.9);
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.52) 0 7px, rgba(225,233,228,0.62) 7px 14px),
    linear-gradient(180deg, #f8faf7, #e7eee9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.86), 0 8px 18px rgba(20,28,26,0.06);
}

.storage-ball--sealed{
  background:rgba(255,255,255,0.72);
  color:#8da098;
  border:1px solid rgba(208,216,210,0.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.storage-premium-seal{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin-top:2px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(230,247,242,0.92);
  color:#176d5b;
  font-size:11.5px;
  font-weight:800;
}

@keyframes premiumStorageSweep{
  0%, 42%{transform:translateX(-82%);opacity:0}
  58%{opacity:.52}
  78%, 100%{transform:translateX(88%);opacity:0}
}

.storage-ticket-card.is-shared.is-premium .storage-ticket-head-badges{
  max-width:190px;
}

.storage-ticket-head-badges .storage-ticket-badge,
.storage-ticket-head-badges .storage-shared-badge{
  min-height:22px;
}

@media (max-width:480px){
  .storage-ticket-meta{
    font-size:12.5px;
  }

  .storage-ticket-badge--grade{
    min-width:54px;
    padding:0 10px;
    font-size:11px;
  }

  .storage-ticket-head{
    margin-bottom:7px;
    padding-right:48px;
  }

  .storage-ticket-head-badges{
    max-width:160px;
    gap:4px;
  }

  .storage-grade-orb{
    min-width:31px;
    height:31px;
    font-size:11px;
  }

  .storage-ball-row .storage-ball{
    width:29px;
    height:29px;
    font-size:12px;
  }
}
