/* ── Shared styles: header, nav, auth, tags, spinner ── */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --hive-red:#E31337;--bg:#0a0a14;--bg2:#12121f;--card:#1a1a2e;
  --text:#e8e8f0;--text-dim:#aaaac4;--text-bright:#fff;--gold:#FFD700;--green:#2ecc71;
  --orange:#f39c12;
  --border:rgba(255,255,255,0.08);--border-medium:rgba(255,255,255,0.12);
  --overlay:rgba(0,0,0,0.7);--scrollbar-thumb:rgba(255,255,255,0.15);--scrollbar-thumb-hover:rgba(255,255,255,0.25);
  --shimmer:#252540;
}
[data-theme="light"]{
  --bg:#f5f5f7;--bg2:#e8e8ec;--card:#ffffff;
  --text:#1a1a2e;--text-dim:#555570;--text-bright:#111;
  --gold:#c5a000;--green:#27ae60;--orange:#d68910;
  --border:rgba(0,0,0,0.08);--border-medium:rgba(0,0,0,0.12);
  --overlay:rgba(0,0,0,0.5);--scrollbar-thumb:rgba(0,0,0,0.15);--scrollbar-thumb-hover:rgba(0,0,0,0.25);
  --shimmer:#d8d8e0;
}
body{background:var(--bg);color:var(--text);font-family:'Segoe UI',system-ui,sans-serif;min-height:100vh}
a{color:var(--hive-red);text-decoration:none}

/* ── Header ── */
.header{background:var(--bg2);border-bottom:2px solid var(--hive-red);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.logo{font-size:28px;font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,var(--hive-red),#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

.nav-links{display:flex;gap:16px;align-items:center}
.nav-links a{color:var(--text-dim);font-size:14px;padding:8px 16px;border-radius:20px;transition:all .2s}
.nav-links a:hover,.nav-links a.active{color:#fff;background:var(--hive-red)}

/* ── Auth area ── */
#auth-area{display:flex;align-items:center;gap:10px;margin-left:8px;font-size:13px}
#auth-area .auth-user{color:var(--text-dim);display:inline-flex;align-items:center;gap:5px}
.auth-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}
.author-avatar{border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:3px}
.no-thumb-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover}
.no-thumb-avatar.list-avatar{width:100%;height:100%;border-radius:0}
#auth-area .auth-logout{color:var(--text-dim);font-size:12px;cursor:pointer;padding:4px 10px;border-radius:12px;border:1px solid var(--border-medium);transition:all .2s}
#auth-area .auth-logout:hover{color:var(--text-bright);border-color:var(--hive-red)}
.auth-dropdown{position:relative}
.auth-dropdown-toggle{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--border-medium);border-radius:16px;padding:4px 10px;color:var(--text-dim);font-size:13px;cursor:pointer;transition:all .2s}
.auth-dropdown-toggle:hover{border-color:var(--hive-red);color:var(--text-bright)}
.auth-caret{font-size:8px;margin-left:2px}
.auth-dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--card);border:1px solid var(--border-medium);border-radius:10px;min-width:140px;z-index:300;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.auth-dropdown-menu.open{display:block}
.auth-dropdown-menu a{display:block;padding:10px 16px;color:var(--text);font-size:13px;text-decoration:none;transition:background .15s}
.auth-dropdown-menu a:hover{background:var(--bg2);color:var(--text-bright)}

/* ── Tags ── */
.tag{padding:4px 12px;border-radius:12px;font-size:11px;background:var(--card);color:var(--text-dim);border:1px solid var(--border)}
.tag.sentiment-positive{border-color:var(--green);color:var(--green)}
.tag.sentiment-negative{border-color:#e74c3c;color:#e74c3c}
.tag.sentiment-neutral{border-color:#95a5a6;color:#95a5a6}

/* ── Spinner ── */
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{border:3px solid var(--card);border-top-color:var(--hive-red);border-radius:50%;animation:spin .8s linear infinite}
.loading{text-align:center;padding:60px;color:var(--text-dim)}
.loading .spinner{width:40px;height:40px;margin:0 auto 16px}

/* ── Rendered markdown body ── */
.rendered-body{font-size:14px;line-height:1.7;color:var(--text);overflow-y:auto;word-break:break-word}
.rendered-body img{max-width:100%;height:auto;border-radius:8px;margin:8px auto;display:block}
.rendered-body h1,.rendered-body h2,.rendered-body h3,.rendered-body h4{color:var(--text-bright);margin:12px 0 6px;font-size:1.1em}
.rendered-body p{margin:6px 0}
.rendered-body a{color:var(--hive-red);text-decoration:underline}
.rendered-body blockquote{border-left:3px solid var(--hive-red);padding-left:12px;margin:8px 0;color:var(--text-dim)}
.rendered-body pre{background:var(--card);padding:10px;border-radius:8px;overflow-x:auto;margin:8px 0}
.rendered-body code{background:var(--card);padding:2px 5px;border-radius:4px;font-size:0.9em}
.rendered-body pre code{background:none;padding:0}
.rendered-body ul,.rendered-body ol{margin:8px 0;padding-left:24px}
.rendered-body li{margin:4px 0}
.rendered-body hr{border:none;border-top:1px solid var(--border-medium);margin:12px 0}
.rendered-body table{border-collapse:collapse;width:100%;margin:8px 0}
.rendered-body th,.rendered-body td{border:1px solid var(--border-medium);padding:6px 10px;text-align:left;font-size:13px}
.rendered-body th{background:var(--card);color:var(--text-dim)}

/* ── Screen reader only ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── Toast notifications ── */
.toast-container{position:fixed;bottom:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{pointer-events:auto;background:var(--card);color:var(--text);border-left:4px solid #3498db;border-radius:8px;padding:12px 16px;font-size:13px;max-width:360px;box-shadow:0 4px 16px rgba(0,0,0,.4);animation:toastIn .3s ease}
.toast.success{border-left-color:var(--green)}
.toast.error{border-left-color:#e74c3c}
@keyframes toastIn{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}

/* ── Theme toggle ── */
.theme-btn{background:none;border:1px solid var(--border-medium);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-dim);transition:all .2s;flex-shrink:0}
.theme-btn:hover{border-color:var(--hive-red);color:var(--text-bright)}
.theme-btn svg{width:18px;height:18px}
.theme-btn .theme-icon-moon{display:none}
[data-theme="light"] .theme-btn .theme-icon-sun{display:none}
[data-theme="light"] .theme-btn .theme-icon-moon{display:inline}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
}
