/* ========================================
   聊心缘 - Custom Stylesheet
   Based on Bootstrap v5.3.8
   ======================================== */

/* CSS Variables - Design System */
:root {
  /* Primary Colors */
  --color-primary: #E07A5F;
  --color-primary-light: #F2A68D;
  --color-primary-dark: #C96A52;
  
  /* Secondary Colors */
  --color-secondary: #81B29A;
  --color-secondary-light: #A4CDB8;
  
  /* Background Colors */
  --bg-warm: #FDF8F4;
  --bg-white: #FFFFFF;
  --bg-dark: #2D2A26;
  
  /* Text Colors */
  --text-primary: #2D2A26;
  --text-secondary: #9C9490;
  --text-light: #B8B0AA;
  
  /* Border Colors */
  --border-color: #EDE6DF;
  --border-light: #F5EFE9;
  
  /* Functional Colors */
  --color-success: #81B29A;
  --color-danger: #C0392B;
  --color-warning: #F2CC8F;
  --color-info: #5BA4CF;
  --color-wechat: #07C160;
  
  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(45, 42, 38, 0.08);
  --shadow-md: 0 4px 16px rgba(45, 42, 38, 0.12);
  --shadow-lg: 0 8px 24px rgba(45, 42, 38, 0.15);
  
  /* Border Radius */
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-full: 50%;
}

/* Container - 1600px PC Wide Screen */
@media (min-width: 1200px) {
  .container, .container-lg, .container-xl, .container-xxl {
    max-width: 1140px !important;
  }
}
@media (min-width: 1440px) {
  .container, .container-lg, .container-xl, .container-xxl {
    max-width: 1380px !important;
  }
}
@media (min-width: 1680px) {
  .container, .container-lg, .container-xl, .container-xxl {
    max-width: 1620px !important;
  }
}

/* Base Styles */
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  background-color: var(--bg-warm);
  color: var(--text-primary);
  line-height: 1.6;
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary);
  font-weight: 600;
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--color-primary-dark);
}

/* ========================================
   Navigation
   ======================================== */
.navbar-liaoxinyuan {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  padding: 1rem 0;
  box-shadow: var(--shadow-sm);
}

.navbar-liaoxinyuan .navbar-brand {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.navbar-liaoxinyuan .navbar-brand .brand-icon {
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

.navbar-liaoxinyuan .nav-link {
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 500;
  padding: 0.5rem 1rem !important;
  border-radius: var(--radius-sm);
  transition: all 0.2s ease;
}

.navbar-liaoxinyuan .nav-link:hover,
.navbar-liaoxinyuan .nav-link.active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff !important;
}

.redline-badge {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  padding: 0.35rem 0.85rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.redline-badge:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #fff;
}

.auth-badge {
  background: var(--color-secondary);
  color: #fff;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
}

/* ========================================
   Hero Section
   ======================================== */
.hero-section {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  padding: 4rem 0 5rem;
  position: relative;
  overflow: hidden;
}

.hero-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 500px;
  height: 500px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 50%;
}

.hero-section::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 300px;
  height: 300px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
}

.hero-content {
  position: relative;
  z-index: 1;
}

.hero-title {
  font-size: 2.75rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.75rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.hero-subtitle {
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 2rem;
}

/* Stats Cards */
.stats-container {
  margin-top: -2.5rem;
  position: relative;
  z-index: 10;
}

.stats-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  padding: 2rem;
}

.stats-card .stat-item {
  text-align: center;
  padding: 0.5rem;
  position: relative;
}

.stats-card .stat-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: var(--border-color);
}

.stats-card .stat-number {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-primary);
  display: block;
}

.stats-card .stat-label {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin-top: 0.25rem;
}

/* ========================================
   CTA Section
   ======================================== */
.cta-section {
  padding: 3rem 0;
}

.cta-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: 2.5rem;
  text-align: center;
}

.cta-card h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.cta-card p {
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
}

/* Buttons */
.btn-primary-custom {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  border: none;
  border-radius: 25px;
  padding: 0.85rem 2rem;
  font-weight: 600;
  font-size: 1rem;
  color: #fff;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(224, 122, 95, 0.35);
}

.btn-primary-custom:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(224, 122, 95, 0.45);
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
}

.btn-outline-custom {
  background: transparent;
  border: 2px solid var(--color-primary);
  border-radius: 25px;
  padding: 0.75rem 1.75rem;
  font-weight: 600;
  color: var(--color-primary);
  transition: all 0.3s ease;
}

.btn-outline-custom:hover {
  background: var(--color-primary);
  color: #fff;
  transform: translateY(-2px);
}

.btn-wechat {
  background: var(--color-wechat);
  border: none;
  border-radius: 25px;
  padding: 0.85rem 2rem;
  font-weight: 600;
  color: #fff;
  transition: all 0.3s ease;
}

.btn-wechat:hover {
  background: #06AD56;
  color: #fff;
  transform: translateY(-2px);
}

.btn-skip {
  background: var(--border-color);
  border: none;
  border-radius: 25px;
  padding: 0.75rem 1.5rem;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.2s ease;
}

.btn-skip:hover {
  background: #e0d9d2;
  color: var(--text-primary);
}

/* ========================================
   User Cards
   ======================================== */
.user-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all 0.3s ease;
  height: 100%;
}

.user-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.user-card .card-image-wrapper {
  position: relative;
  height: 280px;
  overflow: hidden;
}

.user-card .card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.user-card .card-image-wrapper .blur-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  backdrop-filter: blur(9px);
  background: rgba(253, 248, 244, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}

.user-card .card-image-wrapper .lock-icon {
  width: 48px;
  height: 48px;
  background: rgba(224, 122, 95, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
}

.user-card .card-body {
  padding: 1.25rem;
}

.user-card .user-name {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.user-card .user-info {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin-bottom: 0.75rem;
}

.user-card .user-bio {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.online-indicator {
  width: 10px;
  height: 10px;
  background: var(--color-success);
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px var(--color-success);
  display: inline-block;
}

.verified-badge {
  background: var(--color-secondary);
  color: #fff;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 500;
}

.payment-badge {
  background: #E67E22;
  color: #fff;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 500;
}

.matched-border {
  border: 3px solid var(--color-success) !important;
}

.pending-border {
  border: 3px solid var(--color-primary) !important;
}

/* Today's Picks Carousel */
.today-picks {
  padding: 2rem 0;
}

.pick-item {
  text-align: center;
  min-width: 130px;
}

.pick-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--border-color);
  margin: 0 auto 0.5rem;
  transition: all 0.2s ease;
}

.pick-item:hover .pick-avatar {
  transform: scale(1.05);
}

.pick-name {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.15rem;
}

.pick-location {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

.pick-job {
  font-size: 0.75rem;
  color: var(--text-light);
}

.pick-status {
  font-size: 0.7rem;
  color: var(--color-success);
  font-weight: 500;
}

/* ========================================
   Debate Section
   ======================================== */
.debate-card {
  background: linear-gradient(135deg, #3D405B, #2D2A3D);
  border-radius: var(--radius-md);
  padding: 2rem;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}

.debate-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(61, 64, 91, 0.4);
}

.debate-time {
  font-size: 0.85rem;
  color: var(--color-primary-light);
  margin-bottom: 0.5rem;
}

.debate-topic {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.debate-info {
  display: flex;
  gap: 1.5rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}

.debate-info span {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.live-badge {
  background: #E74C3C;
  color: #fff;
  padding: 0.2rem 0.5rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* ========================================
   Login/Register Page
   ======================================== */
.login-page {
  min-height: 100vh;
  background: var(--bg-warm);
  position: relative;
  overflow: hidden;
}

.login-page::before {
  content: '';
  position: absolute;
  top: -150px;
  right: -100px;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(224, 122, 95, 0.15), transparent);
  border-radius: 50%;
}

.login-page::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: -80px;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(129, 178, 154, 0.12), transparent);
  border-radius: 50%;
}

.login-logo {
  text-align: center;
  padding-top: 3rem;
  position: relative;
  z-index: 1;
}

.login-logo .logo-icon {
  width: 72px;
  height: 72px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 2rem;
  margin-bottom: 1rem;
  box-shadow: var(--shadow-md);
}

.login-logo h1 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.login-logo p {
  color: var(--text-secondary);
  font-size: 0.95rem;
}

.login-form-card {
  background: var(--bg-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 2.5rem;
  max-width: 480px;
  width: 100%;
  margin: 2rem auto;
  position: relative;
  /* 需高于 .login-bottom-area(z-index:1)：卡片会创建层叠上下文，
     其内 .residence-panel 为固定定位，若同级则会被"返回首页"按钮遮挡 */
  z-index: 10;
  overflow: hidden; /* 防止内容溢出 */
}

.login-form-card h2 {
  font-size: 1.35rem;
  margin-bottom: 0.25rem;
  text-align: center;
}

.login-form-card .subtitle {
  color: var(--text-secondary);
  text-align: center;
  margin-bottom: 2rem;
  font-size: 0.9rem;
}

.form-step {
  margin-bottom: 1.5rem;
}

.step-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.step-number {
  width: 22px;
  height: 22px;
  background: var(--color-primary);
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
}

.form-control-custom {
  border: 1.5px solid var(--border-color);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  font-size: 0.95rem;
  background: var(--bg-warm);
  transition: all 0.2s ease;
}

.form-control-custom:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(224, 122, 95, 0.15);
  background: #fff;
}

.divider-text {
  text-align: center;
  color: var(--text-light);
  margin: 1.5rem 0;
  position: relative;
}

.divider-text::before,
.divider-text::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 30%;
  height: 1px;
  background: var(--border-color);
}

.divider-text::before { left: 0; }
.divider-text::after { right: 0; }

.terms-text {
  text-align: center;
  font-size: 0.8rem;
  color: var(--text-light);
  margin-top: 1.25rem;
}

.terms-text a {
  color: var(--color-primary);
}

/* ========================================
   Profile Detail Page
   ======================================== */
.photo-wall {
  position: relative;
  height: 420px;
  overflow: hidden;
}

.photo-wall img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-wall .photo-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
}

.photo-indicators {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  z-index: 5;
}

.photo-indicators span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.2s ease;
}

.photo-indicators span.active {
  background: #fff;
  width: 24px;
  border-radius: 4px;
}

.back-button {
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.4);
  border: none;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s ease;
  backdrop-filter: blur(4px);
}

.back-button:hover {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
}

.profile-header {
  margin-top: -40px;
  position: relative;
  z-index: 5;
  padding: 0 1rem;
}

.profile-main-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  padding: 1.75rem;
  margin-bottom: 1rem;
}

.profile-name {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.profile-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.info-grid {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 1.5rem;
  margin-bottom: 1rem;
}

.info-grid h5 {
  font-size: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border-color);
}

.info-row {
  display: flex;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--border-light);
}

.info-row:last-child {
  border-bottom: none;
}

.info-label {
  width: 70px;
  color: var(--text-secondary);
  font-size: 0.875rem;
  flex-shrink: 0;
}

.info-value {
  color: var(--text-primary);
  font-size: 0.875rem;
  font-weight: 500;
}

.about-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 1.5rem;
  margin-bottom: 1rem;
}

.about-card h5 {
  font-size: 1rem;
  margin-bottom: 0.75rem;
}

.about-card p {
  color: var(--text-secondary);
  font-size: 0.9rem;
  line-height: 1.7;
}

.preference-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.preference-tag {
  background: rgba(224, 122, 95, 0.12);
  color: var(--color-primary);
  padding: 0.4rem 0.85rem;
  border-radius: 18px;
  font-size: 0.825rem;
  font-weight: 500;
}

.bottom-action-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bg-white);
  padding: 1rem;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
  display: flex;
  gap: 1rem;
  z-index: 1000;
}

.bottom-action-bar .btn {
  flex: 1;
  border-radius: 25px;
  padding: 0.9rem;
  font-weight: 600;
}

/* ========================================
   Red Line Center
   ======================================== */
.balance-card {
  background: linear-gradient(135deg, #c0392b, #e74c3c, #f39c12);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.balance-card::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 150px;
  height: 150px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
}

.balance-card::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: -20px;
  width: 100px;
  height: 100px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 50%;
}

.balance-label {
  font-size: 0.95rem;
  opacity: 0.95;
  margin-bottom: 0.5rem;
}

.balance-amount {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.balance-unit {
  font-size: 1.25rem;
  opacity: 0.9;
}

.balance-hint {
  font-size: 0.85rem;
  opacity: 0.85;
  margin-top: 0.5rem;
}

.ad-task-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ad-task-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.ad-icon {
  width: 54px;
  height: 54px;
  background: linear-gradient(135deg, #e74c3c, #f39c12);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.task-list {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.task-item {
  padding: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid var(--border-light);
  transition: background 0.2s ease;
}

.task-item:last-child {
  border-bottom: none;
}

.task-item:hover {
  background: var(--bg-warm);
}

.task-icon {
  width: 44px;
  height: 44px;
  background: var(--bg-warm);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.task-info {
  flex: 1;
}

.task-name {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.15rem;
}

.task-desc {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.task-reward {
  font-weight: 700;
  color: #E74C3C;
  font-size: 1rem;
}

.task-action {
  background: var(--color-primary);
  color: #fff;
  border: none;
  border-radius: 18px;
  padding: 0.4rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.task-action:hover {
  background: var(--color-primary-dark);
  color: #fff;
}

.section-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* ========================================
   Messages Page
   ======================================== */
.messages-page {
  background: var(--bg-white);
  min-height: 100vh;
}

.page-header {
  padding: 1rem 0;
  border-bottom: 1px solid var(--border-color);
  background: var(--bg-white);
  position: sticky;
  top: 0;
  z-index: 100;
}

.page-header h1 {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0;
}

.conversation-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.conversation-item {
  display: flex;
  align-items: center;
  padding: 1rem;
  gap: 1rem;
  border-bottom: 1px solid var(--border-light);
  cursor: pointer;
  transition: background 0.2s ease;
  text-decoration: none;
  color: inherit;
}

.conversation-item:hover,
.conversation-item.new-message {
  background: #FFF9F8;
}

.conversation-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  position: relative;
}

.conversation-content {
  flex: 1;
  min-width: 0;
}

.conversation-name {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.conversation-time {
  font-size: 0.75rem;
  color: var(--text-light);
  font-weight: 400;
}

.conversation-preview {
  font-size: 0.875rem;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.conversation-item.new-message .conversation-preview {
  color: var(--text-primary);
  font-weight: 500;
}

.unread-badge {
  background: var(--color-primary);
  color: #fff;
  min-width: 20px;
  height: 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0 0.35rem;
  flex-shrink: 0;
}

/* ========================================
   Debate Room Page
   ======================================== */
.debate-room {
  background: var(--bg-warm);
  color: var(--text-primary);
  min-height: 100vh;
}

.debate-status-bar {
  background: var(--bg-white);
  padding: 0.85rem 1rem;
  position: sticky;
  top: 56px;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(224,122,95,0.1);
  border-bottom: 2px solid rgba(224,122,95,0.12);
}

.debate-status-bar .container { color: var(--text-primary); }
.debate-status-bar .btn-link { color: var(--text-secondary); }
.debate-status-bar h5 { color: var(--text-primary); font-weight: 600; }
.debate-status-bar .badge { background: rgba(224,122,95,0.12) !important; color: var(--color-primary-dark); }

.debate-progress {
  background: rgba(224,122,95,0.12);
  border-radius: 10px;
  height: 6px;
  overflow: hidden;
  margin: 0.75rem 0;
}

.debate-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary), var(--color-primary-light));
  border-radius: 10px;
  transition: width 0.3s ease;
}

.debate-layout {
  display: grid;
  grid-template-columns: 140px 1fr 140px;
  gap: 0;
  min-height: calc(100vh - 200px);
}

.team-panel {
  padding: 1rem;
  text-align: center;
}

.team-panel.pro-side {
  background: linear-gradient(180deg, rgba(224, 122, 95, 0.08), transparent);
  border-right: 1px solid rgba(224, 122, 95, 0.12);
}

.team-panel.con-side {
  background: linear-gradient(180deg, rgba(129, 178, 154, 0.08), transparent);
  border-left: 1px solid rgba(129, 178, 154, 0.12);
}

.team-label {
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin-bottom: 0.75rem;
  font-weight: 600;
}

.speaker-card {
  background: #fff;
  border-radius: var(--radius-sm);
  padding: 0.85rem;
  margin-bottom: 0.75rem;
  text-align: center;
  box-shadow: var(--shadow-sm);
}

.speaker-card.active {
  background: #fff;
  border: 2px solid var(--color-primary);
  box-shadow: var(--shadow-md);
}

.speaker-name {
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.15rem;
}

.speaker-role {
  font-size: 0.7rem;
  color: var(--text-secondary);
}

.speaker-icons {
  margin-top: 0.35rem;
  font-size: 0.75rem;
}

.debate-center {
  padding: 1rem;
  overflow-y: auto;
}

.current-speaker {
  background: #fff;
  border-radius: var(--radius-md);
  padding: 1.25rem;
  margin-bottom: 1rem;
  box-shadow: var(--shadow-sm);
}

.speaker-opinion {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.voice-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(224, 122, 95, 0.2);
  padding: 0.3rem 0.65rem;
  border-radius: 14px;
  font-size: 0.8rem;
  color: var(--color-primary-light);
}

.opinion-message {
  background: #fff;
  border-radius: var(--radius-sm);
  padding: 1rem;
  margin-bottom: 0.75rem;
  box-shadow: var(--shadow-sm);
}

.message-author {
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.3rem;
}

.message-text {
  font-size: 0.9rem;
  color: var(--text-primary);
  line-height: 1.5;
}

.message-support {
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.debate-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  padding: 0.85rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  backdrop-filter: blur(8px);
  z-index: 1000;
  color: #fff;
}

/* Debate page - navbar & bottom tab use default warm theme */
.debate-room .tab-item {
  color: var(--text-secondary) !important;
}

.debate-room .tab-item.active {
  color: var(--color-primary) !important;
}

.vote-count {
  font-size: 0.875rem;
  display: flex;
  gap: 1.25rem;
}

.vote-count .pro { color: #fff; font-weight:600; }
.vote-count .con { color: rgba(255,255,255,0.85); }

.vote-buttons {
  display: flex;
  gap: 0.75rem;
}

.btn-vote-pro {
  background: var(--color-primary-dark);
  color: #fff;
  border: none;
  border-radius: 18px;
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-vote-con {
  background: rgba(255,255,255,0.22);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 18px;
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-vote-pro:hover { background: #a8533f; color: #fff; }
.btn-vote-con:hover { background: rgba(255,255,255,0.35); color: #fff; }

/* ========================================
   My Profile Page
   ======================================== */
.my-profile-header {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  padding: 2.5rem 0 4rem;
  position: relative;
  overflow: hidden;
}

.my-profile-header::before {
  content: '';
  position: absolute;
  top: -50px;
  right: -30px;
  width: 200px;
  height: 200px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 50%;
}

.profile-user-info {
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}

.profile-avatar-large {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 3px solid #fff;
  object-fit: cover;
  margin: 0 auto 0.75rem;
  box-shadow: var(--shadow-md);
}

.profile-display-name {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.profile-id {
  font-size: 0.85rem;
  opacity: 0.85;
}

.my-stats-card {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  margin-top: -1.5rem;
  position: relative;
  z-index: 5;
  margin-left: 1rem;
  margin-right: 1rem;
  padding: 1.5rem;
}

.my-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
}

.my-stat-item {
  padding: 0.5rem;
  position: relative;
}

.my-stat-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: var(--border-color);
}

.my-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-primary);
  display: block;
}

.my-stat-label {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.menu-list {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  margin: 1rem;
}

.menu-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem;
  border-bottom: 1px solid var(--border-light);
  cursor: pointer;
  transition: background 0.2s ease;
  text-decoration: none;
  color: inherit;
}

.menu-item:last-child {
  border-bottom: none;
}

.menu-item:hover {
  background: var(--bg-warm);
}

.menu-icon {
  width: 42px;
  height: 42px;
  background: var(--bg-warm);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.menu-text {
  flex: 1;
}

.menu-title {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.1rem;
}

.menu-desc {
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.menu-arrow {
  color: var(--text-light);
  font-size: 0.85rem;
}

.menu-cost {
  color: #E74C3C;
  font-size: 0.85rem;
  font-weight: 600;
}

/* ========================================
   Bottom Tab Navigation (Mobile)
   ======================================== */
.bottom-tab-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bg-white);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
  padding: 0.5rem 0 calc(0.5rem + env(safe-area-inset-bottom));
  z-index: 1030;
  display: flex;
  justify-content: space-around;
}

.tab-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.35rem 0.75rem;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.7rem;
  transition: all 0.2s ease;
  position: relative;
}

.tab-item i {
  font-size: 1.25rem;
  margin-bottom: 0.15rem;
}

.tab-item.active {
  color: var(--color-primary);
}

.tab-item.active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 3px;
  background: var(--color-primary);
  border-radius: 0 0 3px 3px;
}

/* Add bottom spacing for pages with fixed tab nav */
.with-tab-nav {
  padding-bottom: 80px;
}

/* ========================================
   Footer
   ======================================== */
.site-footer {
  background: var(--bg-dark);
  color: rgba(255, 255, 255, 0.7);
  padding: 3rem 0 1.5rem;
  margin-top: 3rem;
}

.site-footer h5 {
  color: #fff;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 0.5rem;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  transition: color 0.2s ease;
}

.footer-links a:hover {
  color: var(--color-primary-light);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 2rem;
  padding-top: 1.5rem;
  text-align: center;
  font-size: 0.8rem;
}

.social-links {
  display: flex;
  gap: 1rem;
}

.social-link {
  width: 38px;
  height: 38px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.7);
  transition: all 0.2s ease;
}

.social-link:hover {
  background: var(--color-primary);
  color: #fff;
}

/* ========================================
   Responsive Adjustments
   ======================================== */
@media (max-width: 991.98px) {
  .hero-title {
    font-size: 2.25rem;
  }
  
  .debate-layout {
    grid-template-columns: 1fr;
  }
  
  .team-panel {
    display: none;
  }
  
  .bottom-tab-nav {
    display: flex;
  }
}

@media (max-width: 767.98px) {
  .hero-section {
    padding: 3rem 0 4rem;
  }
  
  .hero-title {
    font-size: 1.85rem;
  }
  
  .hero-subtitle {
    font-size: 1.05rem;
  }
  
  .stats-card .stat-number {
    font-size: 1.5rem;
  }
  
  .balance-amount {
    font-size: 2.75rem;
  }

  .photo-wall {
    height: 320px;
  }
}

@media (min-width: 992px) {
  .bottom-tab-nav {
    display: none;
  }
}

/* Utility Classes */
.text-primary-custom {
  color: var(--color-primary) !important;
}

.bg-warm {
  background-color: var(--bg-warm) !important;
}

.rounded-custom {
  border-radius: var(--radius-md) !important;
}

.shadow-custom {
  box-shadow: var(--shadow-md) !important;
}

/* ========================================
   Page: Debate List（辩论广场）
   Source: debate-list.shtml inline styles
   ======================================== */
.debate-list-header{
  background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);
  padding:2rem 0 1.5rem;color:#fff;
}
.debate-list-header h1{font-size:1.6rem;font-weight:700;margin-bottom:0.25rem;}
.debate-list-header p{opacity:0.9;}
.debate-list-header .btn-primary-custom{
  background:#fff;color:var(--color-primary);border:none;font-weight:600;
}
.debate-list-header .btn-primary-custom:hover{transform:translateY(-1px);box-shadow:0 4px 15px rgba(0,0,0,0.15);}
.debate-stats{display:flex;gap:2rem;flex-wrap:wrap;}
.stat-item strong{font-size:1.35rem;display:block;line-height:1.2;}
.stat-item span{font-size:0.78rem;opacity:0.85;}
.debate-filter-bar{
  background:#fff;border-bottom:1px solid var(--border-color);
  position:sticky;top:56px;z-index:100;
}
.filter-tabs{display:flex;gap:0.35rem;padding:0.75rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.filter-tabs::-webkit-scrollbar{display:none;}
.filter-tab{
  padding:0.4rem 1rem;border-radius:20px;font-size:0.84rem;font-weight:500;
  border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);
  cursor:pointer;white-space:nowrap;transition:all 0.15s ease;user-select:none;
}
.filter-tab:hover{border-color:var(--color-primary-light);color:var(--color-primary);}
.filter-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}

/* 广场实时更新提示条：新房间/刚开赛时浮现的轻微提示（主色系、圆角胶囊、悬浮于顶部中央） */
.plaza-update-bar{
  position:fixed; left:50%; top:72px; transform:translateX(-50%) translateY(-14px);
  z-index:200; display:flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.97); border:1px solid rgba(224,122,95,.4);
  color:var(--color-primary-dark,#C96A52);
  padding:.5rem .9rem; border-radius:999px;
  box-shadow:0 6px 22px rgba(224,122,95,.2);
  font-size:.9rem; font-weight:600; cursor:pointer; outline:none;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease, box-shadow .25s ease;
  -webkit-backdrop-filter:saturate(1.1) blur(2px); backdrop-filter:saturate(1.1) blur(2px);
}
.plaza-update-bar.show{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); pointer-events:auto; }
.plaza-update-bar:focus-visible{ box-shadow:0 0 0 3px rgba(224,122,95,.35), 0 6px 22px rgba(224,122,95,.2); }
.plaza-update-bar:hover{ box-shadow:0 8px 26px rgba(224,122,95,.32); }
.plaza-update-bar .plaza-update-text{ white-space:nowrap; }
.plaza-update-bar .plaza-update-close{
  border:none; background:transparent; color:inherit; opacity:.55;
  font-size:1.05rem; line-height:1; cursor:pointer; padding:0 .1rem 0 .35rem;
}
.plaza-update-bar .plaza-update-close:hover{ opacity:1; }
@media (max-width:600px){
  .plaza-update-bar{ top:64px; font-size:.82rem; padding:.45rem .8rem; width:calc(100% - 24px); max-width:360px; }
}
.debate-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;
}
.debate-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0.75rem;padding:3.5rem 1rem;text-align:center;
  color:var(--color-text-muted,#9a8f88);
}
.debate-empty-emoji{font-size:2.75rem;line-height:1;opacity:0.85;}
.debate-empty-text{margin:0;font-size:0.98rem;}
.debate-list-card{
  /* 定位上下文：卡片内 .dc-badge-wrap（状态/形式/推广徽标）为 absolute，
     必须相对卡片定位；否则会脱离到文档左上角被导航栏遮住，导致徽标全部不显示 */
  position:relative;
  background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);
  overflow:hidden;transition:transform 0.2s ease, box-shadow 0.2s ease;
  border:1px solid transparent;
}
.debate-list-card:hover{
  transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(224,122,95,0.2);
}
.dc-badge-wrap{position:absolute;top:10px;left:10px;z-index:3;display:flex;gap:0.4rem;}
.dc-status{
  padding:0.15rem 0.55rem;border-radius:12px;font-size:0.7rem;font-weight:700;
  backdrop-filter:blur(8px);
}
.dc-live{background:rgba(231,76,60,0.9);color:#fff;animation:pulse-live 2s infinite;}
.dc-ended{background:rgba(120,120,120,0.85);color:#fff;}
@keyframes pulse-live{
  0%,100%{opacity:1;}50%{opacity:0.65;}
}
.dc-type{
  padding:0.15rem 0.5rem;border-radius:12px;font-size:0.7rem;font-weight:600;
  backdrop-filter:blur(8px);
}
.dc-video{background:rgba(66,133,244,0.9);color:#fff;}
.dc-voice{background:rgba(155,89,182,0.9);color:#fff;}
.dc-text{background:rgba(82,182,154,0.9);color:#fff;}
.dc-cover{
  position:relative;height:180px;background:linear-gradient(135deg,var(--color-primary-light),var(--bg-warm));
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.dc-video-cover{background:linear-gradient(135deg,#2c3e50,#34495e);}
.dc-voice-cover{background:linear-gradient(135deg,#4a235a,#6c3483);}
.dc-text-cover{background:linear-gradient(135deg,#f5f0e8,#e8dfd0);}
.dc-cover.ended{filter:saturate(0.6);}
.dc-play-icon{
  width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,0.92);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--color-primary);
  cursor:pointer;transition:all 0.2s ease;z-index:2;
}
.dc-play-icon:hover{transform:scale(1.1);box-shadow:0 4px 20px rgba(224,122,95,0.4);}
.dc-text-icon{font-size:2.8rem;opacity:0.45;z-index:2;}
.dc-voice-icon{font-size:2.8rem;opacity:0.85;z-index:2;}
.dc-replay-icon{
  width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,0.92);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--text-secondary);
  z-index:2;
}
.dc-viewers{
  position:absolute;bottom:8px;right:8px;z-index:3;
  background:rgba(0,0,0,0.55);color:#fff;font-size:0.72rem;padding:0.2rem 0.55rem;border-radius:10px;
  backdrop-filter:blur(4px);
}
.dc-ended-info{
  position:absolute;bottom:8px;left:8px;z-index:3;
  background:rgba(224,122,95,0.9);color:#fff;font-size:0.75rem;font-weight:600;padding:0.2rem 0.6rem;border-radius:10px;
}
.dc-link{text-decoration:none;color:inherit;display:block;}
.dc-body{padding:1rem 1.15rem;}
.dc-title{
  font-size:1.05rem;font-weight:700;color:var(--text-primary);
  margin-bottom:0.5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.dc-meta{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;
  font-size:0.78rem;flex-wrap:wrap;gap:0.3rem;
}
.dc-participants{color:var(--text-secondary);white-space:nowrap;}
.dc-time{color:var(--text-light);white-space:nowrap;flex-shrink:0;}
/* 流局（到点无人主持、系统自动结束）说明文字 */
.dc-nocontest{color:#b5765c;font-weight:600;white-space:nowrap;}
.dc-preview{
  font-size:0.81rem;color:var(--text-secondary);line-height:1.55;
  margin-bottom:0.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.dc-tags{display:flex;flex-wrap:wrap;gap:0.3rem;margin-bottom:0.6rem;}
.dc-tag{
  display:inline-block;padding:0.12rem 0.5rem;border-radius:10px;
  font-size:0.7rem;background:rgba(224,122,95,0.08);color:var(--color-primary-dark);
  border:1px solid rgba(224,122,95,0.12);
}
.dc-tag-highlight{background:rgba(255,193,7,0.15);color:#b8860b;border-color:rgba(255,193,7,0.25);}
.dc-tag-lock{background:#fff4ef;color:var(--color-primary);border-color:rgba(224,122,95,0.35);font-weight:600;}
.dc-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:0.55rem;border-top:1px solid rgba(0,0,0,0.05);
  font-size:0.75rem;color:var(--text-light);
}
.dc-host{display:flex;align-items:center;gap:0.35rem;}
.dc-host-avatar{
  width:22px;height:22px;border-radius:50%;background:var(--color-primary);color:#fff;
  font-size:0.6rem;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;
}
.dc-stats-row{display:flex;gap:0.6rem;flex-wrap:wrap;}
@media(max-width:991.98px){
  .debate-grid{grid-template-columns:1fr;}
  .dc-cover{height:160px;}
}
@media(max-width:767.98px){
  .debate-list-header h1{font-size:1.3rem;}
  .debate-stats{gap:1.25rem;}
  .stat-item strong{font-size:1.15rem;}
  .dc-cover{height:150px;}
  .dc-body{padding:0.85rem 1rem;}
  .dc-title{font-size:0.95rem;}
  .dc-preview{-webkit-line-clamp:1;}
  .filter-tabs{padding:0.6rem 0;}
  .filter-tab{padding:0.32rem 0.8rem;font-size:0.8rem;}
}
/* 即将开始状态 */
.dc-upcoming{
  background:rgba(52,152,219,0.9);color:#fff;
}
.dc-upcoming-cover{
  background:linear-gradient(135deg,#1a2a4a,#2c3e5a);
  flex-direction:column;gap:0.4rem;
}
.dc-schedule-icon{font-size:1.6rem;opacity:0.7;z-index:2;}
.dc-start-time{
  color:#fff;font-size:0.88rem;font-weight:600;opacity:0.95;z-index:2;
}
.dc-countdown{
  display:flex;align-items:center;gap:0.25rem;z-index:2;
}
.cd-num{
  background:rgba(255,255,255,0.18);color:#fff;
  padding:0.15rem 0.45rem;border-radius:6px;font-size:0.78rem;font-weight:700;
  backdrop-filter:blur(4px);
}
.cd-sep{color:rgba(255,255,255,0.55);font-weight:700;font-size:0.85rem;}
.btn-signup{
  border:none;background:var(--color-primary);color:#fff;
  font-size:0.75rem;padding:0.28rem 0.85rem;border-radius:16px;
  cursor:pointer;font-weight:600;white-space:nowrap;
  transition:all 0.15s ease;flex-shrink:0;
}
.btn-signup:hover{background:var(--color-primary-dark);transform:scale(1.05);}
.btn-signed{
  background:#52c41a !important;color:#fff;
}
/* 发起人（房主）标识：不可报名自己的辩论，仅作状态展示 */
.btn-signup.btn-owner{
  background:#fff3ef;color:var(--color-primary);
  border:1px solid rgba(224,122,95,0.35);
  cursor:default;
}
.btn-signup.btn-owner:hover{background:#fff3ef;transform:none;}

/* ===== 排名推广：卡片入口 + 出价弹窗 ===== */
.dc-card-actions{display:inline-flex;align-items:center;gap:0.45rem;}
.btn-promote{
  border:1px solid rgba(224,122,95,0.45);background:#fff;color:var(--color-primary);
  border-radius:999px;padding:0.28rem 0.72rem;font-size:0.78rem;font-weight:600;
  cursor:pointer;transition:all .18s;white-space:nowrap;
}
.btn-promote:hover{background:#fff3ef;}
.btn-promote.is-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.btn-promote.is-active:hover{opacity:.9;}
.dc-status.dc-promoted{background:linear-gradient(135deg,#ff9a5a,#e0763f);color:#fff;}

.pm-modal{max-width:540px;}
.pm-info{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:#faf7f5;border:1px solid #f2e8e2;border-radius:10px;
  padding:0.6rem 0.8rem;font-size:0.82rem;color:#7a6a63;margin-bottom:1rem;
}
.pm-info strong{color:var(--color-primary);}
.pm-field{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:0.9rem;}
.pm-field > label{font-size:0.85rem;font-weight:600;color:#4a3f3a;}
.pm-field input{
  width:100%;padding:0.55rem 0.75rem;border:1px solid #e8ddd6;border-radius:10px;
  font-size:0.9rem;outline:none;transition:border-color .18s;
}
.pm-field input:focus{border-color:var(--color-primary);}
.pm-quick{display:flex;gap:0.45rem;flex-wrap:wrap;}
.pm-quick button{
  border:1px solid #e8ddd6;background:#fff;color:#7a6a63;border-radius:999px;
  padding:0.24rem 0.7rem;font-size:0.78rem;cursor:pointer;transition:all .18s;
}
.pm-quick button:hover{border-color:var(--color-primary);color:var(--color-primary);background:#fff3ef;}
.pm-rule{
  background:#fff8f6;border:1px solid rgba(224,122,95,0.22);border-radius:10px;
  padding:0.6rem 0.75rem;font-size:0.76rem;line-height:1.6;color:#8a7a72;
}
.pm-rule strong{color:var(--color-primary);}
@media(max-width:575.98px){
  .pm-info{flex-direction:column;gap:0.3rem;}
}
.btn-signed:hover{background:#389e0d!important;}
.dc-clickable-result{cursor:pointer;}

/* 辩论结果弹窗 */
.result-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,0.55);z-index:9999;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity 0.25s ease;
  padding:1rem;
}
.result-modal{
  background:#fff;border-radius:16px;width:100%;max-width:640px;
  max-height:90vh;overflow-y:auto;
  box-shadow:0 20px 60px rgba(0,0,0,0.25);
  padding:1.75rem;position:relative;
  animation:resultIn 0.3s ease;
}
@keyframes resultIn{
  from{opacity:0;transform:translateY(20px) scale(0.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.result-close{
  position:absolute;top:12px;right:14px;width:32px;height:32px;
  border-radius:50%;border:none;background:rgba(0,0,0,0.06);
  font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all 0.15s;line-height:1;
}
.result-close:hover{background:rgba(231,76,60,0.1);color:#e74c3c;}
.result-header{
  text-align:center;margin-bottom:1.25rem;padding-bottom:1rem;
  border-bottom:1px solid var(--border-color);
}
.result-header h3{
  font-size:1.2rem;margin-bottom:0.35rem;line-height:1.4;
  color:var(--text-primary);
}
.result-type{
  display:inline-block;font-size:0.75rem;background:var(--bg-warm);
  color:var(--text-secondary);padding:0.15rem 0.6rem;border-radius:10px;margin-bottom:0.4rem;
}
.result-winner{
  display:inline-block;font-size:0.9rem;font-weight:700;padding:0.3rem 1rem;border-radius:20px;
  margin-top:0.3rem;
}
.result-winner-pro{background:rgba(66,133,244,0.1);color:#2962ff;}
.result-winner-con{background:rgba(244,67,54,0.1);color:#d32f2f;}
.result-winner-draw{background:rgba(255,193,7,0.15);color:#b8860b;}
.result-scoreboard{
  display:flex;align-items:center;gap:0.75rem;margin-bottom:1.25rem;
  background:linear-gradient(135deg,#fafafa,#f0f0f0);
  border-radius:12px;padding:1rem 1.25rem;
}
.score-side{flex:1;text-align:center;}
.score-label{font-size:0.82rem;font-weight:700;margin-bottom:0.4rem;}
.pro .score-label{color:#2962ff;}
.con .score-label{color:#d32f2f;}
.score-bar-wrap{
  height:10px;background:rgba(200,200,200,0.4);border-radius:5px;overflow:hidden;
  margin-bottom:0.3rem;
}
.score-bar{
  height:100%;border-radius:5px;transition:width 0.6s ease;
}
.score-bar-pro{background:linear-gradient(90deg,#42a5f5,#2962ff);}
.score-bar-con{background:linear-gradient(90deg,#ef5350,#d32f2f);}
.score-vs{
  font-size:0.85rem;font-weight:800;color:var(--text-light);
  padding:0 0.25rem;
}
.score-pct{font-size:0.8rem;font-weight:700;}
.result-detail-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;
}
.detail-block{
  background:#FAFAFA;border-radius:10px;padding:0.85rem 1rem;
}
.detail-block h4{font-size:0.83rem;margin-bottom:0.5rem;color:var(--text-primary);}
.detail-table{width:100%;font-size:0.78rem;border-collapse:collapse;}
.detail-table td{padding:0.22rem 0;color:var(--text-secondary);}
.detail-table td:first-child{width:70px;color:var(--text-light);white-space:nowrap;}
.team-list{font-size:0.8rem;color:var(--text-secondary);}
.team-item{margin-bottom:0.25rem;line-height:1.5;}
.team-item strong{color:var(--text-primary);}
.result-highlight{
  background:rgba(224,122,95,0.04);border-left:3px solid var(--color-primary);
  border-radius:0 8px 8px 0;padding:0.75rem 1rem;margin-bottom:1rem;
}
.result-highlight h4{font-size:0.83rem;margin-bottom:0.35rem;color:var(--color-primary-dark);}
.result-highlight p{font-size:0.82rem;color:var(--text-secondary);line-height:1.65;margin:0;}
.result-arguments{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;
}
.arg-col{background:#FAFAFA;border-radius:10px;padding:0.85rem 1rem;}
.arg-col h4{font-size:0.82rem;margin-bottom:0.45rem;}
.pro h4{color:#2962ff;}
.con h4{color:#d32f2f;}
.arg-col ul{list-style:none;padding:0;margin:0;}
.arg-col li{
  position:relative;padding-left:1.1em;font-size:0.78rem;
  color:var(--text-secondary);line-height:1.7;margin-bottom:0.15rem;
}
.arg-col li::before{content:'•';position:absolute;left:0;font-weight:700;}
.pro li::before{color:#2962ff;}
.con li::before{color:#d32f2f;}
.result-actions{text-align:center;padding-top:0.5rem;}
@media(max-width:575.98px){
  .result-modal{padding:1.25rem;}
  .result-detail-grid,.result-arguments{grid-template-columns:1fr;}
  .result-scoreboard{flex-direction:row;gap:0.5rem;padding:0.75rem;}
  .score-bar-wrap{height:8px;}
  .result-header h3{font-size:1.05rem;}
}

/* 发起辩论弹窗 */
.db-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,0.55);z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:1rem;
  opacity:0;transition:opacity 0.25s ease;
}
.db-modal{
  background:#fff;border-radius:16px;width:100%;max-width:960px;
  max-height:90vh;overflow-y:auto;padding:1.75rem 2rem;position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,0.3);
}
.db-close{position:absolute;top:0.8rem;right:1rem;background:none;border:none;font-size:1.7rem;line-height:1;color:#aaa;cursor:pointer;}
.db-close:hover{color:#333;}
.db-modal h3{font-size:1.25rem;font-weight:700;margin-bottom:0.25rem;}
.db-sub{color:var(--text-secondary);font-size:0.85rem;margin-bottom:1.1rem;}
.db-err{color:#d32f2f;font-size:0.85rem;min-height:1.1rem;margin-bottom:0.4rem;}
.db-field{margin-bottom:1rem;}
.db-field label{display:block;font-weight:600;margin-bottom:0.35rem;font-size:0.9rem;}
.db-field .req{color:#e07a5f;margin-left:2px;}
.db-field input,.db-field select,.db-field textarea{
  width:100%;border:1px solid #e3e3e3;border-radius:10px;padding:0.6rem 0.75rem;
  font-size:0.95rem;font-family:inherit;background:#fff;color:#333;
}
.db-field input:focus,.db-field select:focus,.db-field textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(224,122,95,0.12);
}
.db-field textarea{resize:vertical;min-height:80px;}
.db-row{display:flex;gap:0.75rem;flex-wrap:wrap;}
.db-row .db-field{flex:1;min-width:0;}
/* 宽屏分区布局：左「基础信息」/ 右「辩手报名条件」，窄屏自动堆叠 */
.db-grid{display:grid;grid-template-columns:1.08fr 0.92fr;gap:1.25rem;align-items:start;}
.db-section{background:#faf7f5;border:1px solid #f2e8e2;border-radius:14px;padding:1.1rem 1.2rem;}
.db-section-head{display:flex;align-items:center;gap:0.45rem;font-size:0.95rem;font-weight:700;color:var(--color-primary);margin-bottom:0.9rem;}
.db-section-head::before{content:"";width:4px;height:15px;border-radius:2px;background:var(--color-primary);}
.db-section-desc{font-size:0.8rem;color:#999;margin:-0.35rem 0 0.75rem;}
.db-section .db-field:last-child{margin-bottom:0;}
.db-hint{font-size:0.78rem;color:#999;margin-top:0.3rem;}
.db-actions{display:flex;gap:0.75rem;margin-top:1.25rem;justify-content:flex-end;}
.db-actions .btn{min-width:150px;}
.db-check{display:flex;align-items:center;gap:0.4rem;font-weight:500;margin:0.3rem 0;font-size:0.92rem;cursor:pointer;}
.db-check input{width:auto;}
.db-inline{display:flex;align-items:center;gap:0.25rem;font-weight:500;margin-top:0.5rem;font-size:0.92rem;}
.db-inline input{width:110px;display:inline-block;margin-left:0.3rem;}
.db-link{color:var(--color-primary);text-decoration:underline;cursor:pointer;}
.db-agree-field{background:#fff8f6;border:1px solid rgba(224,122,95,0.25);border-radius:10px;padding:0.6rem 0.75rem;}
.ag-content{max-height:46vh;overflow-y:auto;font-size:0.9rem;line-height:1.7;color:#333;padding-right:0.3rem;}
.ag-content h4{font-size:0.98rem;margin:0.9rem 0 0.35rem;color:var(--color-primary);}
.ag-content h4:first-child{margin-top:0;}
.ag-content p{margin:0 0 0.6rem;}
.ag-key{color:#e53935;font-weight:700;}
@media(max-width:899.98px){
  .db-grid{grid-template-columns:1fr;}
  .db-modal{max-width:620px;}
}
@media(max-width:575.98px){
  .db-modal{padding:1.25rem;}
  .db-section{padding:0.9rem 0.95rem;}
  .db-inline{flex-wrap:wrap;}
  .db-actions{flex-direction:column;}
  .db-actions .btn{width:100%;min-width:0;}
}

/* ========================================
   Page: Login/Register（注册登录）
   Source: login.shtml inline styles
   ======================================== */
.progress-dot{width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;background:var(--border-color);color:var(--text-light);font-size:0.78rem;font-weight:600;display:inline-block;}
.progress-dot.active{background:var(--color-primary);color:#fff;}
.progress-line{height:2px;background:var(--border-color);position:relative;top:-1px;}
.profile-label{display:block;font-size:0.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:0.25rem;}
.required{color:var(--color-primary);}
.gender-option{
  display:flex;align-items:center;gap:0.35rem;padding:0.55rem 1.5rem;
  border:2px solid var(--border-color);border-radius:25px;
  cursor:pointer;transition:all 0.15s ease;font-size:0.92rem;user-select:none;flex:1;justify-content:center;
}
.gender-option:hover{border-color:var(--color-primary-light);}
.gender-option input[type="radio"]{accent-color:var(--color-primary);}
.gender-option:has(input:checked){border-color:var(--color-primary);background:rgba(224,122,95,0.06);}
.hobby-tags{display:flex;flex-wrap:wrap;gap:0.35rem;}
.hobby-tags .hobby-tag{
  display:inline-block;padding:0.25rem 0.65rem;border-radius:16px;font-size:0.76rem;
  cursor:pointer;transition:all 0.15s ease;border:1px solid var(--border-color);
  color:var(--text-secondary);background:#fff;user-select:none;
}
.hobby-tags .hobby-tag:hover{border-color:var(--color-primary-light);}
.hobby-tags .hobby-tag.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}

/* ========================================
   Page: User Detail（用户详情）
   Source: detail.shtml inline styles
   ======================================== */
.ud-page{background:#f5f0eb;padding-bottom:70px;}
@media(min-width:992px){.ud-page{padding-bottom:0;}}
.ud-hero{background:linear-gradient(180deg,#fff 0%,#fdf8f4 100%);padding-top:1rem;}
@media(min-width:992px){
  .ud-hero .container,.ud-body .container{padding:0 !important;max-width:1600px !important;width:1600px !important;}
  .ud-hero .container{display:flex;align-items:flex-start;gap:1.25rem;}
  .ud-photo-section{display:flex;gap:10px;flex-wrap:nowrap;flex-shrink:0;margin:0 !important;max-width:none !important;align-items:flex-start;}
  .ud-photo-main{flex-shrink:0;margin:0 !important;padding:0 !important;flex-shrink:0;}
  .ud-photo-main img{width:770px !important;max-width:none !important;height:auto !important;aspect-ratio:5/4 !important;}
  .ud-gallery{flex-direction:column;gap:8px;padding:0;flex-shrink:0;}
  .ud-thumb{width:130px !important;height:145px !important;}
  .ud-info-card{margin:0;flex:1;min-width:0;overflow:hidden;max-width:none !important;width:0 !important;display:flex;flex-direction:column;}
}
.ud-photo-section{max-width:720px;}
.ud-photo-main{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(135deg,#e8ddd4,#d4cabb);}
.ud-photo-main img{width:100%;height:auto;display:block;object-fit:contain;aspect-ratio:16/9;background:#faf7f4;}
.ud-photo-badge{position:absolute;top:12px;left:12px;background:rgba(0,0,0,0.5);color:#fff;font-size:0.72rem;padding:0.2rem 0.6rem;border-radius:12px;backdrop-filter:blur(4px);}
.ud-back-btn{position:absolute;top:12px;left:12px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.9);border:none;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.12);z-index:2;transition:transform 0.15s;}
.ud-back-btn:hover{transform:scale(1.1);}
.ud-photo-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:2;}
.ud-action-icon{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.95rem;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:transform 0.15s;}
.ud-action-icon:hover{transform:scale(1.1);}
.ud-gallery{display:flex;gap:8px;padding:10px 0 4px;flex-wrap:wrap;}
.ud-thumb{width:64px;height:80px;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color 0.2s;flex-shrink:0;}
.ud-thumb-active{border-color:var(--color-primary);}
.ud-thumb-img{width:100%;height:100%;background-size:cover;background-position:center;}
.ud-thumb-1{background:linear-gradient(135deg,#f093fb,#f5576c);}
.ud-thumb-2{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.ud-thumb-3{background:linear-gradient(135deg,#a8edea,#fed6e3);}
.ud-thumb-4{background:linear-gradient(135deg,#d299c2,#fef9d7);}
.ud-info-card{background:#fff;border-radius:var(--radius-md);padding:1.2rem 1.5rem;margin:0 auto 1.5rem;max-width:720px;box-shadow:var(--shadow-sm);border:1px solid rgba(224,122,95,0.08);}
.ud-top-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;}
.ud-name-row{display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;}
.ud-name{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3;}
.ud-age{font-size:0.92rem;color:var(--text-secondary);font-weight:500;}
.ud-zodiac{font-size:0.75rem;background:rgba(224,122,95,0.08);color:#C96A52;padding:0.1rem 0.45rem;border-radius:8px;}
.ud-badges{display:flex;flex-wrap:wrap;gap:6px;}
.ud-badge{font-size:0.72rem;font-weight:600;padding:0.18rem 0.55rem;border-radius:8px;white-space:nowrap;}
.ud-badge-phone{background:rgba(129,178,154,0.1);color:#5a9e7a;}
.ud-badge-pay{background:rgba(242,204,143,0.2);color:#b08d0e;}
.ud-badge-vip{background:rgba(224,122,95,0.1);color:#E07A5F;}
.ud-location-row{font-size:0.82rem;color:var(--text-secondary);margin:0.6rem 0 1rem;line-height:1.4;}
.basic-info-grid{display:grid;grid-template-columns:repeat(6,1fr)!important;gap:0.75rem 1rem;}
.basic-info-item{display:flex!important;flex-direction:column;gap:0.5rem!important;}
.mate-pref-grid{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:0.75rem 1rem!important;}
.mate-pref-item{display:flex!important;flex-direction:column!important;gap:0.5rem!important;position:relative!important;width:100%!important;}

/* 强制覆盖Bootstrap Grid - 确保6列布局 */
.mate-pref-grid .col-md-3,
.mate-pref-grid .col-md-4,
.mate-pref-grid .col-md-6,
.mate-pref-grid .row {
  display: contents !important;
}
.ud-basic-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem 1.5rem;}
.ud-basic-item{display:flex;flex-direction:column;gap:2px;}
.ud-basic-label{font-size:0.75rem;color:var(--text-light);}
.ud-basic-value{font-size:0.84rem;color:var(--text-primary);font-weight:500;}
.ud-status-single{color:var(--color-primary);}
.ud-action-bar{display:flex;gap:0.65rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid #f0ebe5;}
.ud-btn{flex:1;padding:0.55rem 0;text-align:center;border-radius:14px;font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s;border:1.5px solid;user-select:none;}
.ud-btn-flower{background:#FFF5F5;color:#E74C3C;border-color:#ffdde0;}
.ud-btn-flower:hover{background:#ffe0e0;color:#c0392b;}
.ud-btn-greet{background:#F0F8FF;color:#3498DB;border-color:#d6eaff;}
.ud-btn-greet:hover{background:#dff0ff;color:#2980b9;}
.ud-btn-follow{background:#fff;color:var(--color-primary);border-color:var(--color-primary-light);}
.ud-btn-follow:hover{background:rgba(224,122,95,0.05);}
.ud-btn-follow.followed{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.qac-follow-btn.following{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.ud-body{padding:1rem 0 2rem;}
.ud-layout{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;align-items:start;}
.ud-main{min-width:0;}
.ud-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1.15rem;overflow:hidden;border:1px solid transparent;transition:box-shadow 0.2s;}
.ud-card:hover{box-shadow:var(--shadow-md);}
.ud-card-title{margin:0;padding:0.9rem 1.3rem 0.6rem;font-size:1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:0.5rem;border-bottom:1px solid #f5f0ea;}
.ud-card-icon{font-size:1.1rem;}
.ud-card-body{padding:0.9rem 1.3rem 1.2rem;}
.ud-intro-text{font-size:0.87rem;color:var(--text-secondary);line-height:1.8;margin:0 0 0.8rem;}
.ud-intro-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.8rem;}
.intro-tag{font-size:0.75rem;padding:0.22rem 0.6rem;border-radius:16px;background:rgba(224,122,95,0.06);color:#C96A52;border:1px solid rgba(224,122,95,0.12);}
.ud-video-link{display:inline-flex;align-items:center;gap:4px;font-size:0.82rem;color:var(--color-primary);font-weight:500;text-decoration:none;padding:0.4rem 0.8rem;background:rgba(224,122,95,0.05);border-radius:12px;transition:background 0.2s;}
.ud-video-link:hover{background:rgba(224,122,95,0.1);}
.expect-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem 1.2rem;margin-bottom:0.8rem;}
.expect-item{display:flex;flex-direction:column;gap:2px;}
.expect-label{font-size:0.75rem;color:var(--text-light);}
.expect-value{font-size:0.85rem;color:var(--text-primary);font-weight:600;}
.expect-tags-area{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem;line-height:1.8;}
.expect-tags-area strong{font-size:0.82rem;color:var(--text-primary);white-space:nowrap;}
.expect-tag{font-size:0.73rem;padding:0.2rem 0.55rem;border-radius:14px;background:linear-gradient(135deg,#fff5f5,#ffe8e8);color:#c0392b;border:1px solid rgba(192,57,43,0.1);}
/* 编辑页「希望TA」标签多选（chip） */
.expect-tag-chip{font-size:0.8rem;padding:0.35rem 0.8rem;border-radius:16px;background:#f9f7f5;color:var(--text-primary);border:1.5px solid #e5e0da;cursor:pointer;user-select:none;transition:all 0.2s ease;}
.expect-tag-chip:hover{transform:translateY(-2px);border-color:#E07A5F;color:#E07A5F;box-shadow:0 4px 12px rgba(224,122,95,0.18);}
.expect-tag-chip.selected{background:linear-gradient(135deg,#E07A5F,#C96A52);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(224,122,95,0.35);}
.life-table{width:100%;border-collapse:collapse;}
.life-table tr{border-bottom:1px dashed #f0ebe5;}
.life-table tr:last-child{border-bottom:none;}
.life-table td{padding:0.55rem 0.3rem;font-size:0.83rem;vertical-align:top;}
.life-label{width:105px;color:var(--text-light);white-space:nowrap;font-weight:500;}
.life-value{color:var(--text-secondary);line-height:1.6;}
.life-personality{display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem;margin-top:0.8rem;padding-top:0.7rem;border-top:1px dashed #f0ebe5;}
.personality-label{font-size:0.82rem;font-weight:600;color:var(--text-primary);}
.personality-tag{font-size:0.73rem;padding:0.2rem 0.55rem;border-radius:14px;font-weight:500;}
.p-warm{background:rgba(224,122,95,0.1);color:#c0392b;}
.p-funny{background:rgba(255,193,7,0.12);color:#b8860b;}
.p-direct{background:rgba(79,172,254,0.1);color:#1565c0;}
.p-gentle{background:rgba(155,89,182,0.1);color:#7d3c98;}
.p-positive{background:rgba(76,175,80,0.1);color:#2e7d32;}
.work-timeline{position:relative;padding-left:24px;margin-bottom:1rem;border-left:2px solid rgba(224,122,95,0.15);}
.work-item{position:relative;margin-bottom:1.2rem;}
.work-item:last-child{margin-bottom:0;}
.work-dot{position:absolute;left:-29px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--color-primary-light);border:2px solid #fff;box-shadow:0 0 0 2px var(--color-primary-light);}
.work-current .work-dot{background:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary);}
.work-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.3rem;}
.work-role{font-size:0.88rem;font-weight:700;color:var(--text-primary);}
.work-time{font-size:0.75rem;color:var(--text-light);}
.work-company{font-size:0.8rem;color:var(--color-primary);margin:2px 0;}
.work-desc{font-size:0.8rem;color:var(--text-secondary);margin:0;line-height:1.6;}
.edu-row{display:flex;align-items:center;gap:0.6rem;padding:0.7rem 0.8rem;background:var(--bg-warm);border-radius:12px;}
.edu-icon{font-size:1.3rem;}
.edu-info{display:flex;flex-direction:column;}
.edu-info strong{font-size:0.85rem;color:var(--text-primary);}
.edu-info span{font-size:0.75rem;color:var(--text-light);}
.loveview-quote{margin:0.8rem 0 0;padding:0.8rem 1rem;background:linear-gradient(135deg,#fff9fb,#fff0f5);border-left:3px solid #E91E63;border-radius:0 10px 10px 0;font-size:0.84rem;color:var(--text-secondary);font-style:italic;line-height:1.7;}
.posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem;}
.post-item{border-radius:12px;overflow:hidden;background:#fafafa;border:1px solid #f0ebe5;transition:transform 0.2s;}
.post-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.post-wide{grid-column:span 2;}
.post-img{width:100%;height:130px;background-size:cover;background-position:center;}
.post-wide .post-img{height:160px;}
.post-img-1{background:linear-gradient(135deg,#ffecd2,#fcb69f);}
.post-img-2{background:linear-gradient(135deg,#a1c4fd,#c2e9fb);}
.post-img-3{background:linear-gradient(135deg,#d4fc79,#96e6a1);}
.post-img-4{background:linear-gradient(135deg,#fbc2eb,#a6c1ee);}
.post-caption{font-size:0.78rem;color:var(--text-primary);padding:0.45rem 0.6rem 0.15rem;font-weight:500;}
.post-meta{font-size:0.7rem;color:var(--text-light);padding:0 0.6rem 0.5rem;}
.ud-more-link{font-size:0.82rem;color:var(--color-primary);text-decoration:none;font-weight:500;}
.ud-sidebar{position:sticky;top:70px;}
.ud-rec-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:1rem;border:1px solid transparent;}
.ud-rec-header{display:flex;justify-content:space-between;align-items:center;padding:0.8rem 1.1rem 0.5rem;}
.ud-rec-header h4{margin:0;font-size:0.92rem;font-weight:700;color:var(--text-primary);}
.ud-rec-header a{font-size:0.78rem;color:var(--color-primary);text-decoration:none;font-weight:500;}
.rec-user{display:flex;align-items:center;gap:0.65rem;padding:0.6rem 1.1rem;text-decoration:none;transition:background 0.15;border-top:1px solid #fafafa;}
.rec-user:hover{background:#fafafa;}
.rec-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;background-size:cover;background-position:center;}
.rec-avatar-1{background:linear-gradient(135deg,#667eea,#764ba2);}
.rec-avatar-2{background:linear-gradient(135deg,#f093fb,#f5576c);}
.rec-avatar-3{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.rec-avatar-4{background:linear-gradient(135deg,#43e97b,#38f9d7);}
.rec-avatar-5{background:linear-gradient(135deg,#fa709a,#fee140);}
.rec-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.rec-name{font-size:0.83rem;font-weight:600;color:var(--text-primary);}
.rec-name small{color:var(--text-light);font-weight:400;font-size:0.75rem;}
.rec-desc{font-size:0.72rem;color:var(--text-secondary);}
.rec-match{font-size:0.7rem;color:var(--color-primary);font-weight:500;}

/* 辩论房间：本地摄像头/麦克风预览 */
.room-media-preview{margin:0.75rem 0;text-align:center;}
.room-local-video{width:100%;max-width:420px;border-radius:12px;background:#000;aspect-ratio:16/9;object-fit:cover;box-shadow:0 6px 20px rgba(0,0,0,0.18);}
.room-media-tip{font-size:0.8rem;color:var(--text-secondary);margin-top:0.45rem;}

/* ==================== 辩论实时房间（WebRTC）==================== */
.debate-room{background:#0f1115;min-height:100vh;color:#eee;}
.room-header{background:#171a21;border-bottom:1px solid #262b36;position:sticky;top:0;z-index:10;}
.room-header .room-back{color:#cfd6e4;text-decoration:none;}
.room-size{background:rgba(224,122,95,0.15);color:#e07a5f;}
.room-main{padding:1rem 0 2rem;}
.vr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.75rem;margin-bottom:1rem;}
.vr-empty{grid-column:1/-1;text-align:center;color:#6b7280;padding:2.5rem 1rem;border:1px dashed #2a2f3a;border-radius:14px;}
.vr-tile{position:relative;background:#000;border-radius:14px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 4px 16px rgba(0,0,0,0.4);}
.vr-tile video{width:100%;height:100%;object-fit:cover;background:#000;display:block;}
.vr-tile-cap{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,0.55);color:#fff;font-size:0.78rem;padding:0.15rem 0.55rem;border-radius:10px;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vr-tile-local{border:2px solid var(--color-primary);}
.vr-tile-host{position:absolute;left:8px;top:8px;z-index:3;background:linear-gradient(135deg,#e07a5f,#d05a3f);color:#fff;font-size:0.7rem;font-weight:700;letter-spacing:0.02em;padding:0.14rem 0.5rem;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.35);}
.room-host-badge{background:rgba(224,122,95,0.18);color:#e07a5f;border:1px solid rgba(224,122,95,0.45);border-radius:12px;padding:0.12rem 0.55rem;font-size:0.78rem;font-weight:600;margin-left:0.4rem;white-space:nowrap;}
.vr-tile-audio video{visibility:hidden;position:absolute;width:100%;height:100%;}
.vr-tile-avatar{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.6rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.4);background:radial-gradient(circle at 50% 36%,#5b6b8c,#2c3550);}
.vr-tile{transition:box-shadow 0.15s ease;}
@keyframes vrSpeakPulse{0%{box-shadow:0 0 0 3px #3ec06a,0 0 10px rgba(62,192,106,0.4);}50%{box-shadow:0 0 0 3px #3ec06a,0 0 20px rgba(62,192,106,0.75);}100%{box-shadow:0 0 0 3px #3ec06a,0 0 10px rgba(62,192,106,0.4);}}
.vr-tile.vr-speaking{animation:vrSpeakPulse 1.1s ease-in-out infinite;}
.vr-tile.vr-speaking .vr-tile-cap{color:#8fe6a6;}
.vr-tile.vr-speaking .vr-tile-cap::before{content:'🔊 说话中 · ';color:#3ec06a;font-weight:700;}
.room-controls{display:flex;gap:0.6rem;justify-content:center;flex-wrap:wrap;margin:0.5rem 0 1.25rem;}
.btn-room{background:var(--color-primary);color:#fff;border:none;border-radius:24px;padding:0.6rem 1.4rem;font-size:0.92rem;font-weight:600;cursor:pointer;transition:transform 0.15s,opacity 0.15s;}
.btn-room:hover{transform:translateY(-2px);}
.btn-room:disabled{opacity:0.5;cursor:not-allowed;transform:none;}
.btn-room-ghost{background:rgba(255,255,255,0.1);color:#eee;}
.btn-room-danger{background:#e74c3c;}
.btn-room-settle{background:#e9c46a;color:#22242a;}
.btn-room-settle:hover{opacity:0.9;}
.room-chat{max-width:560px;margin:0 auto;}
.vr-chat-log{height:320px;overflow-y:auto;background:#171a21;border:1px solid #262b36;border-radius:12px;padding:0.6rem 0.8rem;margin-bottom:0.5rem;font-size:0.85rem;color:#d7dce6;display:flex;flex-direction:column;gap:0.7rem;}
.vr-chat-line{display:flex;align-items:flex-start;gap:8px;max-width:100%;}
.vr-chat-line.vr-chat-self{flex-direction:row-reverse;align-items:flex-end;}
.vr-chat-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.8rem;color:#fff;background:linear-gradient(135deg,#5b6cff,#3a4ad6);user-select:none;cursor:pointer;overflow:hidden;}
.vr-chat-self .vr-chat-avatar{background:linear-gradient(135deg,#34c759,#28a745);}
/* 真实头像图片（席位小头像 / 语音大头像 / 聊天气泡头像） */
.vr-avatar-img{width:100%;height:100%;object-fit:cover;display:block;}
.vr-tile-avatar-sm .vr-avatar-img{border-radius:50%;}
.vr-tile-avatar .vr-avatar-img{border-radius:0;}
.vr-chat-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
.vr-chat-main{display:flex;flex-direction:column;max-width:78%;min-width:0;}
.vr-chat-line.vr-chat-self .vr-chat-main{align-items:flex-end;}
.vr-chat-name{font-size:0.72rem;color:#8b94a4;margin-bottom:3px;padding:0 2px;}
.vr-chat-body{background:#232833;border:1px solid #2c3340;border-radius:14px 14px 14px 4px;padding:0.5rem 0.7rem;max-width:100%;word-break:break-word;line-height:1.45;box-shadow:0 1px 2px rgba(0,0,0,.18);}
.vr-chat-self .vr-chat-body{background:#2c4a3e;border-color:#35604e;border-radius:14px 14px 4px 14px;}
.vr-chat-text{white-space:pre-wrap;}
.vr-chat-attach{margin-top:0.35rem;display:flex;flex-direction:column;gap:0.35rem;}
.chat-att-img{max-width:220px;max-height:220px;border-radius:8px;cursor:pointer;display:block;}
.chat-att-audio{max-width:240px;width:240px;height:36px;display:block;}
.chat-att-file{display:inline-flex;align-items:center;gap:0.3rem;background:rgba(255,255,255,0.06);border:1px solid #33404f;border-radius:10px;padding:0.35rem 0.6rem;color:#cfe3ff;text-decoration:none;font-size:0.82rem;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-att-file:hover{border-color:#4a90d9;}

/* 图片点击放大遮罩 */
.chat-img-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.82);display:flex;align-items:center;justify-content:center;z-index:1300;cursor:zoom-out;}
.chat-img-overlay img{max-width:92vw;max-height:92vh;border-radius:10px;}
.chat-file-card{background:#1b1f27;border:1px solid #2c333f;border-radius:14px;padding:1.1rem 1.3rem;min-width:240px;max-width:90vw;display:flex;flex-direction:column;gap:0.7rem;cursor:default;box-shadow:0 18px 50px rgba(0,0,0,0.5);}
.chat-file-title{color:#e6ebf2;font-size:0.95rem;font-weight:600;word-break:break-word;}
.chat-file-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.3rem;border-radius:10px;padding:0.5rem 0.8rem;font-size:0.85rem;text-decoration:none;cursor:pointer;}
.chat-file-dl{background:#2c4a3e;border:1px solid #35604e;color:#d7f0e2;}
.chat-file-dl:hover{border-color:#4a90d9;}
.chat-file-nw{background:rgba(255,255,255,0.06);border:1px solid #33404f;color:#cfe3ff;}
.chat-file-nw:hover{border-color:#4a90d9;}

/* 聊天输入区：表情 / 图片 / 语音 / 文件 */
.chat-composer{position:relative;background:#171a21;border:1px solid #262b36;border-radius:14px;padding:0.5rem;}
.chat-toolbar{display:flex;gap:0.3rem;margin-bottom:0.4rem;}
.chat-tool{width:34px;height:34px;border:1px solid #2c333f;background:#1f242d;border-radius:9px;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;}
.chat-tool:hover{background:#262d38;border-color:#3a4350;}
/* 深色主题（辩论）表情面板配色 */
.chat-composer{--cc-emoji-bg:#1b2027;--cc-emoji-border:#2c333f;--cc-emoji-fg:#e6e9ef;--cc-emoji-hover:rgba(255,255,255,.08);}
.voice-rec{display:flex;align-items:center;gap:0.5rem;background:#2c2020;border:1px solid #5a3a34;border-radius:10px;padding:0.35rem 0.6rem;margin-bottom:0.4rem;font-size:0.82rem;color:#f0c9c0;}
.voice-rec[hidden]{display:none;}
.voice-dot{width:9px;height:9px;border-radius:50%;background:#e74c3c;animation:voicePulse 1s infinite;}
@keyframes voicePulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.voice-time{font-variant-numeric:tabular-nums;font-weight:600;}
.voice-tip{color:#cf9a92;}
.voice-rec button{border:none;border-radius:8px;padding:0.25rem 0.6rem;cursor:pointer;font-size:0.8rem;color:#fff;}
.voice-cancel{background:#52606b;}
.voice-send{background:#e07a5f;}
.attach-preview{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.4rem;}
.attach-preview[hidden]{display:none;}
.attach-chip{position:relative;width:58px;height:58px;border-radius:9px;overflow:hidden;border:1px solid #2c333f;background:#1f242d;display:flex;align-items:center;justify-content:center;}
.attach-chip img{width:100%;height:100%;object-fit:cover;}
.attach-ic{font-size:1.4rem;}
.attach-nm{position:absolute;left:2px;right:2px;bottom:2px;font-size:0.6rem;color:#cfd6e4;background:rgba(0,0,0,0.5);padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.attach-chip.attach-file{width:auto;max-width:150px;padding:0 0.5rem;gap:0.3rem;}
.attach-chip.attach-file .attach-nm{position:static;background:none;color:#cfd6e4;}
.attach-rm{position:absolute;top:1px;right:1px;width:16px;height:16px;border:none;border-radius:50%;background:rgba(0,0,0,0.65);color:#fff;font-size:0.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.chat-input-row{display:flex;gap:0.5rem;align-items:flex-end;}
.chat-input-row textarea{resize:none;min-height:40px;max-height:120px;flex:1 1 auto;}
.chat-send{flex:0 0 auto;height:40px;padding:0 1.1rem;}
@media(max-width:575.98px){.vr-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}}

/* 阵营席位（正方/反方/旁观） */
.vr-stage{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:0.75rem;}
.vr-side{background:#171a21;border:1px solid #262b36;border-radius:14px;padding:0.6rem 0.7rem;}
.vr-side-pro{border-top:3px solid #e07a5f;}
.vr-side-con{border-top:3px solid #4a90d9;}
.vr-side-head{font-weight:600;font-size:0.92rem;display:flex;align-items:center;gap:0.4rem;margin-bottom:0.5rem;color:#e7ecf5;}
.vr-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.vr-dot-pro{background:#e07a5f;}
.vr-dot-con{background:#4a90d9;}
.vr-side-count{margin-left:auto;background:rgba(255,255,255,0.08);border-radius:10px;padding:0 0.5rem;font-size:0.8rem;color:#cfd6e4;}
.vr-side-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.6rem;min-height:90px;}
.vr-side-grid:empty::after{content:'虚位以待';color:#5b6473;font-size:0.82rem;display:flex;align-items:center;justify-content:center;min-height:90px;}
.vr-audience{margin-bottom:0.75rem;background:#14171d;border:1px solid #262b36;border-radius:14px;padding:0.6rem 0.7rem;}
.vr-audience-label{font-size:0.85rem;color:#aab2c0;display:block;margin-bottom:0.45rem;}
.vr-audience-grid{min-height:0;}

/* 我的阵营 + 实时投票 */
.room-aside{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin:0.5rem 0 1rem;}
.room-panel{background:#171a21;border:1px solid #262b36;border-radius:14px;padding:0.7rem 0.8rem;}
.room-panel-title{font-size:0.85rem;color:#aab2c0;margin-bottom:0.55rem;}
.join-side-btns{display:flex;gap:0.45rem;flex-wrap:wrap;}
.btn-side{flex:1;min-width:70px;border:1px solid #2f3644;background:rgba(255,255,255,0.04);color:#d7dce6;border-radius:20px;padding:0.45rem 0.5rem;font-size:0.82rem;cursor:pointer;transition:all 0.15s;}
.btn-side:hover{border-color:#465062;}
.btn-side.active{color:#fff;border-color:transparent;}
.btn-side-pro.active{background:#e07a5f;}
.btn-side-con.active{background:#4a90d9;}
.btn-side-none.active{background:#52635a;}
.vote-bar{height:12px;border-radius:8px;background:#4a90d9;overflow:hidden;display:flex;margin-bottom:0.45rem;}
.vote-fill{height:100%;transition:width 0.4s ease;}
.vote-fill-pro{background:#e07a5f;}
.vote-legend{font-size:0.8rem;color:#aab2c0;margin-bottom:0.5rem;}
.vt-pro{color:#e07a5f;font-weight:600;}
.vt-con{color:#4a90d9;font-weight:600;}
.vote-btns{display:flex;gap:0.45rem;}
.btn-vote{flex:1;border:none;border-radius:20px;padding:0.45rem 0.5rem;font-size:0.82rem;font-weight:600;cursor:pointer;color:#fff;transition:opacity 0.15s,transform 0.15s;}
.btn-vote:hover{transform:translateY(-1px);}
.btn-vote-pro{background:#e07a5f;}
.btn-vote-con{background:#4a90d9;}
.btn-vote.active{box-shadow:0 0 0 2px rgba(255,255,255,0.35) inset;}
@media(max-width:575.98px){.vr-stage{grid-template-columns:1fr;}.room-aside{grid-template-columns:1fr;}}

/* 举报发言不当（反对票入口） */
.vr-oppose{position:absolute;right:6px;top:6px;z-index:3;border:none;border-radius:14px;background:rgba(0,0,0,0.55);color:#fff;font-size:0.82rem;line-height:1;padding:0.25rem 0.45rem;cursor:pointer;opacity:0.75;transition:opacity 0.15s,background 0.15s;}
.vr-oppose:hover{opacity:1;background:rgba(231,76,60,0.85);}
.vr-chat-notice{color:#e9c46a;}

/* ===== 文字辩论：聊天室式布局（正方/反方分列两侧，聊天框居中，观众列表） ===== */
.room-main.room-text-mode{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(300px,2.6fr) minmax(150px,1fr);
  /* 首行（辩手席 + 聊天框）以视口高度固定：消息/成员再多也只在框内滚动，不会把整页无限撑高 */
  grid-template-rows:minmax(360px,62vh) auto auto auto auto;
  grid-template-areas:
    "pro  chat con"
    "aud  aud  aud"
    "aside aside aside"
    "fill fill fill"
    "controls controls controls";
  gap:0.75rem;
  align-items:stretch;
}
.room-main.room-text-mode .vr-empty{display:none;}
.room-main.room-text-mode .vr-stage{display:contents;}
.room-main.room-text-mode .vr-side-pro{grid-area:pro;}
.room-main.room-text-mode .vr-side-con{grid-area:con;}
.room-main.room-text-mode .vr-audience{grid-area:aud;margin-bottom:0;}
.room-main.room-text-mode .room-aside{grid-area:aside;margin:0;}
.room-main.room-text-mode .fill-panel{grid-area:fill;margin:0;}
.room-main.room-text-mode .room-controls{grid-area:controls;margin:0;}
.room-main.room-text-mode .room-chat{grid-area:chat;max-width:none;margin:0;display:flex;flex-direction:column;min-height:0;}
/* 聊天记录在固定的聊天框内滚动：flex:1 + min-height:0 才能真正产生内部滚动条 */
.room-main.room-text-mode .vr-chat-log{flex:1 1 auto;height:auto;min-height:0;}
/* 正/反方席位改为竖向成员列表，并在固定行高内独立滚动（仅限两侧席位列，不含观众列表） */
.room-main.room-text-mode .vr-side{display:flex;flex-direction:column;min-height:0;}
.room-main.room-text-mode .vr-side .vr-side-grid{grid-template-columns:1fr;gap:0.4rem;min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;align-content:start;}
.room-main.room-text-mode .vr-side-grid:empty::after{min-height:56px;}
.room-main.room-text-mode .vr-audience-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:0.4rem;min-height:0;}
/* 文字席位行（无视频） */
.room-main.room-text-mode .vr-tile-text{
  background:#1b1f27;border:1px solid #2a3140;border-radius:10px;box-shadow:none;
  aspect-ratio:auto;min-height:0;display:flex;align-items:center;gap:0.45rem;padding:0.35rem 0.55rem;
}
.room-main.room-text-mode .vr-side-pro .vr-tile-text{border-left:3px solid #e07a5f;}
.room-main.room-text-mode .vr-side-con .vr-tile-text{border-left:3px solid #4a90d9;}
.room-main.room-text-mode .vr-tile-text.vr-tile-local{background:#20293a;border-color:#e07a5f;}
.room-main.room-text-mode .vr-tile-avatar-sm{
  flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:0.78rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#5b6b8c,#2c3550);
}
.room-main.room-text-mode .vr-tile-text .vr-tile-cap{
  position:static;background:none;color:#e7ecf5;font-size:0.86rem;padding:0;max-width:none;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.room-main.room-text-mode .vr-tile-text .vr-tile-host{
  position:static;margin-left:auto;font-size:0.64rem;padding:0.05rem 0.4rem;box-shadow:none;flex:0 0 auto;
}
.room-main.room-text-mode .vr-tile-text .vr-oppose,
.room-main.room-text-mode .vr-tile-text .vr-mod{position:static;opacity:0.7;flex:0 0 auto;font-size:0.72rem;padding:0.1rem 0.3rem;}
.room-main.room-text-mode .vr-tile-text .vr-oppose{margin-left:auto;}
@media(max-width:767.98px){
  .room-main.room-text-mode{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    grid-template-areas:"chat" "pro" "con" "aud" "aside" "fill" "controls";
  }
  /* 移动端单列：聊天框给定高度并在内部滚动，避免被消息无限撑高 */
  .room-main.room-text-mode .vr-chat-log{flex:0 0 auto;height:50vh;min-height:280px;}
  .room-main.room-text-mode .vr-side .vr-side-grid{flex:0 0 auto;overflow:visible;}
}

/* 文字辩论成员列表：悬停头像展示的资料小卡片 */
.user-hover-card{
  position:fixed; z-index:1200; width:240px; background:#171b22; color:#e7ecf5;
  border:1px solid #2a3140; border-radius:14px; box-shadow:0 12px 34px rgba(0,0,0,0.5);
  padding:0.85rem; font-size:0.85rem; animation:uhc-pop 0.12s ease-out;
}
@keyframes uhc-pop{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.user-hover-card .uhc-head{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.6rem;}
.user-hover-card .uhc-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#2a3140;display:none;}
.user-hover-card .uhc-name{font-weight:700;font-size:0.98rem;line-height:1.2;}
.user-hover-card .uhc-meta{color:#aeb8c8;font-size:0.8rem;margin-top:3px;}
.user-hover-card .uhc-actions{display:flex;gap:0.4rem;margin-bottom:0.5rem;}
.user-hover-card .uhc-btn{flex:1;border:none;border-radius:9px;padding:0.36rem 0;font-size:0.78rem;cursor:pointer;color:#fff;transition:filter 0.15s;}
.user-hover-card .uhc-btn:hover{filter:brightness(1.1);}
.user-hover-card .uhc-heart{background:#e07a5f;}
.user-hover-card .uhc-block{background:#4a5568;}
.user-hover-card .uhc-msg{background:#4a90d9;}
.user-hover-card .uhc-foot{color:#7c879a;font-size:0.72rem;text-align:center;border-top:1px solid #2a3140;padding-top:0.45rem;}

/* 卡片：红线消耗标签 */
.dc-tag-cost{background:rgba(233,196,106,0.16);color:#b98a20;}

/* 红线中心：信用分 */
.credit-card{background:linear-gradient(135deg,#1d4f4a,#2a6f67);}
.credit-rules{margin-top:0.6rem;background:#fff;border-radius:12px;padding:0.4rem 0.9rem;}
.credit-rule{display:flex;justify-content:space-between;align-items:center;font-size:0.86rem;padding:0.42rem 0;border-bottom:1px dashed #e8e3dc;}
.credit-rule:last-child{border-bottom:none;}
.credit-rule strong{font-weight:600;}
.txt-danger{color:#c0392b;}
.credit-records{margin-top:0.6rem;}
.credit-empty{font-size:0.85rem;color:#8a8f98;}
.credit-record{display:flex;justify-content:space-between;gap:0.6rem;background:#fff;border-radius:10px;padding:0.5rem 0.8rem;margin-bottom:0.4rem;font-size:0.84rem;}
.cr-desc{color:#4b5563;flex:1;}
.cr-amt{color:#c0392b;font-weight:600;white-space:nowrap;}

.ns-tip{font-size:0.76rem;color:#a0a6ae;font-weight:400;margin-left:0.4rem;}
.no-show-actions{display:flex;gap:0.6rem;flex-wrap:wrap;}

/* 旁听席 · 报名补缺 */
.fill-panel{border-color:#2f5a3f;background:#131c17;margin:0.5rem 0 1rem;}
.fill-panel .room-panel-title{color:#7fd6a0;}
.fill-desc{font-size:0.82rem;color:#9aa3ac;margin:0 0 0.7rem;line-height:1.5;}
.fill-panel .btn-room.btn-signed{border-color:#3a7d57;color:#9fe6bb;background:rgba(74,144,109,0.16);}

/* 无主持人（招募中）标记 */
.dc-host-recruit{color:#b98a20;font-weight:600;}

/* 主持人管控按钮：默认隐藏，body.vr-host-mode 时显示 */
.vr-mod{display:none;position:absolute;top:6px;z-index:3;border:none;border-radius:14px;background:rgba(0,0,0,0.55);color:#fff;font-size:0.8rem;line-height:1;padding:0.25rem 0.4rem;cursor:pointer;opacity:0.8;transition:opacity 0.15s,background 0.15s;}
.vr-mod-kick{right:74px;}
.vr-mod-block{right:38px;}
.vr-mod:hover{opacity:1;}
.vr-mod-kick:hover{background:rgba(243,156,18,0.9);}
.vr-mod-block:hover{background:rgba(231,76,60,0.9);}
body.vr-host-mode .vr-mod{display:block;}
/* 结束辩论（结算）：仅主持人/房主可见，非主持人默认不展示入口 */
#btnSettle{display:none;}
body.vr-host-mode #btnSettle{display:inline-block;}
.rec-match strong{color:#c0392b;}
.rec-online,.rec-offline{font-size:0.7rem;flex-shrink:0;}
.rec-online{color:#81B29A;}
.rec-offline{color:var(--text-light);}
.ud-contact{text-align:center;font-size:0.8rem;color:var(--text-secondary);padding:0.5rem;}
.ud-contact a{color:var(--color-primary);text-decoration:none;font-weight:500;}
.ud-bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;gap:0.75rem;padding:0.7rem 1rem;background:rgba(255,255,255,0.96);backdrop-filter:blur(8px);border-top:1px solid #eee;z-index:200;box-shadow:0 -2px 12px rgba(0,0,0,0.06);}
.ud-btm-btn{flex:1;padding:0.65rem;border-radius:16px;font-size:0.88rem;font-weight:600;cursor:pointer;border:none;transition:all 0.2s;user-select:none;}
.ud-btm-chat{background:var(--bg-warm);color:var(--text-primary);border:1px solid var(--border-color);}
.ud-btm-chat:hover{background:#f5ece4;}
.ud-btm-heart{background:linear-gradient(135deg,var(--color-primary),#f5b8a4);color:#fff;}
.ud-btm-heart:hover{opacity:0.9;transform:translateY(-1px);}
@media(min-width:992px){.ud-bottom-bar{display:none;}.ud-page{padding-bottom:0;}}
@media(min-width:1600px){.ud-hero .container,.ud-body .container{max-width:1600px !important;width:1600px;}}
@media(max-width:991.98px){.ud-layout{grid-template-columns:1fr;}.ud-sidebar{position:static;order:-1;}.expect-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:767.98px){.ud-basic-grid{grid-template-columns:1fr;}.expect-grid{grid-template-columns:1fr;}.posts-grid{grid-template-columns:1fr 1fr;gap:0.5rem;}.post-img{height:100px;}.ud-info-card{padding:1rem;border-radius:var(--radius-sm);}.ud-card-body{padding:0.7rem 1rem 1rem;}.life-label{width:85px;font-size:0.78rem;}.life-value{font-size:0.78rem;}}

/* ========================================
   Page: Messages（消息聊天）
   Source: messages.shtml inline styles
   ======================================== */
.chat-container{display:flex;height:calc(100vh - var(--navbar-h,69px) - 16px);min-height:1000px;max-height:1080px;max-width:1200px;margin:24px auto;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;}
.chat-sidebar{flex:0 0 300px;display:flex;flex-direction:column;border-right:1px solid var(--border-color);background:#FAFAFA;}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0.9rem 1rem;border-bottom:1px solid var(--border-color);background:#fff;}
.sidebar-header h1{font-size:1.15rem;font-weight:700;margin:0;color:var(--text-primary);}
.sidebar-search-btn{width:36px;height:36px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;}
.conversation-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0;}
.conversation-list li{cursor:pointer;transition:background 0.12s ease;position:relative;}
.conversation-list li:hover{background:rgba(224,122,95,0.05);}
.conversation-list li.active{background:rgba(224,122,95,0.1);border-left:3px solid var(--color-primary);}
.conversation-item{display:flex;align-items:center;gap:0.65rem;padding:0.75rem 1rem;text-decoration:none;color:inherit;}
.conversation-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;background:linear-gradient(135deg,var(--color-primary-light),var(--bg-warm));}
.conversation-avatar:not([src]),.conversation-avatar[src=""]{display:none!important;}
.conversation-content{flex:1;min-width:0;overflow:hidden;}
.conversation-name{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.15rem;}
.conversation-name span:first-child{font-weight:600;font-size:0.88rem;color:var(--text-primary);}
.conversation-time{font-size:0.72rem;color:var(--text-light);white-space:nowrap;flex-shrink:0;}
.conversation-preview{font-size:0.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.unread-badge{flex-shrink:0;min-width:18px;height:18px;line-height:18px;text-align:center;background:var(--color-primary);color:#fff;font-size:0.68rem;font-weight:600;border-radius:50%;padding:0 4px;}
/* 会话删除按钮：常驻占位（避免 hover 抖动），默认透明，悬停显形；触摸设备常显 */
.conv-delete{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--text-light);font-size:0.75rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;opacity:0;transition:opacity 0.12s ease,background 0.12s ease,color 0.12s ease;}
.conversation-list li:hover .conv-delete{opacity:1;}
.conv-delete:hover{background:#e74c3c;color:#fff;}
/* 会话搜索栏（点击标题栏放大镜展开） */
.sidebar-search-bar{display:flex;align-items:center;gap:6px;padding:0 0.9rem 0.7rem;background:#fff;border-bottom:1px solid var(--border-color);}
.sidebar-search-input{flex:1;min-width:0;border:1px solid var(--border-color);border-radius:10px;padding:6px 10px;font-size:0.82rem;line-height:1.4;outline:none;font-family:inherit;background:#FAFAFA;transition:border-color .15s,background .15s;}
.sidebar-search-input:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px rgba(224,122,95,0.08);}
.sidebar-search-clear{flex:0 0 auto;border:none;background:transparent;color:var(--text-light);cursor:pointer;font-size:0.85rem;line-height:1;padding:5px 7px;border-radius:6px;}
.sidebar-search-clear:hover{background:#f1f3f5;color:var(--text-primary);}
@media(hover:none){.conv-delete{opacity:1;}}
/* 聊天输入区相对定位，作为表情面板定位上下文 */
.chat-input-area{position:relative;--cc-emoji-bg:#fff;--cc-emoji-border:#e9ecef;--cc-emoji-fg:#333;--cc-emoji-hover:#f1f3f5;}
/* 公共表情面板（chat-common.js 生成，深浅主题自适应） */
.cc-emoji-panel{position:absolute;bottom:calc(100% + 8px);left:8px;right:8px;max-width:340px;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;background:var(--cc-emoji-bg,#fff);border:1px solid var(--cc-emoji-border,#e9ecef);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:8px;z-index:90;max-height:220px;overflow:auto;}
.cc-emoji-panel[hidden]{display:none;}
/* 「回到最新消息」浮标：悬浮在输入区上方右侧，用户上翻历史时出现 */
.chat-back-latest{position:absolute;right:1rem;top:-46px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);font-size:0.95rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:color .12s ease;z-index:6;}
.chat-back-latest:hover{color:var(--color-primary);}
.chat-back-latest[hidden]{display:none;}
.cc-emoji-item{border:none;background:transparent;font-size:1.15rem;line-height:1;padding:5px;border-radius:6px;cursor:pointer;color:var(--cc-emoji-fg,inherit);transition:background .12s ease;}
.cc-emoji-item:hover{background:var(--cc-emoji-hover,rgba(0,0,0,.06));}
/* 聊天图片消息 */
.msg-image{max-width:220px;max-height:240px;border-radius:8px;display:block;margin-top:2px;cursor:zoom-in;}
.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;}
.chat-header{position:relative;display:flex;align-items:center;gap:0.75rem;padding:0.7rem 1rem;border-bottom:1px solid var(--border-color);background:#fff;z-index:2;}
.btn-back-mobile{display:none;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;font-size:1.1rem;background:none;border:1px solid var(--border-color);cursor:pointer;}
.chat-header-info{display:flex;align-items:center;gap:0.6rem;flex:1;min-width:0;}
.chat-header-avatar-wrapper{position:relative;}
.chat-header-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));}
.chat-header-online{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid #fff;background:var(--text-light);}
.chat-header-online.online{background:var(--color-success);}
.chat-header-name{font-size:0.92rem;display:block;}
.chat-header-status{font-size:0.73rem;color:var(--text-success);}
.chat-header-actions{display:flex;gap:0.25rem;}
/* 右上角「更多」下拉菜单 */
.chat-more-menu{position:absolute;top:calc(100% - 2px);right:0.7rem;min-width:158px;background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.14);padding:4px;z-index:60;}
.chat-more-menu[hidden]{display:none;}
.chat-more-item{display:block;width:100%;text-align:left;border:none;background:transparent;padding:8px 10px;border-radius:7px;font-size:0.85rem;line-height:1.4;color:var(--text-primary);cursor:pointer;font-family:inherit;white-space:nowrap;}
.chat-more-item:hover{background:#f1f3f5;}
.chat-more-item.chat-more-danger{color:#e74c3c;}
.chat-more-item.chat-more-danger:hover{background:rgba(231,76,60,0.08);color:#c0392b;}
.btn-icon{width:34px;height:34px;border-radius:50%;border:none;background:transparent;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.12s ease;color:var(--text-secondary);}
.btn-icon:hover{background:rgba(0,0,0,0.06);color:var(--text-primary);}
.btn-icon-block{color:#e74c3c;}
.btn-icon-block:hover{background:rgba(231,76,60,0.08);color:#c0392b;}
.chat-messages{flex:1;overflow-y:auto;min-height:0;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:0.5rem;scroll-behavior:smooth;}
.msg-time-divider{text-align:center;margin:0.5rem 0;}
.msg-time-divider span{font-size:0.72rem;color:var(--text-light);background:var(--bg-warm);padding:0.15rem 0.7rem;border-radius:10px;}
.msg-row{display:flex;gap:0.45rem;max-width:75%;}
.msg-row-self{align-self:flex-end;flex-direction:row-reverse;}
.msg-row-other{align-self:flex-start;}
.msg-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;background:linear-gradient(135deg,var(--color-primary-light),var(--bg-warm));}
.msg-bubble{padding:0.55rem 0.8rem;border-radius:14px;position:relative;font-size:0.86rem;line-height:1.5;word-break:break-word;}
.msg-bubble-other{background:#F0F0F0;color:var(--text-primary);border-top-left-radius:4px;}
.msg-bubble-self{background:var(--color-primary);color:#fff;border-top-right-radius:4px;}
.msg-bubble p{margin:0 0 0.2rem 0;}
.msg-time{font-size:0.68rem;color:inherit;opacity:0.6;display:block;text-align:right;}
.msg-bubble-self .msg-time{text-align:right;color:rgba(255,255,255,0.7);}
.msg-bubble-other .msg-time{color:var(--text-light);}
/* 图片消息：去掉外层彩色气泡框与内边距，图片本身即气泡（时间叠加图片右下角） */
.msg-bubble.msg-bubble-image{padding:0;background:transparent;border-radius:0;}
.msg-bubble.msg-bubble-image .msg-image{max-width:220px;max-height:260px;border-radius:12px;margin-top:0;border:1px solid var(--border-color);background:#fff;}
.msg-bubble.msg-bubble-image.msg-bubble-self .msg-image{border-top-right-radius:4px;}
.msg-bubble.msg-bubble-image.msg-bubble-other .msg-image{border-top-left-radius:4px;}
.msg-bubble.msg-bubble-image .msg-time{position:absolute;right:8px;bottom:8px;padding:1px 6px;border-radius:9px;background:rgba(0,0,0,0.45);color:#fff;opacity:1;font-size:0.66rem;line-height:1.5;}
/* 图片上传中的占位气泡：本地预览 + 进度遮罩（转圈/百分比/进度条/取消） */
.msg-upload-mask{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:12px;background:rgba(0,0,0,0.42);color:#fff;overflow:hidden;}
.msg-upload-spin{width:24px;height:24px;border-radius:50%;border:2.5px solid rgba(255,255,255,0.32);border-top-color:#fff;animation:msgUploadSpin .8s linear infinite;}
@keyframes msgUploadSpin{to{transform:rotate(360deg);}}
.msg-upload-pct{font-size:0.72rem;font-weight:600;letter-spacing:0.02em;}
.msg-upload-hint{font-size:0.68rem;color:rgba(255,255,255,0.9);text-align:center;padding:0 10px;line-height:1.35;}
.msg-upload-bar{position:absolute;left:10px;right:10px;bottom:10px;height:4px;border-radius:999px;background:rgba(255,255,255,0.3);overflow:hidden;}
.msg-upload-bar > i{display:block;height:100%;width:0;border-radius:999px;background:#fff;transition:width .2s ease;}
.msg-upload-cancel{position:absolute;top:6px;right:6px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,0.45);color:#fff;font-size:0.7rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.msg-upload-cancel:hover{background:rgba(0,0,0,0.72);}
/* 上传/发送失败态 */
.msg-bubble-upload-failed .msg-upload-mask{background:rgba(0,0,0,0.52);}
.msg-upload-fail-icon{font-size:1.15rem;line-height:1;}
.msg-upload-actions{display:flex;gap:6px;margin-top:2px;}
.msg-upload-btn{padding:3px 10px;border:1px solid rgba(255,255,255,0.7);border-radius:999px;background:transparent;color:#fff;font-size:0.68rem;line-height:1.4;cursor:pointer;font-family:inherit;transition:opacity .12s ease;}
.msg-upload-btn:hover{opacity:0.85;}
.msg-upload-btn-retry{background:#fff;border-color:#fff;color:#333;font-weight:600;}
.chat-input-area{border-top:1px solid var(--border-color);padding:0.7rem 1rem;background:#fff;}
/* 输入卡片：文本框在上、工具条在下，焦点态作用于整卡 */
.chat-input-card{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:16px;background:#FAFAFA;transition:border-color .15s,box-shadow .15s,background .15s;}
.chat-input-card:focus-within{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px rgba(224,122,95,0.08);}
.input-tool-btn:hover{background:rgba(0,0,0,0.06);}
.chat-textarea{border:none;background:transparent;resize:none;padding:0.65rem 0.9rem 0.1rem;font-size:0.87rem;line-height:1.5;min-height:58px;max-height:160px;overflow-y:auto;outline:none;font-family:inherit;color:var(--text-primary);border-radius:16px 16px 0 0;}
.chat-textarea::placeholder{color:var(--text-light);}
.chat-input-bar{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.1rem 0.5rem 0.45rem 0.35rem;}
.chat-input-tools{display:flex;align-items:center;gap:0.05rem;}
.send-btn{border-radius:999px;padding:0.4rem 1.15rem;font-size:0.84rem;white-space:nowrap;flex:0 0 auto;}
.send-btn:disabled{opacity:0.6;cursor:not-allowed;}
@media(max-width:767.98px){
  .chat-container{height:calc(100vh - 110px);min-height:auto;max-height:none;border-radius:0;box-shadow:none;margin:0 auto;}
  .chat-sidebar{position:absolute;top:0;left:0;bottom:0;width:100%;z-index:10;background:#fff;display:none;flex-direction:column;}
  .chat-sidebar.show-mobile{display:flex;}
  .chat-main{width:100%;}
  .msg-row{max-width:82%;}
  .chat-messages{padding:0.75rem 0.85rem;}
}

/* ========================================
   Page: Home（首页推荐）
   Source: home.shtml inline styles
   ======================================== */
.filter-section{background:linear-gradient(180deg,rgba(224,122,95,0.04),transparent);border-bottom:1px solid rgba(224,122,95,0.08);}
.filter-count-badge{background:var(--color-primary);color:#fff;font-size:0.75rem;padding:0.2rem 0.6rem;border-radius:10px;font-weight:500;}
.filter-panel{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:0.3rem 1.15rem 1.2rem;}
.filter-group{margin-bottom:1rem;}
.filter-group:last-of-type{margin-bottom:0;}
/* 兴趣爱好容器上方增加间距 */
.filter-row-wrap + .filter-group{margin-top:0.6rem;}
.filter-label{display:block;font-size:0.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:0.75rem;}
.filter-row{display:flex;gap:0.4rem;align-items:center;flex-wrap:wrap;line-height:normal;}
/* 支持自动换行的 filter-row */
.filter-row-wrap{width:100%;margin-top:0.75rem!important;}
.filter-label-inline{font-size:0.8rem;color:var(--text-secondary);white-space:nowrap;font-weight:500;display:inline-flex;align-items:center;line-height:normal;padding:0 0.1rem;}

/* 搜索筛选区 年龄/身高 范围校验提示（取值范围统一来源：assets/js/form-rules.js） */
.filter-range-error{display:block;color:#DC3545;font-size:12px;margin-top:2px;line-height:1.4;}

/* 筛选选择器组 */
.filter-select-group{display:flex;gap:0.4rem;flex-wrap:wrap;align-items:center;}

/* 现居地标签样式 - 与其他标签一致,不独占行 */
.residence-label {
  width: auto;
}

/* 现居地弹出面板样式(京东树形菜单) */
.residence-panel {
  border: 1px solid var(--border-color);
  background: #fff;
  min-width: 500px;
  width: 500px;
  position: fixed;
  z-index: 1060;
  transform: translateZ(0);
  box-sizing: border-box;
  max-height: 400px;
  overflow-y: auto;
  top: -9999px;
  left: -9999px;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  padding: 0;
}

/* 省份标题 */
.tree-label { display: inline-block; }
.tree-arrow { font-size: 12px; color: #999; margin-left: 4px; }
.tree-arrow.open { color: var(--color-primary); }

/* 城市标签 */
.city-tag-jd {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 13px;
  color: #666;
  cursor: pointer;
  transition: all 0.15s;
  background: #fff;
  border: 1px solid #e8e8e8;
}
.city-tag-jd:hover {
  color: var(--color-primary);
  background: #fef3f0;
  border-color: var(--color-primary-light);
}
.city-tag-jd.active {
  color: #fff;
  background: var(--color-primary);
  border-color: var(--color-primary);
  font-weight: 500;
}

.filter-label-sep{color:var(--text-light);font-size:0.85rem;}
.form-select-home{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);background:#fff;font-size:0.8rem;padding:0.2rem 0.45rem;}
.form-control-home{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);background:#fff;font-size:0.8rem;padding:0.2rem 0.45rem;height:auto;}
.form-select-home:focus,.form-control-home:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(224,122,95,0.12);outline:none;}
.hobby-tags-home{display:flex;flex-wrap:wrap;gap:0.35rem;}
.hobby-tag-home{display:inline-block;padding:0.25rem 0.6rem;border-radius:16px;font-size:0.75rem;cursor:pointer;transition:all 0.15s ease;border:1px solid var(--border-color);color:var(--text-secondary);background:#fff;user-select:none;}
.hobby-tag-home:hover{border-color:var(--color-primary-light);}
.hobby-tag-home.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.active-filters{display:flex;flex-wrap:wrap;gap:0.4rem;align-items:center;}
.active-filter-item{display:inline-block;padding:0.2rem 0.6rem;border-radius:12px;font-size:0.73rem;background:rgba(224,122,95,0.1);color:var(--color-primary-dark);border:1px solid rgba(224,122,95,0.2);}
.active-filter-clear{background:transparent;color:var(--text-light);border-color:var(--border-color);cursor:pointer;}
.user-tags{display:flex;flex-wrap:wrap;gap:0.3rem;margin-bottom:0.5rem;}
.user-tag{display:inline-block;padding:0.15rem 0.55rem;border-radius:10px;font-size:0.72rem;background:rgba(224,122,95,0.08);color:var(--color-primary-dark);border:1px solid rgba(224,122,95,0.12);}
.user-tag-warn{background:rgba(129,178,154,0.1);color:#5a9a7a;border-color:rgba(129,178,154,0.2);}
.user-card{height:auto!important;overflow:visible!important;border-radius:var(--radius-md)!important;}
.card-horizontal{display:flex;flex-direction:row;gap:0;min-height:220px;background:#fff;border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden;}
.card-photo{flex-shrink:0;width:240px;position:relative;border:1px solid var(--border-color);margin:4px;border-radius:8px;background:linear-gradient(135deg,var(--color-primary-light),var(--bg-warm));}
.card-photo img{width:100%;height:100%;object-fit:cover;display:block;min-height:220px;border-radius:3px;}
.card-photo img:not([src]),.card-photo img[src=""]{display:none!important;}
.card-horizontal .card-body{flex:1 1 50%;display:flex;flex-direction:column;padding:1.25rem 1.5rem;min-width:0;}
.card-requirements{flex:1 1 50%;display:flex;flex-direction:column;background:rgba(224,122,95,0.03);border-left:1px dashed rgba(224,122,95,0.15);padding:1.25rem 1.2rem;font-size:0.8rem;}
.card-requirements .req-title{font-size:0.82rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:0.55rem;display:flex;align-items:center;gap:0.3rem;}
.card-requirements .req-list{display:flex;flex-direction:column;gap:0.3rem;flex:1;}
.card-requirements .req-item{display:flex;line-height:1.45;}
.card-requirements .req-label{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;}
.card-requirements .req-value{color:var(--text-primary);font-weight:500;}
.req-actions{display:flex;justify-content:flex-end;gap:0.5rem;}
.btn-block-user{border:1px solid #e74c3c;color:#e74c3c;background:#fff;font-size:0.78rem;padding:0.2rem 0.7rem;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.15s ease;}
.btn-block-user:hover{background:#e74c3c;color:#fff;}

/* 额外信息标签样式 */
.extra-info-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.5rem;padding-bottom:0.5rem;}
.extra-info-tags .user-tag{font-size:0.75rem;padding:0.2rem 0.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;}
.extra-info-tags .info-tag{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404;}
.extra-info-tags .zodiac-tag{background:linear-gradient(135deg,#e8f4fd,#d1ecf1);color:#0c5460;}
.extra-info-tags .ethnic-tag{background:linear-gradient(135deg,#f0e6ff,#e2d9f3);color:#6f42c1;}
.extra-info-tags .diet-tag{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;}
.extra-info-tags .sleep-tag{background:linear-gradient(135deg,#e2d9f3,#d6c4fb);color:#6f42c1;}
.extra-info-tags .exercise-tag{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;}

/* bio 描述上方的分隔线 */
.user-bio{margin-top:0.8rem;padding-top:0.8rem;border-top:1px solid rgba(0,0,0,0.06);}
@media(max-width:991.98px){.card-requirements{padding:1rem 0.9rem;font-size:0.78rem;}}
@media(max-width:767.98px){
  .card-horizontal{flex-direction:column;min-height:auto;}
  .card-photo{width:100%;height:260px;margin:4px;margin-bottom:0;}
  .card-photo img{height:100%;}
  .card-horizontal .card-body{flex:auto;padding:1rem 1.25rem;padding-bottom:4px;}
  .card-requirements{width:auto;flex-direction:row;border-left:none;border-top:1px dashed rgba(224,122,95,0.15);padding:0.7rem 1rem;gap:0.7rem;flex-wrap:wrap;}
  .card-requirements .req-title{width:100%;margin-bottom:0.2rem;}
  .card-requirements .req-item{flex:0 0 auto;margin-right:0.2rem;}
}
.card-photo{position:relative;}
.photo-gender{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;z-index:3;box-shadow:0 3px 12px rgba(0,0,0,0.35);backdrop-filter:blur(2px);}
.photo-gender-female{background:#E91E63;color:#fff;}
.photo-gender-male{background:#2196F3;color:#fff;}
.photo-online{position:absolute;top:10px;left:10px;width:10px;height:10px;background:var(--color-success);border-radius:50%;border:2px solid #fff;z-index:3;box-shadow:0 0 0 2px var(--color-success);}
.btn-heart{position:absolute;bottom:10px;right:10px;width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,0.92);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 2px 8px rgba(0,0,0,0.18);transition:all 0.2s ease;padding:0;line-height:1;}
.btn-heart:hover{transform:scale(1.15);background:#fff;box-shadow:0 4px 12px rgba(224,122,95,0.4);}
.btn-heart:active{transform:scale(0.95);}
.btn-heart:disabled{opacity:.55;cursor:default;transform:none;box-shadow:0 2px 8px rgba(0,0,0,0.18);}
.btn-heart:disabled:hover{transform:none;}
/* 已心动（卡片上）：42px 圆形按钮塞不下"已心动"三个字（文字溢出且半透明发灰），
   改为品牌色胶囊徽章，状态一眼可辨。
   限定 .btn-heart 前缀，避免影响详情页底部操作栏的 .ud-btm-heart 按钮形态 */
.btn-heart.btn-heart-sent{width:auto;height:30px;padding:0 12px;border-radius:15px;background:var(--color-primary);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;opacity:1;cursor:default;transform:none;user-select:none;box-shadow:0 3px 10px rgba(224,122,95,.35);}
.btn-heart.btn-heart-sent:hover{transform:none;background:var(--color-primary);box-shadow:0 3px 10px rgba(224,122,95,.35);}
/* 其它形态（如详情页底部栏）的已心动按钮：保持原有形态，仅做禁用弱化 */
.btn-heart-sent:disabled{opacity:.6;cursor:default;transform:none;}

/* ========================================
   Page: Love Quotes（恋爱语录）
   Source: love-quotes.shtml inline styles
   ======================================== */
.lq-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);padding:2rem 0 1.5rem;color:#fff;}
.lq-header h1{font-size:1.6rem;font-weight:700;}
.lq-tab-bar{background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:56px;z-index:100;}
.lq-tabs{display:flex;gap:0.35rem;padding:0.75rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.lq-tabs::-webkit-scrollbar{display:none;}
.lq-tab{padding:0.4rem 1.1rem;border-radius:20px;font-size:0.86rem;font-weight:500;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all 0.15s ease;user-select:none;}
.lq-tab:hover{border-color:var(--color-primary-light);color:var(--color-primary);}
.lq-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.lq-section{display:none;}
.lq-section-active{display:block;}
.lq-sub-filter{display:flex;flex-wrap:wrap;gap:0.35rem;}
.lq-sub-tag{padding:0.28rem 0.75rem;border-radius:16px;font-size:0.78rem;font-weight:500;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);cursor:pointer;transition:all 0.15s ease;user-select:none;}
.lq-sub-tag:hover{border-color:var(--color-primary-light);}
.lq-sub-tag.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.lq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;}
.quote-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.35rem 1.5rem;transition:transform 0.2s ease,box-shadow 0.2s ease;border:1px solid transparent;position:relative;overflow:hidden;}
.quote-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(224,122,95,0.15);}
.qc-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:0.75rem;}
.qc-icon-hint{background:rgba(66,133,244,0.1);}
.qc-icon-rule{background:rgba(82,182,154,0.1);}
.qc-icon-truth{background:rgba(255,152,0,0.12);}
.qc-icon-warm{background:rgba(224,122,95,0.1);}
.qc-text{font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.6;margin-bottom:0.75rem;padding-left:0.5rem;border-left:3px solid var(--color-primary);}
.qc-meaning{font-size:0.84rem;color:var(--text-secondary);line-height:1.65;background:var(--bg-warm);padding:0.7rem 0.9rem;border-radius:10px;margin-bottom:0.75rem;}
.qc-meaning strong{color:var(--color-primary-dark);}
.qc-footer{display:flex;align-items:center;justify-content:space-between;font-size:0.78rem;}
.qc-cat-tag{display:inline-block;padding:0.15rem 0.55rem;border-radius:10px;font-size:0.72rem;background:rgba(224,122,95,0.08);color:var(--color-primary-dark);border:1px solid rgba(224,122,95,0.12);}
.qc-likes{cursor:pointer;color:var(--text-light);transition:all 0.2s ease;user-select:none;display:flex;align-items:center;gap:0.2rem;}
.qc-likes:hover{color:#E07A5F;}
.cringe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;}
.cringe-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease;border:1px solid transparent;}
.cringe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(231,76,60,0.15);}
.cc-header{display:flex;align-items:center;justify-content:space-between;padding:0.65rem 1rem;background:linear-gradient(135deg,#fff5f5,#ffe8e8);border-bottom:1px solid rgba(231,76,60,0.1);}
.cc-level{font-size:0.72rem;font-weight:700;padding:0.15rem 0.5rem;border-radius:10px;}
.cc-level-mild{background:rgba(255,193,7,0.15);color:#b8860b;}
.cc-level-medium{background:rgba(255,152,0,0.12);color:#e65100;}
.cc-level-high{background:rgba(231,76,60,0.1);color:#d32f2f;}
.cc-level-extreme{background:rgba(211,47,47,0.15);color:#c62828;font-size:0.7rem;}
.cc-type{font-size:0.72rem;color:var(--text-secondary);background:rgba(0,0,0,0.04);padding:0.15rem 0.5rem;border-radius:8px;}
.cc-text{font-size:0.98rem;font-weight:600;color:var(--text-primary);line-height:1.6;padding:1rem 1.2rem;margin:0;background:linear-gradient(135deg,#fffbfa,#fff5f5);border-left:3px solid #e74c3c;}
.cc-comment{font-size:0.82rem;color:var(--text-secondary);line-height:1.6;padding:0.75rem 1.2rem;background:#fafafa;}
.cc-comment strong{color:var(--color-primary-dark);}
.cc-footer{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 1.2rem;border-top:1px solid rgba(0,0,0,0.05);}
.cringe-meter{width:120px;height:6px;background:#eee;border-radius:3px;overflow:hidden;display:inline-block;}
.cringe-meter span{display:block;height:100%;background:linear-gradient(90deg,#ffc107,#e74c3c);border-radius:3px;transition:width 0.3s ease;}
.cc-votes{cursor:pointer;color:var(--text-light);font-size:0.78rem;transition:all 0.2s;user-select:none;}
.cc-votes:hover{color:#e74c3c;}
.cheesy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;}
.cheesy-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease;border:1px solid transparent;}
.cheesy-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(233,30,99,0.15);}
.cz-header{display:flex;align-items:center;justify-content:space-between;padding:0.65rem 1rem;background:linear-gradient(135deg,#fff0f5,#ffe4f0);border-bottom:1px solid rgba(233,30,99,0.08);}
.cz-sugar{font-size:0.72rem;font-weight:700;padding:0.15rem 0.5rem;border-radius:10px;}
.cz-sugar-2{background:rgba(255,193,7,0.12);color:#b8860b;}
.cz-sugar-3{background:rgba(255,152,0,0.12);color:#e65100;}
.cz-sugar-4{background:rgba(233,30,99,0.1);color:#c2185b;}
.cz-sugar-5{background:rgba(233,30,99,0.15);color:#E91E63;font-size:0.7rem;}
.cz-cat{font-size:0.72rem;color:var(--text-secondary);background:rgba(233,30,99,0.06);padding:0.15rem 0.5rem;border-radius:8px;}
.cz-text{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.6;padding:1rem 1.2rem;margin:0;background:linear-gradient(135deg,#fff9fb,#fff0f5);border-left:3px solid #E91E63;position:relative;}
.cz-scene{font-size:0.82rem;color:var(--text-secondary);line-height:1.6;padding:0.7rem 1.2rem;background:#fafafa;}
.cz-scene strong{color:#c2185b;}
.cz-success{display:flex;align-items:center;flex-wrap:wrap;gap:0.75rem;padding:0.65rem 1.2rem;background:linear-gradient(135deg,#fefefe,#f9f9f9);border-top:1px solid rgba(0,0,0,0.04);border-bottom:1px solid rgba(0,0,0,0.04);font-size:0.76rem;color:var(--text-secondary);}
.success-bar,.fail-meter{display:inline-block;width:80px;height:6px;border-radius:3px;overflow:hidden;background:#eee;vertical-align:middle;}
.success-bar span{display:block;height:100%;background:linear-gradient(90deg,#4CAF50,#8BC34A);border-radius:3px;}
.fail-meter span{display:block;height:100%;background:linear-gradient(90deg,#ff9800,#f44336);border-radius:3px;}
.cz-footer{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 1.2rem;}
.cz-collect{cursor:pointer;color:var(--text-light);font-size:0.78rem;transition:all 0.2s;user-select:none;display:flex;align-items:center;gap:0.2rem;}
.cz-collect:hover{color:#E91E63;}
.cz-collect.collected{color:#E91E63;}
.cz-share{cursor:pointer;color:var(--text-light);font-size:0.78rem;transition:all 0.2s;user-select:none;display:flex;align-items:center;gap:0.2rem;}
.cz-share:hover{color:#E07A5F;}
.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;}
.story-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease;border:1px solid transparent;}
.story-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(224,122,95,0.18);}
.st-header{display:flex;align-items:center;gap:0.75rem;padding:0.85rem 1.2rem 0.7rem;border-bottom:1px solid rgba(0,0,0,0.04);}
.st-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#fff;flex-shrink:0;}
.st-avatar-1{background:linear-gradient(135deg,#f093fb,#f5576c);}
.st-avatar-2{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.st-avatar-3{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#555;}
.st-avatar-4{background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#555;}
.st-avatar-5{background:linear-gradient(135deg,#d299c2,#fef9d7);color:#555;}
.st-avatar-6{background:linear-gradient(135deg,#89f7fe,#66a6ff);}
.st-avatar-7{background:linear-gradient(135deg,#fddb92,#d1fdff);color:#555;}
.st-avatar-8{background:linear-gradient(135deg,#96fbc4,#f9f586);color:#555;}
.st-info{display:flex;flex-direction:column;flex:1;}
.st-author{font-size:0.86rem;font-weight:700;color:var(--text-primary);}
.st-time{font-size:0.72rem;color:var(--text-light);}
.st-badge{font-size:0.68rem;font-weight:700;padding:0.18rem 0.55rem;border-radius:10px;white-space:nowrap;flex-shrink:0;}
.st-badge-sweet{background:rgba(255,105,180,0.1);color:#c2185b;}
.st-badge-meet{background:rgba(79,172,254,0.1);color:#1565c0;}
.st-badge-growth{background:rgba(76,175,80,0.1);color:#2e7d32;}
.st-badge-long{background:rgba(255,152,0,0.12);color:#e65100;}
.st-title{font-size:0.95rem;font-weight:700;color:var(--text-primary);line-height:1.45;padding:0.75rem 1.2rem 0.4rem;margin:0;}
.st-title::before{content:'\0000270F ';font-size:0.82rem;}
.st-content{font-size:0.83rem;color:var(--text-secondary);line-height:1.75;padding:0 1.2rem 0.75rem;margin:0;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.st-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;padding:0.65rem 1.2rem;background:linear-gradient(135deg,#fafbfc,#f5f5f5);border-top:1px solid rgba(0,0,0,0.04);}
.st-stats{display:flex;align-items:center;gap:1rem;font-size:0.78rem;}
.st-like{cursor:pointer;color:var(--text-light);transition:all 0.2s;user-select:none;display:flex;align-items:center;gap:0.15rem;}
.st-like:hover{color:#E07A5F;}
.st-stats span:last-child{color:var(--text-light);}
.st-moral{font-size:0.72rem;color:var(--text-secondary);line-height:1.4;background:rgba(224,122,95,0.05);padding:0.25rem 0.6rem;border-radius:8px;max-width:100%;display:inline-block;}
.st-moral strong{color:#c0392b;}
.cmt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;}
.cmt-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease;border:1px solid transparent;}
.cmt-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(102,126,234,0.18);}
.cmt-q-section{padding:0.85rem 1.2rem 0.6rem;background:linear-gradient(135deg,#f8f9ff,#eef1ff);border-bottom:1px solid rgba(102,126,234,0.08);}
.cmt-q-label{font-size:0.72rem;font-weight:700;color:#5a67d8;display:block;margin-bottom:0.35rem;}
.cmt-question{font-size:0.85rem;color:var(--text-primary);line-height:1.55;margin:0;font-style:italic;}
.cmt-a-section{padding:1rem 1.2rem;border-left:3px solid #667eea;background:linear-gradient(135deg,#fffdf7,#fff9ed);}
.cmt-a-roast{border-left-color:#e74c3c;background:linear-gradient(135deg,#fffafa,#fff5f5);}
.cmt-a-warm{border-left-color:#E91E63;background:linear-gradient(135deg,#fff9fb,#fff0f5);}
.cmt-a-funny{border-left-color:#FF9800;background:linear-gradient(135deg,#fffff8,#fffde7);}
.cmt-a-label{font-size:0.72rem;font-weight:700;display:block;margin-bottom:0.4rem;}
.cmt-a-roast .cmt-a-label{color:#c0392b;}
.cmt-a-warm .cmt-a-label{color:#c2185b;}
.cmt-a-funny .cmt-a-label{color:#e65100;}
.cmt-answer{font-size:0.86rem;color:var(--text-primary);line-height:1.7;margin:0;}
.cmt-a-roast .cmt-answer{font-weight:500;}
.cmt-answer strong{color:var(--text-primary);}
.cmt-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;padding:0.65rem 1.2rem;background:#fafbfc;border-top:1px solid rgba(0,0,0,0.05);}
.cmt-hot{font-size:0.75rem;color:var(--text-secondary);background:rgba(102,126,234,0.06);padding:0.18rem 0.55rem;border-radius:10px;}
.cmt-hot strong{color:#5a67d8;}
.cmt-like{cursor:pointer;color:var(--text-light);font-size:0.78rem;transition:all 0.2s;user-select:none;display:flex;align-items:center;gap:0.15rem;}
.cmt-like:hover{color:#E07A5F;}
.cmt-share{cursor:pointer;color:var(--text-light);font-size:0.78rem;transition:all 0.2s;user-select:none;}
.cmt-share:hover{color:#E07A5F;}
.movie-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.movie-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease;border:1px solid transparent;display:flex;flex-direction:row;}
.movie-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(224,122,95,0.2);}
.mc-poster{flex-shrink:0;width:160px;min-height:220px;display:flex;align-items:center;justify-content:center;position:relative;font-size:2.5rem;color:#fff;font-weight:700;background-size:cover;background-position:center;}
.mc-poster-1{background:linear-gradient(135deg,#1a3a5c,#2d5a87);}
.mc-poster-2{background:linear-gradient(135deg,#6b8e5a,#a3c49a);}
.mc-poster-3{background:linear-gradient(135deg,#8b6914,#d4a520);}
.mc-poster-4{background:linear-gradient(135deg,#5d4e8a,#8b7bab);}
.mc-poster-5{background:linear-gradient(135deg,#c0392b,#e74c3c);}
.mc-poster-6{background:linear-gradient(135deg,#16a085,#48c9b0);}
.mc-poster-7{background:linear-gradient(135deg,#2980b9,#5dade2);}
.mc-poster-8{background:linear-gradient(135deg,#5d6d7e,#85929e);}
.mc-poster-9{background:linear-gradient(135deg,#c0392b,#e84393);}
.mc-rating{position:absolute;top:8px;left:8px;background:rgba(255,215,0,0.92);color:#333;font-size:0.78rem;font-weight:800;padding:0.18rem 0.5rem;border-radius:8px;z-index:2;}
.mc-badge{position:absolute;bottom:8px;left:8px;font-size:0.68rem;font-weight:700;color:#fff;padding:0.18rem 0.5rem;border-radius:8px;z-index:2;}
.mc-badge-classic{background:rgba(211,47,47,0.9);}
.mc-badge-domestic{background:rgba(230,126,34,0.9);}
.mc-badge-heal{background:rgba(155,89,182,0.9);}
.mc-badge-reality{background:rgba(52,73,94,0.9);}
.mc-body{flex:1;padding:1rem 1.15rem;display:flex;flex-direction:column;}
.mc-title{font-size:0.98rem;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:0.4rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.mc-meta{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.5rem;font-size:0.73rem;color:var(--text-light);}
.mc-desc{font-size:0.8rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0.55rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1;}
.mc-tags{display:flex;flex-wrap:wrap;gap:0.25rem;margin-bottom:0.55rem;}
.mv-tag{display:inline-block;padding:0.1rem 0.45rem;border-radius:8px;font-size:0.68rem;background:rgba(224,122,95,0.06);color:var(--color-primary-dark);border:1px solid rgba(224,122,95,0.1);}
.mc-footer{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding-top:0.5rem;border-top:1px solid rgba(0,0,0,0.05);}
.mc-lesson{font-size:0.72rem;color:var(--text-secondary);line-height:1.4;flex:1;}
.mc-lesson strong{color:var(--color-primary-dark);}
@media(max-width:991.98px){
  .lq-grid,.cringe-grid,.cheesy-grid,.story-grid,.cmt-grid,.movie-grid{grid-template-columns:1fr;}
  .movie-card{flex-direction:column;}
  .mc-poster{width:100%;min-height:180px;}
}
@media(max-width:767.98px){
  .lq-header h1{font-size:1.3rem;}
  .lq-tabs{padding:0.6rem 0;}
  .lq-tab{padding:0.32rem 0.85rem;font-size:0.8rem;}
  .quote-card{padding:1.1rem 1.2rem;}
  .qc-text{font-size:0.95rem;}
  .cc-text{font-size:0.9rem;padding:0.85rem 1rem;}
  .mc-body{padding:0.85rem 1rem;}
  .mc-title{font-size:0.9rem;}
  .mc-desc{-webkit-line-clamp:2;}
}

/* ========================================
   Page: QA Detail（问答详情）
   Source: qa-detail.shtml inline styles
   ======================================== */
.qa-page{background:#f5f0eb;padding-bottom:80px;padding-top:1.5rem;}
.qa-hero{background:linear-gradient(180deg,#fff 0%,#fdf8f4 100%);padding-top:1rem;padding-bottom:0.5rem;}
.qa-breadcrumb{display:flex;align-items:center;gap:0.5rem;margin-bottom:1rem;font-size:0.82rem;}
.qa-back-link{color:var(--color-primary);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:4px;}
.qa-back-link:hover{text-decoration:underline;}
.qa-crumb-sep{color:#ccc;}
.qa-crumb-current{color:var(--text-light);}
.qa-post-header{margin-bottom:1rem;}
.qa-tag-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;}
.qa-topic-tag{display:inline-block;font-size:0.72rem;font-weight:600;padding:0.2rem 0.6rem;border-radius:8px;}
.qa-tag-breakup{background:rgba(233,30,99,0.08);color:#C2185B;}
.qa-tag-dating{background:rgba(224,122,95,0.08);color:#C96A52;}
.qa-tag-marriage{background:rgba(76,175,80,0.08);color:#2E7D32;}
.qa-tag-mind{background:rgba(79,172,254,0.08);color:#1565C0;}
.qa-status-tag{font-size:0.72rem;font-weight:600;padding:0.2rem 0.6rem;border-radius:8px;background:rgba(76,175,80,0.08);color:#2E7D32;}
.qa-status-solved{background:rgba(255,193,7,0.12);color:#F57F17;}
.qa-post-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);line-height:1.5;margin:0 0 0.8rem;}
.qa-post-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
.qa-author-info{display:flex;align-items:center;gap:0.65rem;}
.qa-author-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;background-size:cover;background-position:center;}
.qa-avatar-1{background:linear-gradient(135deg,#f093fb,#f5576c);}
.qa-avatar-2{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.qa-avatar-3{background:linear-gradient(135deg,#a8edea,#fed6e3);}
.qa-avatar-4{background:linear-gradient(135deg,#667eea,#764ba2);}
.qa-avatar-5{background:linear-gradient(135deg,#43e97b,#38f9d7);}
.qa-avatar-6{background:linear-gradient(135deg,#fa709a,#fee140);}
.qa-author-detail{display:flex;flex-direction:column;gap:1px;}
.qa-author-name{font-size:0.88rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:0.35rem;}
.qa-author-desc{font-size:0.74rem;color:var(--text-light);}
.qa-role-badge,.qa-role{font-size:0.68rem;font-weight:600;padding:0.1rem 0.35rem;border-radius:6px;white-space:nowrap;}
.qa-role-vip{background:linear-gradient(135deg,#FFF8E1,#FFECB3);color:#F57F17;}
.qa-role-expert{background:linear-gradient(135deg,#E8F5E9,#C8E6C9);color:#2E7D32;}
.qa-role-active{background:linear-gradient(135deg,#E3F2FD,#BBDEFB);color:#1565C0;}
.qa-post-stats{display:flex;gap:1rem;font-size:0.78rem;color:var(--text-light);}
.qa-post-content{background:#fff;border-radius:var(--radius-md);padding:1.2rem 1.5rem;box-shadow:var(--shadow-sm);border:1px solid rgba(224,122,95,0.06);font-size:0.88rem;color:var(--text-secondary);line-height:1.8;}
.qa-post-content p{margin-bottom:0.7rem;}
.qa-post-content p:last-child{margin-bottom:0;}
.qa-post-content ul{padding-left:1.3rem;margin:0.5rem 0;}
.qa-post-content li{margin-bottom:0.3rem;}
.qa-content-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.8rem;padding-top:0.8rem;border-top:1px dashed #f0ebe5;}
.qactag{font-size:0.73rem;padding:0.2rem 0.55rem;border-radius:14px;background:rgba(224,122,95,0.05);color:#C96A52;border:1px solid rgba(224,122,95,0.1);}
.qa-floors{padding:1rem 0 2rem;}
.qa-floors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 0.2rem;}
.qa-floors-header h2{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary);}
.qa-floor-count{font-weight:400;color:var(--text-light);font-size:0.9rem;}
.qa-sort-btns{display:flex;gap:0.3rem;}
.qsbtn{padding:0.3rem 0.7rem;border:1px solid #ddd;border-radius:16px;background:#fff;font-size:0.76rem;color:var(--text-secondary);cursor:pointer;transition:all 0.2s;}
.qsbtn-active{border-color:var(--color-primary);background:rgba(224,122,95,0.06);color:var(--color-primary);font-weight:600;}
.qsbtn:hover{border-color:var(--color-primary);}
.qa-floor{display:flex;gap:0;background:#fff;border-radius:var(--radius-md);margin-bottom:0.8rem;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid transparent;transition:box-shadow 0.2s;}
.qa-floor:hover{box-shadow:var(--shadow-md);}
.qa-floor-op{border-left:3px solid var(--color-primary);}
.qa-floor-best{border-left:3px solid #FFD700;background:linear-gradient(135deg,#FFFEFA,#FFFDF5);}
.floor-left{width:70px;min-width:70px;padding:1rem 0.5rem;display:flex;flex-direction:column;align-items:center;gap:0.4rem;background:linear-gradient(180deg,#fafafa 0%,#f5f0eb 100%);border-right:1px solid #f5f0ea;}
.floor-avatar{width:44px;height:44px;border-radius:50%;background-size:cover;background-position:center;}
.floor-avatar-1{background:linear-gradient(135deg,#f093fb,#f5576c);}
.floor-avatar-2{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.floor-avatar-3{background:linear-gradient(135deg,#a8edea,#fed6e3);}
.floor-avatar-4{background:linear-gradient(135deg,#667eea,#764ba2);}
.floor-avatar-5{background:linear-gradient(135deg,#43e97b,#38f9d7);}
.floor-avatar-6{background:linear-gradient(135deg,#fa709a,#fee140);}
.floor-number{font-size:0.78rem;font-weight:700;color:var(--color-primary);}
.floor-badge{font-size:0.62rem;font-weight:600;padding:0.1rem 0.35rem;border-radius:6px;white-space:nowrap;}
.floor-badge-op{background:var(--color-primary);color:#fff;}
.floor-badge-best{background:linear-gradient(135deg,#FFD700,#FFA500);color:#333;}
.floor-body{flex:1;min-width:0;padding:0.9rem 1.1rem;display:flex;flex-direction:column;}
.floor-header{display:flex;align-items:center;flex-wrap:wrap;gap:0.5rem;margin-bottom:0.6rem;}
.floor-user{font-size:0.88rem;font-weight:600;color:var(--text-primary);}
.floor-time{font-size:0.72rem;color:var(--text-light);margin-left:auto;order:2;}
.floor-actions{display:flex;gap:0.3rem;margin-left:auto;order:1;}
.faction{padding:0.2rem 0.5rem;border:1px solid #eee;border-radius:14px;background:#fff;font-size:0.72rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:2px;transition:all 0.2s;white-space:nowrap;}
.faction:hover{border-color:var(--color-primary);color:var(--color-primary);}
.faction-supported{background:rgba(224,122,95,0.08);color:var(--color-primary);border-color:rgba(224,122,95,0.2);font-weight:600;}
.faction-liked{color:#E91E63!important;}
.faction-report{color:var(--text-light)!important;border-color:#f0f0f0;}
.faction-report:hover{color:#E74C3C!important;border-color:#fadbd8;}
.floor-content{font-size:0.86rem;color:var(--text-secondary);line-height:1.8;}
.floor-content p{margin-bottom:0.6rem;}
.floor-content p:last-child{margin-bottom:0;}
.floor-sub-replies{margin-top:0.7rem;padding:0.7rem 0.9rem;background:#fafafa;border-radius:10px;border:1px solid #f0ebe5;}
.sub-reply-item{display:flex;gap:0.6rem;padding:0.5rem 0;border-bottom:1px dashed #f0ebe5;}
.sub-reply-item:last-child{border-bottom:none;}
.sub-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;background-size:cover;background-position:center;}
.sub-avatar-1{background:linear-gradient(135deg,#f093fb,#f5576c);}
.sub-avatar-2{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.sub-avatar-3{background:linear-gradient(135deg,#a8edea,#fed6e3);}
.sub-avatar-4{background:linear-gradient(135deg,#667eea,#764ba2);}
.sub-avatar-5{background:linear-gradient(135deg,#43e97b,#38f9d7);}
.sub-avatar-6{background:linear-gradient(135deg,#fa709a,#fee140);}
.sub-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.sub-user{font-size:0.78rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:0.3rem;flex-wrap:wrap;}
.sub-to{font-size:0.7rem;color:var(--color-primary);font-weight:400;}
.sub-user .qa-role{font-size:0.6rem;padding:0.08rem 0.28rem;}
.sub-time{font-size:0.68rem;color:var(--text-light);}
.sub-text{font-size:0.8rem;color:var(--text-secondary);line-height:1.6;margin:0;}
.sub-actions{display:flex;gap:0.5rem;margin-top:0.2rem;}
.sub-actions button{padding:0.1rem 0.4rem;border:none;background:none;font-size:0.7rem;color:var(--text-light);cursor:pointer;border-radius:10px;transition:all 0.2s;}
.sub-actions button:hover{background:#eee;color:var(--text-primary);}
.sr-liked{color:#E91E63!important;}
.sub-reply-more{display:block;width:100%;padding:0.4rem;text-align:center;border:none;background:none;color:var(--color-primary);font-size:0.76rem;cursor:pointer;border-radius:6px;margin-top:0.3rem;transition:background 0.2s;}
.sub-reply-more:hover{background:rgba(224,122,95,0.05);}
.qa-load-more{text-align:center;padding:1rem 0;}
.qa-load-btn{padding:0.6rem 2rem;border:1.5px dashed var(--color-primary);border-radius:20px;background:#fff;font-size:0.82rem;color:var(--color-primary);cursor:pointer;transition:all 0.2s;font-weight:500;}
.qa-load-btn:hover{background:rgba(224,122,95,0.04);}
.qa-reply-box{background:#fff;border-radius:var(--radius-md);padding:1.2rem 1.5rem;box-shadow:var(--shadow-sm);margin-top:0.5rem;border:1px solid rgba(224,122,95,0.06);}
.qa-reply-title{margin:0 0 0.8rem;font-size:1rem;font-weight:700;color:var(--text-primary);}
.qa-reply-textarea{width:100%;padding:0.8rem;border:1.5px solid #e8e0d8;border-radius:12px;font-size:0.86rem;color:var(--text-primary);resize:vertical;font-family:inherit;line-height:1.6;transition:border-color 0.2s;background:#fafafa;}
.qa-reply-textarea:focus{outline:none;border-color:var(--color-primary);background:#fff;}
.qa-reply-textarea::placeholder{color:#bbb;}
.qa-reply-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:0.6rem;}
.qa-reply-tools{display:flex;gap:0.2rem;}
.qrtool{width:34px;height:34px;border:1px solid #eee;border-radius:8px;background:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;}
.qrtool:hover{background:#f8f8f8;border-color:#ddd;}
.qa-submit-btn{padding:0.5rem 1.8rem;border:none;border-radius:16px;background:linear-gradient(135deg,var(--color-primary),#f5b8a4);color:#fff;font-size:0.85rem;font-weight:600;cursor:pointer;transition:opacity 0.2s;user-select:none;}
.qa-submit-btn:hover{opacity:0.9;}
.qa-sidebar-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid transparent;}
.qa-sidebar-card h4{margin:0;padding:0.8rem 1.1rem 0.5rem;font-size:0.9rem;font-weight:700;color:var(--text-primary);border-bottom:1px solid #f5f0ea;}
.qa-author-card{text-align:center;padding:1.2rem 1rem 1rem;}
.qac-avatar{width:64px;height:64px;border-radius:50%;margin:0 auto 0.6rem;background-size:cover;background-position:center;}
.qac-avatar-1{background:linear-gradient(135deg,#f093fb,#f5576c);}
.qa-author-card h4{margin:0 0.2rem;font-size:1rem;border:none;padding:0;}
.qa-author-card .qac-role{font-size:0.7rem;}
.qa-author-card .qac-bio{font-size:0.78rem;color:var(--text-secondary);margin:0.5rem 0 0.8rem;}
.qac-stats{display:flex;justify-content:center;gap:1.5rem;margin-bottom:0.8rem;padding:0.6rem 0;border-top:1px solid #f5f0ea;border-bottom:1px solid #f5f0ea;}
.qac-stat{text-align:center;}
.qac-stat strong{display:block;font-size:1.1rem;color:var(--text-primary);}
.qac-stat span{font-size:0.7rem;color:var(--text-light);}
.qac-follow-btn{width:100%;padding:0.5rem;border:1.5px solid var(--color-primary);border-radius:16px;background:#fff;color:var(--color-primary);font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s;user-select:none;}
.qac-follow-btn:hover{background:rgba(224,122,95,0.04);}
.related-list{padding:0.3rem 0;}
.related-item{display:block;padding:0.7rem 1.1rem;text-decoration:none;border-bottom:1px solid #fafafa;transition:background 0.15rem;}
.related-item:last-child{border-bottom:none;}
.related-item:hover{background:#fafafa;}
.related-tag{display:inline-block;font-size:0.65rem;font-weight:600;padding:0.12rem 0.4rem;border-radius:6px;margin-bottom:0.25rem;}
.rt-dating{background:rgba(224,122,95,0.08);color:#C96A52;}
.rt-marriage{background:rgba(76,175,80,0.08);color:#2E7D32;}
.rt-mind{background:rgba(79,172,254,0.08);color:#1565C0;}
.rt-breakup{background:rgba(233,30,99,0.08);color:#C2185B;}
.related-title{display:block;font-size:0.82rem;color:var(--text-primary);font-weight:500;line-height:1.4;margin-bottom:0.15rem;}
.related-meta{font-size:0.7rem;color:var(--text-light);}
.hot-tags{padding:0.7rem 1.1rem;display:flex;flex-wrap:wrap;gap:0.4rem;}
.htag{font-size:0.73rem;padding:0.25rem 0.6rem;border-radius:14px;background:#f8f4f0;color:var(--text-secondary);text-decoration:none;border:1px solid #f0ebe5;transition:all 0.2s;}
.htag:hover{border-color:var(--color-primary);color:var(--color-primary);}
.htag-hot{background:rgba(255,215,0,0.08);border-color:rgba(255,215,0,0.3);color:#B8860B;}
.qa-ask-btn{width:100%;padding:0.7rem;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary),#f5b8a4);color:#fff;font-size:0.9rem;font-weight:600;cursor:pointer;transition:opacity 0.2s;user-select:none;box-shadow:0 4px 15px rgba(224,122,95,0.25);}
.qa-ask-btn:hover{opacity:0.9;transform:translateY(-1px);}
@media(min-width:992px){
  .qa-page > *:not(.qa-floors){padding-left:0 !important;padding-right:0 !important;}
  .qa-page > .container{max-width:1600px !important;width:1600px !important;}
  .qa-hero .container,.qa-floors .container{max-width:none !important;width:100% !important;padding:0 !important;}
  .qa-page{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1.5rem;max-width:1600px;margin:0 auto;padding:1.5rem 1rem 0 !important;align-items:start;}
  .qa-hero{display:contents;}
  .qa-hero > .container{display:contents;}
  .qa-hero > .container > .qa-hero-layout{display:contents;}
  .qa-hero-left{grid-column:2;grid-row:1;border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fdf8f4 100%);padding:1rem 1.5rem 0.5rem;}
  .qa-hero-right{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;gap:1rem;position:sticky;top:70px;}
  .qa-hero-right::-webkit-scrollbar{width:4px;}
  .qa-hero-right::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px;}
  .qa-floors{grid-column:2;grid-row:2;}
}
@media(max-width:991.98px){
  .qa-hero{display:block;}
  .qa-hero-left{background:linear-gradient(180deg,#fff 0%,#fdf8f4 100%);}
  .qa-hero-right{display:none;}
  .qa-post-meta{flex-direction:column;align-items:flex-start;}
  .floor-actions{width:100%;margin-top:0.3rem;order:0!important;margin-left:0!important;}
  .floor-time{order:0!important;margin-left:0!important;}
  .qa-floors-header{flex-direction:column;align-items:flex-start;gap:0.5rem;}
}
@media(max-width:767.98px){
  .qa-post-title{font-size:1.15rem;}
  .qa-post-content{padding:1rem;font-size:0.84rem;}
  .floor-left{width:54px;min-width:54px;padding:0.8rem 0.3rem;}
  .floor-avatar{width:36px;height:36px;}
  .floor-body{padding:0.7rem 0.8rem;}
  .floor-content{font-size:0.82rem;}
  .floor-header{flex-wrap:wrap;}
  .sub-reply-item{gap:0.4rem;}
  .sub-avatar{width:26px;height:26px;}
  .qa-reply-box{padding:1rem;}
}

/* ========================================
   Page: QA Publish（发布帖子）
   Source: qa-publish.shtml inline styles
   ======================================== */
/* ========== 页头 ========== */
.pub-header{
  background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-primary) 100%);
  padding:2rem 0 1.5rem;color:#fff;
}
.pub-header h1{font-size:1.6rem;font-weight:700;}

/* ========== 整体布局 ========== */
.pub-body{background:#f5f0eb;min-height:60vh;}
.pub-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:1.5rem;
  align-items:start;
}

/* ========== 左侧编辑区 ========== */
.pub-editor-area{
  background:#fff;border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);padding:1.5rem 1.8rem;
  border:1px solid transparent;
}

/* --- 表单组 --- */
.pub-form-group{margin-bottom:1.4rem;}
.pub-form-group:last-child{margin-bottom:0;}

.pub-label{
  display:flex;align-items:center;gap:0.35rem;font-size:0.88rem;
  font-weight:600;color:var(--text-primary);margin-bottom:0.55rem;
}
.pub-label-icon{font-size:1rem;}
.pub-required{color:#e74c3c;font-size:0.9rem;}
.pub-input-hint{text-align:right;font-size:0.74rem;color:var(--text-light);margin-top:0.25rem;}

/* --- 分类网格 --- */
.pub-category-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:0.65rem;
}
.pub-cat-btn{
  display:flex;flex-direction:column;align-items:center;gap:0.25rem;
  padding:0.85rem 0.6rem;border:2px solid #eee;border-radius:var(--radius-md);
  background:#fff;cursor:pointer;transition:all 0.2s ease;text-align:center;
}
.pub-cat-btn:hover{border-color:var(--color-primary-light);}
.pub-cat-btn.pub-cat-active{
  border-color:var(--color-primary);background:rgba(224,122,95,0.04);
  box-shadow:0 0 0 3px rgba(224,122,95,0.08);
}
.pci-icon{font-size:1.35rem;}
.pci-name{font-size:0.85rem;font-weight:600;color:var(--text-primary);}
.pci-desc{font-size:0.7rem;color:var(--text-light);line-height:1.3;}
.pub-cat-active .pci-name{color:var(--color-primary);}

/* --- 子分类行 --- */
.pub-subcat-row{display:flex;flex-wrap:wrap;gap:0.35rem;}
.pub-subcat-btn{
  padding:0.28rem 0.8rem;border-radius:16px;font-size:0.78rem;font-weight:500;
  border:1px solid #ddd;background:#fff;color:var(--text-secondary);cursor:pointer;
  transition:all 0.15s;
}
.pub-subcat-btn:hover{border-color:var(--color-primary-light);}
.pub-subcat-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}

/* --- 输入框 --- */
.pub-input{
  width:100%;padding:0.7rem 0.9rem;border:1.5px solid #e8e0d8;border-radius:12px;
  font-size:0.92rem;color:var(--text-primary);transition:border-color 0.2s;
  background:#fafafa;font-family:inherit;box-sizing:border-box;
}
.pub-input:focus{outline:none;border-color:var(--color-primary);background:#fff;}

/* --- 工具栏 --- */
.pub-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:0.45rem 0.5rem;border:1.5px solid #e8e0d8;border-bottom:none;
  border-radius:12px 12px 0 0;background:#fafafa;
}
.pub-tools-left,.pub-tools-right{display:flex;align-items:center;gap:2px;}
.ptool{
  width:32px;height:32px;border:1px solid #eee;border-radius:6px;
  background:#fff;font-size:0.82rem;cursor:pointer;display:flex;
  align-items:center;justify-content:center;transition:all 0.15s;
  color:var(--text-secondary);
}
.ptool:hover{background:#f0f0f0;border-color:#ddd;color:var(--text-primary);}
.ptool-sep{width:1px;height:18px;background:#ddd;margin:0 4px;}
.pub-word-count{font-size:0.74rem;color:var(--text-light);padding:0 0.3rem;}

/* --- 文本域 --- */
.pub-textarea{
  width:100%;padding:0.8rem 0.9rem;border:1.5px solid #e8e0d8;
  border-top:1.5px solid #e8e0d8;border-radius:0 0 12px 12px;
  font-size:0.88rem;color:var(--text-primary);resize:vertical;
  font-family:inherit;line-height:1.7;transition:border-color 0.2s;
  background:#fafafa;box-sizing:border-box;min-height:200px;
}
.pub-textarea:focus{outline:none;border-color:var(--color-primary);background:#fff;}
.pub-textarea::placeholder{color:#bbb;line-height:1.6;}

/* --- 标签输入 --- */
.pub-tag-input-wrap{}
.pub-tag-input{
  width:100%;padding:0.55rem 0.8rem;border:1.5px solid #e8e0d8;border-radius:10px;
  font-size:0.84rem;color:var(--text-primary);transition:border-color 0.2s;
  background:#fafafa;font-family:inherit;box-sizing:border-box;margin-bottom:0.5rem;
}
.pub-tag-input:focus{outline:none;border-color:var(--color-primary);background:#fff;}
.pub-tags-list{display:flex;flex-wrap:wrap;gap:0.35rem;min-height:28px;}
.pub-added-tag{
  display:inline-flex;align-items:center;gap:0.2rem;padding:0.2rem 0.55rem;
  border-radius:14px;font-size:0.76rem;font-weight:500;
  background:rgba(224,122,95,0.08);color:var(--color-primary-dark);
  border:1px solid rgba(224,122,95,0.15);
}
.pat-remove{
  border:none;background:none;color:var(--text-light);cursor:pointer;
  font-size:0.9rem;line-height:1;padding:0 1px;transition:color 0.15s;
}
.pat-remove:hover{color:#e74c3c;}

/* --- 热门标签 --- */
.pub-hot-tags{display:flex;flex-wrap:wrap;align-items:center;gap:0.3rem;margin-top:0.5rem;}
.pht-label{font-size:0.76rem;color:var(--text-light);white-space:nowrap;}
.pht-item{
  padding:0.18rem 0.5rem;border-radius:12px;font-size:0.72rem;
  background:#f8f4f0;color:var(--text-secondary);border:1px solid #f0ebe5;
  cursor:pointer;transition:all 0.15s;
}
.pht-item:hover{border-color:var(--color-primary);color:var(--color-primary);}
.pht-item.pht-hot{background:rgba(255,215,0,0.08);border-color:rgba(255,215,0,0.25);color:#B8860B;}

/* --- 发布选项 --- */
.pub-options{display:flex;flex-direction:column;gap:0.7rem;padding:1rem 0;border-top:1px dashed #f0ebe5;margin-top:0.5rem;}
.pub-option-item{
  display:flex;align-items:flex-start;gap:0.5rem;cursor:pointer;
  user-select:none;
}
.pub-option-item input{display:none;}
.pub-checkbox-custom{
  width:20px;height:20px;border:2px solid #ddd;border-radius:5px;
  flex-shrink:0;margin-top:1px;position:relative;transition:all 0.15s;
  background:#fff;
}
.pub-option-item input:checked + .pub-checkbox-custom{
  background:var(--color-primary);border-color:var(--color-primary);
}
.pub-option-item input:checked + .pub-checkbox-custom::after{
  content:'\2713';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);color:#fff;font-size:0.75rem;font-weight:700;
}
.pub-option-text{font-size:0.84rem;font-weight:600;color:var(--text-primary);}
.pub-option-hint{font-size:0.72rem;color:var(--text-light);margin-left:auto;white-space:nowrap;}

/* --- 操作按钮 --- */
.pub-actions{
  display:flex;align-items:center;gap:0.6rem;
  padding:1.2rem 0 0;border-top:1px dashed #f0ebe5;margin-top:0.5rem;
  flex-wrap:wrap;
}
.pub-spacer{flex:1;}
.pub-submit-btn{
  padding:0.55rem 2rem;border:none;border-radius:20px;
  background:linear-gradient(135deg,var(--color-primary),#f5b8a4);
  color:#fff;font-size:0.9rem;font-weight:600;cursor:pointer;
  transition:opacity 0.2s,transform 0.15s;user-select:none;
  box-shadow:0 3px 12px rgba(224,122,95,0.3);
}
.pub-submit-btn:hover{opacity:0.9;transform:translateY(-1px);}
.pub-submit-btn:active{transform:translateY(0);}

/* ========== 右侧边栏 ========== */
.pub-sidebar{display:flex;flex-direction:column;gap:1rem;}

.ps-card{
  background:#fff;border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);overflow:hidden;
  border:1px solid transparent;
}
.ps-card h4{
  margin:0;padding:0.8rem 1.1rem 0.5rem;font-size:0.9rem;
  font-weight:700;color:var(--text-primary);border-bottom:1px solid #f5f0ea;
}

/* --- 发帖指南 --- */
.ps-guide-list{list-style:none;padding:0.7rem 1.1rem;margin:0;}
.ps-guide-list li{
  position:relative;padding-left:1.2rem;margin-bottom:0.55rem;
  font-size:0.8rem;color:var(--text-secondary);line-height:1.55;
}
.ps-guide-list li::before{
  content:'\2713';position:absolute;left:0;color:var(--color-primary);
  font-weight:700;font-size:0.75rem;
}
.ps-guide-list li:last-child{margin-bottom:0;}
.ps-guide-list li strong{color:var(--text-primary);}

/* --- 分类说明 --- */
.psi-list{padding:0.5rem 1.1rem;display:flex;flex-direction:column;gap:0.55rem;}
.psi-item{display:flex;align-items:flex-start;gap:0.55rem;}
.psi-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px;
}
.psi-dot-qa{background:#E07A5F;}
.psi-dot-story{background:#FF69B4;}
.psi-dot-quote{background:#4285F4;}
.psi-dot-cringe{background:#e74c3c;}
.psi-dot-cheesy{background:#E91E63;}
.psi-dot-comment{background:#667eea;}
.psi-dot-movie{background:#F57F17;}
.psi-item strong{font-size:0.8rem;color:var(--text-primary);display:block;margin-bottom:1px;}
.psi-item p{font-size:0.73rem;color:var(--text-light);margin:0;line-height:1.4;}

/* --- 草稿列表 --- */
.drafts-list{padding:0.3rem 0;}
.draft-item{
  padding:0.7rem 1.1rem;border-bottom:1px solid #fafafa;
  transition:background 0.15s;
}
.draft-item:last-child{border-bottom:none;}
.draft-item:hover{background:#fafafa;}
.draft-title{display:block;font-size:0.82rem;color:var(--text-primary);font-weight:500;margin-bottom:0.15rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;
}
.draft-time{font-size:0.7rem;color:var(--text-light);}
.draft-actions{display:flex;gap:0.4rem;margin-top:0.35rem;}
.draft-edit,.draft-delete{
  padding:0.15rem 0.5rem;border:1px solid #eee;border-radius:10px;
  background:#fff;font-size:0.7rem;cursor:pointer;transition:all 0.15s;
}
.draft-edit{color:var(--color-primary);border-color:rgba(224,122,95,0.2);}
.draft-edit:hover{background:rgba(224,122,95,0.04);}
.draft-delete{color:var(--text-light);}
.draft-delete:hover{color:#e74c3c;border-color:#fadbd8;}

/* --- 返回链接 --- */
.pub-back-link{
  display:flex;align-items:center;justify-content:center;gap:0.3rem;
  padding:0.7rem;border-radius:var(--radius-md);
  background:#fff;color:var(--color-primary);text-decoration:none;
  font-size:0.84rem;font-weight:600;box-shadow:var(--shadow-sm);
  transition:all 0.2s;border:1px solid transparent;
}
.pub-back-link:hover{background:rgba(224,122,95,0.04);border-color:rgba(224,122,95,0.15);transform:translateY(-1px);}

/* ========== 响应式适配 ========== */
@media(max-width:991.98px){
  .pub-layout{grid-template-columns:1fr;}
  .pub-sidebar{display:none;}
  .pub-category-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));}
  .pub-editor-area{padding:1.2rem 1.3rem;}
}

@media(max-width:767.98px){
  .pub-header h1{font-size:1.3rem;}
  .pub-category-grid{grid-template-columns:repeat(2,1fr);gap:0.5rem;}
  .pub-cat-btn{padding:0.7rem 0.5rem;}
  .pci-icon{font-size:1.15rem;}
  .pci-name{font-size:0.8rem;}
  .pci-desc{font-size:0.66rem;}
  .pub-toolbar{flex-wrap:wrap;gap:0.3rem;}
  .pub-options{gap:0.5rem;}
  .pub-option-hint{display:none;}
  .pub-actions{flex-direction:column;}
  .pub-spacer{display:none;}
  .pub-submit-btn{width:100%;}
}

/* ========================================
   Index / Landing Page（首页专用）
   ======================================== */

/* --- Hero 覆盖（首页加大版）--- */
.index-hero { padding: 5rem 0 6rem; }
.index-hero .hero-title { font-size: 3.25rem; }
.index-hero .hero-subtitle { font-size: 1.35rem; margin-bottom: 0.5rem; }
.index-hero .hero-desc {
  color: rgba(255,255,255,0.85);
  font-size: 1.05rem;
  margin-top: 1rem;
}

/* 首页 Hero 按钮 */
.btn-hero-primary {
  background: #fff;
  color: var(--color-primary);
  border-radius: 30px;
  padding: 1rem 2.5rem;
  font-weight: 700;
  font-size: 1.05rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
}
.btn-hero-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,0,0,0.22);
  color: var(--color-primary);
}

.btn-hero-outline {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,0.5);
  border-radius: 30px;
  padding: 1rem 2.5rem;
  font-weight: 600;
  font-size: 1.05rem;
  transition: all 0.3s ease;
}
.btn-hero-outline:hover {
  background: rgba(255,255,255,0.12);
  border-color: #fff;
  color: #fff;
}

/* --- 对比卡片变体 --- */
.compare-card-wrong {
  border: 2px solid #FFE5E0 !important;
  border-radius: var(--radius-md) !important;
}
.compare-card-wrong h4 { color: #C0392B; }
.compare-card-right {
  border: 2px solid rgba(129,178,154,0.25) !important;
  border-radius: var(--radius-md) !important;
}
.compare-card-right h4 { color: var(--color-secondary); }

/* 对比标题图标圆圈 */
.compare-icon {
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.compare-icon-wrong { background: #FFEBE9; }
.compare-icon-right { background: rgba(129,178,154,0.15); }

/* 对比箭头区域 */
.compare-arrow {
  text-align: center;
  color: var(--color-primary-light);
  font-size: 2rem;
  line-height: 1.4;
}

/* --- 模式图标盒子 --- */
.mode-icon-box {
  width: 72px; height: 72px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: #fff;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.mode-icon-chat   { background: linear-gradient(135deg,var(--color-primary),var(--color-primary-light)); box-shadow: 0 4px 16px rgba(224,122,95,0.25); }
.mode-icon-debate { background: linear-gradient(135deg,#3D405B,#555A7A); box-shadow: 0 4px 16px rgba(61,64,91,0.25); }
.mode-icon-event  { background: linear-gradient(135deg,#E67E22,#F39C12); box-shadow: 0 4px 16px rgba(230,126,34,0.25); }

/* 模式卡片（纯白底+阴影） */
.mode-card {
  border: none !important;
  background: var(--bg-white) !important;
  box-shadow: var(--shadow-md) !important;
  border-radius: var(--radius-md) !important;
}

/* 模式特性列表 */
.mode-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
  color: var(--text-secondary);
  line-height: 2;
  text-align: left;
}

/* --- 流程步骤圆圈 --- */
.flow-step-circle {
  width: 72px; height: 72px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.flow-step-label {
  font-size: 0.65rem;
  color: var(--text-primary);
  font-weight: 600;
  margin-top: 0.2rem;
}
.flow-arrow { font-size: 1.25rem; color: var(--color-primary-light); }

/* 分叉路径卡片 */
.path-card {
  padding: 1rem;
  border-radius: 1rem;
  max-width: 180px;
}
.path-card-a {
  background: linear-gradient(135deg,rgba(224,122,95,0.06),rgba(224,122,95,0.12));
  border: 1.5px solid rgba(224,122,95,0.2);
}
.path-card-b {
  background: linear-gradient(135deg,rgba(230,126,34,0.06),rgba(230,126,34,0.12));
  border: 1.5px solid rgba(230,126,34,0.2);
}
.path-card-title { font-size: 0.85rem; font-weight: 700; }
.path-card-steps { font-size: 0.7rem; }
.path-step-icon { font-size: 0.85rem; }

.path-end-circle {
  width: 48px; height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.1rem;
  margin-top: 0.35rem;
}
.path-or-badge {
  background: var(--bg-warm);
  color: var(--text-secondary);
  padding: 0.35rem 0.75rem;
  border-radius: 14px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid var(--border-color);
}

/* --- 观念卡片（左侧色条）--- */
.value-card {
  border-left: 4px solid var(--color-primary);
}
.value-card h4 { font-size: 1.1rem; }
.value-card p {
  color: var(--text-secondary);
  font-size: 0.9rem;
  line-height: 1.7;
  margin-top: 0.75rem;
}
.vc-green  { border-left-color: var(--color-secondary); }
.vc-blue   { border-left-color: #5BA4CF; }
.vc-orange { border-left-color: #E67E22; }
.vc-purple { border-left-color: #9B59B6; }
.vc-red    { border-left-color: #E74C3C; }

/* --- 线下活动区（深色主题）--- */
.activities-section {
  background: linear-gradient(135deg,#2D2A26,#3D405B);
  color: #fff;
  border-radius: var(--radius-lg);
}
.act-heading { color: #FFE8DD; text-shadow: 0 2px 12px rgba(224,122,95,0.35); }
.act-subheading { color: #FFE8DD; text-shadow: 0 1px 6px rgba(224,122,95,0.3); }

.act-card {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-md);
  padding: 2rem;
  text-align: center;
}
.act-card-icon { font-size: 2.5rem; margin-bottom: 0.75rem; }

.act-advantage-card {
  text-align: center;
  padding: 1rem;
  border-radius: 0.75rem;
  background: rgba(255,255,255,0.06);
}
.act-advantage-icon { font-size: 2rem; }

.act-flow-circle {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.35rem;
}

.act-btn {
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 25px;
  padding: 0.75rem 2rem;
  font-weight: 600;
  transition: all 0.2s;
}
.act-btn:hover {
  background: rgba(255,255,255,0.25);
  color: #fff;
}
.act-btn-primary {
  background: rgba(224,122,95,0.9);
  border: none;
}
.act-btn-primary:hover { background: var(--color-primary); color: #fff; }

/* --- 首页底部 CTA（渐变背景覆盖）--- */
.index-cta .cta-card {
  background: linear-gradient(135deg,var(--color-primary),var(--color-primary-light)) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;
}
.index-cta .cta-card h3 { color: #fff; font-size: 1.75rem; }
.index-cta .cta-card p { color: rgba(255,255,255,0.9); font-size: 1.05rem; }
.index-cta .cta-note { color: rgba(255,255,255,0.7); font-size: 0.85rem; }

.btn-cta-white {
  background: #fff;
  color: var(--color-primary);
  border-radius: 30px;
  padding: 1rem 2.5rem;
  font-weight: 700;
  font-size: 1.05rem;
}
.btn-cta-white:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.18); color: var(--color-primary); }

/* --- Section 标签 badge --- */
.section-tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 50vw;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}
.tag-wrong  { background: rgba(224,122,95,0.1); color: var(--color-primary); }
.tag-right  { background: rgba(129,178,154,0.12); color: var(--color-secondary); }
.tag-values { background: rgba(129,178,154,0.12); color: var(--color-secondary); }

/* --- 通用辅助类 --- */
.section-heading { font-size: 2rem; font-weight: 700; }
.section-desc {
  color: var(--text-secondary);
  max-width: 640px;
  margin: 0.5rem auto 0;
}

/* 对比列表样式 */
.compare-list {
  color: var(--text-secondary);
  line-height: 2.1;
  font-size: 0.95rem;
  padding-left: 1.25rem;
}
.compare-list strong { color: #C0392B; }
.compare-list-right strong { color: var(--text-primary); }

/* 流程图容器 */
.flow-diagram {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 1.5rem;
}

/* Index 响应式适配 */
.section-warm-bg { background: linear-gradient(180deg,#fff,var(--bg-warm)); }
@media(max-width:991.98px){
  .index-hero .hero-title { font-size: 2.5rem; }
  .index-hero .hero-subtitle { font-size: 1.15rem; }
  .mode-icon-box { width: 60px; height: 60px; font-size: 1.5rem; }
  .flow-step-circle { width: 56px; height: 56px; }
}
@media(max-width:767.98px){
  .index-hero { padding: 3.5rem 0 4rem; }
  .index-hero .hero-title { font-size: 2rem; }
  .btn-hero-primary, .btn-hero-outline { padding: 0.85rem 1.8rem; font-size: 0.95rem; }
  .section-heading { font-size: 1.5rem; }
  .path-card { max-width: 150px; }
}

/* ========================================
   Index / Landing Page — 内联样式提取
   ======================================== */

/* --- 创新模式区块 --- */
.model-section { margin-top: 2rem; }

.compare-arrow-note {
  display: block;
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-top: 0.5rem;
}

/* --- 三大模式卡片 --- */
.mode-card-desc {
  color: var(--text-secondary);
  font-size: 0.9rem;
  line-height: 1.7;
}

/* --- 流程图 --- */
.flow-diagram-title {
  color: var(--text-secondary);
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 2rem;
}
.flow-step-icon { font-size: 1.35rem; }
.flow-step-circle-pri { background: rgba(224,122,95,0.1); }
.flow-step-circle-deb { background: rgba(61,64,91,0.1); }

.path-fork-badge {
  background: rgba(224,122,95,0.08);
  border-radius: 16px;
  padding: 0.5rem 1rem;
}
.path-fork-label {
  color: var(--color-primary);
  font-weight: 700;
  font-size: 0.8rem;
}

/* 路径卡公共 */
.path-card-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
}
.path-card-emoji { font-size: 1.15rem; }

/* 路径 A（主色） */
.path-title-a { color: var(--color-primary); }
.path-arrow-a { color: var(--color-primary-light); }
.path-end-a {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
}
.path-end-label-a {
  font-size: 0.65rem;
  color: var(--color-primary);
  font-weight: 600;
  display: block;
}

/* 路径 B（橙色） */
.path-or-divider { padding: 0 0.5rem; }
.path-title-b { color: #E67E22; }
.path-arrow-b { color: #E67E22; }
.path-end-b {
  background: linear-gradient(135deg, #E67E22, #F39C12);
}
.path-end-label-b {
  font-size: 0.65rem;
  color: #E67E22;
  font-weight: 600;
  display: block;
}

/* --- 正确恋爱观 --- */
.values-intro {
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
}
.value-icon { font-size: 1.35rem; }
.value-card-heading {
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.value-card-text {
  color: var(--text-secondary);
  font-size: 0.9rem;
  line-height: 1.7;
  margin-top: 0.75rem;
}

/* --- 线下活动 --- */
.act-section-desc {
  max-width: 580px;
  margin: 0 auto;
  font-size: 1rem;
}
.act-card-glass {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-md);
  padding: 2rem;
  text-align: center;
}
.act-card-icon { font-size: 2.5rem; margin-bottom: 0.75rem; }
.act-card-title {
  margin-bottom: 0.5rem;
  color: #FFE8DD;
  text-shadow: 0 1px 6px rgba(224,122,95,0.3);
}
.act-card-text { font-size: 0.9rem; }

.act-divider {
  border-top: 1px solid rgba(255,255,255,0.12);
}
.act-subheading {
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFE8DD;
}
.act-adv-card {
  text-align: center;
  padding: 1rem;
  border-radius: var(--radius-md);
  background: rgba(255,255,255,0.06);
}
.act-adv-icon { font-size: 2rem; }
.act-adv-title {
  margin-top: 0.5rem;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 0.9rem;
}
.act-adv-desc {
  opacity: 0.6;
  font-size: 0.8rem;
  margin-bottom: 0;
}

/* 活动流程步骤 */
.act-flow-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.35rem;
}
.act-flow-step-label { font-weight: 600; }
.act-flow-step-hint {
  opacity: 0.5;
  font-size: 0.72rem;
}
.act-flow-icon { font-size: 1.15rem; }
.act-flow-arrow-pri { color: var(--color-primary-light); }
.act-flow-arrow-blue { color: #5BA4CF; }
.act-flow-arrow-sec { color: var(--color-secondary); }

/* 背景色变体 */
.act-flow-bg-pri  { background: rgba(224,122,95,0.2); }
.act-flow-bg-blue { background: rgba(91,164,207,0.2); }
.act-flow-bg-sec  { background: rgba(129,178,154,0.2); }
.act-flow-bg-org  { background: rgba(230,126,34,0.2); }

.act-note {
  opacity: 0.6;
  font-size: 0.85rem;
  margin-bottom: 1rem;
}

.btn-act-outline {
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 25px;
  padding: 0.75rem 2rem;
  font-weight: 600;
}
.btn-act-primary {
  background: rgba(224,122,95,0.9);
  color: #fff;
  border: none;
  border-radius: 25px;
  padding: 0.75rem 2rem;
  font-weight: 600;
}

/* --- CTA --- */
.cta-title {
  font-size: 1.75rem;
  color: #fff;
}
.cta-desc {
  color: rgba(255,255,255,0.9);
  font-size: 1.05rem;
  margin-bottom: 2rem;
}
.cta-note {
  color: rgba(255,255,255,0.7);
  font-size: 0.85rem;
}

/* ========================================
   Login / Register Page — 内联样式提取
   ======================================== */
.login-progress-bar { max-width: 420px; margin: 0 auto 0; }
.login-step-hint { color: var(--text-secondary); font-size: 0.8rem; }

.qr-wrapper { text-align: center; padding: 1rem 0; }
.qr-area {
  width: 200px; height: 200px; margin: 0 auto;
  border: 2px dashed var(--border-color);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 0.5rem;
  background: linear-gradient(135deg,#FDF8F4,#FFF5EF);
  cursor: pointer;
}
.qr-icon-lg { font-size: 3rem; }
.qr-text-hint { font-size: 0.85rem; color: var(--text-secondary); }
.qr-text-sub { font-size: 0.75rem; color: var(--text-light); }
.qr-desc { font-size: 0.8rem; color: var(--text-secondary); margin-top: 0.75rem; }

.btn-back-link { color: var(--text-secondary); }
.wx-info-card {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.75rem;
  background: rgba(224,122,95,0.06);
  border-radius: var(--radius-sm);
  margin-bottom: 1rem;
  border: 1px solid rgba(224,122,95,0.12);
}
.wx-avatar-circle {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg,var(--color-primary),var(--color-primary-light));
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; color: #fff;
}
.wx-nickname { font-weight: 600; }
.wx-openid { font-size: 0.8rem; color: var(--text-secondary); }
.code-hint { color: var(--text-secondary); font-size: 0.8rem; }
.pref-input-half { width: 46%; }
.form-sep-dash { color: var(--text-secondary); font-size: 0.85rem; }
.form-sep-unit { color: var(--text-secondary); font-size: 0.8rem; white-space: nowrap; }
.login-bottom-area { text-align: center; padding: 2rem 0 4rem; position: relative; z-index: 1; }

/* ========================================
   Debate / 论爱会页面 — 内联样式提取
   ======================================== */
.debate-back-link { color: var(--text-secondary); }
.debate-team-badge { background: rgba(255,255,255,0.25); }
.debate-status-text { font-size: 0.85rem; color: var(--text-secondary); }
.debate-timer-label { color: var(--text-secondary); }

.speaker-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  margin: 0 auto 0.4rem;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spk-avatar-pro-a { background: linear-gradient(135deg,#FFB6B6,#FFD0D0); border-radius: var(--radius-sm); }
.spk-avatar-pro-w1 { background: linear-gradient(135deg,#FFC8C8,#FFE0E0); border-radius: 50%; }
.spk-avatar-pro-w2 { background: linear-gradient(135deg,#FFDADA,#FFF0F0); border-radius: 50%; }
.spk-avatar-pro-w3 { background: linear-gradient(135deg,#FFECEC,#FFF8F8); border-radius: 50%; }
.spk-avatar-con-a { background: linear-gradient(135deg,#F2A68D,#FFD6E0); border-radius: var(--radius-sm); }
.spk-avatar-con-w1 { background: linear-gradient(135deg,#FFD6E0,#FFE8DD); border-radius: 50%; }
.spk-avatar-con-w2 { background: linear-gradient(135deg,#FFE0CC,#FFF0E8); border-radius: 50%; }
.spk-avatar-con-w3 { background: linear-gradient(135deg,#FFF5EE,#FFFAF7); border-radius: 50%; }

.role-waiting { color: var(--color-success); }
.role-queued { color: var(--text-light); }

.debate-input-area { background: #fff; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }

/* ========================================
   Page: LQ Publish（恋爱情报站 - 用户投稿）
   Source: lq-publish.shtml
   ======================================== */
.lq-pub-notice{display:flex;gap:.6rem;align-items:flex-start;background:linear-gradient(135deg,rgba(224,122,95,.08),rgba(245,184,164,.16));border:1px solid rgba(224,122,95,.22);border-radius:14px;padding:.9rem 1rem;margin-bottom:1.25rem;}
.lqpn-icon{font-size:1.05rem;line-height:1.4;}
.lqpn-text{display:flex;flex-direction:column;gap:.15rem;font-size:.82rem;color:var(--text-secondary);line-height:1.6;}
.lqpn-text strong{color:var(--color-primary-dark);font-size:.88rem;}

.lq-preview-box{margin-bottom:1.25rem;animation:lqFadeIn .25s ease;}
@keyframes lqFadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.lq-draft-empty{font-size:.82rem;color:var(--text-light);padding:.4rem 0;}

/* ===== 用户投稿卡片（UGC）：投稿页预览 + love-quotes 各板块混排共用 ===== */
.lq-ugc-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.15rem 1.25rem;position:relative;overflow:hidden;border:1px solid rgba(224,122,95,.14);transition:transform .2s ease,box-shadow .2s ease;}
.lq-ugc-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--color-primary),var(--color-primary-light));}
.lq-ugc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.lq-ugc-card-preview{border-style:dashed;}
.lq-ugc-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem;}
.lq-ugc-cat{font-size:.74rem;color:var(--text-secondary);}
.lq-ugc-badge{font-size:.68rem;font-weight:600;color:#fff;background:var(--color-primary);border-radius:10px;padding:.12rem .5rem;white-space:nowrap;}
.lq-ugc-title{font-size:.98rem;font-weight:700;color:var(--text-primary);margin-bottom:.4rem;line-height:1.4;}
.lq-ugc-text{font-size:.9rem;color:var(--text-primary);line-height:1.75;margin-bottom:.6rem;white-space:pre-wrap;word-break:break-word;}
.lq-ugc-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.6rem;}
.lq-ugc-tag{font-size:.68rem;color:var(--color-primary-dark);background:rgba(224,122,95,.08);border:1px solid rgba(224,122,95,.16);border-radius:8px;padding:.08rem .4rem;}
.lq-ugc-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.05);}
.lq-ugc-author{font-size:.74rem;color:var(--text-light);}
.lq-ugc-date{font-size:.72rem;color:var(--text-light);}

/* ===== 我的 - 我的投稿卡片（展示本人投稿与审核状态）=====
   与个人中心既有卡片体系对齐：左右缩进 1rem（同 .menu-list / .my-stats-card），
   头部图标沿用 .menu-icon 的 42px 暖底方块，避免自成一套显得突兀 */
.lq-myposts-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.15rem;margin:0 1rem;}
.lq-myposts-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;}
.lq-myposts-head-left{display:flex;align-items:center;gap:.75rem;min-width:0;}
.lq-myposts-icon{width:42px;height:42px;background:var(--bg-warm);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.lq-myposts-title{font-weight:600;font-size:.95rem;margin-bottom:.1rem;}
.lq-myposts-sub{font-size:.8rem;color:var(--text-secondary);}
.lq-myposts-more{font-size:.8rem;color:var(--color-primary);text-decoration:none;white-space:nowrap;flex-shrink:0;}

/* ===== 富文本编辑器（投稿正文）===== */
.lq-editor{min-height:220px;background:var(--bg-warm);border:1px solid var(--border-color);border-radius:12px;padding:.9rem 1rem;font-size:.92rem;line-height:1.75;color:var(--text-primary);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;overflow-y:auto;}
.lq-editor:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(224,122,95,.12);background:#fff;}
.lq-editor:empty::before{content:attr(data-placeholder);color:var(--text-light);}
.lq-editor p{margin:0 0 .4rem;}
.lq-editor blockquote{margin:.5rem 0;padding:.4rem .8rem;border-left:3px solid var(--color-primary);background:rgba(224,122,95,.06);border-radius:0 8px 8px 0;color:var(--text-secondary);}
.lq-editor ul,.lq-editor ol{margin:.4rem 0;padding-left:1.4rem;}
.lq-editor h4{font-size:1rem;font-weight:700;margin:.55rem 0 .3rem;}

/* ===== 表情面板 ===== */
.lq-emoji-panel{border:1px solid var(--border-color);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm);margin-bottom:.6rem;overflow:hidden;animation:lqFadeIn .18s ease;}
.lq-emoji-panel[hidden]{display:none;}
.lq-emoji-tabs{display:flex;gap:.3rem;padding:.5rem .6rem;border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none;}
.lq-emoji-tabs::-webkit-scrollbar{display:none;}
.lq-emoji-tab{flex-shrink:0;border:none;background:var(--bg-warm);color:var(--text-secondary);font-size:.76rem;padding:.25rem .6rem;border-radius:12px;cursor:pointer;transition:all .15s ease;white-space:nowrap;}
.lq-emoji-tab:hover{background:rgba(224,122,95,.12);color:var(--color-primary);}
.lq-emoji-tab.active{background:var(--color-primary);color:#fff;}
.lq-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:.2rem;padding:.6rem;max-height:190px;overflow-y:auto;}
.lq-emoji-item{border:none;background:none;font-size:1.25rem;line-height:1;padding:.3rem 0;border-radius:8px;cursor:pointer;transition:transform .15s ease,background .15s ease;}
.lq-emoji-item:hover{background:var(--bg-warm);transform:scale(1.18);}
.ptool-emoji{font-size:1rem;}

/* ===== 富文本内容渲染（投稿卡片 / 预览）===== */
.lq-ugc-text p{margin:0 0 .35rem;}
.lq-ugc-text blockquote{margin:.4rem 0;padding:.35rem .7rem;border-left:3px solid var(--color-primary);background:var(--bg-warm);border-radius:0 8px 8px 0;}
.lq-ugc-text ul,.lq-ugc-text ol{margin:.3rem 0;padding-left:1.3rem;}
.lq-ugc-text h4{font-size:.95rem;font-weight:700;margin:.4rem 0 .25rem;}

/* ===== 正文插图（编辑器内 / 展示卡片内）===== */
.lq-editor img,.lq-ugc-text img{display:block;max-width:100%;height:auto;border-radius:10px;margin:.5rem 0;}

/* ===== 正文图片尺寸调整（选中态 / 浮动工具条 / 拖拽把手）===== */
.lq-editor img.lq-img-active{outline:2px solid var(--color-primary);outline-offset:2px;cursor:pointer;}
.lq-img-toolbar{position:fixed;z-index:1200;display:flex;align-items:center;gap:.35rem;background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-md);padding:.35rem .55rem;font-size:.75rem;}
.lq-img-toolbar[hidden]{display:none;}
.lit-label{color:var(--text-secondary);white-space:nowrap;}
.lit-btn{border:1px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:8px;padding:.15rem .4rem;cursor:pointer;transition:border-color .15s ease,color .15s ease;white-space:nowrap;}
.lit-btn:hover{border-color:var(--color-primary);color:var(--color-primary);}
.lit-range{width:96px;accent-color:var(--color-primary);}
.lit-value{color:var(--color-primary);font-weight:600;min-width:38px;text-align:right;}
.lit-remove{border:none;background:none;color:#E74C3C;cursor:pointer;padding:0 .1rem;font-size:.85rem;}
.lq-img-handle{position:fixed;width:14px;height:14px;background:var(--color-primary);border:2px solid #fff;border-radius:3px;box-shadow:0 2px 6px rgba(0,0,0,.25);cursor:nwse-resize;z-index:1201;}
.lq-img-handle[hidden]{display:none;}
@media(max-width:575.98px){
  .lit-range{width:70px;}
  .lq-img-toolbar{gap:.25rem;padding:.3rem .4rem;}
}

/* ===== 封面图上传（投稿页）===== */
.pub-optional{font-size:.72rem;color:var(--text-light);font-weight:400;margin-left:.25rem;}
.lq-cover-upload{display:flex;flex-direction:column;gap:.6rem;}
.lq-cover-preview{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-warm);}
.lq-cover-preview[hidden]{display:none;}
.lq-cover-preview img{display:block;width:100%;max-height:220px;object-fit:cover;}
.lq-cover-remove{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:.85rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s ease,transform .18s ease;}
.lq-cover-remove:hover{background:rgba(0,0,0,.75);transform:scale(1.06);}
.lq-cover-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1.4rem 1rem;border:2px dashed var(--border-color);border-radius:12px;background:var(--bg-warm);cursor:pointer;transition:border-color .18s ease,background .18s ease;}
.lq-cover-drop:hover{border-color:var(--color-primary-light);background:rgba(224,122,95,.06);}
.lqcd-icon{font-size:1.5rem;}
.lqcd-text{font-size:.86rem;font-weight:600;color:var(--text-primary);}
.lqcd-hint{font-size:.74rem;color:var(--text-light);}

/* ===== 投稿卡片封面（列表 / 预览）===== */
.lq-ugc-cover{display:block;height:150px;object-fit:cover;margin:-1.15rem -1.25rem .85rem;width:calc(100% + 2.5rem);border-radius:var(--radius-md) var(--radius-md) 0 0;}

/* ===== 真实点赞按钮（精选 / 投稿共用）===== */
.lq-like{cursor:pointer;user-select:none;transition:color .18s ease,transform .18s ease;display:inline-flex;align-items:center;gap:.15rem;}
.lq-like:hover{color:var(--color-primary);transform:translateY(-1px);}
.lq-like.liked{color:var(--color-primary);font-weight:600;}
.lq-like.liked .lq-like-icon{transform:scale(1.12);}
.lq-like-icon{font-style:normal;transition:transform .2s ease;}
.lq-myposts-list{display:flex;flex-direction:column;gap:.6rem;}
.lq-myposts-loading,.lq-myposts-empty{font-size:.82rem;color:var(--text-light);padding:.3rem 0;}
.lq-myposts-empty a{color:var(--color-primary);text-decoration:none;}
.lqmp-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.65rem .75rem;border-radius:12px;background:var(--bg-warm);}
.lqmp-main{flex:1;min-width:0;}
.lqmp-title{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lqmp-meta{font-size:.72rem;color:var(--text-light);}
.lqmp-reason{margin-top:.25rem;font-size:.72rem;color:#E74C3C;}
.lqmp-badge{flex-shrink:0;font-size:.7rem;font-weight:600;border-radius:10px;padding:.15rem .5rem;color:#fff;}
.lqmp-badge-pending{background:#9E9E9E;}
.lqmp-badge-pass{background:#52B69A;}
.lqmp-badge-reject{background:#E74C3C;}
.lq-ugc-close{border:none;background:none;color:var(--color-primary);font-size:.75rem;cursor:pointer;padding:0;}

/* ===== 恋爱情报站页头：标题与主题一致 ===== */
/* 全局 h1{color:var(--text-primary)} 会把标题染成深棕，与橙色渐变底冲突，故显式设为白色 */
.lq-header h1{font-size:1.6rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18);letter-spacing:.01em;}
.lq-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.lq-publish-btn{display:inline-flex;align-items:center;gap:.35rem;background:#fff;color:var(--color-primary);font-size:.84rem;font-weight:600;padding:.45rem 1.05rem;border-radius:20px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .18s ease,box-shadow .18s ease;white-space:nowrap;}
.lq-publish-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.16);color:var(--color-primary-dark);}
@media(max-width:767.98px){
  .lq-header h1{font-size:1.3rem;}
  .lq-header-row{flex-direction:column;align-items:flex-start;gap:.65rem;}
  .lq-publish-btn{padding:.4rem .9rem;font-size:.8rem;}
}
.debate-input-fs { font-size: 0.875rem; }
.debate-btn-xs { font-size: 0.8rem; }

/* ========================================
   聊天相关滚动条统一：细、半透明、透明轨道、低对比
   （仅作用于聊天容器，站点其余部分保持浏览器默认）
   ======================================== */
/* 浅色聊天容器（站内信会话区 / 会话列表） */
.chat-messages,
.conversation-list {
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,.14) transparent;
}
.chat-messages::-webkit-scrollbar,
.conversation-list::-webkit-scrollbar { width: 8px; height: 8px; }
.chat-messages::-webkit-scrollbar-track,
.conversation-list::-webkit-scrollbar-track { background: transparent; }
.chat-messages::-webkit-scrollbar-thumb,
.conversation-list::-webkit-scrollbar-thumb { background: rgba(0,0,0,.14); border-radius: 999px; }
.chat-messages::-webkit-scrollbar-thumb:hover,
.conversation-list::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,.3); }
.chat-messages::-webkit-scrollbar-corner,
.conversation-list::-webkit-scrollbar-corner { background: transparent; }

/* 深色聊天容器（辩论房聊天）：改用浅色半透明滑块，深底上同样不刺眼 */
.vr-chat-log {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.22) transparent;
}
.vr-chat-log::-webkit-scrollbar { width: 8px; height: 8px; }
.vr-chat-log::-webkit-scrollbar-track { background: transparent; }
.vr-chat-log::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 999px; }
.vr-chat-log::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.32); }
.vr-chat-log::-webkit-scrollbar-corner { background: transparent; }

/* ========================================
   Home / 发现页 — 内联样式提取
   ======================================== */
.active-filters-hidden { display: none; }
.user-age-info { font-weight: 400; color: var(--text-secondary); font-size: 0.9rem; }
.fw-gender { width: 50px; }
.fw-age { width: 70px; }
.fw-height { width: 65px; }
.fw-marital { width: 85px; }
.fw-child { width: 78px; }
.fw-edu { width: 105px; }
.fw-reside { min-width: 100px; white-space: nowrap; }
.fw-home { min-width: 90px; white-space: nowrap; }
.fw-job { min-width: 95px; white-space: nowrap; }

/* ========================================
   Love Quotes / 土味情话组件 — 内联样式提取
   ======================================== */
.bar-w18 { width: 18%; }
.bar-w20 { width: 20%; }
.bar-w22 { width: 22%; }
.bar-w25 { width: 25%; }
.bar-w28 { width: 28%; }
.bar-w30 { width: 30%; }
.bar-w35 { width: 35%; }
.bar-w38 { width: 38%; }
.bar-w40 { width: 40%; }
.bar-w42 { width: 42%; }
.bar-w45 { width: 45%; }
.bar-w48 { width: 48%; }
.bar-w50 { width: 50%; }
.bar-w55 { width: 55%; }
.bar-w58 { width: 58%; }
.bar-w62 { width: 62%; }
.bar-w70 { width: 70%; }
.bar-w75 { width: 75%; }
.bar-w80 { width: 80%; }
.bar-w92 { width: 92%; }
.bar-w95 { width: 95%; }
.bar-w60 { width: 60%; }
.bar-w65 { width: 65%; }
.bar-w66 { width: 66%; }
.bar-w90 { width: 90%; }
.bar-w98 { width: 98%; }

/* ========================================
   Profile / 个人中心 — 内联样式提取
   ======================================== */
.profile-header-z { z-index: 1; }
.profile-settings-link { text-decoration: none; }
.profile-container { max-width: 540px; }
.btn-logout {
  border: 1px solid var(--border-color);
  border-radius: 25px;
  color: var(--text-secondary);
}

/* ===== 我的辩论（个人中心，复用投稿卡片体系）===== */
.mydebate-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.65rem .75rem;border-radius:12px;background:var(--bg-warm);}
.mydebate-main{flex:1;min-width:0;}
.mydebate-title{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;display:flex;align-items:center;gap:.4rem;}
.mydebate-role{flex-shrink:0;font-size:.68rem;font-weight:500;color:var(--color-primary);background:rgba(224,122,95,.12);border-radius:8px;padding:.05rem .4rem;}
.mydebate-stats{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.72rem;color:var(--text-secondary);}
.mydebate-stats b{color:var(--text-primary);font-weight:600;}
.mydebate-side{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0;}
.mydebate-badge{flex-shrink:0;font-size:.7rem;font-weight:600;border-radius:10px;padding:.15rem .5rem;color:#fff;}
.mydebate-badge-upcoming{background:#9E9E9E;}
.mydebate-badge-live{background:#52B69A;}
.mydebate-badge-ended{background:#E0915F;}
.mydebate-reward{flex-shrink:0;font-size:.7rem;font-weight:600;color:#fff;background:#52B69A;border-radius:10px;padding:.15rem .5rem;}

/* 共享：菜单/任务 图标配色 */
.icon-red { background: #FFF0F0; color: #E74C3C; }
.icon-blue { background: #F0F4FF; color: #3498DB; }
.icon-green { background: #F0FFF0; color: #81B29A; }
.icon-yellow { background: #FFF8E6; color: #F39C12; }
.icon-gray { background: #F5F5F5; color: #666; }

/* ========================================
   Redline / 红线中心 — 内联样式提取
   ======================================== */
.rl-container { max-width: 540px; }
.ad-remain-text { color: var(--color-success); font-weight: 500; }
.rl-arrow { color: var(--text-light); }

/* 共享：页面副标题 */
.page-subtitle-sm { font-size: 0.88rem; }
.page-subtitle-fade { opacity: 0.9; }
.pub-subtitle { font-size: 0.88rem; opacity: 0.95; }

/* ========================================
   残留内联样式清理 — Step2 收尾
   ======================================== */

/* Index / 首页 */
.path-or-wrap { padding: 0 0.5rem; }
.act-flow-row { font-size: 0.85rem; }

/* Site Footer */
.footer-desc { font-size: 0.85rem; line-height: 1.7; }
.footer-copyright { opacity: 0.6; font-size: 0.75rem; }

/* JS 动画状态类（替代内联 style） */
.liked-anim { color: var(--color-primary); transform: scale(1.2); }
.faction-liked { color: #E91E63; }
.faction-like-flash { animation: likeFlash 0.5s ease; }
.sr-liked { color: #E91E63; }
.sr-like-flash { animation: likeFlash 0.5s ease; }
@keyframes likeFlash {
  0% { color: #E91E63; transform: scale(1.1); }
  100% { color: inherit; transform: scale(1); }
}

/* QR 扫码加载状态 */
.qr-loading-icon { font-size: 1.5rem; color: var(--color-primary); }
.qr-loading-text { font-size: 0.85rem; color: var(--text-secondary); }

/* ========================================
   Page: Edit Profile（编辑个人资料）
   Source: edit-profile.shtml
   ======================================== */
.edit-profile-page .ud-page-title { font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0; }
.edit-profile-page .ud-back-btn-sm { background:#f5f0ea;border:none;border-radius:var(--radius-sm);padding:0.5rem 1rem;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all 0.2s; }
.edit-profile-page .ud-back-btn-sm:hover { background:#e8ddd4;color:var(--text-primary); }
.edit-profile-page .form-label { color:var(--text-primary);font-weight:600;font-size:0.88rem; }
.edit-profile-page .form-select,.edit-profile-page .form-control { border-color:#e5e0da;border-radius:var(--radius-sm);font-size:0.88rem; }
.edit-profile-page .form-select:focus,.edit-profile-page .form-control:focus { border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(224,122,95,0.12);outline:none; }
.edit-profile-page .form-control:read-only { cursor:not-allowed;opacity:0.85; }
.edit-profile-page .form-select-sm { font-size:0.82rem; }
.edit-profile-page .ud-card-body .row { margin-bottom:0.3rem; }
.edit-profile-page .ud-card-body .row:last-child { margin-bottom:0; }
.edit-profile-page .btn-primary { background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:var(--radius-md);font-weight:600;padding:0.9rem 2rem;box-shadow:0 4px 12px rgba(102,126,234,0.3);transition:all 0.2s; }
.edit-profile-page .btn-primary:hover { transform:translateY(-1px);box-shadow:0 6px 16px rgba(102,126,234,0.4); }
.edit-profile-page .btn-outline-secondary { border-color:#e5e0da;color:var(--text-secondary);background:#fff;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.edit-profile-page .btn-outline-secondary:hover { border-color:var(--color-primary);color:var(--color-primary); }
.edit-profile-page .text-muted { color:var(--text-light)!important; }
.edit-profile-page .fw-bold { font-weight:600!important; }
.edit-profile-page .bg-primary { background:var(--color-primary)!important; }
.edit-profile-page .bg-secondary { background:#f5f0ea!important; }
.edit-profile-page .gap-2 { gap:0.5rem!important; }
.edit-profile-page .flex-wrap { flex-wrap:wrap!important; }

@media(max-width:767.98px){
  .edit-profile-page .ud-page-title { font-size:1.25rem; }
  .edit-profile-page .btn-primary { padding:0.7rem 1.5rem;font-size:0.92rem; }
}

/* ========================================
   Edit Profile Page - Modern Styling (2026)
   现代化编辑个人资料页面样式
   ======================================== */

/* 卡片容器 - 现代化设计 */
.edit-profile-page .ud-card {
  border-radius: 24px !important;
  box-shadow: 0 4px 20px rgba(45,42,38,0.08) !important;
  border: 1px solid var(--border-color) !important;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* 输入框和选择框 - 现代化样式 */
.edit-profile-page .form-control-lg,
.edit-profile-page .form-select-lg {
  border: 2px solid #e5e0da !important;
  border-radius: 14px !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: 0.75rem 1rem !important;
  transition: all 0.2s ease !important;
}

/* 输入框 hover 效果 */
.edit-profile-page .form-control-lg:hover,
.edit-profile-page .form-select-lg:hover {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(224,122,95,0.1) !important;
}

/* 输入框 focus 效果 */
.edit-profile-page .form-control-lg:focus,
.edit-profile-page .form-select-lg:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 4px rgba(224,122,95,0.15) !important;
  outline: none !important;
}

/* 标签样式优化 */
.edit-profile-page .form-label {
  color: var(--text-primary) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  margin-bottom: 0.5rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

/* 按钮样式优化 */
.edit-profile-page .btn-lg {
  border: 2px solid #e5e0da !important;
  border-radius: 14px !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: 0.75rem 1rem !important;
  transition: all 0.2s ease !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  width: 100% !important;
}

/* 保存按钮 - 增强效果 */
.edit-profile-page #saveProfileBtn {
  background: linear-gradient(135deg, var(--color-primary) 0%, #C96A52 100%) !important;
  border: none !important;
  border-radius: 16px !important;
  font-weight: 700 !important;
  padding: 1rem 2rem !important;
  box-shadow: 0 6px 20px rgba(224,122,95,0.35) !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
  position: relative !important;
  overflow: hidden !important;
}

/* 保存按钮 hover 效果 */
.edit-profile-page #saveProfileBtn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(224,122,95,0.45) !important;
}

/* 只读输入框样式 */
.edit-profile-page input[readonly] {
  background: linear-gradient(135deg, #f9f7f5, #fff) !important;
  border: 2px solid #e5e0da !important;
  border-radius: 14px !important;
  color: var(--text-primary) !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

/* 城市/职业选择面板优化 */
.edit-profile-page .residence-panel {
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
  border: 1px solid var(--border-color) !important;
}

/* 性格关键词面板优化 */
#editPersonalityPanel {
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
  border: 1px solid var(--border-color) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* 性格关键词标签换行支持 */
#editPersonalityPanel .badge {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  flex-wrap: wrap !important;
  max-width: 100% !important;
}

/* 页面标题区域优化 */
.edit-profile-page .d-flex > h1 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
}

/* 返回按钮优化 */
.edit-profile-page button[onclick="history.back()"] {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light)) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.65rem 1.5rem !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(224,122,95,0.25) !important;
  transition: all 0.2s ease !important;
}

.edit-profile-page button[onclick="history.back()"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(224,122,95,0.35) !important;
}

/* 表单行间距优化 */
.edit-profile-page .row.g-3 {
  margin-bottom: 1.5rem !important;
}

/* 文本域优化 */
.edit-profile-page textarea.form-control-lg {
  border: 2px solid #e5e0da !important;
  border-radius: 14px !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: 1rem !important;
  transition: all 0.2s ease !important;
  resize: vertical !important;
}

.edit-profile-page textarea.form-control-lg:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 4px rgba(224,122,95,0.15) !important;
  outline: none !important;
}

/* 兴趣爱好选择器 - 现代化样式 */
.edit-profile-page #editHobbiesContainer {
  min-height: 50px;
}

.edit-profile-page #editHobbiesContainer label {
  border-radius: 20px !important;
  padding: 0.6rem 1.2rem !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  border: 2px solid transparent !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  margin: 0.25rem;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}

.edit-profile-page #editHobbiesContainer label:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

.edit-profile-page #editHobbiesContainer .bg-primary {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light)) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

.edit-profile-page #editHobbiesContainer .bg-secondary {
  background: #f5f0ea !important;
  border-color: #e5e0da !important;
  color: #5a4e42 !important;
  font-weight: 600 !important;
}

/* 字数统计样式 */
.edit-profile-page #bioCharCount {
  font-weight: 600 !important;
  color: var(--color-primary) !important;
}

/* ========================================
   Page: Settings（设置）— 防骚扰设置单选项
   Source: settings.shtml
   ======================================== */
.setting-options-inline { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.setting-options-inline .setting-option {
  flex: 1 1 calc(33.333% - 0.5rem); min-width: 6.5rem;
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  padding: 0.6rem 0.5rem; margin: 0; text-align: center;
  border: 1.5px solid var(--border-color); border-radius: 12px;
  cursor: pointer; transition: all 0.15s ease; user-select: none;
}
.setting-options-inline .setting-option:hover { border-color: var(--color-primary-light); }
.setting-options-inline .setting-option input[type="radio"] {
  margin: 0; flex-shrink: 0;
  accent-color: var(--color-primary); cursor: pointer;
}
.setting-options-inline .setting-option:has(input:checked) {
  border-color: var(--color-primary); background: rgba(224,122,95,0.06);
}
.setting-option-title { font-size: 0.86rem; font-weight: 600; color: var(--text-secondary); white-space: nowrap; }
.setting-options-inline .setting-option:has(input:checked) .setting-option-title { color: var(--color-primary); }
.setting-hint { margin-top: 0.6rem; font-size: 0.78rem; line-height: 1.4; }
