: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-content-max:1280px;
  --hc-touch-target:44px;
  --hc-vip-gold:#d4af37;
  --hc-vip-gold-mid:#b8860b;
  --hc-vip-gold-light:#fceabb;
  --hc-vip-gold-dark:#6b4e0a;
  --hc-vip-ring:0 0 0 2px #fff, 0 0 0 4px var(--hc-vip-gold), 0 0 0 5px rgba(184,134,11,.35), 0 10px 28px rgba(139,105,20,.28);
}

.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);
  overflow-x:hidden;
}
@supports (overflow:clip){
  .hc-body{overflow-x:clip;}
}

.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);
  padding-top:max(10px, env(safe-area-inset-top));
  padding-bottom:10px;
}
.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);}
.hc-navbar > .container-fluid{
  padding-left:max(12px, env(safe-area-inset-left));
  padding-right:max(12px, env(safe-area-inset-right));
}

*{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 max(12px, env(safe-area-inset-left)) 30px max(12px, env(safe-area-inset-right));
  min-width:0;
}
.hc-sidebar-wrap{display:none;}
@media (min-width: 992px){
  .hc-sidebar-wrap{display:block;}
}
.hc-sidebar{position:sticky; top:calc(72px + env(safe-area-inset-top, 0px));}
.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; flex-direction:column; gap:10px;}
.hc-side-user-head{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  min-width:0;
}
.hc-side-user-name{font-weight:700; font-size:1.05rem; line-height:1.2;}
.hc-side-user-body{
  display:flex; flex-direction:row; align-items:flex-start; gap:12px;
}
.hc-side-user-details{
  display:flex; flex-direction:column; gap:4px; min-width:0; flex:1;
  padding-top:2px;
}
.hc-side-user-city{
  font-size:.92rem; font-weight:600; color:rgba(23,32,52,.88);
  line-height:1.25; word-break:break-word;
}
.hc-side-user-age{
  font-size:.85rem; color:var(--hc-muted); line-height:1.2;
}
.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); min-width:0;}
@media (min-width: 992px){
  .hc-content{
    max-width:min(100%, var(--hc-content-max));
    margin-left:auto;
    margin-right:auto;
  }
}
.hc-flashes{
  margin-bottom:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.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;
  flex-wrap:wrap;
}
@media (max-width: 575.98px){
  .hc-card-head{
    align-items:flex-start;
  }
  .hc-card-head .hc-card-title{
    flex:1 1 100%;
    min-width:0;
  }
}
.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(1.75rem, 2.7vw, 3rem); font-weight:900; letter-spacing:-.4px; line-height:1.15;}
.hc-h2{font-size:clamp(1.35rem, 1.1rem + 1vw, 1.65rem); font-weight:900; letter-spacing:-.2px; line-height:1.2;}
@media (min-width: 1200px){
  .hc-h2{font-size:1.65rem;}
  .hc-about{line-height:1.55;}
}
.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;}

.min-w-0{min-width:0;}

.hc-home-welcome{
  border:1px solid rgba(106,92,255,.14);
  background:linear-gradient(145deg, rgba(255,255,255,.97), rgba(246,248,255,.99));
  box-shadow:0 16px 40px rgba(106,92,255,.09);
}
.hc-home-feature{
  border:1px solid rgba(23,32,52,.08);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.hc-home-feature:hover{
  border-color:rgba(106,92,255,.20);
  box-shadow:0 12px 30px rgba(23,32,52,.08);
  transform:translateY(-1px);
}
.hc-home-feature-ic{
  width:46px;
  height:46px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:linear-gradient(135deg, rgba(255,79,216,.18), rgba(106,92,255,.16));
  color:rgba(91,78,200,1);
  font-size:1.28rem;
}
.hc-home-cta{
  border:1px solid rgba(106,92,255,.12);
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(23,32,52,.06);
}

.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-avatar-sm.hc-vip-ring{
  border-color:rgba(255,250,235,.95);
  box-shadow:var(--hc-vip-ring);
}
.hc-avatar-lg.hc-vip-ring,
.hc-avatar-xl.hc-vip-ring{
  border:3px solid rgba(255,252,240,.98);
  box-shadow:
    var(--hc-vip-ring),
    0 20px 48px rgba(139,105,20,.22);
}
.hc-user-cover img.hc-vip-ring{
  box-sizing:border-box;
  border:3px solid rgba(255,252,240,.96);
  box-shadow:
    inset 0 0 0 1px rgba(212,175,55,.25),
    0 0 0 2px rgba(212,175,55,.55),
    0 0 0 4px rgba(255,255,255,.5),
    0 14px 36px rgba(139,105,20,.30);
}

.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%;
  border-radius:20px;
  border:1px solid rgba(23,32,52,.08);
  box-shadow:0 14px 32px rgba(23,32,52,.08);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.hc-user-cover{
  position:relative;
  aspect-ratio: 4 / 3;
  background:linear-gradient(150deg, rgba(255,79,216,.14), rgba(106,92,255,.12) 45%, rgba(43,188,255,.10));
}
.hc-user-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(23,32,52,.20) 0%, transparent 55%);
  pointer-events:none;
}
.hc-user-cover img{width:100%; height:100%; object-fit:cover; display:block; position:relative; z-index:0;}
.hc-user-cover .hc-online-badge,
.hc-user-cover .hc-vip-badge{z-index:2;}

.hc-user-card--compact{
  border-radius:16px;
  box-shadow:0 10px 24px rgba(23,32,52,.07);
}
.hc-user-card--compact .hc-user-cover{
  aspect-ratio:5 / 3;
}
.hc-user-card--compact .hc-online-badge{
  top:8px;
  left:8px;
  font-size:.72rem;
  padding:3px 8px;
}
.hc-user-card--compact .hc-vip-badge{
  top:8px;
  right:8px;
  font-size:.72rem;
  padding:3px 8px;
}
.hc-user-card--compact .hc-card-body{
  padding:12px 12px 14px;
}
.hc-user-title--compact{
  margin-bottom:10px;
}
.hc-user-card--compact .hc-user-name{
  font-size:1.02rem;
}
.hc-user-card--compact .hc-user-meta{
  font-size:.84rem;
}

.hc-friends-card-actions{
  gap:10px;
  margin-top:0;
}
.hc-friends-card-form{
  margin:0;
  width:100%;
}
.hc-friends-card-actions .hc-ua-stretch{
  width:100%;
  min-height:40px;
  justify-content:center;
}
@media (max-width: 575.98px){
  .hc-friends-card-actions{gap:12px;}
  .hc-friends-card-actions .hc-ua-stretch{min-height:44px;}
}

.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-status{
  color:var(--hc-muted);
  font-size:.9rem;
  line-height:1.4;
  min-height:2.5em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hc-user-actions{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:auto;
  width:100%;
  min-width:0;
}
.hc-user-actions-quick{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  width:100%;
  align-items:stretch;
}
.hc-ua-form{display:contents;}
.hc-ua-btn{
  min-height:42px;
  width:100%;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:600;
  border-radius:14px;
  padding-left:12px;
  padding-right:12px;
}
.hc-ua-quick-icon{
  aspect-ratio:1;
  min-height:44px;
  min-width:0;
  padding:0 !important;
  font-size:1.18rem;
  line-height:1;
}
.hc-user-chat-btn{
  border:0 !important;
  color:#fff !important;
  background:linear-gradient(135deg, rgba(255,79,216,.95), rgba(106,92,255,.95)) !important;
  box-shadow:0 6px 16px rgba(106,92,255,.24);
}
.hc-user-chat-btn:hover,
.hc-user-chat-btn:focus{
  color:#fff !important;
  filter:brightness(1.06);
}
.hc-user-actions-secondary{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
  margin-top:0;
}
.hc-user-actions-secondary form{margin:0; width:100%;}
.hc-ua-stretch{
  width:100%;
  min-height:42px;
  justify-content:center;
}
.hc-user-actions-incoming{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}
.hc-user-actions-incoming form{margin:0; width:100%;}
.hc-ua-guest{width:100%; justify-content:center;}
@media (max-width: 575.98px){
  .hc-user-actions{gap:16px;}
  .hc-user-actions-quick{gap:12px;}
  .hc-user-actions-secondary{gap:12px;}
  .hc-user-actions-incoming{gap:12px;}
  .hc-ua-btn{min-height:44px;}
  .hc-ua-stretch{min-height:46px;}
  .hc-ua-quick-icon{min-height:46px;}
}

.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:hover{
  transform: translateY(-2px);
  border-color: rgba(106,92,255,.22);
  box-shadow: 0 20px 48px rgba(23,32,52,.12);
}

.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-live-page-head{
  margin-bottom:8px;
}
.hc-live-page-head-card{
  position:relative;
  width:100%;
  max-width:none;
  padding:10px 14px 11px;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,247,255,.96)),
    linear-gradient(135deg, rgba(106,92,255,.06), rgba(56,189,248,.04));
  border:1px solid rgba(106,92,255,.12);
  box-shadow:0 10px 24px rgba(23,32,52,.05);
}
.hc-live-page-head-topline{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
}
.hc-live-page-head-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:0 8px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(244,63,94,.14), rgba(168,85,247,.14));
  color:#7c2d12;
  border:1px solid rgba(244,63,94,.12);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hc-live-page-head-card .hc-h2{
  margin-bottom:4px !important;
  font-size:1.55rem;
}
.hc-live-page-head-note{
  color:rgba(23,32,52,.66);
  line-height:1.35;
  max-width:none;
  font-size:.84rem;
}
@media (max-width: 575.98px){
  .hc-page-head{
    flex-direction:column;
    align-items:stretch;
  }
  .hc-live-page-head-card{
    padding:10px 12px 11px;
    border-radius:16px;
  }
  .hc-live-page-head-card .hc-h2{
    font-size:1.3rem;
  }
  .hc-live-page-head-note{
    font-size:.8rem;
    line-height:1.34;
  }
  .hc-page-actions{
    width:100%;
    flex-direction:column;
  }
  .hc-page-actions .btn{
    width:100%;
    justify-content:center;
  }
}

.hc-filter-card{
  border-radius:22px;
  border:1px solid rgba(23,32,52,.08);
  box-shadow:0 12px 32px rgba(23,32,52,.06);
}
.hc-filter-form .form-label{
  font-size:.88rem;
  font-weight:700;
  color:rgba(23,32,52,.72);
}
.hc-filter-form .form-control,
.hc-filter-form .form-select{
  min-height:46px;
  border-radius:16px;
}
.hc-filter-checks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:2px;
}
.hc-filter-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:0 14px;
  border-radius:16px;
  border:1px solid rgba(23,32,52,.1);
  background:rgba(23,32,52,.025);
  color:rgba(23,32,52,.78);
  font-size:.94rem;
  font-weight:600;
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .12s ease;
}
.hc-filter-check:hover{
  border-color:rgba(106,92,255,.22);
  background:rgba(106,92,255,.05);
}
.hc-filter-check:has(input:checked){
  border-color:rgba(106,92,255,.34);
  background:rgba(106,92,255,.08);
  box-shadow:0 8px 18px rgba(106,92,255,.10);
}
.hc-filter-check .form-check-input{
  margin:0;
  flex:0 0 auto;
}
.hc-filter-actions{
  padding-top:2px;
}

.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-completion-step{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:38px;
  border-radius:999px;
}
.hc-completion-step-main{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.hc-completion-step-points{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(106,92,255,.14), rgba(34,197,94,.16));
  color:#5a47ea;
  font-size:.76rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  border:1px solid rgba(106,92,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
@media (max-width: 575.98px){
  .hc-completion-step{
    width:100%;
  }
}

.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;
}

.hc-popular-card-wrap .hc-popular-stats{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 10px;
  font-weight:600;
  color:rgba(23,32,52,.55);
}

.alert{
  border-radius:18px;
  border-color:rgba(23,32,52,.10);
  box-shadow:0 14px 30px rgba(23,32,52,.08);
}
.hc-flash{
  position:relative;
  overflow:hidden;
  padding:14px 50px 14px 14px;
  border:1px solid transparent;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
  backdrop-filter:blur(10px);
}
.hc-flash::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:18px 0 0 18px;
  background:var(--hc-flash-accent, rgba(106,92,255,.85));
}
.hc-flash--success{
  --hc-flash-accent:rgba(34,197,94,.9);
  background:linear-gradient(180deg, rgba(234,250,238,.96), rgba(243,251,245,.93));
  border-color:rgba(34,197,94,.18);
}
.hc-flash--danger{
  --hc-flash-accent:rgba(239,68,68,.92);
  background:linear-gradient(180deg, rgba(255,241,241,.97), rgba(255,247,247,.94));
  border-color:rgba(239,68,68,.18);
}
.hc-flash--warning{
  --hc-flash-accent:rgba(245,158,11,.92);
  background:linear-gradient(180deg, rgba(255,248,232,.97), rgba(255,251,241,.94));
  border-color:rgba(245,158,11,.18);
}
.hc-flash--info,
.hc-flash--message,
.hc-flash--primary{
  --hc-flash-accent:rgba(106,92,255,.9);
  background:linear-gradient(180deg, rgba(242,240,255,.96), rgba(247,246,255,.93));
  border-color:rgba(106,92,255,.16);
}
.hc-alert{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.hc-alert-ic{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(23,32,52,.08);
  flex:0 0 auto;
  color:var(--hc-flash-accent, rgba(106,92,255,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.hc-alert-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.hc-alert-title{
  font-size:.84rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.01em;
  color:rgba(23,32,52,.72);
}
.hc-alert-text{
  color:rgba(23,32,52,.88);
  line-height:1.45;
  word-break:break-word;
}
.hc-flash .btn-close{
  position:absolute;
  top:12px;
  right:12px;
  width:30px;
  height:30px;
  padding:0;
  border-radius:10px;
  opacity:.46;
  background-color:rgba(255,255,255,.56);
  box-shadow:inset 0 0 0 1px rgba(23,32,52,.06);
}
.hc-flash .btn-close:hover{
  opacity:.72;
  background-color:rgba(255,255,255,.78);
}
.hc-flash .btn-close:focus{
  box-shadow:0 0 0 .18rem rgba(106,92,255,.14);
}

.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-dialog-open{
  overflow:hidden;
}
.hc-confirm-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.hc-confirm-modal.is-open{
  display:flex;
}
.hc-confirm-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,24,39,.30);
  backdrop-filter:blur(5px);
}
.hc-confirm-dialog{
  position:relative;
  width:min(100%, 438px);
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.98));
  color:var(--hc-text);
  box-shadow:0 18px 46px rgba(23,32,52,.16);
  animation:hcDialogIn .18s ease-out;
}
.hc-confirm-topline{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  border-radius:20px 20px 0 0;
  background:linear-gradient(90deg, rgba(106,92,255,.72), rgba(167,139,250,.72));
}
.hc-confirm-modal.is-success .hc-confirm-topline{
  background:linear-gradient(90deg, rgba(34,197,94,.95), rgba(110,231,183,.95));
}
.hc-confirm-modal.is-warning .hc-confirm-topline{
  background:linear-gradient(90deg, rgba(245,158,11,.95), rgba(251,191,36,.95));
}
.hc-confirm-modal.is-info .hc-confirm-topline{
  background:linear-gradient(90deg, rgba(96,165,250,.95), rgba(125,211,252,.95));
}
.hc-confirm-modal.is-danger .hc-confirm-topline{
  background:linear-gradient(90deg, rgba(239,68,68,.96), rgba(251,113,133,.95));
}
.hc-confirm-close{
  position:absolute;
  top:12px;
  right:12px;
  width:30px;
  height:30px;
  border:none;
  border-radius:10px;
  background:rgba(23,32,52,.05);
  color:rgba(23,32,52,.58);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, transform .12s ease, color .18s ease;
}
.hc-confirm-close:hover{
  background:rgba(23,32,52,.10);
  color:var(--hc-text);
}
.hc-confirm-close:active{
  transform:scale(.97);
}
.hc-confirm-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg, rgba(106,92,255,.14), rgba(106,92,255,.06));
  color:#6a5cff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3);
  font-size:1.1rem;
  margin-bottom:12px;
}
.hc-confirm-modal.is-success .hc-confirm-icon{
  background:linear-gradient(145deg, rgba(34,197,94,.14), rgba(34,197,94,.06));
  color:#16a34a;
}
.hc-confirm-modal.is-warning .hc-confirm-icon{
  background:linear-gradient(145deg, rgba(245,158,11,.14), rgba(245,158,11,.06));
  color:#d97706;
}
.hc-confirm-modal.is-info .hc-confirm-icon{
  background:linear-gradient(145deg, rgba(96,165,250,.14), rgba(96,165,250,.06));
  color:#2563eb;
}
.hc-confirm-modal.is-danger .hc-confirm-icon{
  background:linear-gradient(145deg, rgba(239,68,68,.14), rgba(239,68,68,.06));
  color:#e11d48;
}
.hc-confirm-eyebrow{
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#6a5cff;
  margin-bottom:6px;
  opacity:.84;
}
.hc-confirm-modal.is-success .hc-confirm-eyebrow{color:#16a34a;}
.hc-confirm-modal.is-warning .hc-confirm-eyebrow{color:#d97706;}
.hc-confirm-modal.is-info .hc-confirm-eyebrow{color:#2563eb;}
.hc-confirm-modal.is-danger .hc-confirm-eyebrow{color:#e11d48;}
.hc-confirm-title{
  margin:0;
  font-size:1.18rem;
  line-height:1.2;
  font-weight:800;
  text-transform:none;
  color:var(--hc-text);
}
.hc-confirm-text{
  margin-top:8px;
  font-size:.98rem;
  line-height:1.45;
  color:rgba(23,32,52,.70);
}
.hc-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}
.hc-confirm-actions .btn{
  min-width:92px;
  border-radius:12px;
  padding:.58rem 1rem;
  font-size:.95rem;
}
.hc-confirm-ok{
  border:none;
  box-shadow:0 10px 22px rgba(91,76,219,.16);
}
.hc-confirm-modal.is-info .hc-confirm-ok{
  background:linear-gradient(135deg, #60a5fa, #38bdf8);
  box-shadow:0 10px 22px rgba(56,189,248,.16);
}
.hc-confirm-modal.is-success .hc-confirm-ok{
  background:linear-gradient(135deg, #22c55e, #34d399);
  box-shadow:0 10px 22px rgba(34,197,94,.16);
}
.hc-confirm-modal.is-warning .hc-confirm-ok{
  background:linear-gradient(135deg, #f59e0b, #fbbf24);
  color:#2b1904;
  box-shadow:0 10px 22px rgba(245,158,11,.16);
}
.hc-confirm-modal .btn-outline-secondary{
  border-color:rgba(23,32,52,.10);
  background:#fff;
  color:rgba(23,32,52,.72);
}
.hc-confirm-modal .btn-outline-secondary:hover{
  border-color:rgba(23,32,52,.16);
  background:rgba(23,32,52,.03);
  color:var(--hc-text);
}
.hc-confirm-modal.is-danger .btn-hc{
  background:linear-gradient(135deg, #fb7185, #ff6b6b);
  box-shadow:0 10px 22px rgba(251,113,133,.16);
}
@keyframes hcDialogIn{
  from{
    opacity:0;
    transform:translateY(10px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.hc-auth{display:flex; justify-content:center; padding:16px 0 8px;}
.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:22px;
}
.hc-auth-card.wide{max-width:780px;}
.hc-auth-head{margin-bottom:14px;}
.hc-auth-title{font-size:1.6rem; font-weight:900;}
.hc-auth-foot{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(23,32,52,.08);
  color:var(--hc-muted);
}
@media (max-width: 575.98px){
  .hc-auth-card{padding:18px 16px;}
}

.hc-profile-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.hc-profile-head.hc-vip-head{
  position:relative;
  padding:20px 22px;
  margin-left:-4px;
  margin-right:-4px;
  margin-top:-4px;
  border-radius:26px;
  border:3px solid transparent;
  background-image:
    linear-gradient(165deg, #fffefb 0%, #fffdf7 35%, #fff9ec 100%),
    linear-gradient(130deg, var(--hc-vip-gold-light) 0%, var(--hc-vip-gold) 18%, var(--hc-vip-gold-mid) 42%, #e8c547 62%, var(--hc-vip-gold) 82%, #f9e4a6 100%);
  background-origin:border-box;
  background-clip:padding-box, border-box;
  box-shadow:
    0 22px 56px rgba(139,105,20,.20),
    0 8px 24px rgba(23,32,52,.06),
    inset 0 1px 0 rgba(255,255,255,.9);
}
@media (prefers-reduced-motion: no-preference){
  .hc-profile-head.hc-vip-head{
    animation:hc-vip-head-glow 5s ease-in-out infinite alternate;
  }
}
@keyframes hc-vip-head-glow{
  from{ box-shadow:0 22px 56px rgba(139,105,20,.18), 0 8px 24px rgba(23,32,52,.06), inset 0 1px 0 rgba(255,255,255,.9); }
  to{ box-shadow:0 26px 64px rgba(212,175,55,.28), 0 10px 28px rgba(23,32,52,.07), inset 0 1px 0 rgba(255,255,255,.95); }
}
.hc-profile-head.hc-vip-head .hc-stat{
  background:rgba(255,255,255,.88);
  border-color:rgba(212,175,55,.22);
  box-shadow:0 12px 28px rgba(139,105,20,.10);
}
.hc-profile-left{display:flex; gap:14px; align-items:center;}
.hc-profile-name{
  font-weight:900;
  font-size:1.7rem;
  letter-spacing:-.3px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  min-width:0;
  overflow-wrap:anywhere;
}
.hc-profile-meta{color:var(--hc-muted); overflow-wrap:anywhere;}
.hc-profile-status{
  margin-top:6px;
  color:rgba(23,32,52,.80);
  font-weight:600;
  display:flex;
  align-items:flex-start;
  gap:8px;
  line-height:1.4;
}
.hc-profile-completion{
  max-width:560px;
}
.hc-profile-email-warn{
  flex:1 1 100%;
  display:flex;
  align-items:center;
  width:100%;
  max-width:100%;
  font-size:.88rem;
  font-weight:700;
  color:rgba(120, 53, 15, .95);
  padding:8px 12px;
  border-radius:14px;
  background:rgba(245,158,11,.14);
  border:1px solid rgba(245,158,11,.28);
  line-height:1.35;
}
.hc-profile-email-warn i{margin-right:6px; vertical-align:-.1em;}
@media (min-width: 576px){
  .hc-profile-email-warn{
    flex:0 1 auto;
    width:auto;
    max-width:none;
    display:inline-flex;
    align-items:center;
  }
}
.hc-profile-verify-btn{width:100%; justify-content:center;}
@media (min-width: 576px){
  .hc-profile-verify-btn{width:auto;}
}
.hc-profile-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}
.hc-profile-stats{display:flex; flex-wrap:wrap; gap:10px; width:100%; max-width:100%; min-width:0;}
@media (max-width: 575.98px){
  .hc-profile-left{align-items:flex-start; flex-direction:column;}
  .hc-profile-main{width:100%;}
  .hc-profile-completion{max-width:none;}
  .hc-profile-actions{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .hc-profile-actions > a.btn,
  .hc-profile-actions > form{
    width:100%;
    max-width:100%;
    flex:0 0 auto;
    min-width:0;
  }
  .hc-profile-actions .btn{
    width:100%;
    max-width:100%;
    justify-content:center;
    box-sizing:border-box;
  }
  .hc-profile-actions form .btn{width:100%;}
  .hc-avatar-lg{width:88px; height:88px; border-radius:22px;}
  .hc-profile-head{width:100%; max-width:100%; min-width:0;}
  .hc-profile-left{width:100%; max-width:100%; min-width:0;}
  .hc-profile-name{font-size:1.45rem;}
  .hc-profile-meta{font-size:.95rem;}
}
.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;}

@media (max-width: 575.98px){
  .hc-profile-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .hc-profile-stats .hc-stat{
    min-width:0;
    width:100%;
    max-width:100%;
    padding:10px 12px;
  }
  .hc-profile-stats .hc-stat-value{font-size:1.2rem;}
  .hc-profile-stats .hc-stat-label{font-size:.82rem; line-height:1.25;}
}
.hc-about{white-space:pre-wrap; line-height:1.45;}

.hc-profile-videos{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap:12px;
}
.hc-profile-video-item{
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(23,32,52,.10);
  background:rgba(23,32,52,.04);
  padding:8px;
}
.hc-profile-video{
  width:100%;
  max-height:220px;
  border-radius:10px;
  background:#111;
  display:block;
}

.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);
  display:flex;
  flex-direction:column;
}
.hc-gallery-item-visual{
  position:relative;
  overflow:hidden;
  border-radius:16px 16px 0 0;
}
.hc-gallery-item-toolbar{
  padding:8px;
  background:rgba(255,255,255,.92);
  border-top:1px solid rgba(23,32,52,.08);
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:0 0 auto;
}
.hc-gallery-item img{width:100%; height:140px; object-fit:cover; display:block;}
.hc-photo-status{
  position:absolute;
  left:8px;
  top:8px;
  z-index:2;
  max-width:calc(100% - 52px);
  border-radius:999px;
  padding:5px 9px;
  font-weight:800;
  font-size:.72rem;
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter: blur(10px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hc-photo-reason{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  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;
}
.hc-live-hub{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.hc-live-panel{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(23,32,52,.08);
  border-radius:22px;
  box-shadow:0 14px 36px rgba(23,32,52,.07);
  overflow:hidden;
}
.hc-live-panel-head{
  padding:16px 18px 12px;
  border-bottom:1px solid rgba(23,32,52,.06);
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:8px 14px;
}
.hc-live-panel-title{
  margin:0;
  font-size:1.02rem;
  font-weight:800;
  color:var(--hc-text);
  letter-spacing:-.02em;
}
.hc-live-panel-hint{
  font-size:.8rem;
  font-weight:600;
  color:rgba(23,32,52,.48);
}
.hc-live-list{
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.hc-live-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px 12px 14px;
  border-radius:18px;
  text-decoration:none;
  color:inherit;
  background:linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(248,246,255,.96) 55%, rgba(241,248,255,.94) 100%);
  border:1px solid rgba(23,32,52,.07);
  box-shadow:0 4px 14px rgba(23,32,52,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  -webkit-tap-highlight-color:transparent;
  position:relative;
  min-height:72px;
}
.hc-live-row:hover{
  border-color:rgba(106,92,255,.22);
  box-shadow:0 10px 26px rgba(106,92,255,.12);
  transform:translateY(-1px);
}
.hc-live-row:active{
  transform:translateY(0);
  box-shadow:0 4px 12px rgba(23,32,52,.06);
}
.hc-live-row-avatar-wrap{
  position:relative;
  flex:0 0 auto;
}
.hc-live-row-avatar{
  width:56px;
  height:56px;
  border-radius:16px;
  object-fit:cover;
  background:rgba(23,32,52,.06);
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 4px 12px rgba(23,32,52,.1);
}
.hc-live-row-live-dot{
  position:absolute;
  bottom:2px;
  right:2px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#ef4444;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(239,68,68,.35);
  animation:hc-live-pulse 2s ease-in-out infinite;
}
@keyframes hc-live-pulse{
  0%, 100%{opacity:1; transform:scale(1);}
  50%{opacity:.85; transform:scale(.92);}
}
@media (prefers-reduced-motion: reduce){
  .hc-live-row-live-dot{animation:none;}
  .hc-live-row{transition:none;}
}
.hc-live-row-main{
  flex:1 1 auto;
  min-width:0;
}
.hc-live-row-title{
  font-size:1rem;
  font-weight:800;
  color:var(--hc-text);
  line-height:1.25;
  letter-spacing:-.02em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hc-live-row-meta{
  margin-top:4px;
  font-size:.82rem;
  color:rgba(23,32,52,.52);
  font-weight:600;
}
.hc-live-row-author{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.hc-live-row-author i{font-size:.9rem; opacity:.75;}
.hc-live-row-stat{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  text-align:right;
}
.hc-live-row-viewers{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.88rem;
  font-weight:800;
  color:rgba(23,32,52,.55);
  white-space:nowrap;
}
.hc-live-row-viewers i{font-size:.95rem; opacity:.7;}
.hc-live-row-cta{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(106,92,255,.88);
}
.hc-live-row-chevron{
  flex:0 0 auto;
  font-size:1.1rem;
  color:rgba(23,32,52,.28);
  margin-left:-4px;
}
.hc-live-empty{
  text-align:center;
  padding:28px 20px 32px;
}
.hc-live-empty-icon{
  width:56px;
  height:56px;
  margin:0 auto 14px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg, rgba(106,92,255,.12), rgba(56,189,248,.1));
  color:rgba(106,92,255,.75);
  font-size:1.5rem;
}
.hc-live-empty-title{
  font-weight:800;
  font-size:1.05rem;
  color:var(--hc-text);
  margin-bottom:8px;
}
.hc-live-empty-text{
  margin:0 auto;
  max-width:32ch;
  font-size:.9rem;
  color:rgba(23,32,52,.55);
  line-height:1.45;
}
/* legacy grid cards (если где-то останутся) */
.hc-live-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:14px;
}
.hc-live-card{
  display:block;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,244,255,.98));
  box-shadow:0 12px 26px rgba(23,32,52,.06);
  text-decoration:none;
  color:inherit;
}
.hc-live-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.hc-live-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(239,68,68,.12);
  color:#dc2626;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.04em;
}
.hc-live-viewers{
  color:rgba(23,32,52,.58);
  font-size:.85rem;
}
.hc-live-card-title{
  font-size:1.05rem;
  font-weight:800;
  color:var(--hc-text);
}
.hc-live-card-meta{
  margin-top:6px;
  color:rgba(23,32,52,.56);
}
.hc-live-stage{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.hc-live-main{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}
.hc-live-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(300px, 360px);
  gap:14px;
  align-items:stretch;
}
.hc-live-camera-stack{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}
.hc-live-right-column{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  width:100%;
  height:100%;
}
.hc-live-right-column > *{
  width:100%;
}
.hc-live-video-wrap{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.10), transparent 28%),
    linear-gradient(180deg, #111827, #0f172a 68%, #111827);
  width:100%;
  max-width:none;
  margin:0;
  min-height:min(52vh, 420px);
  aspect-ratio:16 / 10;
  max-height:min(70vh, 560px);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 20px 44px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.hc-live-video-wrap video{
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  object-fit:cover;
  background:#020617;
  display:block;
}
.hc-live-watermark{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  padding:6px 11px;
  border-radius:999px;
  background:rgba(15,23,42,.56);
  color:rgba(255,255,255,.92);
  font-size:.74rem;
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
  z-index:2;
  max-width:calc(100% - 24px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hc-live-watermark--host{
  top:12px;
}
.hc-live-watermark--viewer{
  bottom:18px;
}
.hc-live-timer{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.56);
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
  backdrop-filter:blur(6px);
}
.hc-live-overlay-note{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  margin:0;
  padding:5px 12px 6px;
  border-radius:0;
  background:linear-gradient(180deg, rgba(15,23,42,.18), rgba(15,23,42,.72));
  color:rgba(255,255,255,.88);
  font-size:.68rem;
  line-height:1.3;
  max-width:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hc-live-status{
  position:absolute;
  left:12px;
  top:12px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  max-width:calc(100% - 110px);
}
.hc-live-status #hcLiveStatusText{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(15,23,42,.60);
  color:rgba(255,255,255,.98);
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
  backdrop-filter:blur(6px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hc-live-side-card{
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(23,32,52,.06);
}
.hc-live-side-card--soft{
  background:
    linear-gradient(165deg, rgba(255,255,255,.98), rgba(248,250,255,.96)),
    linear-gradient(135deg, rgba(59,130,246,.05), rgba(168,85,247,.05));
}
.hc-live-side-card--controls{
  border-color:rgba(106,92,255,.14);
  box-shadow:0 14px 34px rgba(106,92,255,.10);
}
.hc-live-wide-card{
  width:100%;
}
.hc-live-side-card-title{
  font-weight:800;
  font-size:1.02rem;
  margin-bottom:12px;
  letter-spacing:-.02em;
  color:var(--hc-text);
}
.hc-live-side-card .btn{
  min-height:44px;
  border-radius:14px;
  font-weight:700;
}
.hc-live-ctrl-label{
  font-size:.68rem !important;
  letter-spacing:.06em;
  margin-bottom:2px;
}
.hc-live-start-broadcast{
  box-shadow:0 10px 24px rgba(106,92,255,.28);
}
.hc-live-chat{
  border-radius:22px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.95);
  box-shadow:0 12px 28px rgba(23,32,52,.06);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:min(52vh, 420px);
  height:min(52vh, 420px);
  flex:0 0 auto;
}
.hc-live-chat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 16px;
  border-bottom:1px solid rgba(23,32,52,.06);
  background:linear-gradient(180deg, rgba(247,246,255,.85), rgba(255,255,255,.75));
}
.hc-live-chat-title{
  font-weight:800;
  font-size:.9rem;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--hc-text);
}
.hc-live-chat-viewers{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-left:auto;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(106,92,255,.10);
  color:#5b4fcf;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.hc-live-chat-log{
  flex:1 1 auto;
  min-height:120px;
  overflow-y:auto;
  padding:12px 14px;
  font-size:.88rem;
  line-height:1.4;
  -webkit-overflow-scrolling:touch;
  background:
    radial-gradient(circle at top, rgba(106,92,255,.05), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,249,255,.98));
}
.hc-live-chat-line{
  display:flex;
  margin-bottom:10px;
  word-break:break-word;
}
.hc-live-chat-line:last-child{
  margin-bottom:0;
}
.hc-live-chat-line.is-me{
  justify-content:flex-end;
}
.hc-live-chat-line-inner{
  display:flex;
  gap:8px;
  align-items:flex-start;
  justify-content:space-between;
  width:min(100%, 560px);
}
.hc-live-chat-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  object-fit:cover;
  object-position:center;
  flex:0 0 34px;
  border:1px solid rgba(23,32,52,.10);
  box-shadow:0 4px 12px rgba(23,32,52,.08);
  background:#fff;
}
.hc-live-chat-line.is-host .hc-live-chat-avatar{
  border-color:rgba(249,115,22,.28);
  box-shadow:0 6px 16px rgba(249,115,22,.16);
}
.hc-live-chat-line.is-vip .hc-live-chat-avatar{
  border-color:rgba(234,179,8,.34);
  box-shadow:0 6px 16px rgba(234,179,8,.18);
}
.hc-live-chat-line.is-moderator .hc-live-chat-avatar{
  border-color:rgba(99,102,241,.28);
  box-shadow:0 6px 16px rgba(99,102,241,.14);
}
.hc-live-chat-bubble{
  min-width:0;
  flex:1 1 auto;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(23,32,52,.07);
  box-shadow:0 4px 14px rgba(23,32,52,.04);
  position:relative;
  overflow:hidden;
}
.hc-live-chat-line.is-me .hc-live-chat-bubble{
  background:linear-gradient(135deg, rgba(106,92,255,.14), rgba(56,189,248,.10));
  border-color:rgba(106,92,255,.16);
}
.hc-live-chat-line.is-host .hc-live-chat-bubble{
  background:
    radial-gradient(circle at top right, rgba(248,113,113,.18), transparent 38%),
    linear-gradient(135deg, rgba(255,244,246,.98), rgba(255,237,213,.96));
  border-color:rgba(249,115,22,.24);
  box-shadow:0 10px 24px rgba(249,115,22,.12);
}
.hc-live-chat-line.is-host .hc-live-chat-bubble::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, #f97316, #ef4444);
}
.hc-live-chat-line.is-vip .hc-live-chat-bubble{
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,232,.98)),
    linear-gradient(135deg, rgba(250,204,21,.15), rgba(251,191,36,.12));
  border-color:rgba(234,179,8,.30);
  box-shadow:
    0 14px 30px rgba(234,179,8,.14),
    inset 0 1px 0 rgba(255,255,255,.82);
}
.hc-live-chat-line.is-vip.is-moderator .hc-live-chat-bubble,
.hc-live-chat-line.is-vip-moderator .hc-live-chat-bubble{
  background:
    radial-gradient(circle at top right, rgba(250,204,21,.18), transparent 34%),
    linear-gradient(135deg, rgba(249,250,255,.98), rgba(255,248,232,.98));
  border-color:rgba(168,85,247,.24);
  box-shadow:
    0 16px 34px rgba(168,85,247,.12),
    inset 0 1px 0 rgba(255,255,255,.86);
}
.hc-live-chat-line.is-vip.is-moderator .hc-live-chat-bubble::after,
.hc-live-chat-line.is-vip-moderator .hc-live-chat-bubble::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:
    linear-gradient(180deg, #eab308 0 50%, #7c3aed 50% 100%);
  box-shadow:1px 0 0 rgba(255,255,255,.4);
}
.hc-live-chat-line.is-vip.is-moderator .hc-live-chat-bubble::before,
.hc-live-chat-line.is-vip-moderator .hc-live-chat-bubble::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.34) 48%, transparent 100%);
  transform:translateX(-125%);
  animation:hc-live-vip-sheen 5.6s linear infinite;
  pointer-events:none;
}
.hc-live-chat-line.is-vip .hc-live-chat-bubble::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.38) 48%, transparent 100%);
  transform:translateX(-120%);
  animation:hc-live-vip-sheen 6s linear infinite;
  pointer-events:none;
}
.hc-live-chat-line.is-moderator .hc-live-chat-bubble{
  background:linear-gradient(135deg, rgba(243,244,255,.98), rgba(237,246,255,.96));
  border-color:rgba(99,102,241,.22);
  box-shadow:0 10px 24px rgba(99,102,241,.10);
}
.hc-live-chat-line.is-moderator .hc-live-chat-bubble::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, #6366f1, #38bdf8);
}
.hc-live-chat-line.is-viewer .hc-live-chat-bubble{
  background:rgba(255,255,255,.94);
  border-color:rgba(23,32,52,.08);
}
.hc-live-chat-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px;
  flex-wrap:wrap;
}
.hc-live-chat-profile-link{
  text-decoration:none;
  color:inherit;
  font-weight:800;
}
.hc-live-chat-profile-link:hover{
  text-decoration:underline;
}
.hc-live-msg-dd{
  flex-shrink:0;
  margin-top:6px;
  opacity:.2;
  transition:opacity .18s ease;
}
.hc-live-chat-line:hover .hc-live-msg-dd,
.hc-live-chat-line:focus-within .hc-live-msg-dd{
  opacity:1;
}
.hc-live-msg-dd-btn{
  color:rgba(23,32,52,.4) !important;
  min-width:auto;
  line-height:1;
  text-decoration:none !important;
}
.hc-live-mod-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:6px;
  padding:2px 8px;
  border-radius:999px;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:linear-gradient(135deg, rgba(59,130,246,.22), rgba(168,85,247,.26));
  color:#3730a3;
  border:1px solid rgba(99,102,241,.28);
  white-space:nowrap;
  vertical-align:middle;
}
.hc-live-mod-chip i{
  font-size:.75rem;
  color:#6366f1;
}
.hc-live-role-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:6px;
  padding:3px 9px;
  border-radius:999px;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  vertical-align:middle;
  border:1px solid transparent;
}
.hc-live-role-chip i{
  font-size:.74rem;
}
.hc-live-role-chip--host{
  background:linear-gradient(135deg, rgba(254,215,170,.72), rgba(252,165,165,.78));
  color:#9a3412;
  border-color:rgba(249,115,22,.24);
}
.hc-live-role-chip--host i{
  color:#ea580c;
}
.hc-live-role-chip--vip{
  background:linear-gradient(135deg, rgba(255,244,200,.96), rgba(255,228,120,.92));
  color:#7c5800;
  border-color:rgba(234,179,8,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74), 0 4px 10px rgba(234,179,8,.16);
}
.hc-live-role-chip--vip i{
  color:#d97706;
}
.hc-live-role-chip--moderator{
  background:linear-gradient(135deg, rgba(224,231,255,.96), rgba(216,240,255,.92));
  color:#3730a3;
  border-color:rgba(99,102,241,.22);
}
.hc-live-role-chip--moderator i{
  color:#4f46e5;
}
.hc-live-role-chip--viewer{
  background:rgba(241,245,249,.92);
  color:rgba(71,85,105,.96);
  border-color:rgba(148,163,184,.24);
}
.hc-live-role-chip--viewer i{
  color:#64748b;
}
.hc-live-chat-line.is-vip.is-moderator .hc-live-role-chip--vip,
.hc-live-chat-line.is-vip-moderator .hc-live-role-chip--vip{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82), 0 4px 12px rgba(234,179,8,.18);
}
.hc-live-chat-line.is-vip.is-moderator .hc-live-role-chip--moderator,
.hc-live-chat-line.is-vip-moderator .hc-live-role-chip--moderator{
  box-shadow:0 4px 12px rgba(99,102,241,.14);
}
.hc-live-mod-panel{
  border-radius:22px;
  border:1px solid rgba(99,102,241,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,245,255,.98)),
    linear-gradient(135deg, rgba(99,102,241,.08), rgba(168,85,247,.06));
  box-shadow:0 16px 36px rgba(99,102,241,.10);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:420px;
  flex:1 1 auto;
  height:100%;
}
.hc-live-gift-inline-panel{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(23,32,52,.06);
}
.hc-live-mod-head{
  padding:14px 16px 12px;
  border-bottom:1px solid rgba(99,102,241,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,243,255,.82));
}
.hc-live-mod-title{
  font-weight:800;
  font-size:.96rem;
  display:flex;
  align-items:center;
  gap:8px;
  color:#312e81;
}
.hc-live-mod-body{
  padding:14px;
  overflow-y:auto;
  flex:1 1 auto;
  -webkit-overflow-scrolling:touch;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.hc-live-mod-section{
  margin-bottom:0;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(23,32,52,.06);
  box-shadow:0 6px 18px rgba(23,32,52,.04);
}
.hc-live-mod-label{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(23,32,52,.45);
  margin-bottom:6px;
}
.hc-live-mod-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.hc-live-mod-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(239,68,68,.12);
  color:#dc2626;
  font-size:.72rem;
  font-weight:800;
  border:1px solid rgba(239,68,68,.18);
}
.hc-live-mod-assign-row{
  display:block;
  margin-bottom:10px;
}
.hc-live-mod-picker{
  position:relative;
  min-width:0;
  width:100%;
}
.hc-live-mod-picker-btn{
  width:100%;
  min-height:38px;
  padding:0 34px 0 11px;
  border-radius:14px;
  border:1px solid rgba(99,102,241,.18);
  background:#fff;
  color:var(--hc-text);
  font-size:.84rem;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-align:left;
  box-shadow:0 3px 10px rgba(23,32,52,.03);
}
.hc-live-mod-picker-btn span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hc-live-mod-picker-btn i{
  color:rgba(99,102,241,.7);
  flex:0 0 auto;
}
.hc-live-mod-picker-menu{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  min-width:100%;
  width:max-content;
  max-width:min(280px, calc(100vw - 72px));
  z-index:30;
  max-height:220px;
  overflow-y:auto;
  padding:6px;
  border-radius:16px;
  border:1px solid rgba(99,102,241,.14);
  background:rgba(255,255,255,.98);
  box-shadow:0 14px 34px rgba(23,32,52,.14);
  backdrop-filter:blur(10px);
}
.hc-live-mod-picker-item{
  width:100%;
  border:0;
  background:transparent;
  border-radius:12px;
  padding:8px 10px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  text-align:left;
  font-size:.8rem;
  line-height:1.25;
  color:var(--hc-text);
}
.hc-live-mod-picker-item:hover{
  background:rgba(106,92,255,.08);
}
.hc-live-mod-picker-item.is-selected{
  background:linear-gradient(135deg, rgba(106,92,255,.12), rgba(56,189,248,.10));
  color:#4c3ab4;
  font-weight:700;
}
.hc-live-mod-picker-item.is-empty{
  color:rgba(23,32,52,.48);
  cursor:default;
  white-space:normal;
}
.hc-live-mod-picker-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hc-live-mod-picker-id{
  font-size:.72rem;
  color:rgba(23,32,52,.42);
  flex:0 0 auto;
}
.hc-live-mod-assign-btn{
  width:100%;
  min-width:0;
  border-radius:14px;
  font-size:.9rem;
  margin-bottom:10px;
}
.hc-live-mod-list{
  list-style:none;
  padding:0;
  margin:0;
  font-size:.82rem;
}
.hc-live-mod-list-item{
  padding:10px 12px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(99,102,241,.07), rgba(168,85,247,.06));
  border:1px solid rgba(99,102,241,.10);
}
.hc-live-mod-list-item + .hc-live-mod-list-item{
  margin-top:6px;
}
.hc-live-mod-list-name{
  font-weight:700;
  color:#312e81;
}
.hc-live-mod-list-name i{
  color:#6366f1;
  margin-right:4px;
}
.hc-live-mod-list-id{
  color:rgba(23,32,52,.42);
  font-weight:600;
}
.hc-live-mod-remove-btn{
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,240,244,.94)),
    linear-gradient(135deg, rgba(244,63,94,.08), rgba(249,115,22,.08));
  color:#e11d48;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.03em;
  border:1px solid rgba(244,63,94,.18);
  box-shadow:0 8px 18px rgba(244,63,94,.10), inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.hc-live-mod-remove-btn:hover{
  transform:translateY(-1px);
  color:#be123c;
  box-shadow:0 12px 24px rgba(244,63,94,.14), inset 0 1px 0 rgba(255,255,255,.78);
}
.hc-live-mod-reports{
  max-height:190px;
  overflow-y:auto;
}
.hc-live-mod-report{
  border:1px solid rgba(23,32,52,.08);
  border-radius:14px;
  box-shadow:none;
  background:rgba(255,255,255,.92);
  padding:10px;
}
.hc-live-mod-report + .hc-live-mod-report{
  margin-top:8px;
}
.hc-live-mod-report-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.hc-live-mod-report-user{
  font-weight:800;
  color:var(--hc-text);
}
.hc-live-mod-report-reason{
  font-size:.7rem;
  font-weight:800;
  color:#dc2626;
  background:rgba(239,68,68,.10);
  border:1px solid rgba(239,68,68,.14);
  border-radius:999px;
  padding:3px 8px;
  white-space:nowrap;
}
.hc-live-mod-report-text{
  font-size:.84rem;
  color:rgba(23,32,52,.76);
  line-height:1.4;
}
.hc-live-mod-report-meta{
  margin-top:6px;
  font-size:.72rem;
  color:rgba(23,32,52,.42);
}
.hc-live-mod-report-btn{
  margin-top:8px;
  border-radius:12px;
}
.hc-live-mod-ban-box{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.hc-live-mod-ban-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hc-live-mod-ban-input{
  min-height:42px;
  border-radius:14px;
}
.hc-live-mod-ban-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.hc-live-mod-ban-actions .btn{
  border-radius:14px;
}
.hc-verify-email-form{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.hc-verify-email-back{
  margin-left:0 !important;
}
@media (max-width: 575.98px){
  .hc-verify-email-form{
    flex-direction:column;
    align-items:stretch;
  }
  .hc-verify-email-form .btn,
  .hc-verify-email-back{
    width:100%;
  }
}
.hc-live-mod-empty{
  padding:12px;
  border-radius:14px;
  background:rgba(23,32,52,.03);
  border:1px dashed rgba(23,32,52,.10);
  color:rgba(23,32,52,.48);
  font-size:.82rem;
  text-align:center;
}
.hc-live-ended-veil{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.58);
  color:rgba(255,255,255,.95);
  font-weight:800;
  font-size:1rem;
  text-align:center;
  padding:16px;
  pointer-events:none;
}
.hc-live-gift-burst-layer{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:5;
  overflow:hidden;
}
.hc-live-gift-burst{
  position:absolute;
  left:50%;
  top:60%;
  transform:translate(-50%, -50%) scale(.72);
  width:128px;
  height:128px;
  display:flex;
  align-items:center;
  justify-content:center;
  animation:hc-live-gift-burst 2.6s cubic-bezier(.2,.8,.2,1) forwards;
}
.hc-live-gift-burst::before{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.42) 0%, rgba(250,204,21,.22) 28%, rgba(168,85,247,.12) 54%, rgba(56,189,248,0) 76%);
  filter:blur(10px);
  pointer-events:none;
}
.hc-live-gift-burst img{
  width:112px;
  height:112px;
  object-fit:contain;
  filter:
    drop-shadow(0 18px 28px rgba(15,23,42,.24))
    drop-shadow(0 0 18px rgba(250,204,21,.24));
}
.hc-live-gift-burst-glow{
  position:absolute;
  inset:18% 18%;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.34), rgba(255,255,255,0) 70%);
  filter:blur(10px);
}
.hc-live-gift-ticker-card{
  margin-top:2px;
  border-radius:22px;
  border:1px solid rgba(99,102,241,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,247,255,.98)),
    linear-gradient(135deg, rgba(99,102,241,.05), rgba(236,72,153,.05));
  box-shadow:0 14px 36px rgba(99,102,241,.08);
  overflow:hidden;
}
.hc-live-gift-ticker-head{
  padding:12px 16px 10px;
  border-bottom:1px solid rgba(99,102,241,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.hc-live-gift-ticker-title{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4c1d95;
  font-weight:900;
}
.hc-live-gift-ticker-nav{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.hc-live-gift-nav-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(106,92,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,244,255,.96)),
    linear-gradient(135deg, rgba(106,92,255,.06), rgba(56,189,248,.04));
  color:#5b21b6;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(23,32,52,.08), inset 0 1px 0 rgba(255,255,255,.8);
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.hc-live-gift-nav-btn:hover{
  transform:translateY(-1px) scale(1.03);
  color:#4c1d95;
  box-shadow:0 14px 28px rgba(106,92,255,.14), inset 0 1px 0 rgba(255,255,255,.86);
}
.hc-live-gift-nav-btn:active{
  transform:scale(.97);
}
.hc-live-gift-ticker-track{
  min-height:78px;
  padding:12px 14px 14px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(106,92,255,.28) transparent;
}
.hc-live-gift-ticker-track::-webkit-scrollbar{
  height:8px;
}
.hc-live-gift-ticker-track::-webkit-scrollbar-thumb{
  background:rgba(106,92,255,.24);
  border-radius:999px;
}
.hc-live-gift-ticker-empty{
  padding:10px 2px;
  color:rgba(23,32,52,.5);
  font-size:.9rem;
}
.hc-live-gift-ticker-list{
  display:flex;
  flex-direction:row-reverse;
  gap:12px;
  align-items:center;
  min-height:52px;
  width:max-content;
}
.hc-live-gift-ticker-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:148px;
  padding:10px 12px;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(234,179,8,.20);
  box-shadow:0 10px 28px rgba(15,23,42,.08);
  white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease;
  animation:hc-live-gift-pulse 2.8s ease-in-out infinite;
}
.hc-live-gift-ticker-item:hover{
  transform:scale(1.02);
  box-shadow:0 16px 34px rgba(15,23,42,.14);
}
.hc-live-gift-ticker-item img{
  width:36px;
  height:36px;
  object-fit:contain;
  flex:0 0 36px;
}
.hc-live-gift-ticker-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.hc-live-gift-ticker-name{
  font-size:.88rem;
  font-weight:900;
  color:#312e81;
}
.hc-live-gift-ticker-meta{
  font-size:.74rem;
  color:rgba(23,32,52,.52);
  overflow:hidden;
  text-overflow:ellipsis;
}
.hc-live-side-card--gifts{
  display:flex;
  flex-direction:column;
  gap:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,247,255,.98)),
    linear-gradient(135deg, rgba(99,102,241,.06), rgba(234,179,8,.04));
}
.hc-live-side-card--gifts .hc-live-side-card-title{
  margin:-18px -18px 14px;
  padding:12px 16px;
  border-bottom:1px solid rgba(23,32,52,.06);
  background:linear-gradient(180deg, rgba(247,246,255,.85), rgba(255,255,255,.75));
}
.hc-live-gift-side-balance{
  margin-bottom:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(106,92,255,.08);
  color:#4c1d95;
  font-weight:800;
}
.hc-live-gift-side-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.hc-live-gift-card{
  width:100%;
  border:1px solid rgba(23,32,52,.08);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 6px 18px rgba(23,32,52,.05);
  padding:12px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hc-live-gift-card:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(23,32,52,.08);
}
.hc-live-gift-card.is-selected{
  border-color:rgba(106,92,255,.34);
  background:linear-gradient(135deg, rgba(244,240,255,.98), rgba(255,248,232,.98));
  box-shadow:0 14px 26px rgba(106,92,255,.12);
}
.hc-live-gift-card img{
  width:54px;
  height:54px;
  object-fit:contain;
}
.hc-live-gift-card-name{
  font-size:.86rem;
  font-weight:900;
  color:#312e81;
  text-align:center;
}
.hc-live-gift-card-price{
  font-size:.72rem;
  font-weight:800;
  color:rgba(23,32,52,.62);
}
.hc-live-gift-side-empty{
  padding:12px;
  border-radius:16px;
  background:rgba(23,32,52,.03);
  border:1px dashed rgba(23,32,52,.10);
  color:rgba(23,32,52,.48);
  text-align:center;
}
.hc-live-gift-send-btn{
  width:100%;
  margin-top:12px;
  min-height:46px;
  border-radius:16px;
  box-shadow:0 14px 28px rgba(106,92,255,.18);
}
.hc-live-badge--pulse{
  animation:hc-live-blink 1.15s ease-in-out infinite;
}
@keyframes hc-live-blink{
  0%, 100%{opacity:1;}
  50%{opacity:.42;}
}
@media (prefers-reduced-motion: reduce){
  .hc-live-badge--pulse{animation:none;}
}
.hc-live-chat-line.is-me .hc-live-chat-name{
  color:rgba(106,92,255,.95);
}
.hc-live-chat-line.is-host .hc-live-chat-name{
  color:#b45309;
}
.hc-live-chat-line.is-vip .hc-live-chat-name{
  color:#9a6700;
}
.hc-live-chat-line.is-moderator .hc-live-chat-name{
  color:#4338ca;
}
.hc-live-chat-line.is-vip.is-moderator .hc-live-chat-name,
.hc-live-chat-line.is-vip-moderator .hc-live-chat-name{
  color:#6d28d9;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.hc-live-chat-line.is-viewer .hc-live-chat-name{
  color:rgba(23,32,52,.62);
}
.hc-live-chat-name{
  font-weight:800;
  color:rgba(23,32,52,.55);
}
.hc-live-chat-time{
  font-size:.72rem;
  color:rgba(23,32,52,.38);
  font-weight:700;
  white-space:nowrap;
}
.hc-live-chat-text{
  color:var(--hc-text);
  line-height:1.45;
}
@keyframes hc-live-vip-sheen{
  0%{transform:translateX(-125%);}
  100%{transform:translateX(135%);}
}
@keyframes hc-live-gift-burst{
  0%{opacity:0; transform:translate(-50%, -18%) scale(.44) rotate(-10deg);}
  14%{opacity:1; transform:translate(-50%, -50%) scale(1.02) rotate(0deg);}
  68%{opacity:1; transform:translate(-50%, -58%) scale(1.08) rotate(2deg);}
  100%{opacity:0; transform:translate(-50%, -88%) scale(.84) rotate(-4deg);}
}
@keyframes hc-live-gift-pulse{
  0%, 100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-2px) scale(1.02);}
}
@media (prefers-reduced-motion: reduce){
  .hc-live-chat-line.is-vip .hc-live-chat-bubble::before{animation:none;}
  .hc-live-gift-ticker-item,
  .hc-live-gift-burst{animation:none;}
}
.hc-live-chat-form{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px;
  border-top:1px solid rgba(23,32,52,.06);
  background:rgba(255,255,255,.9);
}
.hc-live-chat-form .form-control{
  flex:1 1 auto;
  min-width:0;
  border-radius:14px;
  font-size:.9rem;
  min-height:44px;
}
.hc-live-chat-submit{
  flex:0 0 auto;
  border-radius:14px;
  width:44px;
  min-width:44px;
  height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.hc-live-chat-submit i{
  font-size:1rem;
}
.hc-home-welcome .btn{
  min-width:148px;
  justify-content:center;
}
.hc-live-chat-locked{
  padding:14px 16px 16px;
  text-align:center;
  border-top:1px solid rgba(23,32,52,.06);
}
@media (max-width: 575.98px){
  .hc-gallery{grid-template-columns: repeat(2, 1fr);}
  .hc-gallery-item img{height:120px;}
}
.hc-avatar-pick-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
@media (min-width: 1200px){
  .hc-avatar-pick-grid{grid-template-columns: repeat(4, 1fr);}
}
.hc-avatar-pick-form{margin:0;}
.hc-avatar-pick-btn{
  width:100%;
  padding:0;
  border:2px solid rgba(23,32,52,.10);
  border-radius:16px;
  overflow:hidden;
  background:rgba(23,32,52,.04);
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.hc-avatar-pick-btn:hover{
  border-color:rgba(106,92,255,.35);
  box-shadow:0 0 0 .18rem rgba(106,92,255,.12);
}
.hc-avatar-pick-btn:focus-visible{
  outline:0;
  border-color:rgba(106,92,255,.45);
  box-shadow:0 0 0 .22rem rgba(106,92,255,.18);
}
.hc-avatar-pick-btn img{
  width:100%;
  height:88px;
  object-fit:cover;
  display:block;
}

.hc-gallery-del{
  position:absolute;
  top:6px;
  right:6px;
  z-index:5;
  margin:0;
}
.hc-gallery-del .btn{
  width:32px;
  height:32px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  box-shadow:0 2px 10px rgba(15,18,28,.25);
}
.hc-gallery-move{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  width:100%;
  margin:0;
  position:relative;
}
.hc-gallery-move .form-select,
.hc-gallery-move select{
  flex:1 1 0;
  min-width:0;
  max-width:100%;
  font-size:.78rem;
  padding:4px 8px;
  min-height:34px;
}
.hc-gallery-move .btn{flex:0 0 auto;}
.hc-album-block-title{font-weight:800; margin-bottom:8px; color:var(--hc-text);}
.hc-album-teaser-wrap{margin-top:6px;}
.hc-album-teaser-img{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--hc-border);
  max-width:320px;
}
.hc-album-teaser-img img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
  filter:blur(14px);
  transform:scale(1.06);
  opacity:.55;
}
.hc-album-teaser-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px;
  font-weight:800;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
  background:linear-gradient(180deg, rgba(23,32,52,.12), rgba(23,32,52,.55));
}
.hc-album-teaser-empty{
  padding:24px;
  border-radius:16px;
  border:1px dashed rgba(23,32,52,.14);
  background:rgba(23,32,52,.03);
}
.hc-album-age-gate{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(239,68,68,.22);
  background:rgba(239,68,68,.06);
}
.hc-album-age-gate > i{font-size:1.4rem; color:#ef4444; flex:0 0 auto;}
.hc-gallery-item--stack{display:flex; flex-direction:column;}
.hc-gallery--social .hc-gallery-item img{cursor:zoom-in;}
.hc-photo-social{
  padding:8px 6px 6px;
  display:flex;
  flex-direction:column;
  gap:6px;
  border-top:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.65);
}
.hc-photo-rate-form, .hc-photo-react-form{display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.hc-photo-reactions-totals{display:flex; flex-wrap:wrap; gap:4px;}
.hc-reaction-chip{
  padding:2px 8px;
  border-radius:999px;
  background:rgba(23,32,52,.06);
  font-size:.85rem;
}
.hc-lightbox-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
}
.hc-lightbox-modal.is-open{display:flex;}
.hc-lightbox-backdrop{position:absolute; inset:0; background:rgba(15,18,28,.72); backdrop-filter:blur(6px);}
.hc-lightbox-shell{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:row;
  align-items:stretch;
  max-width:min(98vw, 1280px);
  width:min(98vw, 1280px);
  max-height:min(94vh, 900px);
  height:min(94vh, 900px);
  margin:16px;
  gap:0;
  background:rgba(20,22,30,.55);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.hc-lightbox-visual{
  position:relative;
  flex:1 1 58%;
  min-width:min(100%, 280px);
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 52px 20px;
  background:rgba(0,0,0,.35);
}
.hc-lightbox-sidebar{
  width:min(100%, 320px);
  flex:0 0 320px;
  flex-shrink:0;
  background:rgba(255,255,255,.97);
  color:var(--hc-text);
  overflow-y:auto;
  max-height:none;
  min-height:0;
  padding:14px 14px 18px;
  font-size:.92rem;
}
@media (max-width: 767.98px){
  .hc-lightbox-shell{
    flex-direction:column;
    width:96vw;
    height:auto;
    max-height:96vh;
    overflow-y:auto;
  }
  .hc-lightbox-visual{
    flex:0 0 auto;
    min-height:42vh;
    padding:44px 44px 12px;
  }
  .hc-lightbox-sidebar{width:100%; flex:0 0 auto; max-height:38vh;}
  .hc-lightbox-img{max-height:42vh !important;}
}
.hc-lightbox-visual .hc-lightbox-close{
  position:absolute;
  top:10px;
  left:10px;
  right:auto;
  z-index:5;
  border-radius:12px;
  opacity:.95;
}
.hc-lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:44px;
  height:44px;
  padding:0;
  line-height:1;
  font-size:1.75rem;
  font-weight:700;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(15,18,28,.55);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .15s ease, transform .15s ease;
}
.hc-lb-nav:hover{background:rgba(106,92,255,.45); color:#fff;}
.hc-lb-nav:focus-visible{outline:2px solid rgba(106,92,255,.7); outline-offset:2px;}
.hc-lb-prev{left:10px;}
.hc-lb-next{right:10px;}
.hc-lb-nav.is-hidden{display:none !important;}
.hc-lightbox-img{
  position:relative;
  z-index:1;
  max-width:100%;
  max-height:min(calc(94vh - 96px), 860px);
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  border-radius:12px;
  box-shadow:0 8px 40px rgba(0,0,0,.4);
}
.hc-lb-stars-row{
  display:flex;
  flex-direction:row;
  gap:4px;
  align-items:center;
  flex-wrap:nowrap;
}
.hc-lb-star-btn{
  border:none;
  background:transparent;
  padding:2px 4px;
  font-size:1.35rem;
  line-height:1;
  color:rgba(23,32,52,.22);
  cursor:pointer;
  transition:color .12s ease, transform .12s ease;
}
.hc-lb-star-btn.is-on{color:#f59e0b;}
.hc-lb-star-btn:hover{color:#fbbf24; transform:scale(1.08);}
.hc-lb-star-btn:focus-visible{outline:2px solid rgba(106,92,255,.5); border-radius:6px;}
.hc-lb-react-row{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  gap:6px;
  justify-content:space-between;
}
.hc-lb-react-btn{
  flex:1;
  min-width:0;
  padding:6px 4px;
  font-size:1.25rem;
  line-height:1.2;
  border-radius:12px;
  border:1px solid rgba(23,32,52,.12);
  background:rgba(23,32,52,.04);
  cursor:pointer;
  transition:background .12s ease, border-color .12s ease, transform .12s ease;
}
.hc-lb-react-btn:hover{background:rgba(106,92,255,.12); border-color:rgba(106,92,255,.25);}
.hc-lb-react-btn.is-mine{background:rgba(106,92,255,.18); border-color:rgba(106,92,255,.35);}
.hc-lb-react-btn:focus-visible{outline:2px solid rgba(106,92,255,.45);}
.hc-lb-side-inner .form-label{margin-bottom:2px;}
.hc-lb-comment{word-break:break-word;}

.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; min-width:0;}
.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);}
@media (max-width: 575.98px){
  .hc-list-item{
    align-items:flex-start;
  }
  .hc-list-end{
    align-self:center;
  }
}

.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;}
@media (max-width: 575.98px){
  .hc-mini-user{
    padding:10px 12px;
  }
}

.hc-chat-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  padding:8px 4px 0;
}
.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); overflow-wrap:anywhere;}
.hc-chat-actions{display:flex; gap:8px;}

.hc-chat-card{overflow:hidden;}
.hc-chat-body{
  height: min(62vh, 640px);
  overflow:auto;
  padding:16px;
  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.hc-vip-ring{
  border:2px solid rgba(255,250,235,.95);
  box-shadow:0 0 0 1px rgba(212,175,55,.55), 0 4px 14px rgba(139,105,20,.25);
}
.hc-msg-avatar.is-me{opacity:.65;}
.hc-msg-avatar.is-me.hc-vip-ring{opacity:.9;}
.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-actions{
  display:flex;
  justify-content:flex-end;
  margin-bottom:6px;
}
.hc-msg-action{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:10px;
  padding:0;
  color:rgba(23,32,52,.48);
  background:rgba(23,32,52,.05);
  transition:background .12s ease, color .12s ease, transform .12s ease;
}
.hc-msg-action:hover{
  transform:translateY(-1px);
}
.hc-msg-action-delete:hover{
  color:#dc2626;
  background:rgba(239,68,68,.12);
}
.hc-msg-action-report:hover{
  color:#b45309;
  background:rgba(245,158,11,.14);
}
.hc-msg-text{white-space:pre-wrap; line-height:1.35;}
.hc-msg-text.is-deleted{
  color:rgba(23,32,52,.52);
  font-style:italic;
}
.hc-msg-voice{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:min(320px, 100%);
}
.hc-msg-voice-ic{
  width:40px;
  height:40px;
  border:none;
  border-radius:14px;
  background:linear-gradient(145deg, rgba(106,92,255,.16), rgba(106,92,255,.08));
  color:rgba(106,92,255,.96);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.hc-msg.mine .hc-msg-voice-ic{
  background:rgba(255,255,255,.22);
  color:rgba(62,34,128,.95);
}
.hc-msg-voice-main{
  min-width:0;
  flex:1;
}
.hc-msg-voice-wave{
  display:flex;
  align-items:flex-end;
  gap:3px;
  height:30px;
  margin-bottom:8px;
  opacity:.88;
}
.hc-msg-voice-wave span{
  width:4px;
  min-height:8px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(106,92,255,.92), rgba(106,92,255,.36));
  flex:1 1 auto;
}
.hc-msg.mine .hc-msg-voice-wave span{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.36));
}
.hc-msg-voice-audio{
  width:100%;
  height:36px;
}
.hc-msg-voice-meta-line{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:6px;
  font-size:.78rem;
  color:rgba(23,32,52,.56);
}
.hc-msg-voice-meta-line span:first-child{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.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;
  flex-direction:column;
  gap:10px;
}
.hc-chat-composer{
  display:flex;
  gap:10px;
  align-items:flex-end;
}
.hc-chat-input-wrap{
  flex:1;
  min-width:0;
}
.hc-chat-form textarea{
  resize:none;
  flex:1;
  min-width:0;
}
.hc-chat-tool{
  width:46px;
  min-width:46px;
  height:46px;
  border-radius:16px;
  flex:0 0 auto;
}
.hc-chat-send{min-width:48px; flex-shrink:0;}
.hc-chat-note{margin-top:8px; color:var(--hc-muted); font-size:.85rem;}
.hc-chat-emoji-panel,
.hc-chat-voice-panel{
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(248,249,252,.98);
  padding:12px;
}
.hc-emoji-search{
  margin-bottom:10px;
}
.hc-emoji-search .form-control{
  border-radius:14px;
  min-height:44px;
}
.hc-emoji-tabs{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:4px;
  margin-bottom:10px;
}
.hc-emoji-tab{
  border:none;
  border-radius:14px;
  min-width:42px;
  height:42px;
  background:#fff;
  box-shadow:0 6px 16px rgba(23,32,52,.05);
  font-size:1.1rem;
  flex:0 0 auto;
}
.hc-emoji-group + .hc-emoji-group{
  margin-top:12px;
}
.hc-emoji-group-title{
  font-size:.8rem;
  font-weight:800;
  color:rgba(23,32,52,.58);
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.hc-emoji-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(42px, 1fr));
  gap:8px;
}
.hc-emoji-btn{
  border:none;
  border-radius:14px;
  min-height:42px;
  background:#fff;
  box-shadow:0 6px 16px rgba(23,32,52,.05);
  font-size:1.25rem;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.hc-emoji-btn:hover{
  transform:translateY(-1px);
  background:rgba(106,92,255,.06);
  box-shadow:0 10px 18px rgba(23,32,52,.08);
}
.hc-emoji-empty{
  padding:14px 10px;
  text-align:center;
  color:rgba(23,32,52,.55);
  font-size:.92rem;
}
.hc-chat-voice-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.hc-chat-voice-recording-top,
.hc-chat-voice-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.hc-chat-voice-pulse{
  width:44px;
  height:44px;
  border-radius:16px;
  background:rgba(239,68,68,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
}
.hc-chat-voice-pulse span{
  width:12px;
  height:12px;
  border-radius:999px;
  background:#ef4444;
  box-shadow:0 0 0 0 rgba(239,68,68,.55);
  animation:hcVoicePulse 1.3s infinite;
}
.hc-chat-voice-wave-live,
.hc-chat-voice-wave-preview{
  display:flex;
  align-items:flex-end;
  gap:4px;
  height:52px;
  margin-top:12px;
  padding:10px 12px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(246,240,255,.95));
  border:1px solid rgba(106,92,255,.10);
}
.hc-chat-voice-wave-live span,
.hc-chat-voice-wave-preview span{
  flex:1 1 auto;
  min-height:10px;
  border-radius:999px;
}
.hc-chat-voice-wave-live span{
  background:linear-gradient(180deg, rgba(239,68,68,.95), rgba(255,148,148,.45));
  animation:hcVoiceBars 1.1s ease-in-out infinite;
}
.hc-chat-voice-wave-live span:nth-child(2n){animation-duration:1.4s;}
.hc-chat-voice-wave-live span:nth-child(3n){animation-duration:1.7s;}
.hc-chat-voice-wave-preview span{
  background:linear-gradient(180deg, rgba(106,92,255,.92), rgba(148,129,255,.36));
}
.hc-chat-voice-preview-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(106,92,255,.09);
  color:rgba(76,58,180,.98);
  font-weight:700;
}
.hc-chat-voice-preview-time{
  font-size:.88rem;
  font-weight:800;
  color:rgba(23,32,52,.62);
}
.hc-chat-voice-preview audio{
  width:100%;
  margin-top:12px;
}
@keyframes hcVoicePulse{
  0%{box-shadow:0 0 0 0 rgba(239,68,68,.45);}
  70%{box-shadow:0 0 0 10px rgba(239,68,68,0);}
  100%{box-shadow:0 0 0 0 rgba(239,68,68,0);}
}
@keyframes hcVoiceBars{
  0%, 100%{transform:scaleY(.45);}
  50%{transform:scaleY(1);}
}
.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,.08);
}
.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-chat-head{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .hc-chat-actions{
    width:100%;
    justify-content:flex-end;
  }
  .hc-chat-body{
    height:min(56vh, 560px);
    padding:12px;
  }
  .hc-chat-form{
    gap:8px;
  }
  .hc-chat-composer{
    gap:8px;
  }
  .hc-msg-voice{
    min-width:0;
  }
  .hc-emoji-grid{
    grid-template-columns:repeat(auto-fill, minmax(38px, 1fr));
  }
  .hc-chat-voice-actions .btn{
    width:100%;
  }
  .hc-live-hub{
    gap:14px;
  }
  .hc-live-panel{
    border-radius:24px;
    box-shadow:0 14px 32px rgba(23,32,52,.06);
  }
  .hc-live-panel-head{
    padding:14px 14px 10px;
    flex-direction:column;
    align-items:flex-start;
  }
  .hc-live-panel-title{
    font-size:1.12rem;
  }
  .hc-live-panel-hint{width:100%;}
  .hc-live-list{
    padding:8px;
    gap:7px;
  }
  .hc-live-row{
    display:grid;
    grid-template-columns:48px minmax(0, 1fr);
    grid-template-areas:
      "avatar title"
      "avatar author"
      "meta meta";
    align-items:center;
    gap:6px 10px;
    padding:12px;
    border-radius:18px;
    min-height:auto;
    box-shadow:0 8px 20px rgba(23,32,52,.06);
  }
  .hc-live-row-avatar-wrap{grid-area:avatar;}
  .hc-live-row-avatar{
    width:48px;
    height:48px;
    border-radius:14px;
  }
  .hc-live-row-main{grid-area:title;}
  .hc-live-row-title{
    font-size:1.02rem;
    -webkit-line-clamp:1;
  }
  .hc-live-row-meta{
    margin-top:0;
    font-size:.86rem;
  }
  .hc-live-row-stat{
    grid-area:meta;
    width:100%;
    margin-top:4px;
    padding-top:8px;
    border-top:1px solid rgba(23,32,52,.07);
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    text-align:left;
  }
  .hc-live-row-viewers{
    font-size:.84rem;
  }
  .hc-live-row-cta{
    font-size:.72rem;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(106,92,255,.08);
  }
  .hc-live-row-chevron{display:none;}
  .hc-live-stage{
    gap:14px;
  }
  .hc-live-main{
    gap:12px;
  }
  .hc-live-layout{
    grid-template-columns:1fr;
    gap:12px;
  }
  .hc-live-video-wrap{
    aspect-ratio:auto;
    min-height:220px;
    max-height:min(46vh, 360px);
    border-radius:22px;
  }
  .hc-live-video-wrap video{
    min-height:220px;
    max-height:none;
  }
  .hc-live-status{
    left:10px;
    top:10px;
    gap:6px;
    max-width:calc(100% - 92px);
  }
  .hc-live-badge{
    padding:5px 9px;
    font-size:.68rem;
  }
  .hc-live-status #hcLiveStatusText{
    min-height:32px;
    padding:5px 12px;
    font-size:.84rem;
  }
  .hc-live-overlay-note{
    left:0;
    right:0;
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    max-height:2.8em;
    font-size:.66rem;
    padding:4px 10px 5px;
    line-height:1.25;
  }
  .hc-live-watermark{
    font-size:.7rem;
    max-width:calc(100% - 20px);
  }
  .hc-live-watermark--host{
    top:10px;
  }
  .hc-live-watermark--viewer{
    bottom:16px;
  }
  .hc-live-timer{
    top:10px;
    right:10px;
    min-width:68px;
    padding:5px 9px;
    font-size:.74rem;
  }
  .hc-live-side-card{
    padding:16px;
    border-radius:20px;
  }
  .hc-live-chat{
    max-height:none;
    min-height:240px;
    height:auto;
    border-radius:20px;
  }
  .hc-live-chat-form{
    gap:10px;
  }
  .hc-live-chat-head{
    padding:12px 14px;
  }
  .hc-live-chat-viewers{
    padding:6px 10px;
    font-size:.78rem;
  }
  .hc-live-chat-line-inner{
    width:100%;
  }
  .hc-live-chat-meta{
    align-items:flex-start;
  }
  .hc-live-mod-panel{
    max-height:none;
    min-height:unset;
    border-radius:20px;
  }
  .hc-home-welcome .hc-card-body{
    padding:18px 16px !important;
  }
  .hc-home-welcome .d-flex.flex-wrap.gap-2{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px !important;
    width:100%;
  }
  .hc-home-welcome .d-flex.flex-wrap.gap-2 .btn:last-child{
    grid-column:1 / -1;
  }
  .hc-home-welcome .btn{
    width:100%;
    min-width:0;
  }
  .hc-live-mod-ban-actions{
    grid-template-columns:1fr;
  }
  .hc-live-mod-assign-btn{
  width:100%;
  min-height:46px;
  border:0;
  border-radius:16px;
  background:
    linear-gradient(135deg, #7c5cff 0%, #5b6cff 54%, #3798ff 100%);
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  box-shadow:
    0 14px 28px rgba(91,108,255,.28),
    inset 0 1px 0 rgba(255,255,255,.24);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.hc-live-mod-assign-btn:hover,
.hc-live-mod-assign-btn:focus{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:
    0 18px 32px rgba(91,108,255,.32),
    inset 0 1px 0 rgba(255,255,255,.28);
  filter:saturate(1.03);
}
.hc-live-mod-assign-btn:disabled{
  opacity:.55;
  transform:none;
  box-shadow:none;
  }
  .hc-live-mod-picker-btn{
    min-height:38px;
    font-size:.8rem;
    padding-left:11px;
    padding-right:11px;
  }
  .hc-live-mod-picker-menu{
    max-width:min(240px, calc(100vw - 84px));
  }
  .hc-live-mod-section{
    padding:10px;
    border-radius:14px;
  }
}

.hc-user-card.hc-vip-card{
  border:2px solid transparent;
  background-image:
    linear-gradient(158deg, rgba(255,255,255,.94) 0%, rgba(255,253,246,.96) 50%, rgba(255,250,235,.94) 100%),
    linear-gradient(125deg, var(--hc-vip-gold-light) 0%, var(--hc-vip-gold) 22%, var(--hc-vip-gold-mid) 45%, #e6c35c 68%, var(--hc-vip-gold) 88%, #fdf6d5 100%);
  background-origin:border-box;
  background-clip:padding-box, border-box;
  box-shadow:
    0 22px 52px rgba(139,105,20,.20),
    0 10px 28px rgba(23,32,52,.08);
}
@media (prefers-reduced-motion: no-preference){
  .hc-user-card.hc-vip-card{
    animation:hc-vip-card-shine 6s ease-in-out infinite alternate;
  }
}
@keyframes hc-vip-card-shine{
  from{ filter:saturate(1) brightness(1); }
  to{ filter:saturate(1.06) brightness(1.02); }
}
.hc-vip-badge{
  position:absolute;
  top:10px; right:10px;
  z-index:3;
  font-size:.78rem;
  font-weight:800;
  padding:5px 12px;
  border-radius:999px;
  color:#2a1a00;
  letter-spacing:.02em;
  background:linear-gradient(145deg, #fff8e1 0%, #f4d03f 28%, #d4af37 52%, #b8860b 78%, #fceabb 100%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 4px 16px rgba(107,78,10,.35), inset 0 1px 0 rgba(255,255,255,.65);
  backdrop-filter:blur(8px);
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}
.hc-user-card--compact .hc-vip-badge{
  box-shadow:0 3px 12px rgba(107,78,10,.30), inset 0 1px 0 rgba(255,255,255,.6);
}
.hc-vip-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:10px;
  font-size:.85rem;
  font-weight:800;
  padding:5px 12px;
  border-radius:999px;
  color:var(--hc-vip-gold-dark);
  vertical-align:middle;
  background:linear-gradient(145deg, rgba(255,248,220,.95), rgba(252,234,187,.88));
  border:1px solid rgba(212,175,55,.55);
  box-shadow:0 2px 10px rgba(184,134,11,.18), inset 0 1px 0 rgba(255,255,255,.7);
}
.hc-vip-nav-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:6px;
  width:26px;
  height:26px;
  border-radius:10px;
  font-size:.85rem;
  color:var(--hc-vip-gold-dark);
  background:linear-gradient(145deg, #fff8e7, #f4d03f 40%, #d4af37);
  border:1px solid rgba(212,175,55,.45);
  box-shadow:0 2px 8px rgba(139,105,20,.22);
}
.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:min(360px, calc(100vw - 32px)); max-width:calc(100vw - 24px);}
@media (max-width: 575.98px){
  .navbar-nav .nav-link.dropdown-toggle{
    max-width:min(200px, 46vw);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    vertical-align:middle;
  }
}
.hc-notify-unread{font-weight:800;}
.hc-notify-link{position:relative;}

.hc-nav-msgs .hc-unread-msg-dot{
  position:absolute;
  top:0.35rem;
  right:0.35rem;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 2px rgba(255,255,255,.92);
  pointer-events:none;
}
.hc-bottom-icon-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.hc-unread-msg-dot--bottom{
  position:absolute;
  top:-3px;
  right:-8px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#22c55e;
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(34,197,94,.35);
  pointer-events:none;
}

.hc-inbox{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
@media (min-width: 992px){
  .hc-inbox{grid-template-columns: 360px 1fr; align-items:stretch;}
}
@media (min-width: 1400px){
  .hc-inbox{grid-template-columns: min(400px, 32vw) 1fr;}
}
.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-subtitle{font-size:.84rem; color:var(--hc-muted); margin-top:2px;}
.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);
  transition:background-color .12s ease, border-color .12s ease, transform .12s ease;
}
.hc-inbox-item:hover{
  background:#fff;
  border-bottom-color:rgba(106,92,255,.14);
  transform:translateY(-1px);
}
.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);}
@media (max-width: 991.98px){
  .hc-inbox-blank{display:none;}
  .hc-inbox-left{order:2;}
  .hc-inbox-right{order:1;}
}

.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-gift-received-sub,
.hc-gift-received-title{
  display:block;
}

.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;}

/* ——— Admin shell ——— */
body.hc-admin-body .hc-sidebar-wrap{display:none !important;}
body.hc-admin-body .hc-main > .row > .col-12.col-lg-9.col-xl-10{
  flex:0 0 100%;
  max-width:100%;
}
body.hc-admin-body .hc-bottom-nav{display:none;}
body.hc-admin-body .hc-footer-outer{display:none;}
body.hc-admin-body .hc-main{padding-bottom:28px;}

.hc-admin-shell{
  display:flex;
  gap:0;
  min-height:calc(100vh - 120px);
  margin:-4px -8px 0;
}
@media (min-width: 992px){
  .hc-admin-shell{margin:-4px -12px 0;}
}

.hc-admin-aside{
  flex:0 0 220px;
  width:220px;
  padding:18px 14px 16px;
  border-radius:0 22px 22px 0;
  background:linear-gradient(165deg, #1a1533 0%, #252042 48%, #1e1a38 100%);
  color:rgba(255,255,255,.92);
  box-shadow:8px 0 32px rgba(23,32,52,.12);
  display:flex;
  flex-direction:column;
  position:sticky;
  top:72px;
  align-self:flex-start;
  max-height:calc(100vh - 88px);
}
.hc-admin-brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:4px 8px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:12px;
}
.hc-admin-brand-icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(106,92,255,.45), rgba(255,79,216,.25));
  font-size:1.15rem;
}
.hc-admin-brand-text{font-weight:900; font-size:1.05rem; letter-spacing:-.02em;}

.hc-admin-aside .hc-admin-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1;
  overflow:auto;
  padding-right:2px;
}
.hc-admin-nav-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:rgba(255,255,255,.72);
  font-weight:700;
  font-size:.92rem;
  transition:background .15s ease, color .15s ease;
}
.hc-admin-nav-item i{font-size:1.1rem; opacity:.88;}
.hc-admin-nav-item:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.hc-admin-nav-item.is-active{
  background:rgba(106,92,255,.35);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.hc-admin-aside-foot{
  padding-top:14px;
  margin-top:auto;
  border-top:1px solid rgba(255,255,255,.08);
}
.hc-admin-site-link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:rgba(255,255,255,.65);
  font-weight:700;
  font-size:.88rem;
}
.hc-admin-site-link:hover{background:rgba(255,255,255,.08); color:#fff;}

.hc-admin-main{
  flex:1;
  min-width:0;
  padding:8px 0 24px 18px;
}
.hc-admin-main .hc-card{
  border-radius:22px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,250,255,.9));
  box-shadow:0 10px 30px rgba(23,32,52,.05);
  overflow:hidden;
}
.hc-admin-main .hc-card-head{
  padding:16px 18px;
  border-bottom:1px solid rgba(23,32,52,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(246,247,252,.72));
}
.hc-admin-main .hc-card-body{
  padding:18px;
}

.hc-admin-page-title{
  font-weight:900;
  font-size:1.72rem;
  letter-spacing:-.03em;
  margin:0 0 4px;
  color:rgba(23,32,52,.95);
}
.hc-admin-page-sub{
  color:rgba(23,32,52,.56);
  font-size:.95rem;
  line-height:1.5;
  margin-bottom:18px;
  max-width:760px;
}

.hc-admin-toolbar{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,249,255,.9));
  box-shadow:0 10px 26px rgba(23,32,52,.05);
  margin-bottom:14px;
}
.hc-admin-toolbar .form-control,
.hc-admin-toolbar .form-select,
.hc-admin-note-card .form-control,
.hc-admin-note-card .form-select{
  min-height:44px;
  border-radius:16px;
  border-color:rgba(23,32,52,.08);
  background:rgba(255,255,255,.94);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.hc-admin-toolbar .form-control:focus,
.hc-admin-toolbar .form-select:focus,
.hc-admin-note-card .form-control:focus,
.hc-admin-note-card .form-select:focus{
  border-color:rgba(106,92,255,.3);
  box-shadow:0 0 0 .22rem rgba(106,92,255,.12);
}
.hc-admin-toolbar .btn,
.hc-admin-note-card .btn{
  border-radius:16px;
  min-height:42px;
}
.hc-admin-toolbar .btn-hc,
.hc-admin-note-card .btn-hc{
  box-shadow:0 10px 22px rgba(106,92,255,.16);
}
.hc-admin-intro-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-bottom:14px;
}
.hc-admin-intro-card{
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,246,255,.92));
  box-shadow:0 10px 26px rgba(106,92,255,.07);
}
.hc-admin-intro-label{
  color:var(--hc-muted);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.hc-admin-intro-value{
  margin-top:8px;
  font-size:1.8rem;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.03em;
  color:rgba(23,32,52,.94);
}
.hc-admin-intro-value--sm{
  font-size:1.08rem;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hc-admin-intro-sub{
  margin-top:6px;
  color:rgba(23,32,52,.56);
  font-size:.88rem;
}

.hc-admin-stat-grid{display:flex; flex-wrap:wrap; gap:12px;}
.hc-admin-stat{
  border-radius:18px !important;
  border:1px solid rgba(23,32,52,.08) !important;
  background:linear-gradient(145deg, rgba(255,255,255,.95), rgba(248,246,255,.88)) !important;
  box-shadow:0 8px 28px rgba(106,92,255,.07);
  flex:1 1 160px;
  min-width:140px;
}
.hc-admin-stat .hc-card-body{padding:16px 18px;}
.hc-admin-stat-ic{
  width:38px;
  height:38px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(106,92,255,.12);
  color:rgba(106,92,255,.95);
  font-size:1.1rem;
  margin-bottom:10px;
}
.hc-admin-table-wrap{overflow:auto;}
.hc-admin-table-wrap table{min-width:960px;}
.hc-admin-table-wrap table tbody td{vertical-align:middle;}
.hc-admin-filter-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.hc-admin-filter-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  align-items:flex-end;
}
.hc-admin-filter-row > *{
  flex:1 1 220px;
  min-width:min(100%, 220px);
}
.hc-admin-filter-checks{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hc-admin-filter-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.78);
  cursor:pointer;
  user-select:none;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.hc-admin-filter-check:hover{
  border-color:rgba(106,92,255,.26);
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 22px rgba(106,92,255,.08);
}
.hc-admin-filter-check-input{
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 16px;
  accent-color:var(--hc-primary);
}
.hc-admin-filter-check-label{
  display:inline-flex;
  align-items:center;
  line-height:1;
  font-size:.88rem;
  font-weight:700;
  color:rgba(23,32,52,.8);
  white-space:nowrap;
}
.hc-admin-filter-check:has(.hc-admin-filter-check-input:checked){
  border-color:rgba(106,92,255,.32);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,240,255,.98));
  box-shadow:0 14px 28px rgba(106,92,255,.12);
}
.hc-admin-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
@media (max-width: 767.98px){
  .hc-admin-intro-grid{
    grid-template-columns:1fr;
  }
  .hc-admin-filter-check{
    min-height:36px;
    padding:7px 12px;
  }
  .hc-admin-filter-check-label{
    font-size:.84rem;
  }
}
.hc-admin-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.82);
  color:rgba(23,32,52,.78);
}
.hc-admin-chip.is-danger{background:rgba(239,68,68,.13); color:rgba(185,28,28,.95); border-color:rgba(239,68,68,.22);}
.hc-admin-chip.is-warning{background:rgba(245,158,11,.14); color:rgba(180,83,9,.96); border-color:rgba(245,158,11,.24);}
.hc-admin-chip.is-success{background:rgba(34,197,94,.14); color:rgba(21,128,61,.95); border-color:rgba(34,197,94,.22);}
.hc-admin-chip.is-info{background:rgba(96,165,250,.12); color:rgba(29,78,216,.92); border-color:rgba(96,165,250,.22);}
.hc-admin-chip.is-dark{background:rgba(23,32,52,.9); color:#fff; border-color:rgba(23,32,52,.9);}
.hc-admin-chip-stack{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.hc-admin-action-stack{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.hc-admin-icon-btn{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
}
.hc-admin-note-card{
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,246,255,.9));
  box-shadow:0 8px 24px rgba(23,32,52,.05);
}
.hc-admin-note-card code{
  padding:2px 8px;
  border-radius:999px;
  background:rgba(23,32,52,.06);
  color:rgba(23,32,52,.84);
}
.hc-admin-note-card ol,
.hc-admin-note-card ul{
  line-height:1.55;
}
.hc-admin-empty{
  padding:22px 16px;
  text-align:center;
  color:rgba(23,32,52,.56);
}
.hc-admin-stat .hc-admin-stat-label{color:var(--hc-muted); font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em;}
.hc-admin-stat .hc-admin-stat-value{font-size:1.85rem; font-weight:900; letter-spacing:-.5px; line-height:1.1;}
.hc-admin-stat .hc-admin-stat-hint{color:var(--hc-muted); font-size:.82rem; margin-top:6px;}

.hc-admin-table-wrap table thead th{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--hc-muted);
  font-weight:800;
  border-bottom-width:1px;
}
.hc-admin-table-wrap{
  border-radius:18px;
  border:1px solid rgba(23,32,52,.06);
  background:rgba(255,255,255,.76);
}
.hc-admin-table-wrap table{
  margin-bottom:0;
}
.hc-admin-table-wrap table thead th{
  padding:14px 14px;
  background:rgba(247,248,252,.88);
}
.hc-admin-table-wrap table tbody td{
  padding:14px 14px;
  border-color:rgba(23,32,52,.05);
}
.hc-admin-table-wrap table tbody tr{
  transition:background .18s ease;
}
.hc-admin-table-wrap table tbody tr:nth-child(even){
  background:rgba(23,32,52,.015);
}
.hc-admin-table-wrap table tbody tr:hover{
  background:rgba(106,92,255,.04);
}
.hc-admin-pills{display:flex; flex-wrap:wrap; gap:8px;}
.hc-admin-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:.86rem;
  border:1px solid rgba(23,32,52,.1);
  background:rgba(255,255,255,.7);
  color:rgba(23,32,52,.82);
}
.hc-admin-pill:hover{border-color:rgba(106,92,255,.35); color:rgba(106,92,255,.95);}
.hc-admin-pill.is-active{
  background:rgba(106,92,255,.16);
  border-color:rgba(106,92,255,.35);
  color:rgba(106,92,255,.95);
}
.hc-admin-row-highlight td{
  background:rgba(106,92,255,.06);
}
.hc-admin-reason-chip,
.hc-admin-status-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.hc-admin-user-gifts-card .hc-card-body{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.hc-admin-user-gifts-total{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  min-height:26px;
  margin-left:8px;
  padding:2px 9px;
  border-radius:999px;
  background:rgba(106,92,255,.1);
  color:rgba(78,62,199,.96);
  font-size:.78rem;
  font-weight:900;
  vertical-align:middle;
}
.hc-admin-user-gifts-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  position:sticky;
  top:0;
  z-index:2;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid rgba(23,32,52,.06);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,250,255,.94));
  box-shadow:0 8px 24px rgba(23,32,52,.05);
  backdrop-filter:blur(10px);
}
.hc-admin-user-gifts-toolbar-main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.hc-admin-user-gifts-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(106,92,255,.18);
  background:rgba(106,92,255,.08);
  color:rgba(78,62,199,.96);
  font-size:.84rem;
  font-weight:800;
  white-space:nowrap;
}
.hc-admin-user-gifts-scroll{
  flex:1 1 auto;
  min-height:260px;
  max-height:520px;
  overflow-y:auto;
  padding-right:6px;
}
.hc-admin-user-gifts-scroll::-webkit-scrollbar{
  width:10px;
}
.hc-admin-user-gifts-scroll::-webkit-scrollbar-track{
  background:rgba(23,32,52,.05);
  border-radius:999px;
}
.hc-admin-user-gifts-scroll::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(106,92,255,.42), rgba(255,79,216,.28));
  border-radius:999px;
  border:2px solid rgba(255,255,255,.78);
}
.hc-admin-user-gifts-scroll{
  scrollbar-color:rgba(106,92,255,.42) rgba(23,32,52,.05);
  scrollbar-width:thin;
}
.hc-admin-user-gifts-list{
  gap:12px;
}
.hc-admin-user-gift-row{
  width:100%;
  justify-content:flex-start;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,250,255,.92));
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.hc-admin-user-gift-row:hover{
  border-color:rgba(106,92,255,.22);
  box-shadow:0 12px 26px rgba(106,92,255,.08);
}
.hc-admin-user-gift-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  min-width:20px;
}
.hc-admin-user-gift-row:has(.hc-admin-user-gift-checkbox:checked){
  border-color:rgba(106,92,255,.34);
  box-shadow:0 16px 30px rgba(106,92,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,240,255,.96));
}
@media (min-width: 1200px){
  .hc-admin-user-gifts-card{
    min-height:calc(100% - 1rem);
  }
  .hc-admin-user-gifts-scroll{
    min-height:360px;
    max-height:620px;
  }
}
@media (max-width: 767.98px){
  .hc-admin-user-gifts-toolbar{
    padding:10px;
  }
  .hc-admin-user-gifts-toolbar-main{
    width:100%;
  }
  .hc-admin-user-gifts-counter{
    width:100%;
    justify-content:flex-start;
  }
}
.hc-admin-reason-chip{
  background:rgba(23,32,52,.08);
  color:rgba(23,32,52,.84);
}
.hc-admin-status-chip{
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.82);
  color:rgba(23,32,52,.78);
}
.hc-admin-status-chip.is-new{
  background:rgba(96,165,250,.12);
  color:rgba(29,78,216,.92);
  border-color:rgba(96,165,250,.22);
}
.hc-admin-status-chip.is-in_progress{
  background:rgba(245,158,11,.14);
  color:rgba(180,83,9,.96);
  border-color:rgba(245,158,11,.24);
}
.hc-admin-status-chip.is-resolved{
  background:rgba(34,197,94,.14);
  color:rgba(21,128,61,.95);
  border-color:rgba(34,197,94,.22);
}
.hc-admin-status-chip.is-rejected{
  background:rgba(239,68,68,.13);
  color:rgba(185,28,28,.95);
  border-color:rgba(239,68,68,.22);
}
.hc-admin-report-message{
  min-width:240px;
  line-height:1.4;
}
.hc-admin-report-message-title{
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:rgba(23,32,52,.5);
  margin-bottom:6px;
}
.hc-admin-report-message-body{
  color:rgba(23,32,52,.82);
}
.hc-admin-report-message-note{
  margin-top:8px;
  color:rgba(23,32,52,.62);
  font-size:.85rem;
}
.hc-admin-entity-cell{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.hc-admin-entity-title{
  font-weight:800;
  color:rgba(23,32,52,.9);
}
.hc-admin-entity-sub{
  color:rgba(23,32,52,.52);
  font-size:.82rem;
}
.hc-admin-action-form{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
  min-width:190px;
}
.hc-admin-action-select{
  min-width:128px;
  border-radius:12px;
}
.hc-admin-action-btn{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
}
.hc-admin-photo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.hc-admin-photo-card{
  border-radius:22px !important;
}
.hc-admin-photo-cover{
  position:relative;
  min-height:260px;
  background:rgba(23,32,52,.05);
}
.hc-admin-photo-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hc-admin-photo-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:10px;
}
.hc-admin-photo-owner{
  font-size:1rem;
  font-weight:900;
  color:rgba(23,32,52,.92);
}
.hc-admin-photo-date{
  color:rgba(23,32,52,.5);
  font-size:.86rem;
}
.hc-admin-photo-reason{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:10px 12px;
  margin-bottom:12px;
  border-radius:14px;
  background:rgba(23,32,52,.05);
  color:rgba(23,32,52,.7);
  font-size:.88rem;
  line-height:1.45;
}
.hc-admin-photo-actions form{
  flex:1 1 180px;
}
.hc-admin-photo-actions .form-control{
  min-height:40px;
  border-radius:14px;
}
.hc-admin-photo-actions .btn{
  min-height:40px;
  border-radius:14px;
}
.hc-admin-kpi-card{
  text-align:center;
  padding:14px;
}
.hc-admin-kpi-icon{
  width:52px;
  height:52px;
  margin:0 auto 10px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(106,92,255,.1);
  color:rgba(106,92,255,.95);
  font-size:1.3rem;
}

.hc-admin-quick{
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(247,244,255,.92));
  padding:16px 18px;
  margin-bottom:12px;
  box-shadow:0 10px 26px rgba(106,92,255,.08);
}
.hc-admin-quick-title{
  font-weight:900;
  font-size:.98rem;
  margin-bottom:12px;
  color:rgba(23,32,52,.92);
}
.hc-admin-quick-actions{display:flex; flex-wrap:wrap; gap:8px;}
.hc-admin-quick-actions .btn{
  flex:1 1 100%;
  justify-content:space-between;
  min-height:44px;
  border-radius:16px;
}

.hc-admin-media-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(104px, 1fr));
  gap:10px;
}
.hc-admin-media-tile{
  position:relative;
  display:block;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(23,32,52,.1);
  background:rgba(23,32,52,.04);
  aspect-ratio:1;
}
.hc-admin-media-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hc-admin-media-meta{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:4px 6px;
  font-size:.68rem;
  font-weight:800;
  color:#fff;
  background:linear-gradient(transparent, rgba(0,0,0,.65));
}
.hc-admin-conv-card .hc-admin-conv-body{
  max-height:70vh;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px;
}
.hc-admin-conv-msg.hc-msg{display:flex; width:100%;}
.hc-admin-conv-msg.mine{justify-content:flex-end;}
.hc-admin-conv-msg.theirs{justify-content:flex-start;}
.hc-admin-conv-msg .hc-msg-bubble{max-width:min(92%, 520px);}

@media (max-width: 991.98px){
  .hc-admin-shell{flex-direction:column; margin:0;}
  .hc-admin-aside{
    position:relative;
    top:0;
    max-height:none;
    width:100%;
    flex:0 0 auto;
    border-radius:18px;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    padding:12px;
    box-shadow:var(--hc-shadow);
  }
  .hc-admin-brand{
    border-bottom:none;
    margin-bottom:0;
    padding:4px 8px;
    flex:0 0 auto;
  }
  .hc-admin-aside .hc-admin-nav{
    flex-direction:row;
    flex-wrap:wrap;
    flex:1 1 auto;
    max-height:none;
    gap:6px;
  }
  .hc-admin-nav-item{padding:8px 10px; font-size:.82rem;}
  .hc-admin-nav-item span{display:none;}
  .hc-admin-nav-item i{font-size:1.2rem;}
  .hc-admin-aside-foot{
    border-top:none;
    padding-top:0;
    margin-top:0;
    width:100%;
    display:flex;
    justify-content:center;
  }
  .hc-admin-site-link{justify-content:center; width:100%;}
  .hc-admin-main{padding:12px 0 20px;}
  .hc-admin-action-form{
    min-width:170px;
  }
  .hc-admin-action-select{
    min-width:116px;
  }
}

.hc-feature{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(23,32,52,.08);
  background:rgba(255,255,255,.72);
}
.hc-feature-ic{
  flex:0 0 auto;
  align-self:flex-start;
  width:52px;
  height:52px;
  min-width:52px;
  min-height:52px;
  max-width:52px;
  max-height:52px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg, rgba(106,92,255,.16), rgba(106,92,255,.07));
  border:1px solid rgba(106,92,255,.22);
  color:rgba(106,92,255,.95);
  box-shadow:0 4px 14px rgba(106,92,255,.12);
}
.hc-feature-ic i{
  font-size:1.35rem;
  line-height:1;
  display:block;
}
.hc-feature-title{font-weight:900;}

@media (max-width: 991.98px){
  .hc-main{padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px));}
  .hc-footer-outer{
    padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px));
  }
}
.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-footer-outer{
  margin-top:auto;
  border-top:1px solid rgba(23,32,52,.08);
  background:linear-gradient(180deg, rgba(106,92,255,.07), rgba(23,32,52,.02));
}
.hc-discovery-strip{
  width:100%;
  box-sizing:border-box;
}
.hc-discovery-wrap{
  display:flex;
  align-items:stretch;
  min-height:0;
}
@media (min-width: 992px){
  .hc-discovery-wrap{
    min-height:92px;
  }
}
.hc-discovery-add{
  flex:0 0 52px;
  width:52px;
  min-width:52px;
  border:none;
  border-right:1px solid rgba(23,32,52,.1);
  background:linear-gradient(145deg, rgba(106,92,255,.22), rgba(106,92,255,.08));
  color:var(--hc-text);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  cursor:pointer;
  transition:background .2s ease, transform .12s ease;
  -webkit-appearance:none;
  appearance:none;
  margin:0;
  padding:0;
  font-family:inherit;
}
.hc-discovery-add:hover{
  background:linear-gradient(145deg, rgba(106,92,255,.32), rgba(106,92,255,.12));
}
.hc-discovery-add:active{transform:scale(.96);}
.hc-discovery-add:focus-visible{
  outline:2px solid rgba(106,92,255,.5);
  outline-offset:2px;
}
.hc-discovery-viewport{
  flex:1;
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 20px), transparent);
  -webkit-mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-image:linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 20px), transparent);
  mask-size:100% 100%;
  mask-repeat:no-repeat;
}
.hc-discovery-track{
  display:flex;
  gap:14px;
  align-items:center;
  padding:10px 6px;
  will-change:transform;
  width:max-content;
}
.hc-discovery-track.is-single{
  width:100%;
  justify-content:center;
}
.hc-discovery-track.is-animated{
  animation:hc-discovery-marquee 62s linear infinite;
}
.hc-discovery-track.is-single .hc-discovery-card{
  animation:hc-discovery-single-float 3.8s ease-in-out infinite;
  box-shadow:
    0 12px 28px rgba(23,32,52,.10),
    0 0 0 1px rgba(255,255,255,.58),
    0 0 24px rgba(106,92,255,.12);
  border-color:rgba(106,92,255,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,247,255,.96)),
    linear-gradient(135deg, rgba(106,92,255,.06), rgba(56,189,248,.04));
}
.hc-discovery-wrap:hover .hc-discovery-track.is-animated{
  animation-play-state:paused;
}
@keyframes hc-discovery-marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
@keyframes hc-discovery-single-float{
  0%, 100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-3px) scale(1.015);}
}
.hc-discovery-card{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  width:76px;
  text-decoration:none !important;
  color:rgba(23,32,52,.92) !important;
  border-radius:14px;
  padding:6px 4px 8px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(23,32,52,.1);
  transition:transform .15s ease, box-shadow .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.hc-discovery-card:visited{
  color:rgba(23,32,52,.92) !important;
}
.hc-discovery-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(23,32,52,.12);
  color:rgba(23,32,52,1) !important;
}
.hc-discovery-card img{
  width:56px;
  height:56px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.95);
}
.hc-discovery-card--featured img{
  border:2px solid rgba(255,255,255,.95);
  box-shadow:var(--hc-vip-ring);
}
.hc-discovery-card-meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  line-height:1.15;
  max-width:100%;
}
.hc-discovery-card-name{
  font-size:.72rem;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:72px;
}
.hc-discovery-card-age{
  font-size:.68rem;
  color:rgba(23,32,52,.52);
}
.hc-discovery-empty{
  padding:12px 16px;
  font-size:.85rem;
  color:rgba(23,32,52,.52);
  white-space:nowrap;
}
.hc-discovery-modal-avatar{
  border-radius:50%;
  object-fit:cover;
  border:3px solid rgba(106,92,255,.28);
  box-shadow:0 8px 28px rgba(106,92,255,.2);
}
.hc-discovery-modal .modal-content{
  border-radius:20px;
  border:1px solid rgba(23,32,52,.1);
  box-shadow:0 24px 48px rgba(23,32,52,.18);
}

@media (max-width: 991.98px){
  .hc-footer-outer{
    background:linear-gradient(180deg, rgba(106,92,255,.05), rgba(248,249,252,.98));
  }
  .hc-discovery-strip{
    padding:10px max(14px, env(safe-area-inset-left)) 8px max(14px, env(safe-area-inset-right));
  }
  .hc-discovery-wrap{
    align-items:stretch;
    max-width:100%;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 6px 24px rgba(23,32,52,.1);
    border:1px solid rgba(23,32,52,.1);
    background:rgba(255,255,255,.98);
  }
  .hc-discovery-add{
    flex:0 0 50px;
    width:50px;
    min-width:50px;
    align-self:stretch;
    min-height:4.5rem;
    border-right:1px solid rgba(23,32,52,.1);
    font-size:1.28rem;
  }
  .hc-discovery-viewport{
    min-width:0;
    padding:6px 0;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 14px), transparent);
    -webkit-mask-size:100% 100%;
    -webkit-mask-repeat:no-repeat;
    mask-image:linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 14px), transparent);
    mask-size:100% 100%;
    mask-repeat:no-repeat;
  }
  .hc-discovery-track{
    gap:12px;
    padding:10px 14px;
    align-items:center;
  }
  .hc-discovery-track.is-single .hc-discovery-card{
    animation-duration:4.2s;
  }
  .hc-discovery-card{
    width:74px;
    padding:8px 6px 10px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 2px 10px rgba(23,32,52,.06);
    border:1px solid rgba(23,32,52,.08);
  }
  .hc-discovery-card img{
    width:52px;
    height:52px;
  }
  .hc-discovery-card-name{
    max-width:68px;
    font-size:.72rem;
    font-weight:800;
    color:rgba(23,32,52,.9) !important;
  }
  .hc-discovery-card-age{
    font-size:.66rem;
    color:rgba(23,32,52,.48) !important;
  }
  .hc-discovery-empty{
    padding:14px 20px;
    white-space:normal;
    text-align:center;
    line-height:1.35;
    max-width:100%;
  }
}

.hc-footer{
  padding-left:max(12px, env(safe-area-inset-left));
  padding-right:max(12px, env(safe-area-inset-right));
}
.hc-footer-inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px 10px;
  max-width:100%;
  text-align:center;
}
.hc-footer-sep{
  opacity:.55;
  user-select:none;
}
@media (max-width: 575.98px){
  .hc-footer-sep{display:none;}
}

.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;}
}

.hc-readable{
  max-width:72ch;
  width:100%;
}

@media (max-width: 575.98px){
  .hc-main{
    padding-left:max(10px, env(safe-area-inset-left));
    padding-right:max(10px, env(safe-area-inset-right));
  }
  .hc-page-head{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .hc-page-actions{width:100%;}
  .hc-page-actions .btn{width:100%;}
  .hc-confirm-modal{
    padding:12px;
  }
  .hc-confirm-dialog{
    width:min(100%, 360px);
    padding:16px 14px 14px;
    border-radius:18px;
  }
  .hc-confirm-title{
    font-size:1.06rem;
  }
  .hc-confirm-text{
    font-size:.93rem;
  }
  .hc-confirm-actions{
    flex-direction:column-reverse;
  }
  .hc-confirm-actions .btn{
    width:100%;
  }
  .hc-filter-checks{
    gap:8px;
  }
  .hc-filter-check{
    width:100%;
    justify-content:flex-start;
  }
  .form-control,
  .form-select{
    font-size:1rem;
  }
  .hc-flash{
    padding:13px 44px 13px 13px;
  }
  .hc-alert-ic{
    width:36px;
    height:36px;
  }
  .hc-alert-title{
    font-size:.8rem;
  }
  .form-label{margin-bottom:.35rem;}
  .hc-card-body{padding:14px;}
  .hc-hero-inner{padding:22px 18px;}
  .hc-hero-actions .btn-lg{
    width:100%;
    justify-content:center;
  }
  .btn:not(.btn-sm):not(.hc-btn-icon){
    min-height:var(--hc-touch-target);
    padding-top:.5rem;
    padding-bottom:.5rem;
  }
  .hc-page-actions .badge{align-self:center;}
  .hc-empty{flex-direction:column; text-align:center;}
  .hc-empty img{margin-inline:auto;}
  .navbar-toggler{
    width:var(--hc-touch-target);
    height:var(--hc-touch-target);
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}

@media (min-width: 576px) and (max-width: 991.98px){
  .hc-page-head{
    flex-direction:row;
    align-items:flex-end;
  }
  .hc-page-actions{
    width:auto;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .hc-page-actions .btn{width:auto;}
}

@media (max-width: 991.98px){
  .hc-nav-open,
  .hc-nav-open body{
    overflow:hidden;
    touch-action:none;
  }
  .hc-navbar{
    background:rgba(255,255,255,.96);
    backdrop-filter:none;
  }
  .hc-navbar .navbar-collapse,
  .hc-navbar .collapsing{
    transition:none !important;
    will-change:auto;
  }
  .hc-navbar .navbar-collapse.show,
  .hc-navbar .collapsing{
    position:fixed;
    top:calc(64px + env(safe-area-inset-top));
    left:12px;
    right:12px;
    max-height:calc(100dvh - 84px - env(safe-area-inset-top));
    overflow-y:auto;
    padding:14px 14px calc(18px + env(safe-area-inset-bottom));
    border-radius:20px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(23,32,52,.08);
    box-shadow:0 22px 56px rgba(23,32,52,.16);
  }
  .hc-bottom-link{
    min-height:calc(var(--hc-touch-target) + 4px);
    justify-content:center;
    -webkit-tap-highlight-color:transparent;
  }
  .hc-inbox-item{padding:14px 12px;}
}

@media (min-width: 1400px){
  .hc-main{
    padding-left:max(20px, env(safe-area-inset-left));
    padding-right:max(20px, env(safe-area-inset-right));
  }
}

@media (min-width: 1600px){
  :root{--hc-content-max:1360px;}
}


@media (prefers-reduced-motion: reduce){
  .hc-profile-head.hc-vip-head,
  .hc-user-card.hc-vip-card{
    animation:none !important;
  }
  .hc-user-card,
  .btn,
  .hc-catalog-grid,
  .hc-inbox-item,
  .hc-list-item,
  .hc-friend-mini,
  .hc-mini-user,
  .hc-home-feature{
    transition:none !important;
  }
  .hc-user-card:hover,
  .hc-home-feature:hover{transform:none;}
  .hc-skeleton-cover,
  .hc-skeleton-line,
  .hc-skeleton-pill{
    animation:none !important;
  }
}

/* Tom Select — единый вид с полями HeartCity (список не ОС, а наша вёрстка) */
html.hc-js .ts-wrapper.form-select .ts-control{
  border-radius:16px;
  border-color:rgba(23,32,52,.12);
  background:rgba(255,255,255,.92) !important;
  min-height:calc(1.5em + 0.75rem + 2px);
}
html.hc-js .ts-wrapper.form-select-sm .ts-control{
  border-radius:12px;
  min-height:34px;
  font-size:.875rem;
}
html.hc-js .focus .ts-control{
  border-color:rgba(106,92,255,.35) !important;
  box-shadow:0 0 0 .22rem rgba(106,92,255,.16) !important;
  outline:0 !important;
}
html.hc-js .ts-dropdown{
  border-radius:18px !important;
  border:1px solid rgba(23,32,52,.10) !important;
  box-shadow:0 18px 44px rgba(23,32,52,.14) !important;
  margin-top:0 !important;
  z-index:1080 !important;
  overflow:visible;
}
html.hc-js .ts-dropdown .option{
  padding:10px 14px;
  margin:2px 6px;
  border-radius:12px;
}
html.hc-js .ts-dropdown .option.active{
  background:rgba(106,92,255,.12) !important;
  color:var(--hc-text) !important;
}
html.hc-js .ts-dropdown .option:hover,
html.hc-js .ts-dropdown .option[data-selectable]:hover{
  background:rgba(106,92,255,.08);
}
html.hc-js .input-group > .ts-wrapper{
  flex:1 1 auto;
  min-width:0;
  width:1%;
}
html.hc-js .hc-gallery-move .ts-wrapper{
  flex:1;
  min-width:0;
  max-width:160px;
}
html.hc-js .hc-gallery-move .ts-wrapper .ts-control{
  font-size:.78rem;
  min-height:34px;
  padding-top:4px;
  padding-bottom:4px;
}
html.hc-js .ts-wrapper.form-select.d-inline-block,
html.hc-js .ts-wrapper.form-select.w-auto,
html.hc-js .table td .ts-wrapper.form-select{
  width:auto !important;
  display:inline-flex !important;
  vertical-align:middle;
  max-width:min(100%, 14rem);
}

/* Honeypot: скрыто от пользователей, не трогать поле */
.hc-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
}
.hc-auth .hc-form{position:relative;}
