/* ============================================================
   BITPRO HELP CENTER — Stylesheet
   ============================================================ */

:root {
  --green-dark:   #121E32;
  --green-mid:    #1E3354;
  --green-vivid:  #2B5BA6;
  --green-bright: #3B82F6;
  --green-light:  #DBEAFE;
  --green-xlight: #F0F5FF;

  --bg:      #FFFFFF;
  --bg-alt:  #F5F8FF;
  --card:    #FFFFFF;
  --border:  #E5E7EB;
  --border-g:rgba(43,91,166,0.25);

  --text-h:    #0D1F13;
  --text-body: #374151;
  --text-muted:#9CA3AF;

  --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 6px 24px rgba(0,0,0,0.09);
  --shadow-lg: 0 16px 48px rgba(0,0,0,0.12);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --nav-h: 64px;
  --sidebar-w: 260px;
  --ease: cubic-bezier(0.4,0,0.2,1);

  --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: var(--font); background: var(--bg); color: var(--text-body); line-height: 1.6; }
img  { max-width: 100%; display: block; }
a    { color: inherit; text-decoration: none; }
ul   { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* ── Nav ── */
.help-nav {
  position: sticky; top: 0; z-index: 100;
  height: var(--nav-h);
  background: var(--green-dark);
  display: flex; align-items: center;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
}
.help-nav-inner {
  width: 100%; max-width: 1280px; margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex; align-items: center; gap: 1.5rem;
}
.help-nav-logo { display: flex; align-items: center; gap: 10px; }
.help-nav-logo img { height: 30px; width: auto; object-fit: contain; }
.help-nav-logo-text { font-size: 0.875rem; font-weight: 700; color: rgba(255,255,255,0.6); }
.help-nav-logo-sep { color: rgba(255,255,255,0.3); margin-inline: 2px; }
.help-nav-logo-sub { font-size: 0.875rem; font-weight: 700; color: #fff; }
.help-nav-search {
  flex: 1; max-width: 480px; margin-inline: auto;
  position: relative;
}
.help-nav-search input {
  width: 100%; padding: 0.5rem 1rem 0.5rem 2.5rem;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
  border-radius: 100px; color: #fff; font-size: 0.875rem; outline: none;
  font-family: var(--font); transition: all 0.2s;
}
.help-nav-search input::placeholder { color: rgba(255,255,255,0.5); }
.help-nav-search input:focus { background: rgba(255,255,255,0.18); border-color: rgba(255,255,255,0.4); }
.help-nav-search-icon {
  position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
  color: rgba(255,255,255,0.5); font-size: 0.875rem; pointer-events: none;
}
.help-nav-actions { display: flex; align-items: center; gap: 0.625rem; margin-left: auto; }
.help-nav-link { font-size: 0.8125rem; font-weight: 500; color: rgba(255,255,255,0.75); padding: 0.375rem 0.75rem; border-radius: var(--radius-sm); transition: all 0.2s; }
.help-nav-link:hover { color: #fff; background: rgba(255,255,255,0.1); }
.btn-nav-ask { padding: 0.4375rem 1rem; background: var(--green-bright); color: #fff; border-radius: var(--radius-sm); font-size: 0.8125rem; font-weight: 700; transition: all 0.2s; }
.btn-nav-ask:hover { background: #fff; color: var(--green-vivid); }
.help-user-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--green-vivid); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 700; cursor: pointer;
  border: 2px solid rgba(255,255,255,0.3);
}

/* ── Layout ── */
.help-layout { display: flex; min-height: calc(100vh - var(--nav-h)); }
.help-sidebar {
  width: var(--sidebar-w); flex-shrink: 0;
  background: var(--bg-alt);
  border-right: 1px solid var(--border);
  padding: 1.5rem 1rem;
  position: sticky; top: var(--nav-h);
  height: calc(100vh - var(--nav-h)); overflow-y: auto;
}
.help-main { flex: 1; min-width: 0; padding: 2rem clamp(1.25rem, 3vw, 2.5rem); max-width: 860px; }
.help-main-wide { flex: 1; min-width: 0; padding: 2rem clamp(1.25rem, 3vw, 2.5rem); }

/* Sidebar nav */
.sidebar-section { margin-bottom: 1.5rem; }
.sidebar-section-title { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.5rem; padding-inline: 0.5rem; }
.sidebar-item {
  display: flex; align-items: center; gap: 9px;
  padding: 0.5625rem 0.625rem; border-radius: var(--radius-sm);
  font-size: 0.875rem; color: var(--text-body);
  transition: all 0.15s; margin-bottom: 1px;
}
.sidebar-item:hover  { background: var(--green-light); color: var(--green-vivid); }
.sidebar-item.active { background: var(--green-light); color: var(--green-vivid); font-weight: 600; }
.sidebar-item svg    { flex-shrink: 0; }
.sidebar-count { margin-left: auto; font-size: 0.68rem; font-weight: 700; background: var(--border); color: var(--text-muted); padding: 1px 7px; border-radius: 100px; }
.sidebar-item.active .sidebar-count { background: rgba(22,163,74,0.15); color: var(--green-vivid); }

/* ── Buttons ── */
.btn { display: inline-flex; align-items: center; gap: 7px; padding: 0.625rem 1.25rem; border-radius: var(--radius-md); font-size: 0.9rem; font-weight: 600; transition: all 0.2s; }
.btn-primary { background: var(--green-vivid); color: #fff; box-shadow: 0 4px 16px rgba(22,163,74,0.2); }
.btn-primary:hover { background: var(--green-bright); transform: translateY(-1px); }
.btn-outline { border: 1.5px solid var(--border); color: var(--text-body); }
.btn-outline:hover { border-color: var(--green-vivid); color: var(--green-vivid); }
.btn-danger { background: #EF4444; color: #fff; }
.btn-danger:hover { background: #DC2626; }
.btn-sm { padding: 0.375rem 0.75rem; font-size: 0.8rem; border-radius: var(--radius-sm); }
.btn-ghost { color: var(--text-muted); }
.btn-ghost:hover { color: var(--green-vivid); }

/* ── Forms ── */
.form-group { margin-bottom: 1.125rem; }
.form-label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--text-body); margin-bottom: 5px; }
.form-input, .form-select, .form-textarea {
  width: 100%; padding: 0.6875rem 1rem;
  border: 1.5px solid var(--border); border-radius: var(--radius-sm);
  font-size: 0.9375rem; font-family: var(--font); color: var(--text-h);
  background: #fff; outline: none; transition: border-color 0.2s, box-shadow 0.2s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color: var(--green-vivid); box-shadow: 0 0 0 3px rgba(22,163,74,0.1); }
.form-textarea { resize: vertical; min-height: 120px; }
.form-hint { font-size: 0.78rem; color: var(--text-muted); margin-top: 4px; }
.form-error { font-size: 0.8rem; color: #EF4444; margin-bottom: 1rem; padding: 0.625rem 0.875rem; background: #FEF2F2; border-radius: var(--radius-sm); }
.tag.tag-active, .tag-active { background: var(--green-vivid); color: #fff; cursor: pointer; }
.filters-bar .tag { cursor: pointer; }

/* ── Cards ── */
.card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 1.5rem; box-shadow: var(--shadow-sm); }
.card-sm { padding: 1rem; }

/* ── Tags ── */
.tag { display: inline-flex; align-items: center; gap: 4px; padding: 0.2rem 0.625rem; border-radius: 6px; font-size: 0.72rem; font-weight: 600; background: var(--green-light); color: var(--green-mid); cursor: default; transition: all 0.15s; }
.tag:hover { background: var(--green-vivid); color: #fff; }
.tag-group { display: flex; flex-wrap: wrap; gap: 6px; }

/* ── Badge ── */
.badge { display: inline-flex; align-items: center; padding: 0.2rem 0.625rem; border-radius: 100px; font-size: 0.68rem; font-weight: 700; }
.badge-green  { background: #DCFCE7; color: #15803D; }
.badge-blue   { background: #DBEAFE; color: #1D4ED8; }
.badge-yellow { background: #FEF9C3; color: #854D0E; }
.badge-red    { background: #FEE2E2; color: #991B1B; }
.badge-gray   { background: #F3F4F6; color: #6B7280; }
.badge-solved { background: #DCFCE7; color: #15803D; }

/* ── Question Card ── */
.q-card {
  display: flex; gap: 1rem;
  padding: 1.25rem 0; border-bottom: 1px solid var(--border);
  transition: background 0.15s;
}
.q-card:first-child { padding-top: 0; }
.q-card:last-child  { border-bottom: none; }
.q-card:hover { background: var(--green-xlight); margin-inline: -1rem; padding-inline: 1rem; border-radius: var(--radius-sm); }
.q-votes { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 52px; }
.q-vote-count { font-size: 1rem; font-weight: 800; color: var(--text-h); line-height: 1; }
.q-vote-label { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); }
.q-answers-count { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 52px; padding: 6px; border-radius: var(--radius-sm); }
.q-answers-count.has-answer { background: var(--green-light); }
.q-answers-count.accepted   { background: var(--green-vivid); color: #fff; }
.q-answers-count .num  { font-size: 1rem; font-weight: 800; line-height: 1; }
.q-answers-count .lbl  { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.75; }
.q-body { flex: 1; min-width: 0; }
.q-title { font-size: 1rem; font-weight: 700; color: var(--green-vivid); margin-bottom: 6px; line-height: 1.4; }
.q-title:hover { color: var(--green-mid); }
.q-excerpt { font-size: 0.8125rem; color: var(--text-body); line-height: 1.6; margin-bottom: 0.625rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.q-meta { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.q-meta-item { font-size: 0.72rem; color: var(--text-muted); }
.q-meta-author { font-size: 0.72rem; color: var(--text-body); font-weight: 500; }

/* ── Answer Card ── */
.answer-card { padding: 1.5rem 0; border-bottom: 1px solid var(--border); display: flex; gap: 1rem; }
.answer-card:last-child { border-bottom: none; }
.answer-vote-col { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 44px; }
.vote-btn { width: 32px; height: 32px; border-radius: 50%; border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; color: var(--text-muted); font-size: 0.875rem; cursor: pointer; transition: all 0.2s; }
.vote-btn:hover   { border-color: var(--green-vivid); color: var(--green-vivid); }
.vote-btn.active  { background: var(--green-vivid); border-color: var(--green-vivid); color: #fff; }
.vote-count { font-size: 1rem; font-weight: 700; color: var(--text-h); }
.answer-accepted-badge { display: flex; align-items: center; gap: 4px; font-size: 0.72rem; font-weight: 700; color: var(--green-vivid); background: var(--green-light); padding: 3px 8px; border-radius: 100px; }
.answer-body { flex: 1; min-width: 0; }
.answer-content { font-size: 0.9375rem; line-height: 1.75; color: var(--text-body); margin-bottom: 0.875rem; }
.answer-content p  { margin-bottom: 0.75rem; }
.answer-content pre { background: #F1F5F9; border-radius: var(--radius-sm); padding: 1rem; overflow-x: auto; font-size: 0.8125rem; margin-block: 0.75rem; }
.answer-content code { background: #F1F5F9; padding: 0.1em 0.35em; border-radius: 4px; font-size: 0.85em; }
.answer-content img { border-radius: var(--radius-sm); max-width: 100%; margin-block: 0.75rem; }
.answer-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted); }
.answer-card.answer-accepted { background: var(--green-xlight); border-radius: var(--radius-md); padding: 1.5rem; border-bottom: none; }

/* ── Tutorial Card ── */
.tutorial-card {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-md); overflow: hidden;
  transition: all 0.22s; box-shadow: var(--shadow-sm);
}
.tutorial-card:hover { border-color: var(--border-g); transform: translateY(-3px); box-shadow: var(--shadow-md); }
.tutorial-thumb { width: 100%; height: 160px; object-fit: cover; background: var(--green-light); display: flex; align-items: center; justify-content: center; }
.tutorial-thumb svg { opacity: 0.3; }
.tutorial-body { padding: 1.125rem; }
.tutorial-category { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--green-vivid); margin-bottom: 0.375rem; }
.tutorial-title { font-size: 1rem; font-weight: 700; color: var(--text-h); margin-bottom: 0.375rem; line-height: 1.4; }
.tutorial-desc  { font-size: 0.8125rem; color: var(--text-muted); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 0.875rem; }
.tutorial-footer { display: flex; align-items: center; justify-content: space-between; }
.tutorial-meta   { font-size: 0.72rem; color: var(--text-muted); }

/* ── Auth Pages ── */
.auth-page { min-height: 100vh; background: linear-gradient(160deg, #1E3354 0%, #121E32 60%, #0A1322 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem 1rem; }
.auth-card h1 { font-size: 1.5rem; font-weight: 900; letter-spacing: -0.03em; color: var(--text-h); margin-bottom: 0.375rem; }
.auth-logo { text-align: center; margin-bottom: 1.5rem; }
.auth-logo a { display: inline-flex; align-items: center; gap: 8px; font-size: 1.25rem; font-weight: 800; color: #fff; letter-spacing: -0.02em; }
.auth-logo a span { color: #60A5FA; }
.auth-nav { padding: 1.25rem 2rem; display: flex; align-items: center; }
.auth-nav img { height: 32px; }
.auth-body { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
.auth-card { background: #fff; border-radius: var(--radius-xl); padding: 2.5rem; width: 100%; max-width: 420px; box-shadow: var(--shadow-lg); }
.auth-title { font-size: 1.5rem; font-weight: 900; letter-spacing: -0.03em; color: var(--text-h); margin-bottom: 0.375rem; }
.auth-sub   { font-size: 0.875rem; color: var(--text-muted); margin-bottom: 1.75rem; }
.auth-divider { display: flex; align-items: center; gap: 0.75rem; margin-block: 1.25rem; color: var(--text-muted); font-size: 0.78rem; }
.auth-divider::before,.auth-divider::after { content:''; flex:1; height:1px; background: var(--border); }
.auth-footer { font-size: 0.8125rem; text-align: center; color: var(--text-muted); margin-top: 1.5rem; }
.auth-footer a { color: var(--green-vivid); font-weight: 600; }
.btn-google {
  width: 100%; padding: 0.75rem; border: 1.5px solid var(--border);
  border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; gap: 10px;
  font-size: 0.9rem; font-weight: 600; color: var(--text-h);
  transition: all 0.2s; background: #fff;
}
.btn-google:hover { border-color: var(--green-vivid); }
.btn-google img { width: 18px; height: 18px; }
.btn-full { width: 100%; justify-content: center; padding: 0.8125rem; }

/* ── Page header ── */
.page-header { margin-bottom: 1.75rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--border); }
.page-title  { font-size: 1.5rem; font-weight: 900; letter-spacing: -0.03em; color: var(--text-h); }
.page-sub    { font-size: 0.9rem; color: var(--text-muted); margin-top: 4px; }
.page-header-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }

/* ── Filters bar ── */
.filters-bar { display: flex; align-items: center; gap: 0.625rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.filter-btn { padding: 0.375rem 0.875rem; border-radius: 100px; font-size: 0.8125rem; font-weight: 500; color: var(--text-muted); border: 1px solid var(--border); transition: all 0.15s; }
.filter-btn:hover  { color: var(--green-vivid); border-color: var(--green-vivid); }
.filter-btn.active { background: var(--green-vivid); color: #fff; border-color: var(--green-vivid); }
.filter-search { flex: 1; max-width: 280px; position: relative; }
.filter-search input { width: 100%; padding: 0.4375rem 0.875rem 0.4375rem 2.25rem; border: 1px solid var(--border); border-radius: 100px; font-size: 0.8125rem; font-family: var(--font); outline: none; transition: border-color 0.2s; }
.filter-search input:focus { border-color: var(--green-vivid); }
.filter-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--text-muted); font-size: 0.75rem; pointer-events: none; }

/* ── Pagination ── */
.pagination { display: flex; align-items: center; gap: 4px; margin-top: 2rem; justify-content: center; }
.page-btn { width: 36px; height: 36px; border-radius: var(--radius-sm); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; color: var(--text-body); transition: all 0.15s; }
.page-btn:hover   { border-color: var(--green-vivid); color: var(--green-vivid); }
.page-btn.active  { background: var(--green-vivid); border-color: var(--green-vivid); color: #fff; font-weight: 700; }

/* ── Admin ── */
.admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 1rem; margin-bottom: 2rem; }
.admin-stat { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); padding: 1.25rem; text-align: center; box-shadow: var(--shadow-sm); }
.admin-stat-num   { font-size: 2rem; font-weight: 900; letter-spacing: -0.04em; color: var(--green-vivid); line-height: 1; margin-bottom: 4px; }
.admin-stat-label { font-size: 0.8125rem; color: var(--text-muted); }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th { text-align: left; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); padding: 0.625rem 1rem; border-bottom: 2px solid var(--border); }
.admin-table td { padding: 0.875rem 1rem; border-bottom: 1px solid var(--border); font-size: 0.875rem; color: var(--text-body); vertical-align: middle; }
.admin-table tr:hover td { background: var(--green-xlight); }
.admin-table tr:last-child td { border-bottom: none; }

/* ── Rich editor ── */
.editor-toolbar { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px; background: #F9FAFB; border: 1px solid var(--border); border-bottom: none; border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.editor-btn { width: 32px; height: 32px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.875rem; color: var(--text-body); border: 1px solid transparent; transition: all 0.15s; }
.editor-btn:hover  { background: var(--green-light); color: var(--green-vivid); border-color: var(--border-g); }
.editor-btn.active { background: var(--green-light); color: var(--green-vivid); }
.editor-sep { width: 1px; background: var(--border); margin-inline: 2px; }
.editor-area {
  min-height: 280px; padding: 1rem; font-size: 0.9375rem;
  border: 1px solid var(--border); border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  outline: none; font-family: var(--font); line-height: 1.75; color: var(--text-h);
  transition: border-color 0.2s;
}
.editor-area:focus { border-color: var(--green-vivid); box-shadow: 0 0 0 3px rgba(22,163,74,0.1); }
.editor-area img { max-width: 100%; height: auto; object-fit: contain; cursor: pointer; border: 2px solid transparent; }
.editor-area img:hover { border-color: var(--green-vivid); }
.img-resize-handle {
  position: absolute; z-index: 1000; width: 14px; height: 14px;
  background: var(--green-vivid); border: 2px solid #fff; border-radius: 50%;
  cursor: nwse-resize; box-shadow: var(--shadow-sm);
}
.img-remove-btn {
  position: absolute; z-index: 1000; width: 20px; height: 20px; padding: 0;
  border: 2px solid #fff; border-radius: 50%; background: #DC2626; color: #fff;
  font-size: 0.7rem; line-height: 1; cursor: pointer; box-shadow: var(--shadow-sm);
}
.image-upload-zone {
  border: 2px dashed var(--border); border-radius: var(--radius-md);
  padding: 2rem; text-align: center; cursor: pointer;
  transition: all 0.2s; color: var(--text-muted); font-size: 0.875rem;
}
.image-upload-zone:hover,.image-upload-zone.drag-over { border-color: var(--green-vivid); background: var(--green-xlight); color: var(--green-vivid); }
.image-preview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); gap: 8px; margin-top: 1rem; }
.image-preview-item { position: relative; border-radius: var(--radius-sm); overflow: hidden; border: 1px solid var(--border); }
.image-preview-item img { width: 100%; height: 100px; object-fit: cover; display: block; }
.image-remove-btn { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; border-radius: 50%; border: none; background: rgba(0,0,0,0.6); color: #fff; font-size: 1rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.image-remove-btn:hover { background: #EF4444; }
.editor-toolbar button { padding: 0.4rem 0.65rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: #fff; font-size: 0.8rem; cursor: pointer; transition: all 0.15s; }
.editor-toolbar button:hover { border-color: var(--green-vivid); color: var(--green-vivid); }
.link-row { display: grid; grid-template-columns: 1fr 2fr auto; gap: 8px; margin-bottom: 8px; align-items: center; }
@media (max-width: 600px) { .link-row { grid-template-columns: 1fr; } }
.image-preview-item { position: relative; border-radius: var(--radius-sm); overflow: hidden; aspect-ratio: 1; }
.image-preview-item img { width: 100%; height: 100%; object-fit: cover; }
.image-preview-remove { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; border-radius: 50%; background: rgba(0,0,0,0.6); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 0.6rem; cursor: pointer; }

/* ── Toast ── */
.toast-container { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 999; display: flex; flex-direction: column; gap: 8px; }
.toast { padding: 0.75rem 1.25rem; border-radius: var(--radius-md); font-size: 0.875rem; font-weight: 600; color: #fff; box-shadow: var(--shadow-md); animation: slideIn 0.3s var(--ease); display: flex; align-items: center; gap: 8px; }
.toast-success { background: var(--green-vivid); }
.toast-error   { background: #EF4444; }
.toast-info    { background: #3B82F6; }
@keyframes slideIn { from{transform:translateX(100%);opacity:0} to{transform:translateX(0);opacity:1} }

/* ── Empty state ── */
.empty-state { text-align: center; padding: 4rem 2rem; color: var(--text-muted); }
.empty-state svg { margin-inline: auto; margin-bottom: 1rem; opacity: 0.3; }
.empty-state h3 { font-size: 1.125rem; font-weight: 700; color: var(--text-body); margin-bottom: 0.5rem; }
.empty-state p  { font-size: 0.875rem; }

/* ── Hero ── */
.help-hero { background: var(--green-dark); color: #fff; padding: 3.5rem 1.5rem; text-align: center; }
.help-hero-inner { max-width: 720px; margin-inline: auto; }
.help-hero h1 { font-size: 2.25rem; font-weight: 900; letter-spacing: -0.03em; margin-bottom: 0.5rem; }
.help-hero p { color: rgba(255,255,255,0.75); margin-bottom: 1.75rem; }
.hero-search { display: flex; gap: 0.5rem; max-width: 560px; margin-inline: auto; }
.hero-search input { flex: 1; padding: 0.75rem 1rem; border-radius: var(--radius-md); border: none; font-size: 0.95rem; }
.hero-search input:focus { outline: 2px solid var(--green-bright); }
.hero-links { display: flex; justify-content: center; gap: 1.5rem; margin-top: 1.25rem; flex-wrap: wrap; }
.hero-links a { color: rgba(255,255,255,0.85); font-size: 0.875rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.hero-links a:hover { color: #fff; }

/* ── Page sections / misc ── */
.page-section { margin-bottom: 2.5rem; }
.page-section h2 { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.02em; color: var(--text-h); }
.link-more { font-size: 0.85rem; font-weight: 600; color: var(--green-vivid); }
.link-more:hover { text-decoration: underline; }
.tutorial-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 1.25rem; margin-top: 1rem; }
.q-body { flex: 1; min-width: 0; }
.q-body h3 { font-size: 1rem; font-weight: 700; color: var(--text-h); margin-bottom: 4px; }
.q-body p { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 8px; }
.nav-user { color: #fff; font-weight: 600; font-size: 0.875rem; padding: 0.5rem 0.75rem; }

/* ── Footer ── */
.help-footer { text-align: center; padding: 1.5rem; font-size: 0.8rem; color: var(--text-muted); border-top: 1px solid var(--border); }
.help-footer a { color: var(--green-vivid); font-weight: 600; }

/* ── Auth divider / google btn ── */
.auth-divider { display: flex; align-items: center; gap: 0.75rem; margin: 1.25rem 0; color: var(--text-muted); font-size: 0.8rem; }
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.btn-google { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 0.7rem; border: 1.5px solid var(--border); border-radius: var(--radius-md); background: #fff; font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: all 0.2s; }
.btn-google:hover { border-color: var(--green-vivid); box-shadow: var(--shadow-sm); }
.btn-block { width: 100%; justify-content: center; }
.auth-switch { text-align: center; margin-top: 1.25rem; font-size: 0.875rem; color: var(--text-muted); }
.form-hint { font-size: 0.75rem; color: var(--text-muted); margin-top: 4px; display: block; }

/* ── Tutorial content (rich text) ── */
.tutorial-content { font-size: 0.95rem; line-height: 1.8; color: var(--text-body); }
.tutorial-content h1, .tutorial-content h2, .tutorial-content h3 { color: var(--text-h); margin: 1.5rem 0 0.75rem; font-weight: 800; letter-spacing: -0.02em; }
.tutorial-content p { margin-bottom: 1rem; }
.tutorial-content img { max-width: 100%; height: auto; object-fit: contain; border-radius: var(--radius-md); margin: 1rem 0; box-shadow: var(--shadow-sm); }
.tutorial-content ul, .tutorial-content ol { padding-left: 1.5rem; margin-bottom: 1rem; }
.tutorial-content a { color: var(--green-vivid); font-weight: 600; }
.tutorial-content blockquote { border-left: 3px solid var(--green-vivid); padding-left: 1rem; color: var(--text-muted); margin-bottom: 1rem; }
.tutorial-content pre, .tutorial-content code { background: var(--bg-alt); border-radius: var(--radius-sm); padding: 0.15rem 0.4rem; font-family: monospace; }
.tutorial-content pre { padding: 1rem; overflow-x: auto; }

/* ── Skeleton loader ── */
.skeleton { background: linear-gradient(90deg, #F3F4F6 25%, #E5E7EB 50%, #F3F4F6 75%); background-size: 200% 100%; animation: shimmer 1.4s ease infinite; border-radius: 6px; }
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── Responsive ── */
@media (max-width: 768px) {
  .help-sidebar { display: none; }
  .help-main, .help-main-wide { padding: 1.25rem 1rem; }
  .help-nav-search { display: none; }
  .admin-grid { grid-template-columns: repeat(2,1fr); }
  .q-votes, .q-answers-count { min-width: 36px; }
  .q-vote-count, .q-answers-count .num { font-size: 0.875rem; }
}
@media (max-width: 480px) {
  .auth-card { padding: 1.75rem 1.25rem; }
  .admin-grid { grid-template-columns: 1fr 1fr; }
  .page-header-row { flex-direction: column; align-items: flex-start; }
}
