/* AnomicFlip — profile page (/profile) */
.pf, .pf * { box-sizing: border-box; }
.pf { max-width: 1640px; margin: 0 auto; padding: 44px 40px 80px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; font-family: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif; color: #fff; }
.pf[hidden] { display: none; }
.pf-title {
  margin: 0 0 14px; width: 352px; max-width: 100%; height: 36px;
  background: url('/profile-title.png') left center / contain no-repeat; image-rendering: pixelated;
  user-select: none; -webkit-user-select: none; -webkit-user-drag: none; -webkit-touch-callout: none;
}

/* header card */
.pf-head { display: flex; align-items: center; gap: 30px; padding: 32px; background: #1e2125; border-radius: 14px; }
.pf-av {
  flex: none; width: 128px; height: 128px; border-radius: 12px; background: #2c3036 center / cover no-repeat;
  box-shadow: 0 0 0 3px rgba(255,255,255,.08); display: grid; place-items: center;
  font-size: 54px; font-weight: 800; color: #3fd68f; user-select: none;
}
.pf-info { flex: 1; min-width: 0; max-width: 820px; display: grid; gap: 14px; }
.pf-name { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pf-name b { font-size: 34px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-rank { flex: none; padding: 7px 12px; border-radius: 7px; background: #2c3036; color: #c9ccd1; font-size: 15px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.pf-vip { display: flex; justify-content: space-between; font-size: 15px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: #8b8f97; }
.pf-vip b { color: #f5c84a; }
.pf-bar { height: 10px; border-radius: 99px; background: #2c3036; overflow: hidden; }
.pf-bar i { display: block; height: 100%; border-radius: inherit; background: #c9ccd1; transition: width .5s; }
.pf-wag { display: flex; align-items: center; gap: 8px; font-size: 17px; color: #8b8f97; font-variant-numeric: tabular-nums; }
.pf-wag b { color: #fff; }
.pf-coin { display: inline-block; flex: none; width: 15px; height: 20px; background: url('/coin.png') center / contain no-repeat; vertical-align: -3px; }

/* stat cards */
.pf-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pf-stat {
  padding: 26px 28px; border-radius: 12px; min-width: 0;
  background: radial-gradient(120% 120% at 0% 100%, rgba(63,214,143,.12), transparent 55%), #1e2125;
}
.pf-stat.neg { background: radial-gradient(120% 120% at 0% 100%, rgba(255,92,108,.14), transparent 55%), #1e2125; }
.pf-stat-l { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 600; color: #a7abb2; }
.pf-stat-l svg { width: 19px; height: 19px; }
.pf-stat.neg .pf-stat-l { color: #ff5c6c; }
.pf-stat.pos .pf-stat-l { color: #3fd68f; }
.pf-stat-v { display: flex; align-items: center; gap: 10px; margin-top: 16px; font-size: 32px; font-weight: 800; font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; }
.pf-stat-v .pf-coin { width: 20px; height: 27px; }

/* promo code */
.pf-promo {
  display: flex; align-items: center; gap: 22px; padding: 22px 28px; border-radius: 12px;
  background: linear-gradient(90deg, rgba(63,214,143,.08), transparent 60%), #1e2125; border: 1px solid #2a3a32;
}
.pf-promo-ic { flex: none; width: 56px; height: 56px; border-radius: 10px; background: rgba(63,214,143,.12); color: #3fd68f; display: grid; place-items: center; }
.pf-promo-t { flex: 1; min-width: 0; }
.pf-promo-t b { display: block; font-size: 20px; }
.pf-promo-t span { display: block; margin-top: 6px; font-size: 17px; color: #9a9ea6; }
.pf-promo form { flex: 1.3; display: flex; gap: 14px; min-width: 0; }
.pf-promo input { flex: 1; min-width: 0; height: 62px; padding: 0 20px; border-radius: 8px; border: 1px solid #2e3238; background: #17191c; color: #fff; font: 500 18px 'Archivo', system-ui, sans-serif; outline: none; }
.pf-promo input:focus { border-color: #3fd68f; }
.pf-promo input::placeholder { color: #7d8189; }
.pf-promo-msg { font-size: 15px; color: #f5c84a; margin-top: 8px; }
.pf-promo-msg:empty { display: none; }

/* buttons */
.pf-btn {
  flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 52px; padding: 0 22px; border: 0; border-radius: 8px;
  background: #33373e; color: #fff; font: 700 18px 'Archivo', system-ui, sans-serif; cursor: pointer; transition: background .15s, filter .15s;
}
.pf-btn:hover { background: #3a3f46; }
.pf-btn.green { background: #2bb36b; }
.pf-btn.green:hover { background: #33c477; }
.pf-btn.dark-green { height: 62px; background: #1f7a4c; color: #c9f5de; }
.pf-btn.dark-green:hover { background: #238a56; }
.pf-btn:focus-visible { outline: 2px solid #3fd68f; outline-offset: 2px; }
.pf-btn:disabled { opacity: .5; cursor: wait; }

/* tabs */
.pf-tabs { display: flex; gap: 36px; margin-top: 26px; border-bottom: 2px solid #2a2d33; }
.pf-tab { display: inline-flex; align-items: center; gap: 10px; padding: 0 0 16px; margin-bottom: -2px; border-bottom: 3px solid #3fd68f; font-size: 22px; font-weight: 800; color: #fff; }
.pf-tab svg { width: 22px; height: 22px; color: #3fd68f; }

/* settings */
.pf-sec { padding: 28px; border-radius: 12px; background: #1e2125; display: grid; gap: 14px; }
.pf-sec-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; }
.pf-sec-h h3 { margin: 0; font-size: 21px; font-weight: 800; }
.pf-row { display: flex; align-items: center; gap: 18px; padding: 18px 20px; border-radius: 10px; background: #2a2d33; min-width: 0; }
.pf-row-ic { flex: none; width: 34px; display: grid; place-items: center; color: #a7abb2; }
.pf-row-ic.on { color: #3fd68f; }
.pf-row-av { flex: none; width: 50px; height: 50px; border-radius: 6px; background: #3a3f46 center / cover no-repeat; display: grid; place-items: center; font-weight: 800; color: #3fd68f; }
.pf-row-t { flex: 1; min-width: 0; }
.pf-row-t b { display: block; font-size: 19px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-row-t span { display: block; margin-top: 5px; font-size: 16px; color: #8b8f97; }
.pf-primary { flex: none; display: inline-flex; align-items: center; gap: 8px; color: #3fd68f; font-size: 17px; font-weight: 700; }
.pf-note { font-size: 15px; color: #f5c84a; }
.pf-on { color: #3fd68f !important; }
.pf-btns { flex: none; display: flex; gap: 10px; flex-wrap: wrap; }
.pf-btn.danger { background: transparent; color: #ff6b79; box-shadow: inset 0 0 0 1px rgba(255,92,108,.45); }
.pf-btn.danger:hover { background: rgba(255,92,108,.1); }
.pf-note:empty { display: none; }

@media (max-width: 1100px) { .pf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pf-promo { flex-wrap: wrap; } .pf-promo form { flex-basis: 100%; } }
@media (max-width: 600px) {
  .pf { padding: 24px 16px 56px; }
  .pf-title { width: 260px; height: 27px; }
  .pf-head { flex-direction: column; align-items: flex-start; padding: 22px; gap: 18px; }
  .pf-av { width: 88px; height: 88px; font-size: 38px; }
  .pf-name b { font-size: 26px; }
  .pf-stats { grid-template-columns: minmax(0, 1fr); }
  .pf-stat-v { font-size: 26px; }
  .pf-promo form { flex-direction: column; }
  .pf-sec { padding: 18px; }
  .pf-row { flex-wrap: wrap; }
}

/* logged out */
.pf-guest { max-width: 520px; margin: 80px auto; padding: 40px 28px; border-radius: 14px; background: #1e2125; text-align: center; display: grid; gap: 14px; justify-items: center; }
.pf-guest h2 { margin: 0; font-size: 26px; }
.pf-guest p { margin: 0; color: #9a9ea6; font-size: 17px; line-height: 1.5; }
