.kv2-gift-shop { max-width: 1180px; margin: 0 auto; padding: 110px 24px 64px; color: var(--kv2-profile-ink, #f7f4ff); }
.kv2-gift-nav, .kv2-gift-filters, .kv2-gift-showcase__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.kv2-gift-nav { justify-content: space-between; margin-bottom: 18px; }
.kv2-gift-nav a, .kv2-gift-showcase__actions a { color: #d8c7ff; text-decoration: none; font-size: .86rem; font-weight: 750; }
.kv2-gift-hero, .kv2-echo-transfer, .kv2-gift-showcase { border: 1px solid rgba(255,255,255,.11); background: linear-gradient(145deg, rgba(31,24,48,.96), rgba(12,11,22,.94)); box-shadow: 0 24px 70px rgba(0,0,0,.3); }
.kv2-gift-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 28px; border-radius: 28px; }
.kv2-gift-hero h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.04em; }
.kv2-gift-hero p { max-width: 650px; margin: 10px 0 0; color: rgba(239,234,250,.68); line-height: 1.65; }
.kv2-gift-balance { min-width: 160px; padding: 16px; border: 1px solid rgba(215,180,87,.35); border-radius: 18px; background: rgba(215,180,87,.08); text-align: right; }
.kv2-gift-balance span, .kv2-gift-balance small { display: block; color: rgba(239,234,250,.62); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.kv2-gift-balance strong { display: block; margin: 3px 0; color: #f3ce73; font-size: 1.65rem; }
.kv2-echo-transfer { display: grid; grid-template-columns: minmax(180px,.65fr) 1.35fr; align-items: end; gap: 22px; margin-top: 16px; padding: 22px; border-radius: 22px; }
.kv2-echo-transfer h2 { margin: 0; font-size: 1.15rem; }.kv2-echo-transfer p { margin: 5px 0 0; color: rgba(239,234,250,.62); font-size: .85rem; }
.kv2-echo-transfer form { display: grid; grid-template-columns: 1fr 140px auto; align-items: end; gap: 10px; }
.kv2-echo-transfer label, .kv2-gift-dialog label { display: grid; gap: 6px; color: rgba(239,234,250,.68); font-size: .76rem; font-weight: 700; }
.kv2-echo-transfer input, .kv2-gift-dialog input { width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 11px 12px; color: #fff; background: rgba(255,255,255,.055); font: inherit; }
.kv2-echo-transfer button, .kv2-gift-send, .kv2-gift-dialog__confirm { border: 0; border-radius: 12px; padding: 11px 16px; color: #170d22; background: linear-gradient(135deg,#e9cf88,#c7a7ff); font: inherit; font-size: .82rem; font-weight: 850; cursor: pointer; }
.kv2-gift-target { margin: 18px 0 0; color: rgba(239,234,250,.74); }.kv2-gift-target strong { color: #fff; }
.kv2-gift-filters { margin: 18px 0; padding-bottom: 4px; overflow-x: auto; flex-wrap: nowrap; }
.kv2-gift-filters a { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; padding: 8px 13px; color: rgba(239,234,250,.65); text-decoration: none; font-size: .76rem; font-weight: 750; }
.kv2-gift-filters a.is-active { border-color: rgba(199,167,255,.5); color: #fff; background: rgba(199,167,255,.13); }
.kv2-gift-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.kv2-gift-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 310px; padding: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(19,16,30,.88); }
.kv2-gift-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--gift-accent,#b9a1d8); }
.kv2-gift-tier--common { --gift-accent:#9cd6c2; --gift-glow:rgba(91,194,158,.18); }.kv2-gift-tier--rare { --gift-accent:#73b8f4; --gift-glow:rgba(67,143,220,.2); }.kv2-gift-tier--epic { --gift-accent:#c89cff; --gift-glow:rgba(160,91,228,.22); }.kv2-gift-tier--legendary { --gift-accent:#f2c967; --gift-glow:rgba(225,165,44,.2); }.kv2-gift-tier--kelibatmu_original { --gift-accent:#ec93c7; --gift-glow:rgba(209,74,151,.2); }.kv2-gift-tier--seasonal { --gift-accent:#ff9f7d; --gift-glow:rgba(239,103,62,.2); }
.kv2-gift-card__icon, .kv2-gift-icon, .kv2-gift-dialog__preview { color: var(--gift-accent,#d9c1ff); }.kv2-gift-card__icon { display:grid; place-items:center; width:76px; height:76px; border-radius:20px; background:var(--gift-glow,rgba(255,255,255,.06)); }.kv2-gift-card__icon svg { width:52px; height:52px; }
.kv2-gift-card__badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }.kv2-gift-card__badges span { border:1px solid color-mix(in srgb,var(--gift-accent) 35%,transparent); border-radius:999px; padding:4px 8px; color:var(--gift-accent); font-size:.62rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.kv2-gift-card h2 { margin:13px 0 0; font-size:1.16rem; }.kv2-gift-card h2 small { color:var(--gift-accent); }.kv2-gift-card p { margin:7px 0 16px; color:rgba(239,234,250,.58); font-size:.82rem; line-height:1.55; }
.kv2-gift-card__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; }.kv2-gift-card__footer strong { color:#f3ce73; font-size:.8rem; }.kv2-gift-send { padding:9px 12px; }.kv2-gift-send:disabled { cursor:not-allowed; color:rgba(255,255,255,.42); background:rgba(255,255,255,.07); }
.kv2-gift-empty { grid-column:1/-1; padding:30px; color:rgba(239,234,250,.6); text-align:center; }
.kv2-gift-dialog { width:min(440px,calc(100% - 32px)); border:1px solid rgba(255,255,255,.14); border-radius:24px; padding:0; color:#f8f4ff; background:#171320; box-shadow:0 30px 100px rgba(0,0,0,.6); }.kv2-gift-dialog::backdrop { background:rgba(4,3,8,.78); backdrop-filter:blur(8px); }.kv2-gift-dialog form { position:relative; display:grid; gap:16px; padding:28px; }.kv2-gift-dialog__close { position:absolute; top:12px; right:14px; border:0; color:#fff; background:none; font-size:1.6rem; cursor:pointer; }.kv2-gift-dialog__preview { display:grid; place-items:center; width:90px; height:90px; margin:auto; border-radius:24px; background:rgba(199,167,255,.1); }.kv2-gift-dialog__preview svg { width:62px;height:62px; }.kv2-gift-dialog h2 { margin:0;text-align:center; }.kv2-gift-dialog__facts { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.kv2-gift-dialog__facts span { display:grid; gap:3px; padding:10px; border-radius:12px; background:rgba(255,255,255,.05); color:rgba(239,234,250,.55); font-size:.68rem; }.kv2-gift-dialog__facts strong { color:#fff;font-size:.8rem; }
.kv2-gift-showcase { margin:16px 0; padding:18px; border-radius:22px; }.kv2-gift-showcase__heading { display:flex; align-items:end; justify-content:space-between; gap:16px; }.kv2-gift-showcase__heading h2 { margin:3px 0 0; font-size:1.2rem; }.kv2-gift-showcase__list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:14px; }.kv2-gift-showcase__gift { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:9px; min-width:0; padding:10px; border-radius:14px; background:rgba(255,255,255,.045); }.kv2-gift-icon { display:grid;place-items:center; }.kv2-gift-icon svg { width:32px;height:32px; }.kv2-gift-showcase__gift span:nth-child(2) { min-width:0; }.kv2-gift-showcase__gift strong,.kv2-gift-showcase__gift small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.kv2-gift-showcase__gift strong { font-size:.78rem; }.kv2-gift-showcase__gift small { margin-top:2px;color:rgba(239,234,250,.48);font-size:.62rem; }.kv2-gift-showcase__gift b { color:var(--gift-accent);font-size:.75rem; }.kv2-gift-showcase__empty { margin:12px 0 0;color:rgba(239,234,250,.52);font-size:.82rem; }
.song-echo-gift-link { display:inline-flex; margin-top:12px; border:1px solid rgba(211,176,255,.35); border-radius:999px; padding:8px 13px; color:#e1c7ff; background:rgba(178,113,255,.09); text-decoration:none; font-size:.78rem;font-weight:800; }
.song-echo-gifts { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }.song-echo-gifts span { display:inline-flex; align-items:center; gap:5px; border:1px solid rgba(255,255,255,.1); border-radius:999px; padding:5px 9px; color:rgba(255,255,255,.68); background:rgba(255,255,255,.04); font-size:.68rem; }.song-echo-gifts i { display:grid; width:19px; height:19px; color:var(--gift-accent); }.song-echo-gifts svg { width:19px;height:19px; }.song-echo-gifts b { color:#fff;font-weight:750; }
@media (max-width:900px){.kv2-gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kv2-gift-showcase__list{grid-template-columns:repeat(2,minmax(0,1fr))}.kv2-echo-transfer{grid-template-columns:1fr}.kv2-echo-transfer form{grid-template-columns:1fr 1fr auto}}
@media (max-width:620px){.kv2-gift-shop{padding:90px 14px 42px}.kv2-gift-hero{align-items:stretch;flex-direction:column}.kv2-gift-balance{text-align:left}.kv2-gift-grid{grid-template-columns:1fr}.kv2-echo-transfer form{grid-template-columns:1fr}.kv2-gift-showcase__heading{align-items:flex-start;flex-direction:column}.kv2-gift-showcase__list{grid-template-columns:1fr}.kv2-gift-dialog__facts{grid-template-columns:1fr}}

.kv2-profile-shell .kv2-gift-showcase {
  margin: 10px 0 0;
  border-color: var(--kv2-profile-line);
  border-radius: 16px;
  padding: 13px;
  background: var(--kv2-profile-card-bg);
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.26);
}

.kv2-profile-shell .kv2-gift-showcase__heading {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.kv2-profile-shell .kv2-gift-showcase__heading h2 {
  display: none;
}

.kv2-profile-shell .kv2-gift-showcase__actions {
  align-items: center;
  gap: 12px;
}

.kv2-profile-shell .kv2-gift-showcase__actions a {
  color: var(--kv2-profile-accent);
  font-size: 0.86rem;
  font-weight: 620;
}

.kv2-profile-shell .kv2-gift-showcase__empty {
  margin: 12px 0 0;
  color: var(--kv2-profile-muted);
  font-size: 0.92rem;
}

.kv2-profile-shell .kv2-gift-showcase__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.kv2-profile-shell .kv2-gift-showcase__gift {
  border: 1px solid rgba(255, 255, 255, 0.065);
  background: rgba(255, 255, 255, 0.028);
}
