:root{
  --hc-bg:#f6f7fb;
  --hc-card:#ffffff;
  --hc-text:#172034;
  --hc-muted:#6b7280;
  --hc-border:rgba(23,32,52,.10);
  --hc-shadow:0 12px 30px rgba(23,32,52,.08);
  --hc-radius:18px;
  --hc-accent:#ff4fd8;
  --hc-accent2:#6a5cff;
  --hc-accent3:#2bbcff;
  --hc-grad:linear-gradient(135deg, var(--hc-accent) 0%, var(--hc-accent2) 45%, var(--hc-accent3) 100%);
}

.hc-body{
  background:radial-gradient(1200px 700px at 20% -10%, rgba(255,79,216,.16), rgba(0,0,0,0) 55%),
             radial-gradient(1000px 600px at 90% 10%, rgba(106,92,255,.14), rgba(0,0,0,0) 55%),
             var(--hc-bg);
  color:var(--hc-text);
}

.hc-navbar{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.75);
  backdrop-filter: blur(16px);
  border-bottom:1px solid var(--hc-border);
}
.hc-brand{display:flex; align-items:center; gap:10px; font-weight:800;}
.hc-brand-mark{
  width:14px; height:14px; border-radius:50%;
  background:var(--hc-grad);
  box-shadow:0 8px 18px rgba(255,79,216,.24);
}
.hc-brand-text{letter-spacing:.2px;}
.navbar .nav-link{color:rgba(23,32,52,.86);}
.navbar .nav-link:hover{color:rgba(23,32,52,1);}

*{box-sizing:border-box;}

.btn{
  border-radius:14px;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease, color .12s ease;
}
.btn:active{transform: translateY(0);}
.btn:focus-visible{
  outline:0;
  box-shadow:0 0 0 .22rem rgba(106,92,255,.18);
}
.btn-sm{border-radius:12px;}
.btn-outline-secondary{border-color:rgba(23,32,52,.16);}
.btn-outline-secondary:hover{border-color:rgba(106,92,255,.28);}

.hc-btn-icon{
  width:36px;
  height:36px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
}
.btn-sm.hc-btn-icon{width:34px; height:34px; border-radius:12px;}

.form-control, .form-select, .input-group-text{
  border-radius:16px;
  border-color:rgba(23,32,52,.12);
  background:rgba(255,255,255,.92);
}
.form-control:focus, .form-select:focus{
  border-color:rgba(106,92,255,.35);
  box-shadow:0 0 0 .22rem rgba(106,92,255,.16);
}
.form-check-input:focus{
  box-shadow:0 0 0 .22rem rgba(106,92,255,.16);
}
.dropdown-menu{
  border-radius:18px;
  border-color:rgba(23,32,52,.10);
  box-shadow:0 18px 44px rgba(23,32,52,.12);
}
.dropdown-item{border-radius:12px;}

.btn-hc{
  border:0;
  background:var(--hc-grad);
  color:#fff;
  box-shadow:0 12px 24px rgba(106,92,255,.18);
}
.btn-hc:hover{transform: translateY(-1px); color:#fff;}
.btn-hc:active{transform: translateY(0);}
.hc-link{color:var(--hc-accent2); text-decoration:none;}
.hc-link:hover{text-decoration:underline;}

.hc-main{padding:18px 12px 30px;}
.hc-sidebar-wrap{display:none;}
@media (min-width: 992px){
  .hc-sidebar-wrap{display:block;}
}
.hc-sidebar{position:sticky; top:84px;}
.hc-side-card{
  background:rgba(255,255,255,.82);
  border:1px solid var(--hc-border);
  border-radius:var(--hc-radius);
  box-shadow:var(--hc-shadow);
  padding:14px;
}
.hc-side-user{display:flex; gap:10px; align-items:center;}
.hc-side-user-name{font-weight:700;}
.hc-side-user-meta{font-size:.9rem; color:var(--hc-muted);}
.hc-side-actions{margin-top:10px;}
.hc-side-menu{margin-top:12px; display:flex; flex-direction:column; gap:6px;}
.hc-side-link{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:rgba(23,32,52,.9);
  background:rgba(255,255,255,.65);
  border:1px solid rgba(23,32,52,.07);
}
.hc-side-link:hover{
  background:#fff;
  border-color:rgba(106,92,255,.25);
  box-shadow:0 10px 22px rgba(23,32,52,.07);
}
.hc-side-divider{height:1px; background:var(--hc-border); margin:8px 6px;}
.hc-soon{
  margin-left:auto;
  font-size:.75rem;
  padding:2px 8px;
  border-radius:999px;
  color:rgba(23,32,52,.75);
  background:rgba(106,92,255,.10);
  border:1px solid rgba(106,92,255,.18);
}

.hc-content{min-height:calc(100vh - 110px);}
.hc-flashes{margin-bottom:14px;}

.hc-card{
  background:rgba(255,255,255,.88);
  border:1px solid var(--hc-border);
  border-radius:var(--hc-radius);
  box-shadow:var(--hc-shadow);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.hc-card-head{
  padding:14px 16px;
  border-bottom:1px solid var(--hc-border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.hc-card-title{font-weight:800; display:flex; align-items:center; gap:10px;}
.hc-card-body{padding:16px; flex:1; min-height:0;}
.hc-muted{color:var(--hc-muted);}

.hc-h1{font-size:clamp(2rem, 2.7vw, 3rem); font-weight:900; letter-spacing:-.4px;}
.hc-h2{font-size:1.5rem; font-weight:900; letter-spacing:-.2px;}
.hc-lead{font-size:1.08rem; color:rgba(255,255,255,.9); max-width:56ch;}

.hc-hero{
  border-radius:28px;
  overflow:hidden;
  background:radial-gradient(900px 500px at 20% 20%, rgba(255,255,255,.20), rgba(0,0,0,0) 60%),
             var(--hc-grad);
  box-shadow:0 22px 50px rgba(106,92,255,.25);
  margin-bottom:18px;
}
.hc-hero-inner{
  display:grid;
  gap:18px;
  padding:26px 22px;
  grid-template-columns: 1fr;
  align-items:center;
}
@media (min-width: 992px){
  .hc-hero-inner{grid-template-columns: 1.2fr .8fr; padding:40px 40px;}
}
.hc-hero-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}
.hc-hero-hint{margin-top:14px; color:rgba(255,255,255,.88); font-size:.95rem;}
.hc-hero-art img{width:100%; max-width:420px; display:block; margin:0 auto; filter: drop-shadow(0 18px 34px rgba(0,0,0,.20));}

.hc-section{margin-top:18px;}
.hc-section-title{margin-bottom:12px;}

.hc-avatar-sm{width:40px; height:40px; border-radius:14px; object-fit:cover; border:1px solid rgba(255,255,255,.8);}
.hc-avatar-lg{width:104px; height:104px; border-radius:26px; object-fit:cover; border:2px solid rgba(255,255,255,.95); box-shadow:0 18px 40px rgba(23,32,52,.14);}
.hc-avatar-xl{width:140px; height:140px; border-radius:34px; object-fit:cover; border:2px solid rgba(255,255,255,.95); box-shadow:0 18px 40px rgba(23,32,52,.14);}

.hc-online-dot{
  display:inline-block;
  width:10px; height:10px;
  border-radius:50%;
  background:rgba(107,114,128,.45);
  border:2px solid rgba(255,255,255,.85);
  vertical-align:middle;
}
.hc-online-dot.is-online{background:#22c55e;}
.hc-online-badge{
  position:absolute;
  top:10px; left:10px;
  font-size:.78rem;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(23,32,52,.68);
  color:#fff;
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  max-width: calc(100% - 92px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hc-online-badge.is-online{background:rgba(34,197,94,.85);}

.hc-user-card{overflow:hidden; height:100%;}
.hc-user-cover{position:relative; aspect-ratio: 4 / 3; background:rgba(23,32,52,.04);}
.hc-user-cover img{width:100%; height:100%; object-fit:cover; display:block;}
.hc-user-title{display:flex; flex-direction:column; gap:2px; margin-bottom:12px;}
.hc-user-name{font-weight:900; letter-spacing:-.2px; display:flex; align-items:center; gap:6px; min-width:0;}
.hc-user-name-text{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.hc-user-meta{color:var(--hc-muted); font-size:.92rem; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.hc-user-city{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.hc-user-actions{display:flex; gap:8px; align-items:stretch; flex-wrap:wrap; margin-top:auto;}
.hc-user-actions form{margin:0;}
.hc-user-actions .btn{display:inline-flex; align-items:center; gap:8px;}

.hc-badge-mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:10px;
  border:1px solid rgba(23,32,52,.12);
  background:rgba(23,32,52,.04);
  color:rgba(23,32,52,.70);
  flex:0 0 auto;
}
.hc-badge-mini.is-ok{
  background:rgba(34,197,94,.14);
  border-color:rgba(34,197,94,.26);
  color:rgba(21,128,61,.95);
}
.hc-badge-mini.is-off{
  background:rgba(245,158,11,.14);
  border-color:rgba(245,158,11,.26);
  color:rgba(146,64,14,.95);
}

.hc-peer-deleted{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:rgba(23,32,52,.62);
}
.hc-peer-deleted::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(107,114,128,.45);
  border:2px solid rgba(255,255,255,.85);
}

.hc-user-card{
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.hc-user-card:hover{
  transform: translateY(-2px);
  border-color: rgba(106,92,255,.20);
  box-shadow: 0 18px 44px rgba(23,32,52,.10);
}

.hc-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.hc-page-actions{display:flex; gap:10px; flex-wrap:wrap;}

.hc-empty{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:20px;
  background:rgba(23,32,52,.03);
  border:1px dashed rgba(23,32,52,.12);
}
.hc-empty.compact{padding:12px;}
.hc-empty img{width:76px; height:76px; flex:0 0 auto;}
.hc-empty-title{font-weight:900; font-size:1.06rem;}
.hc-empty-text{color:var(--hc-muted);}

.hc-progress{
  height:10px;
  border-radius:999px;
  background:rgba(23,32,52,.08);
  overflow:hidden;
  border:1px solid rgba(23,32,52,.08);
}
.hc-progress-bar{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(106,92,255,.95), rgba(34,197,94,.92));
}

.hc-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(23,32,52,.03);
  border:1px solid rgba(23,32,52,.10);
}
.hc-note-ic{
  width:36px;
  height:36px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(23,32,52,.06);
  border:1px solid rgba(23,32,52,.08);
  flex:0 0 auto;
}

.alert{
  border-radius:18px;
  border-color:rgba(23,32,52,.10);
  box-shadow:0 14px 30px rgba(23,32,52,.08);
}
.hc-alert{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.hc-alert-ic{
  width:36px;
  height:36px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(23,32,52,.06);
  border:1px solid rgba(23,32,52,.08);
  flex:0 0 auto;
}

.nav-tabs .nav-link, .nav-pills .nav-link{
  border-radius:14px;
}
.nav-tabs{
  border-bottom:1px solid rgba(23,32,52,.10);
}
.nav-tabs .nav-link{
  border-color:transparent;
  color:rgba(23,32,52,.78);
}
.nav-tabs .nav-link.active{
  background:rgba(106,92,255,.10);
  border-color:rgba(106,92,255,.18);
  color:rgba(23,32,52,.95);
}
.nav-pills .nav-link.active{
  background:rgba(106,92,255,.12);
  color:rgba(23,32,52,.95);
}

.modal-content{
  border-radius:22px;
  border-color:rgba(23,32,52,.10);
  box-shadow:0 26px 70px rgba(23,32,52,.20);
}
.modal-header{border-bottom-color:rgba(23,32,52,.08);}
.modal-footer{border-top-color:rgba(23,32,52,.08);}

.hc-auth{display:flex; justify-content:center; padding:20px 0;}
.hc-auth-card{
  width:100%;
  max-width:520px;
  border-radius:24px;
  background:rgba(255,255,255,.90);
  border:1px solid var(--hc-border);
  box-shadow:0 22px 50px rgba(23,32,52,.10);
  padding:18px;
}
.hc-auth-card.wide{max-width:860px;}
.hc-auth-head{margin-bottom:12px;}
.hc-auth-title{font-size:1.6rem; font-weight:900;}
.hc-auth-foot{margin-top:14px; color:var(--hc-muted);}

.hc-profile-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.hc-profile-left{display:flex; gap:14px; align-items:center;}
.hc-profile-name{font-weight:900; font-size:1.7rem; letter-spacing:-.3px;}
.hc-profile-meta{color:var(--hc-muted);}
.hc-profile-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}
.hc-profile-stats{display:flex; gap:10px;}
@media (max-width: 575.98px){
  .hc-profile-left{align-items:flex-start;}
  .hc-avatar-lg{width:88px; height:88px; border-radius:22px;}
  .hc-profile-stats{flex-wrap:wrap;}
  .hc-stat{min-width: 46%;}
}
.hc-stat{
  min-width:110px;
  background:rgba(255,255,255,.75);
  border:1px solid var(--hc-border);
  border-radius:18px;
  padding:12px 14px;
  box-shadow:0 14px 30px rgba(23,32,52,.08);
}
.hc-stat-value{font-weight:900; font-size:1.35rem;}
.hc-stat-label{color:var(--hc-muted); font-size:.9rem;}
.hc-about{white-space:pre-wrap; line-height:1.45;}

.hc-gallery{display:grid; grid-template-columns: repeat(3, 1fr); gap:10px;}
@media (min-width: 1200px){ .hc-gallery{grid-template-columns: repeat(4, 1fr);} }
.hc-gallery-item{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:rgba(23,32,52,.04);
  border:1px solid rgba(23,32,52,.10);
}
.hc-gallery-item img{width:100%; height:140px; object-fit:cover; display:block;}
.hc-photo-status{
  position:absolute;
  left:8px;
  bottom:8px;
  border-radius:999px;
  padding:6px 10px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter: blur(10px);
}
.hc-photo-reason{
  position:absolute;
  left:8px;
  right:8px;
  bottom:44px;
  font-size:.78rem;
  padding:6px 10px;
  border-radius:14px;
  background:rgba(23,32,52,.72);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hc-photo-admin-status{
  position:absolute;
  top:10px;
  left:10px;
  font-size:.78rem;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  color:#fff;
  max-width: calc(100% - 20px);
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hc-photo-admin-status.is-pending{background:rgba(245,158,11,.88);}
.hc-photo-admin-status.is-active{background:rgba(34,197,94,.86);}
.hc-photo-admin-status.is-rejected{background:rgba(239,68,68,.86);}

.hc-chat-disabled{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(23,32,52,.03);
  border:1px solid rgba(23,32,52,.10);
}
.hc-chat-disabled-ic{
  width:36px;
  height:36px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(23,32,52,.06);
  border:1px solid rgba(23,32,52,.08);
  flex:0 0 auto;
}
@media (max-width: 575.98px){
  .hc-gallery{grid-template-columns: repeat(2, 1fr);}
  .hc-gallery-item img{height:120px;}
}
.hc-gallery-del{position:absolute; top:8px; right:8px;}

.hc-list{display:flex; flex-direction:column; gap:8px;}
.hc-list-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:18px;
  text-decoration:none;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.72);
}
.hc-list-item:hover{
  background:#fff;
  border-color:rgba(106,92,255,.22);
  box-shadow:0 14px 34px rgba(23,32,52,.08);
}
.hc-list-icon{width:44px; display:flex; align-items:center; justify-content:center;}
.hc-list-main{flex:1;}
.hc-list-title{font-weight:900;}
.hc-list-sub{color:var(--hc-muted); font-size:.9rem;}
.hc-list-end{color:rgba(23,32,52,.55);}

.hc-friends-mini{display:grid; grid-template-columns: repeat(2, 1fr); gap:10px;}
.hc-friend-mini{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  text-decoration:none;
  background:rgba(255,255,255,.72);
  color:var(--hc-text);
}
.hc-friend-mini:hover{background:#fff; border-color:rgba(106,92,255,.22);}
.hc-friend-mini-name{font-weight:800; font-size:.95rem;}

.hc-mini-grid{display:flex; flex-direction:column; gap:10px;}
.hc-mini-user{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  text-decoration:none;
  background:rgba(255,255,255,.72);
  color:var(--hc-text);
}
.hc-mini-user:hover{background:#fff; border-color:rgba(106,92,255,.22);}
.hc-mini-user-name{font-weight:900;}
.hc-mini-user-meta{color:var(--hc-muted); font-size:.9rem;}

.hc-chat-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.hc-chat-peer{display:flex; align-items:center; gap:10px; flex:1;}
.hc-chat-peer-name{font-weight:900;}
.hc-chat-peer-meta{font-size:.9rem; color:var(--hc-muted);}
.hc-chat-actions{display:flex; gap:8px;}

.hc-chat-card{overflow:hidden;}
.hc-chat-body{
  height: min(62vh, 640px);
  overflow:auto;
  padding:14px;
  background:radial-gradient(800px 400px at 20% 10%, rgba(255,79,216,.08), rgba(0,0,0,0) 60%),
             radial-gradient(700px 380px at 90% 60%, rgba(106,92,255,.08), rgba(0,0,0,0) 60%),
             rgba(255,255,255,.75);
}
.hc-msg{display:flex; margin:8px 0;}
.hc-msg.mine{justify-content:flex-end;}
.hc-msg.theirs{justify-content:flex-start;}
.hc-msg-avatar{
  width:30px;
  height:30px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(23,32,52,.10);
  background:rgba(255,255,255,.85);
  flex:0 0 auto;
  margin-top:2px;
}
.hc-msg-avatar.is-me{opacity:.65;}
.hc-msg-bubble{
  max-width:min(68ch, 78%);
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.10);
  background:#fff;
  box-shadow:0 12px 26px rgba(23,32,52,.06);
}
.hc-msg.mine{gap:10px;}
.hc-msg.theirs{gap:10px;}
.hc-msg.theirs .hc-msg-meta{justify-content:flex-start;}
.hc-msg.mine .hc-msg-meta{justify-content:flex-end;}
@media (max-width: 575.98px){
  .hc-msg-bubble{max-width: 86%;}
}
.hc-msg.mine .hc-msg-bubble{
  background:linear-gradient(135deg, rgba(255,79,216,.14), rgba(106,92,255,.12));
  border-color:rgba(106,92,255,.18);
}
.hc-msg-text{white-space:pre-wrap; line-height:1.35;}
.hc-msg-meta{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:6px;
  color:rgba(23,32,52,.55);
  font-size:.82rem;
}
.hc-msg-read{opacity:.55;}
.hc-msg-read.is-read{opacity:1; color:#22c55e;}

.hc-chat-foot{padding:14px; border-top:1px solid var(--hc-border); background:rgba(255,255,255,.88);}
.hc-chat-typing{margin-bottom:8px;}
.hc-chat-form{display:flex; gap:10px; align-items:flex-end;}
.hc-chat-form textarea{resize:none;}
.hc-chat-note{margin-top:8px; color:var(--hc-muted); font-size:.85rem;}

.hc-vip-card{
  border-color: rgba(245,158,11,.35);
  box-shadow: 0 18px 44px rgba(245,158,11,.10), var(--hc-shadow);
}
.hc-vip-badge{
  position:absolute;
  top:10px; right:10px;
  font-size:.78rem;
  padding:4px 10px;
  border-radius:999px;
  color:#2a1b00;
  background: linear-gradient(135deg, rgba(245,158,11,.95), rgba(255,79,216,.40));
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter: blur(10px);
}
.hc-vip-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:10px;
  font-size:.85rem;
  padding:4px 10px;
  border-radius:999px;
  background: rgba(245,158,11,.16);
  border:1px solid rgba(245,158,11,.28);
  color:#6b4a00;
  vertical-align:middle;
}
.hc-vip-head .hc-profile-name{color:rgba(23,32,52,.98);}

.hc-match-badge{
  position:absolute;
  bottom:10px; left:10px;
  font-size:.78rem;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,79,216,.92);
  color:#fff;
  border:1px solid rgba(255,255,255,.32);
}
.hc-match-banner{
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,79,216,.10);
  border:1px solid rgba(255,79,216,.18);
  color:rgba(23,32,52,.90);
  display:flex;
  gap:10px;
  align-items:center;
}
.hc-like-hint{
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(106,92,255,.08);
  border:1px solid rgba(106,92,255,.16);
  color:rgba(23,32,52,.86);
  display:flex;
  gap:10px;
  align-items:center;
}

.hc-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(255,79,216,.92);
  color:#fff;
  font-size:.72rem;
  margin-left:6px;
}
.hc-notify-menu{min-width: 360px;}
.hc-notify-unread{font-weight:800;}
.hc-notify-link{position:relative;}

.hc-inbox{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
@media (min-width: 992px){
  .hc-inbox{grid-template-columns: 360px 1fr; align-items:stretch;}
}
.hc-inbox-left{
  background:rgba(255,255,255,.88);
  border:1px solid var(--hc-border);
  border-radius:var(--hc-radius);
  box-shadow:var(--hc-shadow);
  overflow:hidden;
}
.hc-inbox-right{min-width:0;}
.hc-inbox-head{
  padding:12px 14px;
  border-bottom:1px solid var(--hc-border);
  display:flex;
  align-items:center;
  gap:10px;
}
.hc-inbox-title{font-weight:900; flex:1;}
.hc-inbox-list{display:flex; flex-direction:column; max-height:min(68vh, 720px); overflow:auto;}
.hc-inbox-item{
  display:flex;
  gap:10px;
  padding:12px 12px;
  text-decoration:none;
  color:var(--hc-text);
  border-bottom:1px solid rgba(23,32,52,.06);
  background:rgba(255,255,255,.80);
}
.hc-inbox-item:hover{background:#fff;}
.hc-inbox-item.is-active{
  background:rgba(106,92,255,.08);
  border-bottom-color:rgba(106,92,255,.16);
}
.hc-inbox-main{flex:1; min-width:0;}
.hc-inbox-top{display:flex; justify-content:space-between; gap:10px;}
.hc-inbox-name{font-weight:900; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.hc-inbox-time{color:rgba(23,32,52,.55); font-size:.82rem; white-space:nowrap;}
.hc-inbox-bottom{display:flex; justify-content:space-between; gap:10px; margin-top:2px; align-items:center;}
.hc-inbox-snippet{color:var(--hc-muted); font-size:.9rem; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.hc-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(34,197,94,.14);
  border:1px solid rgba(34,197,94,.28);
  color:#16a34a;
  font-weight:800;
  font-size:.78rem;
}
.hc-inbox-blank{min-height: min(62vh, 640px);}

.hc-gifts-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
@media (max-width: 575.98px){ .hc-gifts-grid{grid-template-columns: repeat(2, 1fr);} }
@media (min-width: 1200px){ .hc-gifts-grid{grid-template-columns: repeat(4, 1fr);} }
.hc-gift-chip{
  border-radius:16px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.75);
  padding:10px;
  text-align:center;
}
.hc-gift-chip img{width:44px; height:44px;}
.hc-gift-name{margin-top:6px; font-weight:800; font-size:.88rem;}
.hc-gift-catalog{display:flex; flex-direction:column; gap:10px;}
.hc-gift-card{
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.74);
}
.hc-gift-card img{width:56px; height:56px;}
.hc-gift-card-main{flex:1; min-width:0;}
.hc-gift-card-name{font-weight:900;}
.hc-gift-card-desc{color:var(--hc-muted); font-size:.92rem;}
.hc-gift-card-price{
  min-width:54px;
  text-align:right;
  font-weight:900;
  color:rgba(23,32,52,.86);
}
.hc-gifts-received{display:flex; flex-direction:column; gap:10px;}
.hc-gift-received{display:flex; gap:12px; align-items:center;}
.hc-gift-received img{width:44px; height:44px;}
.hc-gift-received-title{font-weight:900;}
.hc-gift-received-sub{color:var(--hc-muted); font-size:.9rem;}

.hc-notify-list{display:flex; flex-direction:column; gap:8px;}
.hc-notify-row{
  display:flex;
  gap:12px;
  padding:12px 12px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.72);
}
.hc-notify-row.is-unread{border-color:rgba(255,79,216,.22); background:#fff;}
.hc-notify-icon{width:42px; display:flex; align-items:flex-start; justify-content:center; padding-top:4px;}
.hc-notify-main{flex:1;}
.hc-notify-text{font-weight:800; overflow-wrap:anywhere;}
.hc-notify-meta{color:var(--hc-muted); font-size:.86rem; margin-top:2px;}
.hc-notify-actions{display:flex; align-items:center;}

.hc-admin-top{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-radius:20px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.78);
  box-shadow:var(--hc-shadow);
  margin-bottom:14px;
}
.hc-admin-title{font-weight:900; display:flex; align-items:center; gap:10px;}
.hc-admin-nav{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end;}
.hc-admin-link{
  text-decoration:none;
  color:rgba(23,32,52,.88);
  padding:8px 12px;
  border-radius:14px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.72);
}
.hc-admin-link:hover{background:#fff; border-color:rgba(106,92,255,.22);}
.hc-admin-table-wrap{overflow:auto;}
.hc-admin-stat .hc-admin-stat-label{color:var(--hc-muted); font-weight:800;}
.hc-admin-stat .hc-admin-stat-value{font-size:2rem; font-weight:900; letter-spacing:-.4px;}

.hc-feature{
  display:flex;
  gap:12px;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.72);
}
.hc-feature-ic{
  width:44px;
  height:44px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(106,92,255,.10);
  border:1px solid rgba(106,92,255,.18);
  color:rgba(106,92,255,.90);
}
.hc-feature-title{font-weight:900;}

@media (max-width: 991.98px){
  .hc-main{padding-bottom: 92px;}
}
.hc-bottom-nav{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:1050;
  display:flex;
  justify-content:space-around;
  gap:6px;
  padding:10px 10px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.88);
  backdrop-filter: blur(16px);
  border-top:1px solid var(--hc-border);
}
.hc-bottom-link{
  flex:1;
  text-decoration:none;
  color:rgba(23,32,52,.82);
  border-radius:14px;
  padding:8px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-size:.78rem;
}
.hc-bottom-link i{font-size:1.15rem;}
.hc-bottom-link:hover{color:rgba(23,32,52,1); background:rgba(106,92,255,.08);}
.hc-bottom-link.is-active{
  background:rgba(106,92,255,.12);
  color:rgba(23,32,52,1);
}
.hc-bottom-link.is-active i{color:rgba(106,92,255,1);}

.hc-ellipsis{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hc-catalog-wrap{position:relative;}
.hc-catalog-grid{transition: opacity .14s ease;}
.hc-catalog-skeleton{
  display:none;
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
html:not(.hc-ready) .hc-catalog-skeleton{display:block;}
html:not(.hc-ready) .hc-catalog-grid{opacity:0;}
.hc-skeleton-card{border-color:rgba(23,32,52,.08);}
.hc-skeleton-cover{
  aspect-ratio: 4 / 3;
  background:linear-gradient(90deg, rgba(23,32,52,.06), rgba(23,32,52,.04), rgba(23,32,52,.06));
  background-size: 220% 100%;
  animation: hcShimmer 1.1s ease-in-out infinite;
}
.hc-skeleton-line{
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(23,32,52,.08), rgba(23,32,52,.05), rgba(23,32,52,.08));
  background-size: 220% 100%;
  animation: hcShimmer 1.1s ease-in-out infinite;
}
.hc-skeleton-pill{
  height:34px;
  border-radius:16px;
  background:linear-gradient(90deg, rgba(23,32,52,.08), rgba(23,32,52,.05), rgba(23,32,52,.08));
  background-size: 220% 100%;
  animation: hcShimmer 1.1s ease-in-out infinite;
}
.hc-w-25{width:25%;}
.hc-w-40{width:40%;}
.hc-w-50{width:50%;}
.hc-w-60{width:60%;}
@keyframes hcShimmer{
  0%{background-position: 0% 0%;}
  100%{background-position: 200% 0%;}
}

.hc-tx-table{min-width: 640px;}
.hc-tx-desc{max-width: 520px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
@media (max-width: 575.98px){
  .hc-tx-table{min-width: 560px;}
  .hc-tx-desc{white-space:normal;}
}
