/* vGAF Cockpit: independent design variant with native vector artwork. */
:root { --vg-gold: #e6c16a; --vg-line: #304a57; --vg-panel: #10232e; }
/* Keep post text and titles light, including unread and linked-to posts. */
.post .postbody, .post .postbody .content,
.post.unreadpost .postbody, .post.unreadpost .postbody .content,
.post:target .postbody, .post:target .postbody .content { color: #fff; }
.post .postbody h3, .post .postbody h3 a,
.post.unreadpost .postbody h3 a, .post:target .postbody h3 a { color: #fff; }
.post .postbody h3 a:hover, .post .postbody h3 a:focus-visible { color: var(--vg-gold); }
.post .postbody .content .text-strong { color: inherit; }
/* Primary navigation inspired by the reference; original menus remain usable. */
#page-header .navbar-header { background: linear-gradient(180deg,#112632,#081720); border-top: 1px solid #2b4655; border-bottom: 1px solid #334e5b; padding: 0 18px; }
#nav-main { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; margin: 0; padding: 0; }
#nav-main::before, #nav-main::after { content: none; }
#nav-main > li { float: none; margin: 0; line-height: normal; }
#nav-main > li > a { display: inline-flex; align-items: center; gap: 9px; min-height: 52px; padding: 0 16px; box-sizing: border-box; font-size: 13px; font-weight: 500; color: #c4d4df; text-decoration: none; }
#nav-main > li > a > .icon { font-size: 17px; }
#nav-main > #quick-links > a { color: #f5ca31; box-shadow: inset 0 -3px #f5ca31; font-weight: 700; }
#nav-main > li > a:hover, #nav-main > li > a:focus-visible { color: #ffe07a; background: #19303b; }
#nav-main > .rightside { margin-inline-start: auto; }
#nav-main > .rightside ~ .rightside { margin-inline-start: 0; }
#nav-main > li > a[href*='mode=register'] { min-height: 32px; padding: 0 22px; margin-block: 8px; border: 1px solid #f9d55e; border-radius: 4px; background: linear-gradient(#f8d44e,#d6a51c); color: #141b1c; box-shadow: inset 0 1px rgba(255,255,255,.25); font-weight: 700; }
#nav-main > li > a[href*='mode=register'] .icon { display: none; }
#nav-main > li > a[href*='mode=login'] .icon::before { content: '\f007'; }
#nav-main .header-profile { padding: 12px 6px; }
#nav-main .header-avatar img { max-height: 28px; width: auto; }
@media (max-width: 800px) {
  #page-header .navbar-header { padding-inline: 8px; }
  #nav-main { gap: 0 3px; }
  #nav-main > li > a { min-height: 44px; padding-inline: 8px; font-size: 12px; gap: 6px; }
  #nav-main > .rightside { margin-inline-start: 0; }
}
.topiclist.forums .list-inner .text-strong, #page-body .stat-block strong { color: var(--vg-text); }
.forabg > .inner, .forumbg > .inner { background: transparent; border: 0; box-shadow: none; padding: 0; }
.forabg ul, .forumbg ul { background: transparent; box-shadow: none; border: 0; }
.forabg li.header, .forumbg li.header { background: linear-gradient(100deg,#1d3644,#10232e); border-bottom: 1px solid #bfa05a; padding-block: 13px; }
.forabg li.header::before, .forabg li.header::after, .forumbg li.header::before, .forumbg li.header::after { content: none; }
.forabg li.header dl, .forumbg li.header dl, .forabg li.header dt .list-inner, .forumbg li.header dt .list-inner { background: none; border: 0; box-shadow: none; }
.forabg li.header dt .list-inner, .forumbg li.header dt .list-inner { padding-left: 0; }
.forabg li.header dt, .forumbg li.header dt { font-size: 13px; letter-spacing: .075em; text-transform: uppercase; }
.topiclist.forums li.row { transition: background-color .18s, box-shadow .18s; }
.topiclist.forums li.row:hover, .topiclist.forums li.row:focus-within { background: #1a3340; box-shadow: inset 2px 0 var(--vg-gold); }
.topiclist.forums .row-item { --vg-forum-mask: url('images/icons/hangar.svg'); }
.topiclist.forums .row-item::before {
  content: ''; width: 30px; height: 30px; top: 14px; left: 2px; border: 0; border-radius: 0;
  background: #a9c2d2; -webkit-mask: var(--vg-forum-mask) center / contain no-repeat;
  mask: var(--vg-forum-mask) center / contain no-repeat; transition: background-color .18s;
}
.topiclist.forums li.row:hover .row-item::before, .topiclist.forums li.row:focus-within .row-item::before,
.topiclist.forums .row-item[class*="unread"]::before { background: var(--vg-gold); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=21&"],[href$="f=21"])) { --vg-forum-mask: url('images/icons/headset.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=47&"],[href$="f=47"],[href*="f=15&"],[href$="f=15"],[href*="f=17&"],[href$="f=17"])) { --vg-forum-mask: url('images/icons/jet.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=16&"],[href$="f=16"])) { --vg-forum-mask: url('images/icons/landscape.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=18&"],[href$="f=18"],[href*="f=32&"],[href$="f=32"])) { --vg-forum-mask: url('images/icons/tools.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=19&"],[href$="f=19"],[href*="f=45&"],[href$="f=45"])) { --vg-forum-mask: url('images/icons/compass.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=31&"],[href$="f=31"])) { --vg-forum-mask: url('images/icons/code.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=30&"],[href$="f=30"])) { --vg-forum-mask: url('images/icons/cube.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=40&"],[href$="f=40"],[href*="f=27&"],[href$="f=27"])) { --vg-forum-mask: url('images/icons/monitor.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=23&"],[href$="f=23"])) { --vg-forum-mask: url('images/icons/cockpit.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=24&"],[href$="f=24"],[href*="f=25&"],[href$="f=25"])) { --vg-forum-mask: url('images/icons/chip.svg'); }
.topiclist.forums .row-item:has(a.forumtitle:is([href*="f=26&"],[href$="f=26"])) { --vg-forum-mask: url('images/icons/throttle.svg'); }
.topiclist.forums .row-item[class*="locked"]::before { content: ''; -webkit-mask-image: url('images/icons/lock.svg'); mask-image: url('images/icons/lock.svg'); }
.topiclist.forums .row-item.forum_link::before { content: ''; -webkit-mask-image: url('images/icons/link.svg'); mask-image: url('images/icons/link.svg'); }
.vgaf-connection-card { position: relative; padding: 18px; background: linear-gradient(135deg,#172f3d,#0b1d27); border-radius: 4px; }
.vgaf-connection-card::after { content: ''; position: absolute; right: 8px; top: 8px; width: 10px; height: 10px; border-top: 1px solid #688293; border-right: 1px solid #688293; pointer-events: none; }
.vgaf-connection-card h3 { font-size: 12px; letter-spacing: .12em; font-weight: 600; padding-bottom: 13px; }
.vgaf-flightmesh h3 { border-bottom: 1px solid #637454; }
#vgaf-flightmesh-status { font-size: 11px; color: #b3ce9c; }
#vgaf-flightmesh-pilots, #vgaf-discord-members { max-height: none; overflow: visible; }
#vgaf-flightmesh-pilots li { padding: 0; border-top: 1px solid #304552; }
#vgaf-discord-members li { position: relative; padding: 9px 0 9px 16px; border-top: 1px solid #304552; line-height: 1.45; overflow-wrap: anywhere; }
#vgaf-discord-members li::before { position: absolute; left: 0; top: 10px; margin: 0; font-size: 10px; }
#vgaf-discord-members li small { padding: 0; margin-top: 2px; font-size: 11px; }
.cockpit-pilot summary { position: relative; cursor: pointer; list-style: none; padding: 9px 18px 9px 0; }
.cockpit-pilot summary::-webkit-details-marker { display: none; }
.cockpit-pilot summary::after { content: '+'; position: absolute; right: 0; top: 9px; color: var(--vg-muted); font: 16px Consolas, monospace; }
.cockpit-pilot[open] summary::after { content: '−'; color: var(--vg-gold); }
.cockpit-pilot summary:hover .cockpit-callsign, .cockpit-pilot summary:focus-visible .cockpit-callsign { color: #ffe8ad; }
.cockpit-pilot[open] { padding-bottom: 10px; }
#vgaf-flightmesh-pilots li::before { content: none; }
.cockpit-callsign { display: block; font-family: Consolas, monospace; font-size: 13px; line-height: 1.5; letter-spacing: .025em; color: #f1d28a; overflow-wrap: anywhere; white-space: normal; }
.vgaf-connection-card .cockpit-aircraft { padding: 0; margin: 2px 0 0; font-size: 11px; line-height: 1.45; }
.vgaf-community-strip { align-items: start; }
.vgaf-community-strip > .phpbb_announcement { align-self: start; padding-block: 20px; }
.cockpit-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.cockpit-metrics > div { padding: 8px; background: #081a24; border: 1px solid #2e4652; border-radius: 3px; min-width: 0; }
.cockpit-metrics dt { width: auto; float: none; font-size: 9px; text-transform: uppercase; color: #adc0cb; letter-spacing: .12em; }
.cockpit-metrics dd { float: none; margin: 2px 0 0; padding: 0; border: 0; font: 17px/1.4 Consolas, monospace; color: #e0eaf0; }
.cockpit-metrics dd span { font: 10px 'Segoe UI',sans-serif; color: #a4b9c4; }
.cockpit-flight-phase { display: inline-block; margin-top: 9px; font-size: 10px; color: #adcba1; }
.vgaf-signature { display: grid; grid-template-columns: 1fr 1.6fr 1fr; gap: 28px; align-items: center; padding: 26px 8px 8px; margin: 26px 0 18px; border-top: 1px solid #344b58; }
.vgaf-signature-brand { display: flex; gap: 12px; align-items: center; }
.vgaf-signature-brand strong { font-size: 24px; letter-spacing: .09em; color: #d9e5ed; }
.vgaf-signature-brand span:not(.vgaf-tricolor), .vgaf-signature-motto span { display: block; font-size: 10px; color: #97afbd; letter-spacing: .05em; margin-top: 4px; }
.vgaf-tricolor { width: 3px; height: 35px; background: linear-gradient(#26333b 0 33%,#a14545 33% 66%,#d7b348 66%); }
.vgaf-runway { width: 100%; max-height: 110px; color: #a8bfcc; }
.vgaf-signature-motto { text-align: right; font-size: 13px; color: #d8e3ea; }
@media (max-width: 700px) { .vgaf-signature { grid-template-columns: 1fr 1fr; gap: 15px; } .vgaf-runway { grid-column: 1/-1; grid-row: 2; } .vgaf-signature-motto { font-size: 11px; } }
@media (forced-colors: active) { .topiclist.forums .row-item::before { background: CanvasText; } }

/* Only the homepage gets side columns; forum and topic widths are untouched. */
.section-index .vgaf-home-layout { grid-template-columns: 230px minmax(0, 1fr); align-items: start; }
.section-index .vgaf-home-layout.has-flightmesh { grid-template-columns: 230px minmax(0, 1fr) 230px; }
.vgaf-home-layout > .vgaf-connection-card { grid-column: 1; grid-row: 1; }
.vgaf-home-layout > .vgaf-flightmesh { grid-column: 3; }
.vgaf-home-main { grid-column: 2; grid-row: 1; min-width: 0; }
.vgaf-home-main > .phpbb_announcement { margin: 0 0 18px; padding: 18px 12px; text-align: center; }
.vgaf-community-panel[hidden] { display: none; }
.vgaf-community-panel > .vgaf-flightmesh-portal { display: block; text-align: right; }
.vgaf-community-toggle { display: none; align-items: center; gap: 10px; width: 100%; padding: 14px 16px; border: 0; background: transparent; color: var(--vg-text); font: 600 13px/1.4 'Segoe UI', sans-serif; cursor: pointer; text-align: left; }
.vgaf-community-toggle::after { content: '+'; margin-left: auto; color: var(--vg-gold); }
.vgaf-community-toggle[aria-expanded='true']::after { content: '−'; }
.vgaf-community-count { padding: 1px 7px; border: 1px solid var(--vg-line); border-radius: 4px; color: var(--vg-gold); }
.vgaf-subpage-layout, .vgaf-subpage-layout.has-flightmesh { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.vgaf-subpage-layout > .vgaf-connection-card { grid-column: 1; padding: 0; }
.vgaf-subpage-layout > .vgaf-flightmesh { grid-column: 2; }
.vgaf-subpage-layout:not(.has-flightmesh) > .vgaf-connection-card { grid-column: 1 / -1; }
.vgaf-subpage-layout .vgaf-community-toggle { display: flex; }
.vgaf-subpage-layout .vgaf-community-panel { padding: 0 16px 16px; }
.vgaf-subpage-layout .vgaf-community-panel h3 { display: none; }
@media (min-width: 1280px) {
  .vgaf-home-main .forabg .topiclist .row-item { display: grid; grid-template-columns: minmax(0, 1fr) 58px 65px minmax(150px, 23%); }
  .vgaf-home-main .forabg .topiclist .row-item > dt,
  .vgaf-home-main .forabg .topiclist .row-item > dd { float: none; width: auto; min-width: 0; margin: 0; box-sizing: border-box; }
  .vgaf-home-main .forabg .topiclist dt .list-inner { margin-right: 0; }
  .vgaf-home-main .forabg .topiclist .row-item > dd { padding-bottom: 4px; }
  .vgaf-home-main .phpbb_announcement a { width: calc(25% - 6px); max-width: 240px; }
  .vgaf-home-main .phpbb_announcement a .postimage { width: 100%; box-sizing: border-box; }
}
@media (max-width: 1279px) {
  .section-index .vgaf-home-layout, .section-index .vgaf-home-layout.has-flightmesh { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
  .vgaf-home-layout > .vgaf-flightmesh { grid-column: 2; }
  .vgaf-home-layout:not(.has-flightmesh) > .vgaf-connection-card { grid-column: 1 / -1; }
  .vgaf-home-main { grid-column: 1 / -1; grid-row: 2; }
  .vgaf-home-layout > .vgaf-connection-card { padding: 0; }
  .vgaf-community-toggle { display: flex; }
  .vgaf-community-panel { padding: 0 16px 16px; }
  .vgaf-community-panel h3 { display: none; }
}
