/* =========================================================
   GTRoid76 theme styles
   Brand frame: circuit look (dark, neon green, Orbitron)
   Series accent: Static Frontier (body class "gtr-sf")
   ========================================================= */

:root {
  --gtr-void: var(--wp--preset--color--base);
  --gtr-mint: var(--wp--preset--color--contrast);
  --gtr-glow: var(--wp--preset--color--accent-1);
  --gtr-panel: var(--wp--preset--color--accent-3);
  --gtr-muted: var(--wp--preset--color--accent-4);
  --gtr-trace: var(--wp--preset--color--accent-5);
  --gtr-deck: var(--wp--preset--color--accent-6);
  --gtr-display: var(--wp--preset--font-family--orbitron);
  --gtr-mono: var(--wp--preset--font-family--plex-mono);
  --sf-ground: var(--wp--preset--color--sf-ground);
  --sf-text: var(--wp--preset--color--sf-text);
  --sf-muted: var(--wp--preset--color--sf-muted);
  --sf-accent: var(--wp--preset--color--sf-accent);
  --sf-line: var(--wp--preset--color--sf-line);
}

/* ---------- Header ---------- */
.gtr-header { background: var(--gtr-deck); border-bottom: 1px solid var(--gtr-trace); padding: 14px 24px; }
.gtr-header-row { gap: 16px; }
.gtr-brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: var(--gtr-mint); }
.gtr-brand:hover { color: var(--gtr-mint); }
.gtr-chip { display: block; flex: none; }
.gtr-wordmark { font-family: var(--gtr-display); font-weight: 800; font-size: 24px; letter-spacing: .08em; line-height: 1; }
.gtr-76 { color: var(--gtr-glow); }
.gtr-nav { font-family: var(--gtr-display); font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; gap: 4px; }
.gtr-nav .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; color: var(--gtr-mint); text-decoration: none; }
.gtr-nav .wp-block-navigation-item__content:hover { color: var(--gtr-glow); }
.gtr-nav .current-menu-item > .wp-block-navigation-item__content { background: var(--gtr-glow); color: var(--gtr-void); }
.gtr-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--gtr-void); color: var(--gtr-mint); padding: 24px; }
.gtr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; }
.gtr-nav .wp-block-navigation__responsive-container-open,
.gtr-nav .wp-block-navigation__responsive-container-close { color: var(--gtr-mint); }

/* ---------- Footer ---------- */
.gtr-footer { background: var(--gtr-deck); border-top: 1px solid var(--gtr-trace); padding: 22px 24px; margin-top: 56px; font-family: var(--gtr-mono); font-size: 14px; color: var(--gtr-muted); }
.gtr-footer p { margin: 0; }
.gtr-footer a { color: var(--gtr-muted); }
.gtr-footer a:hover { color: var(--gtr-glow); }

/* ---------- Page body ---------- */
.gtr-main { padding: 40px 24px 0; }
.gtr-kicker { font-family: var(--gtr-mono); font-size: 14px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--gtr-glow); margin: 0; }
.gtr-kicker a { color: inherit; text-decoration: none; }
.gtr-lead { color: #B9D6C9; max-width: 680px; }
.gtr-panel { background: var(--gtr-panel); border: 1px solid var(--gtr-trace); padding: 48px 40px; }
.gtr-hero h1 { font-weight: 800; font-size: clamp(32px, 5vw, 46px); line-height: 1.1; margin: 10px 0 12px; }
.gtr-hero p:last-child { margin-bottom: 0; }
.gtr-date { font-family: var(--gtr-mono); font-size: 14px; color: var(--gtr-muted); }
.gtr-empty { color: var(--gtr-muted); font-style: italic; }
.gtr-more { font-family: var(--gtr-mono); font-size: 15px; margin: 0; }
.gtr-section { font-size: 22px; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--gtr-trace); padding-bottom: 10px; margin-top: 48px; }
.gtr-row { border-bottom: 1px solid var(--gtr-trace); padding: 12px 0; gap: 8px; }
.gtr-row .wp-block-post-title { font-family: var(--wp--preset--font-family--plex-sans); font-size: 18px; font-weight: 600; letter-spacing: 0; margin: 0; }
.gtr-row .wp-block-post-title a { color: var(--gtr-mint); text-decoration: none; }
.gtr-row .wp-block-post-title a:hover { color: var(--gtr-glow); }
.gtr-row .wp-block-post-date { font-family: var(--gtr-mono); font-size: 14px; color: var(--gtr-muted); }

/* ---------- Side-by-side latest posts ---------- */
.gtr-latest { gap: 24px; margin-top: 40px; }
.gtr-card { background: var(--gtr-panel); border: 1px solid var(--gtr-trace); border-top: 4px solid var(--gtr-glow); padding: 28px; }
.gtr-card .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.gtr-card .wp-block-post-title { font-size: 24px; line-height: 1.25; margin: 6px 0 10px; }
.gtr-card .wp-block-post-title a { color: var(--gtr-mint); text-decoration: none; }
.gtr-card .wp-block-post-title a:hover { color: var(--gtr-glow); }
.gtr-card .wp-block-post-excerpt__excerpt { color: #B9D6C9; margin: 0 0 12px; }
.gtr-card .wp-block-post-excerpt__more-text { margin: 0; }
.gtr-card .wp-block-post-excerpt__more-link { font-family: var(--gtr-mono); font-size: 15px; }
.gtr-card .gtr-kicker { margin-bottom: 8px; }

/* Static Frontier card: western accent inside the brand frame */
.gtr-card-sf { background: var(--sf-ground); border-color: var(--sf-line); border-top-color: var(--sf-accent); color: var(--sf-text); }
.gtr-card-sf .gtr-kicker { color: var(--sf-accent); }
.gtr-card-sf .gtr-date { color: var(--sf-muted); }
.gtr-card-sf h2, .gtr-card-sf .wp-block-post-title { font-family: var(--wp--preset--font-family--rye); font-weight: 400; letter-spacing: 0; color: var(--sf-text); }
.gtr-card-sf .wp-block-post-title a { color: var(--sf-text); }
.gtr-card-sf .wp-block-post-title a:hover, .gtr-card-sf a { color: var(--sf-accent); }
.gtr-card-sf .wp-block-post-excerpt__excerpt, .gtr-card-sf p { color: #D9C9B0; }
.gtr-card-sf .gtr-kicker, .gtr-card-sf .gtr-more a { color: var(--sf-accent); }
.gtr-card-sf .wp-block-button__link { background: var(--sf-accent); color: var(--sf-ground); }
.gtr-card-sf .wp-block-button__link:hover { background: var(--sf-text); color: var(--sf-ground); }

/* ---------- Buttons ---------- */
.wp-block-button__link { padding: 12px 22px; min-height: 44px; }
.wp-block-buttons { gap: 12px; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--gtr-glow); border: 2px solid var(--gtr-glow); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--gtr-glow); color: var(--gtr-void); }
.gtr-discuss { justify-content: center; margin-top: 24px; }

/* ---------- Static Frontier pages (contents, chapters, its forum) ---------- */
body.gtr-sf main { background: var(--sf-ground); color: var(--sf-text); padding-bottom: 56px; }
body.gtr-sf main h1, body.gtr-sf main h2, body.gtr-sf main h3,
body.gtr-sf main .wp-block-post-title { font-family: var(--wp--preset--font-family--rye); font-weight: 400; letter-spacing: 0; color: var(--sf-text); }
body.gtr-sf main a { color: var(--sf-accent); }
body.gtr-sf main a:hover { color: var(--sf-text); }
body.gtr-sf .gtr-kicker, body.gtr-sf .gtr-kicker a { color: var(--sf-accent); }
body.gtr-sf .gtr-date, body.gtr-sf .wp-block-post-date { color: var(--sf-muted); }
body.gtr-sf .gtr-panel { background: #1E1810; border-color: var(--sf-line); border-top: 4px solid var(--sf-accent); }
body.gtr-sf .gtr-series-hero { text-align: center; }
body.gtr-sf .gtr-series-hero p { color: #D9C9B0; }
body.gtr-sf .gtr-series-hero .wp-block-buttons { justify-content: center; display: inline-flex; margin: 8px 6px 0; }
body.gtr-sf .gtr-section, body.gtr-sf .gtr-row { border-color: var(--sf-line); }
body.gtr-sf .gtr-row .wp-block-post-title { font-family: var(--wp--preset--font-family--bitter); font-weight: 600; }
body.gtr-sf .gtr-row .wp-block-post-title a { color: var(--sf-text); }
body.gtr-sf .gtr-row .wp-block-post-title a:hover { color: var(--sf-accent); }
body.gtr-sf .gtr-empty { color: var(--sf-muted); }
body.gtr-sf .wp-block-button__link { background: var(--sf-accent); color: var(--sf-ground); }
body.gtr-sf .wp-block-button__link:hover { background: var(--sf-text); color: var(--sf-ground); }
body.gtr-sf .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--sf-accent); border-color: var(--sf-accent); }
body.gtr-sf .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--sf-accent); color: var(--sf-ground); }

/* Chapters: comfortable reading */
.gtr-chapter .wp-block-post-title { font-size: clamp(30px, 5vw, 44px); margin: 8px 0 4px; }
.gtr-chapter .wp-block-post-content { font-family: var(--wp--preset--font-family--bitter); font-size: 19px; line-height: 1.75; }
.gtr-chapter-nav { border-top: 1px solid var(--sf-line); border-bottom: 1px solid var(--sf-line); margin-top: 48px; padding: 12px 0; font-family: var(--gtr-mono); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.gtr-chapter-nav p { margin: 0; }
.gtr-chapter-nav a { text-decoration: none; }

/* ---------- Forum (bbPress) ---------- */
body.bbpress .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1100px; }
body.bbpress .wp-block-query-title, body.bbpress .wp-block-term-description { display: none; }
body.bbpress main.wp-block-group { margin-top: 0 !important; }
body.post-type-archive-forum .wp-block-post-title { text-align: center; }
body #bbpress-forums { font-size: 16px; line-height: 1.5; color: inherit; }
body #bbpress-forums ul.bbp-forums, body #bbpress-forums ul.bbp-topics,
body #bbpress-forums ul.bbp-replies, body #bbpress-forums ul.bbp-search-results,
body #bbpress-forums ul.bbp-lead-topic { border: 1px solid var(--gtr-trace); background: var(--gtr-panel); margin-bottom: 24px; }
body #bbpress-forums li.bbp-header { background: var(--gtr-deck); border: 0; border-top: 3px solid var(--gtr-glow); color: var(--gtr-mint); font-family: var(--gtr-mono); font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; padding: 10px 16px; }
body #bbpress-forums li.bbp-header ul.forum-titles li, body #bbpress-forums li.bbp-header * { color: var(--gtr-mint); }
body #bbpress-forums li.bbp-footer { background: var(--gtr-panel); border-top: 1px solid var(--gtr-trace); color: var(--gtr-muted); padding: 6px 16px; }
body #bbpress-forums li.bbp-body ul.forum, body #bbpress-forums li.bbp-body ul.topic { border-top: 1px solid var(--gtr-trace); padding: 14px 16px; }
body #bbpress-forums div.odd, body #bbpress-forums ul.odd,
body #bbpress-forums div.even, body #bbpress-forums ul.even { background: var(--gtr-panel); }
body #bbpress-forums div.bbp-forum-header, body #bbpress-forums div.bbp-topic-header,
body #bbpress-forums div.bbp-reply-header { background: var(--gtr-deck); border-top: 1px solid var(--gtr-trace); color: var(--gtr-muted); }
body #bbpress-forums div.bbp-forum-header a, body #bbpress-forums div.bbp-topic-header a,
body #bbpress-forums div.bbp-reply-header a, body #bbpress-forums .bbp-meta { color: var(--gtr-muted); }
body #bbpress-forums a.bbp-forum-title, body #bbpress-forums a.bbp-topic-permalink { font-size: 18px; font-weight: 600; color: var(--gtr-mint); text-decoration: none; }
body #bbpress-forums a.bbp-forum-title:hover, body #bbpress-forums a.bbp-topic-permalink:hover { color: var(--gtr-glow); }
body #bbpress-forums .bbp-forum-content, body #bbpress-forums .bbp-forum-info .bbp-forum-content { color: var(--gtr-muted); font-size: 15px; line-height: 1.45; margin-top: 4px; }
body #bbpress-forums .bbp-forums-list { border: 0; margin: 8px 0 0; padding: 0; }
body #bbpress-forums .bbp-forums-list li { display: block; font-size: 15px; padding: 2px 0; }
body #bbpress-forums li.bbp-forum-topic-count, body #bbpress-forums li.bbp-forum-reply-count,
body #bbpress-forums li.bbp-forum-freshness, body #bbpress-forums li.bbp-topic-voice-count,
body #bbpress-forums li.bbp-topic-reply-count, body #bbpress-forums li.bbp-topic-freshness { font-size: 14px; color: var(--gtr-muted); }
body #bbpress-forums .bbp-breadcrumb, body #bbpress-forums .bbp-pagination { font-family: var(--gtr-mono); font-size: 14px; color: var(--gtr-muted); }
body #bbpress-forums .gtr-forum-intro { margin: 8px 0 28px; text-align: center; color: var(--gtr-muted); font-size: 17px; }
body #bbpress-forums .gtr-forum-intro p { margin: 0 0 10px; }
body #bbpress-forums .gtr-forum-rule { font-weight: 600; color: var(--gtr-mint); }
body #bbpress-forums .bbp-author-name { color: var(--gtr-glow); }
body #bbpress-forums .bbp-author-role { color: var(--gtr-muted); }
/* Forum forms (new topic, reply) */
body #bbpress-forums fieldset.bbp-form { border: 1px solid var(--gtr-trace); background: var(--gtr-panel); padding: 16px 20px; }
body #bbpress-forums fieldset.bbp-form legend { font-family: var(--gtr-mono); color: var(--gtr-mint); padding: 0 8px; }
body #bbpress-forums input[type="text"], body #bbpress-forums input[type="email"],
body #bbpress-forums input[type="password"], body #bbpress-forums input[type="url"],
body #bbpress-forums select, body #bbpress-forums textarea,
body #bbpress-forums .wp-editor-container { background: var(--gtr-void); color: var(--gtr-mint); border: 1px solid var(--gtr-trace); }
body #bbpress-forums .quicktags-toolbar { background: var(--gtr-deck); border-color: var(--gtr-trace); }
body #bbpress-forums .quicktags-toolbar input.button { background: var(--gtr-panel); color: var(--gtr-mint); border: 1px solid var(--gtr-trace); }
body #bbpress-forums button, body #bbpress-forums .button.submit { background: var(--gtr-glow); color: var(--gtr-void); border: 0; font-family: var(--gtr-display); font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 12px 20px; min-height: 44px; cursor: pointer; }
body #bbpress-forums div.bbp-template-notice { background: var(--gtr-deck); border: 1px solid var(--gtr-trace); color: var(--gtr-mint); }
body #bbpress-forums div.bbp-template-notice a { color: var(--gtr-glow); }
/* Forum: Static Frontier section wears the western accent */
body.gtr-sf #bbpress-forums ul.bbp-forums, body.gtr-sf #bbpress-forums ul.bbp-topics,
body.gtr-sf #bbpress-forums ul.bbp-replies, body.gtr-sf #bbpress-forums ul.bbp-lead-topic,
body.gtr-sf #bbpress-forums div.odd, body.gtr-sf #bbpress-forums ul.odd,
body.gtr-sf #bbpress-forums div.even, body.gtr-sf #bbpress-forums ul.even,
body.gtr-sf #bbpress-forums li.bbp-footer, body.gtr-sf #bbpress-forums fieldset.bbp-form { background: #1E1810; border-color: var(--sf-line); }
body.gtr-sf #bbpress-forums li.bbp-header { background: var(--sf-ground); border-top-color: var(--sf-accent); }
body.gtr-sf #bbpress-forums li.bbp-header * { color: var(--sf-text); }
body.gtr-sf #bbpress-forums li.bbp-body ul.forum, body.gtr-sf #bbpress-forums li.bbp-body ul.topic,
body.gtr-sf #bbpress-forums div.bbp-topic-header, body.gtr-sf #bbpress-forums div.bbp-reply-header { border-color: var(--sf-line); background: var(--sf-ground); }
body.gtr-sf #bbpress-forums a.bbp-forum-title, body.gtr-sf #bbpress-forums a.bbp-topic-permalink { color: var(--sf-text); }
body.gtr-sf #bbpress-forums a.bbp-forum-title:hover, body.gtr-sf #bbpress-forums a.bbp-topic-permalink:hover,
body.gtr-sf #bbpress-forums .bbp-author-name { color: var(--sf-accent); }
body.gtr-sf #bbpress-forums .bbp-meta, body.gtr-sf #bbpress-forums .bbp-breadcrumb,
body.gtr-sf #bbpress-forums div.bbp-topic-header a, body.gtr-sf #bbpress-forums div.bbp-reply-header a,
body.gtr-sf #bbpress-forums li.bbp-topic-voice-count, body.gtr-sf #bbpress-forums li.bbp-topic-reply-count,
body.gtr-sf #bbpress-forums li.bbp-topic-freshness, body.gtr-sf #bbpress-forums .bbp-author-role { color: var(--sf-muted); }
body.gtr-sf #bbpress-forums button, body.gtr-sf #bbpress-forums .button.submit { background: var(--sf-accent); color: var(--sf-ground); }
body.gtr-sf #bbpress-forums input[type="text"], body.gtr-sf #bbpress-forums textarea,
body.gtr-sf #bbpress-forums select, body.gtr-sf #bbpress-forums .wp-editor-container { background: var(--sf-ground); color: var(--sf-text); border-color: var(--sf-line); }

/* ---------- Home: forum topics list (shortcode) ---------- */
.gtr-topics { list-style: none; margin: 0; padding: 0; }
.gtr-topics li { padding: 12px 0; border-bottom: 1px solid var(--gtr-trace); }
.gtr-topics a { display: block; font-weight: 600; color: var(--gtr-mint); text-decoration: none; }
.gtr-topics a:hover { color: var(--gtr-glow); }
.gtr-topics span { font-family: var(--gtr-mono); font-size: 13px; color: var(--gtr-muted); }

/* ---------- Wiki ---------- */
.gtr-crumbs { font-family: var(--gtr-mono); font-size: 14px; margin-bottom: 8px; }
.gtr-wiki-index, .gtr-wiki-index ul { list-style: none; margin: 0; padding: 0; }
.gtr-wiki-index > li { border: 1px solid var(--gtr-trace); border-left: 0; border-top: 3px solid var(--gtr-glow); background: var(--gtr-panel); padding: 16px 20px; margin-bottom: 16px; }
.gtr-wiki-index > li > a { font-family: var(--gtr-display); font-weight: 700; font-size: 20px; letter-spacing: .04em; color: var(--gtr-mint); text-decoration: none; }
.gtr-wiki-index > li > a:hover { color: var(--gtr-glow); }
.gtr-wiki-index li ul { margin-top: 8px; padding-left: 18px; }
.gtr-wiki-index li li { padding: 6px 0; border-bottom: 1px solid var(--gtr-trace); }
.gtr-wiki-index li li a { color: var(--gtr-mint); font-weight: 600; text-decoration: none; }
.gtr-wiki-index li li a:hover { color: var(--gtr-glow); }
.gtr-wikilink { text-decoration: none; border-bottom: 1px dotted currentColor; }
.gtr-wikilink-missing { color: var(--gtr-muted); border-bottom: 1px dashed var(--gtr-glow); cursor: help; }
.gtr-wiki-children { border-top: 1px solid var(--gtr-trace); margin-top: 40px; padding-top: 8px; }
.gtr-wiki-children h2 { font-size: 20px; }
.gtr-wiki-children ul { list-style: none; padding: 0; }
.gtr-wiki-children li { padding: 6px 0; border-bottom: 1px solid var(--gtr-trace); }
.gtr-wiki-updated { font-family: var(--gtr-mono); font-size: 13px; color: var(--gtr-muted); margin-top: 32px; }
.gtr-wiki-updated::before { content: "Last edited "; }

/* ---------- Ordinary posts and pages (System Log, Privacy Policy) ---------- */
.wp-block-post-content a { color: var(--gtr-glow); }
.wp-block-post-content figcaption, .wp-element-caption { color: var(--gtr-muted); font-size: 14px; }
.wp-block-separator { border-color: var(--gtr-trace); }
::selection { background: var(--gtr-glow); color: var(--gtr-void); }

/* ---------- Phones ---------- */
@media (max-width: 600px) {
  .gtr-panel { padding: 32px 20px; }
  .gtr-card { padding: 22px; }
  .gtr-wordmark { font-size: 20px; }
}
