/* Gather global themes and compact all-features hamburger menu. */
:root {
  color-scheme: dark;
  --gather-ui-bg: #080d12;
  --gather-ui-surface: #111a23;
  --gather-ui-surface-2: #18232e;
  --gather-ui-text: #f3f5f7;
  --gather-ui-muted: #a9b5c0;
  --gather-ui-line: rgba(234, 192, 120, .25);
  --gather-ui-accent: #e9ba6b;
  --gather-ui-shadow: 0 22px 70px rgba(0,0,0,.38);
}
html[data-gather-theme="light"] {
  color-scheme: light;
  --gh-ink: #f3f6fa;
  --gh-ink-soft: #e8edf3;
  --gh-panel: rgba(255,255,255,.96);
  --gh-panel-solid: #fff;
  --gh-text: #1c2835;
  --gh-muted: #5c6977;
  --gh-line: rgba(86,103,121,.24);
  --reg-bg: #f2f5f9;
  --reg-panel: #fff;
  --reg-card: rgba(255,255,255,.96);
  --reg-text: #1c2835;
  --reg-muted: #5c6977;
  --reg-border: rgba(69,85,103,.24);
  --a-bg: #f2f5f9;
  --a-card: rgba(255,255,255,.97);
  --a-text: #1c2835;
  --a-muted: #5c6977;
  --a-line: rgba(105,119,135,.24);
  --gf-panel: rgba(255,255,255,.97);
  --gf-line: rgba(154,117,55,.22);
  --gf-muted: #586575;
  --gf-ink: #1c2835;
  --gather-ui-bg: #f2f5f9;
  --gather-ui-surface: #fff;
  --gather-ui-surface-2: #edf1f6;
  --gather-ui-text: #1c2835;
  --gather-ui-muted: #5c6977;
  --gather-ui-line: rgba(105,119,135,.25);
  --gather-ui-shadow: 0 22px 70px rgba(22,37,54,.18);
}
html[data-gather-theme="dark"] { color-scheme: dark; }
html, body { max-width: 100%; }
body { transition: background-color .18s ease, color .18s ease; }

/* Light theme: core site, forms, navigation, cards and controls. */
html[data-gather-theme="light"] body.gather-home { background: #f2f5f9; color: #1c2835; }
html[data-gather-theme="light"] body.account-page { background: radial-gradient(circle at 8% 0, rgba(222,170,89,.12), transparent 30rem), #f2f5f9; color: #1c2835; }
html[data-gather-theme="light"] body.gather-register-page { background: radial-gradient(circle at 78% 17%, rgba(201,136,54,.11), transparent 28rem), linear-gradient(135deg,#f6f8fb,#edf2f7 58%,#f7f8fa); color: #1c2835; }
html[data-gather-theme="light"] .gh-topbar,
html[data-gather-theme="light"] .account-nav,
html[data-gather-theme="light"] .topbar { background-color: rgba(255,255,255,.84); border-color: rgba(76,94,111,.16); }
html[data-gather-theme="light"] .gh-brand-text strong,
html[data-gather-theme="light"] .gh-hero-copy h1,
html[data-gather-theme="light"] .gh-section-heading h2,
html[data-gather-theme="light"] .gh-value-item h3,
html[data-gather-theme="light"] .gh-current-name,
html[data-gather-theme="light"] .account-title,
html[data-gather-theme="light"] .account-brand,
html[data-gather-theme="light"] .brand-name,
html[data-gather-theme="light"] .form-heading h2,
html[data-gather-theme="light"] .feature-item strong,
html[data-gather-theme="light"] .account-post-content,
html[data-gather-theme="light"] .gather-post-copy,
html[data-gather-theme="light"] .gather-post-author,
html[data-gather-theme="light"] .gather-news-card h3,
html[data-gather-theme="light"] .gather-news-list-heading h2,
html[data-gather-theme="light"] .gather-news-hero h1 { color: #1c2835; }
html[data-gather-theme="light"] .gh-nav-link,
html[data-gather-theme="light"] .account-nav-links a,
html[data-gather-theme="light"] .gh-hero-description,
html[data-gather-theme="light"] .gh-hero-note,
html[data-gather-theme="light"] .gh-value-item p,
html[data-gather-theme="light"] .account-intro,
html[data-gather-theme="light"] .account-bio,
html[data-gather-theme="light"] .account-help,
html[data-gather-theme="light"] .account-kicker,
html[data-gather-theme="light"] .account-post-meta,
html[data-gather-theme="light"] .story-intro,
html[data-gather-theme="light"] .feature-item small,
html[data-gather-theme="light"] .gather-auto-news-explain,
html[data-gather-theme="light"] .gather-news-card p,
html[data-gather-theme="light"] .terms-note,
html[data-gather-theme="light"] .brand-tagline,
html[data-gather-theme="light"] .gather-auto-news-status { color: #596777 !important; }
html[data-gather-theme="light"] .gh-nav-link:hover,
html[data-gather-theme="light"] .gh-nav-link-active { color: #202c38 !important; }
html[data-gather-theme="light"] .gh-composer,
html[data-gather-theme="light"] .gh-post-card,
html[data-gather-theme="light"] .gh-value-item,
html[data-gather-theme="light"] .gather-post-card,
html[data-gather-theme="light"] .gather-news-card,
html[data-gather-theme="light"] .gather-draft-card,
html[data-gather-theme="light"] .account-card,
html[data-gather-theme="light"] .account-panel,
html[data-gather-theme="light"] .account-post,
html[data-gather-theme="light"] .account-empty,
html[data-gather-theme="light"] .gather-empty,
html[data-gather-theme="light"] .form-card,
html[data-gather-theme="light"] .account-stats,
html[data-gather-theme="light"] .gather-search-form { background-color: #fff; color: #1c2835; border-color: #dce3eb; box-shadow: 0 8px 28px rgba(30,47,65,.06); }
html[data-gather-theme="light"] .gh-hero-scene .gh-scene-card { background: rgba(15,23,31,.90); color: #f6f2eb; }
html[data-gather-theme="light"] .gh-scene-card h2,
html[data-gather-theme="light"] .gh-scene-card p { color: #f6f2eb; }
html[data-gather-theme="light"] .input-shell,
html[data-gather-theme="light"] .account-field input,
html[data-gather-theme="light"] .account-field textarea,
html[data-gather-theme="light"] .account-select,
html[data-gather-theme="light"] .gather-edit-form textarea,
html[data-gather-theme="light"] .gather-search-form input,
html[data-gather-theme="light"] .register-form input { background: #fff; color: #172432; border-color: #cbd5df; }
html[data-gather-theme="light"] .input-shell input { color: #172432; }
html[data-gather-theme="light"] .field-group label { color: #354353; }
html[data-gather-theme="light"] .social-auth-button { background: linear-gradient(145deg,#fff,#f3f6f9); color: #1f2c39 !important; border-color: #d4dce5; box-shadow: 0 4px 0 rgba(25,40,55,.08); }
html[data-gather-theme="light"] .social-auth-button:hover { background: #f7f9fb; }
html[data-gather-theme="light"] .gh-flash,
html[data-gather-theme="light"] .account-flash { color: #243241; }

/* Header controls */
.gather-header-tools { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex: 0 0 auto; margin-left: auto; position: relative; z-index: 10; }
.gather-menu-trigger { width: 46px; height: 44px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--gather-ui-line); border-radius: 13px; background: linear-gradient(145deg,var(--gather-ui-surface-2),var(--gather-ui-surface)); color: var(--gather-ui-text); box-shadow: inset 0 1px rgba(255,255,255,.06), 0 5px 0 rgba(0,0,0,.18); cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.gather-menu-trigger:hover { transform: translateY(-1px); border-color: var(--gather-ui-accent); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 6px 0 rgba(0,0,0,.16); }
.gather-menu-trigger:active { transform: translateY(2px); box-shadow: inset 0 2px 5px rgba(0,0,0,.2); }
.gather-menu-trigger span { display: block; width: 19px; height: 2px; border-radius: 5px; background: var(--gather-ui-accent); transition: transform .18s ease, opacity .18s ease; }
.gather-menu-trigger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gather-menu-trigger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.gather-menu-trigger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.gather-menu-trigger:focus-visible, .gather-theme-select:focus-visible, .gather-menu-close:focus-visible { outline: 3px solid var(--gather-ui-accent); outline-offset: 3px; }
body.gather-ui-ready .gh-nav, body.gather-ui-ready .account-nav-links { display: none !important; }
body.gather-ui-ready .gh-topbar, body.gather-ui-ready .account-nav, body.gather-ui-ready .topbar { gap: 14px; }
.gather-register-page .gather-header-tools { margin-left: auto; }

/* Full-height feature menu / drawer */
.gather-menu-overlay { position: fixed; inset: 0; z-index: 99990; display: flex; justify-content: flex-end; align-items: stretch; background: rgba(3,7,11,.68); backdrop-filter: blur(8px); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
.gather-menu-overlay.is-open { opacity: 1; visibility: visible; }
.gather-menu-overlay[hidden] { display: none !important; }
.gather-menu-panel { width: min(430px, 100%); height: 100%; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; padding: max(20px, env(safe-area-inset-top)) 22px max(22px, env(safe-area-inset-bottom)); background: var(--gather-ui-surface); color: var(--gather-ui-text); border-left: 1px solid var(--gather-ui-line); box-shadow: var(--gather-ui-shadow); transform: translateX(22px); transition: transform .22s ease; }
.gather-menu-overlay.is-open .gather-menu-panel { transform: translateX(0); }
.gather-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 19px; border-bottom: 1px solid var(--gather-ui-line); }
.gather-menu-title { font: 800 22px/1.1 Manrope, sans-serif; letter-spacing: -.5px; margin: 0; }
.gather-menu-title span { color: var(--gather-ui-accent); }
.gather-menu-close { width: 40px; height: 40px; border: 1px solid var(--gather-ui-line); border-radius: 12px; background: transparent; color: inherit; font-size: 22px; cursor: pointer; }
.gather-theme-setting { display: grid; grid-template-columns: 1fr minmax(120px, 48%); gap: 12px; align-items: center; padding: 16px 0 18px; border-bottom: 1px solid var(--gather-ui-line); }
.gather-theme-setting label { color: var(--gather-ui-muted); font-size: 13px; font-weight: 700; }
.gather-theme-select { width: 100%; min-width: 0; min-height: 42px; border: 1px solid var(--gather-ui-line); border-radius: 11px; padding: 0 12px; background: var(--gather-ui-surface-2); color: var(--gather-ui-text); font: inherit; font-size: 13px; }
.gather-menu-group { padding: 17px 0 4px; }
.gather-menu-group-title { margin: 0 0 9px; color: var(--gather-ui-accent); font-size: 10px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; }
.gather-menu-links { display: grid; gap: 5px; }
.gather-menu-link { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 45px; padding: 11px 12px; border: 1px solid transparent; border-radius: 12px; color: var(--gather-ui-text) !important; text-decoration: none; font-size: 14px; font-weight: 650; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.gather-menu-link:hover, .gather-menu-link:focus-visible { background: var(--gather-ui-surface-2); border-color: var(--gather-ui-line); transform: translateX(2px); outline: none; }
.gather-menu-link-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: rgba(233,186,107,.12); color: var(--gather-ui-accent); font-size: 15px; flex: 0 0 auto; }
.gather-menu-link.is-primary { border-color: var(--gather-ui-line); }
.gather-menu-logout { padding-top: 18px; margin-top: 14px; border-top: 1px solid var(--gather-ui-line); }
.gather-menu-logout button { width: 100%; min-height: 44px; border: 1px solid rgba(221,110,110,.35); background: rgba(221,110,110,.09); color: var(--gather-ui-text); border-radius: 12px; cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; }
.gather-menu-hint { margin: 18px 0 0; color: var(--gather-ui-muted); font-size: 11px; line-height: 1.6; }
html[data-gather-theme="light"] .gather-menu-overlay { background: rgba(23,35,48,.35); }
html[data-gather-theme="light"] .gather-menu-panel { background: #fff; color: #1c2835; }
html[data-gather-theme="light"] .gather-menu-link { color: #1c2835 !important; }
html[data-gather-theme="light"] .gather-menu-link:hover { background: #f1f4f8; }

@media (max-width: 600px) {
  .gather-header-tools { gap: 5px; }
  .gather-menu-trigger { width: 43px; height: 42px; border-radius: 12px; }
  body.gather-ui-ready .gh-topbar { flex-wrap: wrap; padding-inline: 13px; }
  body.gather-ui-ready .account-nav { flex-wrap: wrap; }
  body.gather-ui-ready .topbar { flex-wrap: wrap; padding-inline: 16px; }
  .gather-menu-panel { padding-left: 17px; padding-right: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
