:root {
  color-scheme: dark;
  --bg: #06101c; --bg-soft: #091725; --panel: #0c1d2d; --panel2: #10263a;
  --line: #1b3a51; --line-soft: rgba(105, 166, 200, .16); --text: #edf8ff;
  --muted: #8ba7b8; --cyan: #26d8f5; --blue: #1689ff; --green: #48dfa6;
  --amber: #ffca72; --red: #ff6e84; --shell: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; overflow-x: hidden; background: radial-gradient(circle at 20% 0%, #0d263a 0, var(--bg) 42%); color: var(--text); font-family: Inter, "Segoe UI", Arial, sans-serif; }
a { color: inherit; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.shell { width: min(var(--shell), calc(100% - 48px)); margin-inline: auto; }
.ambient { position: fixed; z-index: -1; pointer-events: none; width: 500px; height: 500px; border-radius: 50%; filter: blur(100px); opacity: .1; }
.ambient-one { background: var(--blue); top: 5%; left: -240px; }
.ambient-two { background: var(--cyan); right: -280px; top: 45%; }
.freewings-topline { position: relative; z-index: 1001; display: block; border-bottom: 1px solid rgba(255,202,114,.22); background: linear-gradient(90deg,#050b11,#0b1b27 50%,#050b11); color: inherit; text-decoration: none; }
.freewings-topline:hover { background: linear-gradient(90deg,#071018,#102433 50%,#071018); }
.freewings-topline-inner { min-height: 68px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; }
.freewings-topline img { width: 54px; height: 54px; border: 1px solid rgba(255,202,114,.24); border-radius: 11px; object-fit: contain; background: #020608; box-shadow: 0 0 20px rgba(255,192,60,.12); }
.freewings-topline-copy { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.freewings-topline-copy strong { color: var(--amber); font-size: 10px; letter-spacing: .16em; white-space: nowrap; }
.freewings-topline-copy > span { color: #86a7ba; font-size: 11px; }
.freewings-topline-cta { display: inline-flex; align-items: center; gap: 7px; color: var(--amber); font-size: 10px; font-weight: 750; letter-spacing: .04em; white-space: nowrap; }
.site-header { position: sticky; top: 0; z-index: 1000; min-height: 76px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 34px; padding: 0 max(24px, calc((100vw - var(--shell)) / 2)); border-bottom: 1px solid rgba(87,154,190,.15); background: rgba(5,15,26,.88); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; min-width: max-content; }
.brand img { width: 190px; height: auto; max-height: 58px; object-fit: contain; filter: drop-shadow(0 0 16px rgba(38,216,245,.25)); }
.brand > span { display: none; }
.brand strong { display: block; font-size: 17px; letter-spacing: .01em; }
.brand small { display: block; margin-top: 3px; color: #6f90a5; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.main-navigation { justify-self: start; display: flex; align-items: center; gap: 30px; }
.main-navigation a { position: relative; color: var(--muted); text-decoration: none; font-size: 13px; font-weight: 600; padding: 29px 0 27px; }
.main-navigation a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -1px; height: 2px; background: var(--cyan); transition: right .2s; }
.main-navigation a:hover, .main-navigation a.active { color: var(--text); }
.main-navigation a.active::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 13px; }
.discord-link { display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(88,101,242,.55); border-radius: 8px; padding: 8px 12px; color: #e8eaff; background: rgba(88,101,242,.13); text-decoration: none; font-size: 11px; font-weight: 750; white-space: nowrap; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.discord-link:hover { border-color: #7b86ff; background: rgba(88,101,242,.28); transform: translateY(-1px); }
.discord-link span:first-child { color: #8d96ff; font-size: 10px; }
.discord-link span:last-child { color: #a9b0ff; font-size: 9px; }
.network-status { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.network-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }
.network-status.online { color: var(--green); }
.network-status.online i { background: var(--green); box-shadow: 0 0 10px rgba(72,223,166,.7); }
.language select { appearance: none; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 7px; padding: 7px 23px 7px 9px; font: 600 11px inherit; background-image: linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position: calc(100% - 11px) 48%,calc(100% - 7px) 48%; background-size: 4px 4px; background-repeat: no-repeat; }
.admin-link { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; color: var(--muted); text-decoration: none; font-size: 11px; }
.menu-button { display: none; }
.hero { min-height: 670px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 40px; padding-top: 35px; padding-bottom: 55px; }
.hero-brand-logo { display: block; width: min(100%, 760px); height: auto; margin: 4px 0 30px; filter: drop-shadow(0 20px 45px rgba(0,107,255,.22)); }
.eyebrow { margin: 0 0 16px; color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.live-dot { display: inline-block; width: 6px; height: 6px; margin-right: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }
.hero h1, .inner-hero h1 { margin: 0; font-size: clamp(52px, 7vw, 88px); line-height: .96; letter-spacing: -.055em; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(151,210,236,.55); }
.hero-text { max-width: 650px; margin: 30px 0 0; color: #a1bac9; font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; gap: 13px; margin-top: 35px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 15px; border: 1px solid transparent; border-radius: 9px; padding: 11px 20px; color: white; text-decoration: none; font-size: 13px; font-weight: 750; cursor: pointer; }
.button small { display: block; opacity: .7; font-size: 9px; font-weight: 500; }
.button.primary { background: linear-gradient(135deg, var(--blue), #18b5e4); box-shadow: 0 14px 40px rgba(22,137,255,.25); }
.button.ghost { border-color: var(--line); background: rgba(11,29,44,.6); }
.button:hover { transform: translateY(-1px); border-color: var(--cyan); }
.button.disabled { opacity: .5; pointer-events: none; box-shadow: none; }
.button.wide { width: 100%; }
.compatibility { display: flex; gap: 22px; margin-top: 30px; color: #66899f; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.compatibility span::before { content: "✓"; margin-right: 7px; color: var(--green); }
.hero-visual { position: relative; min-height: 490px; display: grid; place-items: center; border-radius: 50%; }
.hero-visual::before { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(76,165,207,.17); border-radius: 50%; background: repeating-radial-gradient(circle,transparent 0 49px,rgba(57,129,164,.07) 50px 51px),repeating-conic-gradient(from 0deg,rgba(56,132,170,.08) 0deg 1deg,transparent 1deg 30deg); }
.orbit { position: absolute; border: 1px solid rgba(55,186,225,.22); border-radius: 50%; }
.orbit-one { inset: 18%; animation: spin 18s linear infinite; }
.orbit-two { inset: 4%; border-style: dashed; animation: spin 36s linear reverse infinite; }
.orbit-one::after, .orbit-two::after { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); top: 16%; left: 10%; }
.sweep { position: absolute; inset: 8%; border-radius: 50%; background: conic-gradient(from 0deg,transparent 0 83%,rgba(38,216,245,.17) 99%,rgba(38,216,245,.55) 100%); animation: spin 5s linear infinite; }
.plane-core { position: relative; z-index: 2; width: 142px; height: 142px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: radial-gradient(circle at 35% 25%,#16415c,#071522 70%); border: 1px solid #2a6583; box-shadow: 0 0 70px rgba(38,216,245,.16); }
.plane-core span { color: var(--cyan); font-size: 52px; transform: rotate(-22deg); filter: drop-shadow(0 0 12px rgba(38,216,245,.65)); }
.plane-core small { margin-top: 6px; color: #7396a9; font-size: 8px; letter-spacing: .25em; }
.signal-card { position: absolute; z-index: 3; min-width: 135px; border: 1px solid var(--line); border-radius: 10px; padding: 13px 15px; background: rgba(7,21,34,.86); backdrop-filter: blur(12px); box-shadow: 0 14px 35px #0004; }
.signal-card small { display: block; color: #66889e; font-size: 8px; letter-spacing: .16em; }
.signal-card strong { display: block; margin-top: 5px; font-size: 28px; }
.signal-hubs { top: 8%; right: 3%; }.signal-pilots { left: 0; bottom: 18%; }.signal-latency { right: 2%; bottom: 5%; }.signal-latency strong { color: var(--green); font-size: 17px; }
@keyframes spin { to { transform: rotate(360deg); } }
.home-news { padding: 0 0 30px; }
.home-news .news-grid { grid-template-columns: 1fr; }
.home-news .news-card { min-height: 0; padding: 25px 28px; }
.freewings-story { position: relative; display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 38px; align-items: stretch; overflow: hidden; border: 1px solid rgba(255,202,114,.2); border-radius: 18px; background: linear-gradient(125deg,rgba(21,31,38,.97),rgba(7,22,35,.94) 60%,rgba(10,31,47,.95)); box-shadow: 0 28px 80px #0004; }
.freewings-story::after { content: ""; position: absolute; width: 340px; height: 340px; right: -160px; top: -190px; border: 1px solid rgba(38,216,245,.11); border-radius: 50%; box-shadow: 0 0 0 45px rgba(38,216,245,.025),0 0 0 90px rgba(38,216,245,.018); pointer-events: none; }
.freewings-mark { position: relative; z-index: 1; min-height: 250px; display: grid; place-content: center; justify-items: center; border-right: 1px solid rgba(255,202,114,.15); background: radial-gradient(circle at center,rgba(255,193,57,.13),transparent 68%); text-align: center; }
.freewings-mark img { width: 190px; height: 190px; border: 1px solid rgba(255,202,114,.22); border-radius: 20px; object-fit: contain; background: #020608; filter: drop-shadow(0 12px 28px rgba(0,0,0,.45)); }
.freewings-story-copy { position: relative; z-index: 1; padding: 38px 44px 36px 0; }
.freewings-story-copy .eyebrow { margin-bottom: 9px; }
.freewings-story-copy h2 { margin: 0; font-size: 30px; letter-spacing: -.035em; }
.freewings-story-copy > p:last-of-type { max-width: 860px; margin: 16px 0 0; color: #9bb6c6; font-size: 14px; line-height: 1.72; }
.freewings-story-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 25px; }
.freewings-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.freewings-tags span { border: 1px solid rgba(96,162,196,.22); border-radius: 999px; padding: 7px 10px; color: #84a8bb; background: rgba(5,20,32,.45); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.button.freewings-button { min-height: 42px; flex: 0 0 auto; border-color: rgba(255,202,114,.34); background: rgba(255,202,114,.07); color: var(--amber); }
.network-section { padding: 75px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.section-heading h2 { margin: 0; font-size: 31px; letter-spacing: -.035em; }.section-heading .eyebrow { margin-bottom: 8px; }
.section-heading.compact h2 { font-size: 24px; }
.text-link { display: inline-flex; gap: 9px; color: var(--cyan); text-decoration: none; font-size: 12px; }
.map-card { position: relative; height: 465px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: 0 28px 80px #0004; }
.network-map { width: 100%; height: 100%; background: #071521; }
.leaflet-container { background: #071521; font-family: inherit; }
.leaflet-tile-pane { filter: saturate(.35) brightness(.55) hue-rotate(150deg); }
.leaflet-control-attribution { background: rgba(3,12,20,.75) !important; color: #7895a6; }.leaflet-control-attribution a { color: var(--cyan); }
.leaflet-bar a { background: var(--panel) !important; color: var(--text) !important; border-color: var(--line) !important; }
.map-overlay { position: absolute; z-index: 500; display: flex; gap: 18px; border: 1px solid rgba(80,145,178,.2); border-radius: 8px; padding: 8px 11px; background: rgba(4,15,25,.8); backdrop-filter: blur(10px); color: var(--muted); font-size: 9px; }
.map-overlay.top-left { top: 13px; left: 50px; }.map-overlay.bottom-left { left: 13px; bottom: 13px; }.map-overlay span { display: inline-flex; align-items: center; gap: 6px; }
.legend-air, .legend-ground { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }.legend-ground { background: var(--green); box-shadow: 0 0 8px var(--green); }
.map-unavailable { position: absolute; z-index: 600; inset: 0; display: grid; place-content: center; gap: 7px; text-align: center; background: rgba(5,16,27,.82); }.map-unavailable span { color: var(--muted); font-size: 12px; }
.aircraft-marker-wrap { display: flex !important; align-items: center; gap: 3px; color: var(--text); font: 700 9px "Segoe UI",sans-serif; text-shadow: 0 1px 3px #000; }
.aircraft-marker { width: 28px; height: 28px; display: block; flex: 0 0 28px; color: var(--cyan); transform-origin: center; filter: drop-shadow(0 0 5px rgba(38,216,245,.7)); }.aircraft-marker.ground { color: var(--green); }
.pilot-popup { display: grid; gap: 4px; min-width: 170px; color: #10202d; }.pilot-popup strong { font-size: 15px; }.pilot-popup span { color: #486272; font-size: 11px; }
.pilot-popup .show-route-button { margin-top: 5px; border: 0; border-radius: 5px; padding: 7px 9px; color: #fff; background: #087ea4; font: 700 11px "Segoe UI",sans-serif; cursor: pointer; }
.selected-route-panel { position: absolute; z-index: 500; top: 13px; right: 13px; display: grid; min-width: 230px; gap: 3px; padding: 12px 38px 12px 14px; border: 1px solid rgba(35,198,232,.5); border-radius: 10px; color: var(--text); background: rgba(4,15,25,.9); backdrop-filter: blur(10px); box-shadow: 0 12px 34px #0008; }
.selected-route-panel[hidden] { display: none; }.selected-route-panel > span { color: var(--cyan); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.selected-route-panel strong { font-size: 17px; }.selected-route-panel small { color: var(--muted); }.selected-route-panel button { position: absolute; top: 7px; right: 8px; border: 0; color: var(--muted); background: transparent; font-size: 21px; cursor: pointer; }
.public-route-waypoint-label { border: 1px solid #2b6a86; border-radius: 4px; padding: 1px 4px; color: #dffaff; background: rgba(6,17,29,.9); box-shadow: none; font: 700 10px "Segoe UI",sans-serif; }.public-route-waypoint-label::before { display: none; }
.leaflet-overlay-pane .public-route-line { filter: drop-shadow(0 0 2px #00101d) drop-shadow(0 0 1px #00101d); stroke-linecap: round; stroke-linejoin: round; }
.network-metrics { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 13px 13px; background: rgba(10,27,42,.72); }
.network-metrics div { padding: 19px 24px; border-right: 1px solid var(--line-soft); }.network-metrics div:last-child { border: 0; }.network-metrics span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.network-metrics strong { display: block; margin-top: 4px; font-size: 22px; }
.flight-board-section { display: none; margin-top: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: rgba(7,19,31,.96); box-shadow: 0 24px 70px #0008, inset 0 1px 0 rgba(38,216,245,.06); }
.large-map-mode .flight-board-section { display: block; }
.flight-board-header { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--line); background: linear-gradient(90deg,#071522,var(--panel2) 55%,#071522); }
.flight-board-header h2 { margin: 2px 0 0; color: var(--text); font-size: 24px; letter-spacing: .03em; }.flight-board-header .eyebrow { margin: 0; color: var(--cyan); }.flight-board-icon { width: 42px; height: 42px; display: grid; flex: 0 0 42px; place-items: center; border-radius: 8px; background: linear-gradient(135deg,var(--blue),var(--cyan)); box-shadow: inset 0 -4px 0 rgba(0,65,120,.45),0 0 22px rgba(38,216,245,.16); }.flight-board-icon svg { width: 27px; height: 27px; fill: #eefaff; transform: rotate(45deg); }.flight-board-note { margin-left: auto; color: var(--muted); font: 700 11px Consolas,"Courier New",monospace; letter-spacing: .08em; text-transform: uppercase; }
.flight-board-scroll { overflow-x: auto; scrollbar-color: var(--blue) #071522; }.flight-board-table { width: 100%; min-width: 1400px; border-collapse: separate; border-spacing: 0 4px; padding: 4px 7px 9px; table-layout: auto; }.flight-board-table th { padding: 10px 12px 7px; color: #a9c7d8; font: 600 11px "Segoe UI",sans-serif; text-align: left; text-transform: uppercase; letter-spacing: .1em; }.flight-board-table th:nth-child(1) { min-width: 190px; }.flight-board-table th:nth-child(2),.flight-board-table th:nth-child(4) { min-width: 130px; }.flight-board-table th:nth-child(3),.flight-board-table th:nth-child(5) { min-width: 190px; }.flight-board-table th:nth-child(6) { min-width: 480px; }
.flight-board-cell,.flight-board-empty { height: 54px; border-top: 1px solid rgba(71,151,194,.28); border-bottom: 1px solid #030b12; padding: 7px 9px; color: #dff8ff; background: linear-gradient(#10283b,#081725); box-shadow: inset 0 1px 0 rgba(105,202,244,.08),inset 0 -8px 12px #0004; font: 700 18px Consolas,"Courier New",monospace; white-space: nowrap; overflow: hidden; }.flight-board-cell + .flight-board-cell { border-left: 4px solid #071522; }.flight-board-empty { color: var(--muted); text-align: center; }
.flight-board-value { display: flex; align-items: center; gap: 2px; min-width: max-content; }
.flight-board-flap-character { position: relative; width: .82em; height: 1.48em; display: inline-grid; flex: 0 0 .82em; place-items: center; overflow: hidden; border: 1px solid #24506a; border-radius: 2px; color: #73e8ff; background: linear-gradient(to bottom,#17384d 0,#102b3d 47%,#05101a 48%,#0a1f2e 52%,#102b3d 100%); box-shadow: inset 0 1px 1px rgba(147,224,255,.13),inset 0 -2px 3px #0009,0 1px 1px #000; line-height: 1; text-align: center; text-shadow: 0 0 6px rgba(38,216,245,.5); transform-origin: 50% 50%; backface-visibility: hidden; }
.flight-board-flap-character::after { content: ""; position: absolute; z-index: 2; left: 0; right: 0; top: 50%; height: 1px; background: #020b12; box-shadow: 0 1px 0 rgba(73,151,190,.38); pointer-events: none; }
.flight-board-flap-character.is-flipping { animation: flight-board-flip 68ms cubic-bezier(.2,.65,.35,1); }
@keyframes flight-board-flip { 0% { transform: perspective(90px) rotateX(0deg); filter: brightness(1); } 48% { transform: perspective(90px) rotateX(-82deg); filter: brightness(.62); } 52% { transform: perspective(90px) rotateX(82deg); filter: brightness(.72); } 100% { transform: perspective(90px) rotateX(0deg); filter: brightness(1); } }
@media (prefers-reduced-motion: reduce) { .flight-board-flap-character.is-flipping { animation: none; } }
.screen-reader-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.public-server-directory { margin-top: 28px; }
.server-directory-count { color: var(--muted); font-size: 11px; }
.public-server-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.public-server-card { min-width: 0; border: 1px solid var(--line-soft); border-radius: 12px; padding: 18px; background: linear-gradient(145deg,rgba(15,37,55,.86),rgba(7,21,34,.88)); }
.public-server-card.official { border-color: rgba(38,216,245,.35); box-shadow: inset 0 2px 0 rgba(38,216,245,.3); }
.public-server-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.public-server-heading strong { color: var(--text); font-size: 15px; overflow-wrap: anywhere; }
.server-kind { flex: 0 0 auto; color: var(--cyan); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.public-server-card > p { min-height: 38px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.public-server-facts { display: flex; flex-wrap: wrap; gap: 7px; }
.public-server-facts span { border: 1px solid var(--line); border-radius: 999px; padding: 5px 8px; color: #82a7ba; font-size: 8px; }
.content-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); gap: 22px; padding: 70px 0 105px; }
.content-grid.home-changelog { grid-template-columns: 1fr; }
.news-grid, .archive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.news-card, .changelog-panel, .timeline-entry { border: 1px solid var(--line-soft); border-radius: 13px; background: linear-gradient(145deg,rgba(15,37,55,.86),rgba(7,21,34,.88)); }
.news-card { min-height: 205px; padding: 22px; }.news-card.expanded { min-height: 0; }.entry-meta { display: flex; justify-content: space-between; gap: 15px; color: #69899e; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.entry-kind { color: var(--cyan); font-weight: 800; }.news-card h3 { margin: 27px 0 10px; font-size: 19px; }.entry-summary, .entry-body { color: var(--muted); font-size: 13px; line-height: 1.65; }.entry-body.plain-text { white-space: pre-wrap; }
.rich-content { display: flow-root; margin-top: 18px; overflow-wrap: anywhere; }
.rich-content > :first-child { margin-top: 0; }.rich-content > :last-child { margin-bottom: 0; }
.rich-content h2,.rich-content h3,.rich-content h4 { color: var(--text); line-height: 1.25; }
.rich-content a { color: var(--cyan); }.rich-content blockquote { margin-inline: 0; border-left: 3px solid var(--cyan); padding-left: 16px; }
.rich-content .news-media { max-width: 100%; margin: 20px auto; }
.rich-content .news-media img,.rich-content .news-media video { display: block; width: 100%; height: auto; border-radius: 10px; }
.rich-content .news-media.align-left { width: min(48%,420px); float: left; margin: 5px 22px 16px 0; }
.rich-content .news-media.align-center { width: min(82%,760px); clear: both; }
.rich-content .news-media.align-right { width: min(48%,420px); float: right; margin: 5px 0 16px 22px; }
.rich-content figcaption { margin-top: 7px; color: #6f8c9e; font-size: 10px; text-align: center; }
.changelog-panel { padding: 23px; }.mini-timeline { margin: 8px 0 20px; }.mini-change { display: grid; grid-template-columns: 64px 1fr; gap: 13px; padding: 14px 0; border-top: 1px solid var(--line-soft); }.mini-change:first-child { border-top: 0; }.version-badge { align-self: start; width: max-content; border: 1px solid rgba(38,216,245,.3); border-radius: 6px; padding: 4px 7px; color: var(--cyan); background: rgba(38,216,245,.07); font: 750 9px Consolas,monospace; }.timeline-content time { color: #6f8c9e; font-size: 9px; }.timeline-content h3 { margin: 4px 0 0; font-size: 13px; }.mini-change .entry-summary { display: none; }
.skeleton-card { height: 205px; border: 1px solid var(--line-soft); border-radius: 13px; background: linear-gradient(90deg,var(--panel) 25%,var(--panel2) 45%,var(--panel) 65%); background-size: 300% 100%; animation: shimmer 1.5s infinite; } @keyframes shimmer { to { background-position: -150% 0; } }
.inner-page { min-height: 720px; padding-top: 95px; padding-bottom: 120px; }.inner-hero { max-width: 780px; margin-bottom: 55px; }.inner-hero h1 { font-size: clamp(52px,7vw,78px); }.inner-hero > p:last-child { color: var(--muted); font-size: 16px; line-height: 1.7; }
.archive-grid { align-items: start; }.archive-grid .news-card { min-height: 260px; }
.timeline { position: relative; max-width: 900px; margin-left: 15px; }.timeline::before { content: ""; position: absolute; left: 42px; top: 0; bottom: 0; width: 1px; background: var(--line); }.timeline-entry { position: relative; display: grid; grid-template-columns: 86px 1fr; gap: 24px; margin-bottom: 18px; padding: 23px; }.timeline-entry .version-badge { z-index: 1; }.timeline-entry .timeline-content h3 { margin: 6px 0 10px; font-size: 20px; }
.download-layout { min-height: 520px; display: grid; grid-template-columns: 1fr 410px; gap: 90px; align-items: center; }.download-card { border: 1px solid var(--line); border-radius: 16px; padding: 34px; background: linear-gradient(145deg,#102c42,#081725); box-shadow: 0 28px 80px #0005; text-align: center; }.download-icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: var(--cyan); background: rgba(38,216,245,.1); border: 1px solid rgba(38,216,245,.25); font-size: 30px; }.download-card > span { color: var(--cyan); font-size: 9px; letter-spacing: .16em; }.download-card > strong { display: block; margin: 10px 0 3px; font-size: 40px; }.download-card > small { display: block; color: var(--muted); }.download-card .button { margin-top: 26px; width: 100%; }.hash { color: #547488; font: 9px Consolas,monospace; overflow-wrap: anywhere; }.requirements { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }.requirements > div { display: flex; gap: 16px; align-items: center; padding: 20px; border-right: 1px solid var(--line); }.requirements > div:last-child { border: 0; }.requirements strong { color: var(--cyan); font: 700 18px Consolas; }.requirements b,.requirements small { display: block; }.requirements b { font-size: 12px; }.requirements small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.live-title { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 30px; }.live-counts { display: flex; gap: 28px; }.live-counts span { color: var(--muted); font-size: 11px; }.live-counts strong { display: block; color: var(--text); font-size: 32px; }.large-map-mode .network-section { width: 100%; padding-top: 0; }.large-map-mode .map-card { height: 68vh; min-height: 520px; }.large-map-mode .network-section .section-heading { display: none; }.map-relocation { display: none; }
.home-groupflight{padding:10px 0 70px}.group-flight-page{max-width:1180px}.group-flight-page .inner-hero{margin-bottom:34px}.groupflight-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.groupflight-public-card{min-width:0;border:1px solid rgba(38,216,245,.25);border-radius:14px;padding:22px;background:linear-gradient(145deg,rgba(15,40,59,.96),rgba(7,24,37,.98));box-shadow:inset 0 2px 0 rgba(38,216,245,.15),0 20px 55px #0003}.groupflight-public-card.paused{opacity:.7;border-color:var(--line)}.groupflight-public-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.groupflight-public-head .eyebrow{margin-bottom:7px}.groupflight-public-head h3{margin:0;font-size:22px}.groupflight-phase{flex:0 0 auto;max-width:190px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:8px;font-weight:800;line-height:1.35;text-align:center;text-transform:uppercase;letter-spacing:.06em}.groupflight-phase.open{border-color:rgba(72,223,166,.38);color:var(--green);background:rgba(72,223,166,.08)}.groupflight-phase.closed,.groupflight-phase.event-day{border-color:rgba(255,202,114,.34);color:var(--amber);background:rgba(255,202,114,.07)}.groupflight-description{min-height:40px;margin:13px 0;color:var(--muted);font-size:12px;line-height:1.6}.groupflight-public-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.groupflight-public-facts>span{border:1px solid var(--line-soft);border-radius:8px;padding:10px;background:rgba(5,17,28,.55)}.groupflight-public-facts small,.groupflight-public-facts strong{display:block}.groupflight-public-facts small{color:#6e8fa3;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.groupflight-public-facts strong{margin-top:5px;font-size:11px;overflow-wrap:anywhere}.groupflight-vote-form,.groupflight-route-result{margin-top:16px;border-top:1px solid var(--line-soft);padding-top:16px}.groupflight-vote-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.groupflight-vote-field span{display:block;margin-bottom:6px;color:var(--muted);font-size:8px;text-transform:uppercase}.groupflight-vote-field select{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px;color:var(--text);background:#081a29;font:600 10px inherit}.groupflight-vote-field select:disabled{opacity:.72}.groupflight-vote-form>.button{margin-top:12px}.button.discord-verify{border-color:rgba(88,101,242,.65);color:#f1f2ff;background:linear-gradient(135deg,#5865f2,#4854cf)}.groupflight-own-vote{margin:10px 0 0;color:var(--green);font-size:10px}.groupflight-vote-count{display:inline-block;margin:12px 0 0 10px;color:var(--muted)}.groupflight-route-result>span,.groupflight-route-result>strong,.groupflight-route-result>small{display:block}.groupflight-route-result>span{color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.groupflight-route-result>strong{margin-top:7px;color:var(--text);font:800 24px Consolas,monospace;letter-spacing:.08em}.groupflight-route-result>small{margin-top:6px;color:var(--muted);line-height:1.5}.groupflight-route-result .button{display:inline-flex;margin-top:14px}.groupflight-notice{margin:15px 0 0;border-top:1px solid var(--line-soft);padding-top:14px;color:var(--muted);font-size:11px;line-height:1.55}.groupflight-public-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:13px;padding:35px;color:var(--muted);text-align:center}.group-flight-page .event-flight-board{display:block;margin-top:28px}.participant-board-table{min-width:720px}.participant-board-table th:nth-child(1){width:31%}.participant-board-table th:nth-child(2){width:37%}.participant-board-table th:nth-child(3),.participant-board-table th:nth-child(4){width:16%}
.manual-page { padding-top: 72px; }.manual-hero { max-width: 920px; margin-bottom: 32px; }.manual-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }.manual-frame-card { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: 0 28px 80px #0004; }.manual-viewer { display: grid; gap: 18px; width: 100%; padding: 18px; background: #09131d; }.manual-page-image { display: block; width: min(100%,980px); height: auto; margin: 0 auto; border-radius: 4px; background: #fff; box-shadow: 0 12px 32px #0007; }
.legal-page { max-width: 1180px; }.legal-hero { max-width: 860px; margin-bottom: 38px; }.legal-hero h1 { font-size: clamp(46px,6vw,72px); }.legal-updated { display: block; margin-top: 18px; color: #6f8c9e; font-size: 11px; }.legal-warning { margin: 0 0 24px; border: 1px solid rgba(255,180,84,.5); border-radius: 12px; padding: 16px 18px; color: #ffd08f; background: rgba(255,180,84,.08); line-height: 1.6; }.legal-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.legal-prose { display: grid; gap: 18px; }.legal-card { border: 1px solid var(--line); border-radius: 14px; padding: 26px 28px; background: linear-gradient(145deg,rgba(15,40,59,.94),rgba(7,24,37,.96)); box-shadow: 0 18px 55px #0003; }.legal-card-wide { grid-column: 1/-1; }.legal-card h2 { margin: 0 0 16px; font-size: 22px; }.legal-card p { margin: 0 0 12px; color: #a6c1d1; font-size: 13px; line-height: 1.75; }.legal-card p:last-child { margin-bottom: 0; }.legal-card a { color: var(--cyan); overflow-wrap: anywhere; }.legal-address { display: grid; gap: 5px; color: #a6c1d1; font-style: normal; font-size: 13px; line-height: 1.55; }.legal-address strong { margin-bottom: 5px; color: var(--text); font-size: 16px; }.legal-details { margin: 0; }.legal-details > div { display: grid; grid-template-columns: 130px 1fr; gap: 16px; border-top: 1px solid var(--line-soft); padding: 12px 0; }.legal-details > div:first-child { border-top: 0; }.legal-details dt { color: #6f8c9e; }.legal-details dd { margin: 0; color: #a6c1d1; }.legal-note { border-color: rgba(38,216,245,.26); background: linear-gradient(135deg,rgba(38,216,245,.08),rgba(7,24,37,.96)); }
.site-footer { border-top: 1px solid var(--line-soft); background: rgba(4,13,22,.75); }.footer-grid { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 55px; padding-top: 42px; padding-bottom: 32px; }.footer-grid > p { color: var(--muted); font-size: 12px; }.footer-grid > div:last-child { display: flex; gap: 20px; }.footer-grid a { color: var(--muted); text-decoration: none; font-size: 11px; }.footer-brand img { width: 170px; height: auto; max-height: none; }.footer-bottom { display: flex; justify-content: space-between; border-top: 1px solid var(--line-soft); padding-top: 18px; padding-bottom: 24px; color: #587488; font-size: 9px; }.footer-bottom a { color: #75a8c0; text-decoration: none; }
.empty-state { grid-column: 1/-1; border: 1px dashed var(--line); border-radius: 12px; padding: 35px; color: var(--muted); text-align: center; }.toast { position: fixed; z-index: 2000; left: 50%; bottom: 25px; transform: translate(-50%,30px); opacity: 0; pointer-events: none; border: 1px solid var(--line); border-radius: 9px; padding: 11px 16px; background: #0a1b2a; box-shadow: 0 14px 40px #0006; color: var(--text); font-size: 12px; transition: .2s; }.toast.visible { opacity: 1; transform: translate(-50%,0); }
@media (max-width: 1050px) { .network-status { display: none; }.main-navigation { gap: 18px; }.hero { grid-template-columns: 1fr 1fr; gap: 20px; }.hero h1 { font-size: 62px; }.signal-card { min-width: 110px; }.freewings-story-copy { padding-right: 28px; }.freewings-story-footer { align-items: flex-start; flex-direction: column; }.content-grid { grid-template-columns: 1fr; }.public-server-list { grid-template-columns: repeat(2,minmax(0,1fr)); }.download-layout { gap: 35px; }.footer-grid { gap: 25px; } }
@media (max-width: 790px) { .shell { width: min(100% - 28px,var(--shell)); }.freewings-topline-inner { min-height: 58px; grid-template-columns: auto 1fr auto; gap: 9px; }.freewings-topline img { width: 44px; height: 44px; }.freewings-topline-copy { display: grid; gap: 1px; }.freewings-topline-copy strong { font-size: 8px; }.freewings-topline-copy > span { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }.freewings-topline-cta > span:first-child { display: none; }.site-header { grid-template-columns: auto 1fr; min-height: 68px; padding: 0 14px; gap: 12px; }.brand img { width: 36px; height: 36px; }.brand small { display: none; }.menu-button { display: block; border: 0; background: none; color: var(--text); font-size: 20px; }.main-navigation { position: absolute; top: 68px; left: 0; right: 0; display: none; padding: 10px 18px 18px; background: #071522; border-bottom: 1px solid var(--line); }.main-navigation.open { display: grid; }.main-navigation a { padding: 11px; }.main-navigation a::after { display: none; }.header-actions { justify-self: end; }.admin-link { display: none; }.hero { min-height: 0; grid-template-columns: 1fr; padding-top: 80px; }.hero-visual { min-height: 420px; }.hero-text { font-size: 15px; }.hero-actions { flex-direction: column; }.compatibility { flex-wrap: wrap; }.freewings-story { grid-template-columns: 1fr; gap: 0; }.freewings-mark { min-height: 215px; border-right: 0; border-bottom: 1px solid rgba(255,202,114,.15); }.freewings-mark img { width: 172px; height: 172px; border-radius: 18px; }.freewings-story-copy { padding: 28px 24px 30px; }.freewings-story-copy h2 { font-size: 26px; }.network-section { padding: 55px 0; }.map-card { height: 390px; }.network-metrics { grid-template-columns: 1fr 1fr; }.network-metrics div:nth-child(2) { border-right: 0; }.network-metrics div:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }.news-grid,.archive-grid { grid-template-columns: 1fr; }.inner-page { padding-top: 65px; }.inner-hero h1 { font-size: 54px; }.timeline { margin-left: 0; }.timeline::before { display: none; }.timeline-entry { grid-template-columns: 1fr; gap: 12px; }.download-layout { grid-template-columns: 1fr; }.download-card { padding: 28px 20px; }.requirements { grid-template-columns: 1fr; }.requirements > div { border-right: 0; border-bottom: 1px solid var(--line); }.live-title { display: block; }.live-counts { margin-top: 25px; }.large-map-mode .map-card { min-height: 480px; height: 70vh; }.footer-grid { grid-template-columns: 1fr; gap: 16px; }.footer-grid > div:last-child { flex-wrap: wrap; }.footer-bottom { display: grid; gap: 8px; }.section-heading h2 { font-size: 25px; } }
@media (max-width: 790px) { .rich-content .news-media.align-left,.rich-content .news-media.align-center,.rich-content .news-media.align-right { width: 100%; float: none; margin: 18px 0; } }
@media (max-width: 790px) { .brand img { width: 138px; height: auto; }.hero-brand-logo { width: 100%; margin-bottom: 24px; }.footer-brand img { width: 160px; height: auto; } }
@media (max-width: 790px) { .manual-page { padding-top: 52px; }.manual-actions { display: grid; }.manual-viewer { gap: 10px; padding: 8px; } }
@media (max-width: 790px) { .legal-layout { grid-template-columns: 1fr; }.legal-card { padding: 22px 20px; }.legal-card-wide { grid-column: auto; }.legal-details > div { grid-template-columns: 1fr; gap: 5px; }.legal-hero h1 { font-size: 46px; } }
@media (max-width: 790px) { .public-server-list { grid-template-columns: 1fr; }.public-server-card > p { min-height: 0; } }
@media (max-width: 790px) { .flight-board-section { margin-top: 20px; }.flight-board-header { align-items: flex-start; padding: 15px; }.flight-board-note { max-width: 110px; text-align: right; }.flight-board-header h2 { font-size: 20px; }.flight-board-cell,.flight-board-empty { height: 42px; font-size: 15px; } }
@media (max-width: 790px) { .groupflight-public-grid{grid-template-columns:1fr}.groupflight-public-head{display:grid}.groupflight-phase{max-width:none;width:max-content}.groupflight-vote-fields{grid-template-columns:1fr}.groupflight-public-facts{grid-template-columns:1fr 1fr}.home-groupflight{padding-bottom:45px}.group-flight-page .flight-board-note { max-width: 145px; } }

.groupflight-vote-trend{margin-top:18px;border-top:1px solid var(--line-soft);padding-top:17px}.groupflight-vote-trend h4{margin:0;color:var(--text);font-size:12px}.groupflight-trend-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.groupflight-trend-group{min-width:0}.groupflight-trend-group h5{margin:0 0 10px;color:var(--cyan);font-size:8px;text-transform:uppercase;letter-spacing:.09em}.groupflight-trend-row{margin-top:8px}.groupflight-trend-row-head{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}.groupflight-trend-row-head strong{color:var(--text);font-variant-numeric:tabular-nums}.groupflight-trend-track{height:7px;margin-top:5px;overflow:hidden;border-radius:999px;background:#061521;box-shadow:inset 0 0 0 1px rgba(109,175,206,.12)}.groupflight-trend-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .25s ease}.groupflight-trend-empty{margin:12px 0 0;color:var(--muted);font-size:10px}.groupflight-trend-hint{display:block;margin-top:13px;color:#6e8fa3;font-size:8px;line-height:1.5}
@media (max-width: 790px) { .groupflight-trend-groups{grid-template-columns:1fr}.groupflight-vote-trend{margin-top:16px} }
.groupflight-phase.predefined{border-color:rgba(72,223,166,.38);color:var(--green);background:rgba(72,223,166,.08)}.groupflight-predefined-result>strong{font-size:clamp(15px,2vw,23px);overflow-wrap:anywhere}.groupflight-predefined-legs{display:grid;gap:8px;margin-top:15px}.groupflight-predefined-leg{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line-soft);border-radius:9px;padding:10px;background:rgba(5,17,28,.52)}.groupflight-predefined-leg small,.groupflight-predefined-leg strong{display:block}.groupflight-predefined-leg small{color:var(--cyan);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.groupflight-predefined-leg strong{margin-top:3px;font:700 13px Consolas,monospace;letter-spacing:.05em}.groupflight-predefined-leg .button{flex:0 0 auto;margin:0;min-height:34px;padding:7px 10px;font-size:9px}
@media (max-width: 790px) { .groupflight-predefined-leg{align-items:stretch;flex-direction:column}.groupflight-predefined-leg .button{width:100%} }
.flight-board-reconnecting { display: block; margin-top: .35rem; color: #ffd068; font: 600 .68rem/1.4 system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }

/* 0.1.74 public portal preview – aviation landing-page system */
:root {
  --bg-main: #03101d;
  --bg-secondary: #061a2c;
  --bg-card: #092238;
  --border: rgba(48, 172, 232, .3);
  --text-primary: #f3f9ff;
  --text-secondary: #a8bfd1;
  --accent: #09b8ff;
  --accent-hover: #35cbff;
  --accent-glow: rgba(0, 178, 255, .28);
  --radius-sm: 9px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --section-space: clamp(68px, 8vw, 112px);
  --shell: 1200px;
  --bg: var(--bg-main);
  --bg-soft: var(--bg-secondary);
  --panel: var(--bg-card);
  --panel2: #0c2b44;
  --line: var(--border);
  --text: var(--text-primary);
  --muted: var(--text-secondary);
  --cyan: #22c8ff;
  --blue: #078dff;
}

html { scroll-padding-top: 86px; }
body {
  background:
    radial-gradient(circle at 50% -20%, rgba(17, 124, 192, .22), transparent 42rem),
    linear-gradient(180deg, #03111e 0%, #041523 55%, #020c16 100%);
  font-family: Inter, "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
}
a, button, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, select:focus-visible { outline: 3px solid rgba(64, 205, 255, .86); outline-offset: 3px; }
.ambient { opacity: .055; }

.freewings-topline { border-bottom-color: rgba(255, 190, 60, .24); background: rgba(2, 10, 18, .96); }
.freewings-topline:hover { background: #061421; }
.freewings-topline-inner { min-height: 40px; grid-template-columns: 38px 1fr auto; gap: 12px; }
.freewings-topline img { width: 34px; height: 34px; border-radius: 7px; }
.freewings-topline-copy strong { color: #ffc74f; font-size: 10px; letter-spacing: .17em; }
.freewings-topline-copy > span { font-size: 11px; }
.freewings-topline-cta { color: #ffc74f; }

.site-header {
  min-height: 62px;
  grid-template-columns: 1fr auto;
  gap: 24px;
  border-bottom-color: rgba(41, 177, 239, .25);
  background: rgba(3, 17, 30, .88);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
}
.main-navigation { gap: clamp(14px, 1.7vw, 27px); }
.main-navigation a { padding: 23px 0 20px; font-size: 12px; }
.header-actions { gap: 9px; }
.discord-link, .admin-link, .language select { min-height: 34px; border-color: rgba(56, 166, 218, .3); background-color: rgba(8, 31, 49, .82); }

.home-page { overflow: hidden; }
.home-page > .hero { position: relative; min-height: clamp(580px, 67vw, 720px); display: block; padding: 0; isolation: isolate; }
.hero-backdrop {
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image: url("/hero-aircraft-v2-4k.jpg");
  background-size: cover;
  background-position: center 44%;
  filter: brightness(1.04) saturate(1.16) contrast(1.05);
  transform: scale(1.01);
}
.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 14, 25, .97) 0%, rgba(3, 18, 31, .84) 34%, rgba(3, 17, 29, .08) 63%, rgba(2, 12, 22, .12) 100%),
    linear-gradient(180deg, rgba(2, 13, 23, .08), rgba(3, 16, 28, .03) 68%, var(--bg-main) 100%);
}
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: .6; }
.hero-inner { min-height: inherit; display: grid; grid-template-columns: minmax(0, 58%) minmax(360px, 42%); align-items: center; gap: 16px; padding-top: 36px; padding-bottom: 68px; }
.hero-copy { position: relative; z-index: 2; max-width: 620px; }
.hero-copy .eyebrow { margin-bottom: 12px; color: #33d3ff; }
.hero-brand-logo { width: min(100%, 430px); margin: 0 0 10px; filter: drop-shadow(0 12px 30px rgba(0, 155, 255, .34)); }
.hero h1 { max-width: 600px; margin: 0; font-size: clamp(35px, 4.1vw, 58px); line-height: 1.02; letter-spacing: -.045em; text-shadow: 0 3px 24px rgba(0, 0, 0, .68); }
.hero-text { max-width: 560px; margin-top: 20px; color: #d1e2ee; font-size: clamp(14px, 1.3vw, 17px); line-height: 1.6; text-shadow: 0 2px 12px #00101d; }
.hero-actions { margin-top: 26px; }
.hero-actions .button { min-width: 190px; min-height: 47px; border-radius: 8px; }
.button { transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.button.primary { background: linear-gradient(135deg, #087fff, #16bdf2); box-shadow: 0 12px 34px rgba(0, 143, 255, .28), inset 0 1px rgba(255,255,255,.18); }
.button.primary:hover { background: linear-gradient(135deg, #1494ff, #32d0ff); box-shadow: 0 16px 42px rgba(0, 163, 255, .35); }
.button.ghost { border-color: rgba(131, 203, 235, .55); background: rgba(4, 19, 32, .64); backdrop-filter: blur(8px); }
.compatibility { align-items: center; gap: 12px; margin-top: 24px; color: #d6e6ef; letter-spacing: 0; }
.compatibility small { margin-right: 4px; color: #8fa9ba; }
.compatibility span { display: grid; min-width: 128px; border-left: 1px solid rgba(92, 191, 233, .35); padding-left: 12px; }
.compatibility span::before { display: none; }
.compatibility b { color: #eff9ff; font-size: 11px; line-height: 1.15; }
.compatibility em { margin-top: 2px; color: #43cfff; font-size: 10px; font-style: normal; }

.hero-radar { position: relative; align-self: stretch; min-height: 470px; pointer-events: none; }
.radar-grid { position: absolute; right: -24px; top: 50%; width: min(34vw, 430px); aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(37, 188, 255, .34); border-radius: 50%; transform: translateY(-49%); background: repeating-radial-gradient(circle, transparent 0 46px, rgba(48, 194, 255, .26) 47px 48px), linear-gradient(90deg, transparent calc(50% - .5px), rgba(62, 195, 249, .34) 50%, transparent calc(50% + .5px)), linear-gradient(transparent calc(50% - .5px), rgba(62, 195, 249, .34) 50%, transparent calc(50% + .5px)), rgba(0, 31, 51, .14); box-shadow: inset 0 0 60px rgba(0, 155, 229, .1), 0 0 60px rgba(0, 142, 255, .08); }
.radar-grid::after { content: "+"; position: absolute; left: 50%; top: 50%; display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: #fff; background: rgba(13, 194, 255, .26); box-shadow: 0 0 22px #1dccff; font-size: 32px; font-weight: 200; transform: translate(-50%, -50%); }
.radar-sweep { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 8deg, transparent 0 72%, rgba(24, 190, 255, .04) 84%, rgba(39, 205, 255, .48) 100%); animation: radar-rotate 7s linear infinite; transform-origin: center; }
.radar-targets { position: absolute; inset: 0; }
.radar-blip { position: absolute; left: var(--radar-x); top: var(--radar-y); width: 22px; height: 22px; color: #e9fbff; filter: drop-shadow(0 0 7px #17c9ff); transform: translate(-50%, -50%) rotate(var(--radar-heading)); }
.radar-aircraft-symbol{display:block;width:22px;height:22px;transform-origin:center}
.radar-targets.dense .radar-blip { width: 15px; height: 15px; }
.radar-targets.dense .radar-aircraft-symbol { width:15px;height:15px; }
.radar-targets.crowded .radar-blip { width: 10px; height: 10px; }
.radar-targets.crowded .radar-aircraft-symbol { width:10px;height:10px; }
.hero-radar > .radar-online-count { position: absolute; right: 18px; bottom: 24px; display: grid; justify-items: end; margin: 0; color: #d7ecf6; font-size: 9px; font-weight: 800; line-height: 1.35; letter-spacing: .18em; text-align: right; text-transform: uppercase; }
.radar-online-count strong { color: #fff; font-size: 24px; letter-spacing: normal; text-shadow: 0 0 18px rgba(27, 204, 255, .8); }
@keyframes radar-rotate { to { transform: rotate(360deg); } }

.release-strip { position: relative; min-height: 116px; display: grid; grid-template-columns: 68px 1fr auto; align-items: center; gap: 24px; overflow: hidden; margin-top: -18px; border: 1px solid rgba(18, 180, 255, .65); border-radius: var(--radius-md); padding: 20px 24px; background: linear-gradient(100deg, rgba(6, 31, 50, .97), rgba(8, 47, 76, .96) 63%, rgba(6, 29, 48, .95)); box-shadow: 0 22px 65px rgba(0,0,0,.33), 0 0 28px rgba(0, 160, 255, .1); }
.release-strip::after { content: ""; position: absolute; inset: 0 0 0 56%; opacity: .3; background: url("/hero-aircraft-v2-4k.jpg") center 67% / cover; mask-image: linear-gradient(90deg, transparent, #000 35%); pointer-events: none; }
.release-icon { position: relative; z-index: 1; width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(58, 211, 255, .65); border-radius: 50%; color: #54d7ff; background: rgba(0, 125, 206, .18); box-shadow: inset 0 0 20px rgba(0, 169, 255, .16); font-size: 28px; }
.release-copy { position: relative; z-index: 1; min-width: 0; }
.release-copy .eyebrow { margin: 0 0 6px; }
.release-copy h2 { margin: 0; font-size: clamp(22px, 2.3vw, 34px); letter-spacing: -.035em; }
.release-copy h2 strong { color: #42cfff; }
.release-copy > p:last-child { margin: 5px 0 0; overflow: hidden; color: #bbd0de; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.release-button { position: relative; z-index: 1; min-width: 158px; }

.feature-showcase { padding-top: clamp(28px, 3vw, 42px); }
.home-heading { align-items: end; }
.home-heading > p { margin: 0 0 4px; color: #44caff; font-size: 9px; font-weight: 800; line-height: 1.45; letter-spacing: .19em; text-align: right; }
.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.feature-card { min-height: 164px; display: grid; grid-template-columns: 58px 1fr; gap: 16px; align-items: start; border: 1px solid rgba(42, 158, 211, .32); border-radius: var(--radius-sm); padding: 22px 18px; background: linear-gradient(145deg, rgba(8, 34, 55, .9), rgba(4, 23, 38, .94)); transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.feature-card:hover { border-color: rgba(49, 205, 255, .65); background: linear-gradient(145deg, rgba(9, 43, 69, .96), rgba(5, 27, 44, .98)); transform: translateY(-3px); }
.feature-icon { width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid #12bfff; border-radius: 50%; color: #55d7ff; background: rgba(0, 132, 213, .13); box-shadow: inset 0 0 20px rgba(0, 164, 255, .1); font-size: 24px; font-weight: 700; letter-spacing: -3px; }
.feature-plane { letter-spacing: 0; transform: rotate(-22deg); }
.feature-card h3 { margin: 2px 0 8px; font-size: 16px; line-height: 1.22; }
.feature-card p { margin: 0; color: #a9c0d0; font-size: 12px; line-height: 1.55; }

.journey-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 12px; }
.journey-card { position: relative; min-height: 230px; display: flex; align-items: center; overflow: hidden; border: 1px solid rgba(42, 158, 211, .4); border-radius: var(--radius-sm); padding: 28px; color: inherit; background: linear-gradient(120deg, rgba(5, 25, 42, .98), rgba(8, 46, 71, .84)); text-decoration: none; }
.journey-map { background: linear-gradient(90deg, rgba(3, 19, 33, .98) 0%, rgba(3, 23, 39, .87) 36%, rgba(4, 30, 50, .12) 58%, transparent 100%), url("/live-map-card-v2.png") center / cover; }
.journey-map::after { content: ""; position: absolute; z-index: 1; inset: 0; opacity: .96; background: url("/live-map-card-v2.png") center / cover; filter: brightness(2.25) saturate(1.7) contrast(1.12); mix-blend-mode: screen; -webkit-mask-image: linear-gradient(90deg, transparent 32%, rgba(0,0,0,.82) 54%, #000 100%); mask-image: linear-gradient(90deg, transparent 32%, rgba(0,0,0,.82) 54%, #000 100%); pointer-events: none; }
.journey-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 50%, rgba(0, 162, 255, .19), transparent 45%); transition: transform .3s ease; }
.journey-card:hover::before { transform: scale(1.08); }
.journey-card > div { position: relative; z-index: 2; max-width: 56%; }
.journey-card h2 { margin: 0; font-size: 27px; letter-spacing: -.035em; }
.journey-card p:not(.eyebrow) { margin: 8px 0 16px; color: #b4c9d7; font-size: 12px; line-height: 1.5; }
.journey-card .button { min-height: 36px; padding: 8px 13px; font-size: 10px; }
.journey-map-visual { position: absolute; right: -4%; top: 7%; width: 52%; height: 86%; opacity: .75; background: radial-gradient(ellipse at center, rgba(24, 187, 255, .12), transparent 64%), repeating-linear-gradient(0deg, transparent 0 22px, rgba(70, 183, 226, .09) 23px), repeating-linear-gradient(90deg, transparent 0 26px, rgba(70, 183, 226, .09) 27px); mask-image: radial-gradient(ellipse at center, #000 30%, transparent 73%); }
.journey-map .journey-map-visual { display: none; }
.journey-map-visual::before, .journey-map-visual::after { content: ""; position: absolute; border: 1px solid rgba(38, 197, 255, .72); border-radius: 50%; }
.journey-map-visual::before { width: 130px; height: 70px; right: 23%; top: 27%; transform: rotate(-10deg); }.journey-map-visual::after { width: 85px; height: 45px; left: 15%; bottom: 24%; transform: rotate(18deg); }
.journey-map-visual i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #30d4ff; box-shadow: 0 0 12px #30d4ff; }.journey-map-visual i:nth-child(1){left:22%;top:28%}.journey-map-visual i:nth-child(2){right:18%;top:22%}.journey-map-visual i:nth-child(3){left:46%;bottom:18%}.journey-map-visual i:nth-child(4){right:31%;bottom:38%}
.journey-group { background: linear-gradient(90deg, rgba(3, 18, 31, .98) 0%, rgba(4, 24, 40, .9) 38%, rgba(5, 27, 44, .36) 72%, rgba(3, 19, 32, .12) 100%), url("/group-flight-card-v1.png") right center / cover; }
.journey-group .journey-runway { display: none; }
.journey-runway { position: absolute; right: -3%; bottom: -6%; width: 53%; height: 68%; border-top: 1px solid rgba(104, 210, 255, .24); background: linear-gradient(165deg, transparent 0 48%, rgba(15, 58, 78, .62) 49% 100%); clip-path: polygon(23% 0, 100% 17%, 100% 100%, 0 100%); }

.home-groupflight { padding-top: 52px; padding-bottom: 0; }
.freewings-story { margin-top: var(--section-space); grid-template-columns: 240px minmax(0, 1fr); border-color: rgba(255, 196, 68, .32); border-radius: var(--radius-md); background: linear-gradient(110deg, rgba(7, 31, 49, .96), rgba(5, 25, 42, .94)); }
.freewings-mark { min-height: 260px; }
.freewings-mark img { width: 172px; height: 172px; border: 0; background: transparent; }
.freewings-story-copy h2 { font-size: clamp(25px, 3vw, 37px); }
.freewings-tags span { border: 0; color: #c7d8e4; background: transparent; padding-left: 0; }
.freewings-tags span::before { content: "✓"; margin-right: 7px; color: #3bd0ff; }
.home-news { padding-top: clamp(42px, 5vw, 68px); padding-bottom: 0; }
.home-news .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-news .news-card { position: relative; min-height: 190px; display: grid; grid-template-columns: minmax(135px, 34%) 1fr; grid-template-rows: auto auto 1fr auto; column-gap: 20px; overflow: hidden; padding: 18px; }
.news-card-media { grid-row: 1 / 5; width: 100%; height: 100%; min-height: 150px; overflow: hidden; border-radius: 8px; background: #071725; }
.news-card-media img,.news-card-media video { width: 100%; height: 100%; display: block; object-fit: cover; }
.home-news .news-card > .entry-meta, .home-news .news-card > h3, .home-news .news-card > .entry-summary, .home-news .news-card > .news-card-link { grid-column: 2; }
.home-news .news-card:not(:has(.news-card-media)) > * { grid-column: 1 / -1; }
.home-news .news-card h3 { margin: 10px 0 6px; }
.news-card-link { align-self: end; width: max-content; color: var(--cyan); font-size: 10px; font-weight: 750; text-decoration: none; }
.home-page > .network-section, .home-changelog { display: none; }

.inner-page { padding-top: clamp(62px, 7vw, 94px); }
.inner-hero h1 { text-shadow: 0 8px 34px rgba(0,0,0,.35); }
.news-card, .changelog-panel, .timeline-entry, .download-card, .legal-card, .groupflight-public-card { border-color: rgba(48, 166, 218, .28); background: linear-gradient(145deg, rgba(10, 38, 60, .93), rgba(4, 22, 36, .96)); }
.map-card, .manual-frame-card { border-color: rgba(45, 175, 231, .35); box-shadow: 0 28px 80px rgba(0,0,0,.38); }

.site-footer { border-top-color: rgba(43, 178, 235, .26); background: #020b13; }
.footer-legal { min-height: 72px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 26px; padding-block: 20px; }
.footer-legal a { color: var(--muted); text-decoration: none; font-size: 11px; }
.footer-legal a:hover { color: var(--cyan); }
.footer-copyright { margin: 0 auto; border-top: 1px solid rgba(43, 178, 235, .12); padding: 14px 0 18px; color: #587488; font-size: 10px; letter-spacing: .04em; text-align: center; }

.footer-link-button {
  appearance: none;
  padding: 0;
  border: 0;
  color: var(--muted);
  background: none;
  font: inherit;
  cursor: pointer;
}
.footer-link-button:hover, .footer-link-button:focus-visible { color: var(--cyan); }

.map-consent-required {
  position: absolute;
  z-index: 650;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  padding: 28px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 40%, rgba(15, 97, 136, .28), transparent 38%),
    linear-gradient(145deg, rgba(3, 21, 35, .96), rgba(2, 14, 24, .98));
}
.map-consent-required[hidden] { display: none; }
.map-consent-required strong { color: var(--text); font-size: clamp(18px, 2vw, 25px); }
.map-consent-required span { max-width: 520px; color: var(--muted); line-height: 1.6; }
.map-consent-required .button { margin-top: 8px; }

.privacy-consent {
  position: fixed;
  z-index: 3000;
  left: 50%;
  bottom: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
  width: min(820px, calc(100% - 30px));
  padding: 24px;
  border: 1px solid rgba(36, 185, 241, .48);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(7, 31, 49, .985), rgba(3, 18, 30, .99));
  box-shadow: 0 26px 80px rgba(0, 0, 0, .62), 0 0 44px rgba(0, 173, 239, .12);
  transform: translateX(-50%);
}
.privacy-consent[hidden] { display: none; }
.privacy-consent-copy h2 { margin: 4px 0 8px; font-size: clamp(20px, 2.2vw, 28px); }
.privacy-consent-copy > p:not(.eyebrow) { max-width: 610px; margin: 0 0 9px; color: var(--muted); line-height: 1.55; }
.privacy-consent-copy a { color: var(--cyan); font-size: 12px; }
.privacy-consent-actions { display: grid; gap: 10px; min-width: 205px; }
.privacy-consent-actions .button { width: 100%; white-space: nowrap; }

@media (max-width: 1200px) {
  .hero-inner { grid-template-columns: minmax(0, 60%) minmax(320px, 40%); }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-card { min-height: 145px; }
  .site-header { padding-inline: 24px; }
  .network-status { display: none; }
}

@media (max-width: 991px) {
  .site-header { grid-template-columns: auto 1fr; min-height: 62px; }
  .menu-button { display: block; width: 42px; height: 42px; border: 1px solid rgba(56, 166, 218, .32); border-radius: 8px; color: var(--text); background: rgba(8, 31, 49, .82); }
  .main-navigation { position: absolute; top: 62px; left: 0; right: 0; display: none; max-height: calc(100vh - 102px); overflow-y: auto; padding: 12px 18px 18px; border-bottom: 1px solid var(--line); background: rgba(3, 18, 31, .98); box-shadow: 0 24px 50px rgba(0,0,0,.38); }
  .main-navigation.open { display: grid; }
  .main-navigation a { padding: 12px; }
  .main-navigation a::after { display: none; }
  .header-actions { justify-self: end; }
  .discord-link { display: none; }
  .hero-inner { grid-template-columns: minmax(0, 66%) minmax(250px, 34%); }
  .radar-grid { width: 340px; right: -80px; }
  .journey-card > div { max-width: 68%; }
  .release-copy > p:last-child { max-width: 52vw; }
}

@media (max-width: 767px) {
  .shell { width: min(100% - 30px, var(--shell)); }
  .freewings-topline-inner { min-height: 48px; }
  .freewings-topline-copy > span { display: none; }
  .freewings-topline-cta { font-size: 9px; }
  .site-header { padding-inline: 15px; }
  .admin-link { display: none; }
  .home-page > .hero { min-height: 690px; }
  .hero-backdrop { background-position: 62% center; }
  .hero::before { background: linear-gradient(180deg, rgba(2, 14, 25, .34), rgba(2, 15, 26, .76) 42%, rgba(2, 15, 26, .97) 76%, var(--bg-main)); }
  .hero-inner { display: block; padding-top: 42px; padding-bottom: 48px; }
  .hero-copy { max-width: none; }
  .hero-brand-logo { width: min(92%, 410px); }
  .hero h1 { font-size: clamp(34px, 9.5vw, 48px); }
  .hero-text { max-width: 570px; }
  .hero-radar { position: absolute; right: -56px; bottom: 2px; width: 300px; min-height: 300px; opacity: .62; }
  .radar-grid { right: 0; width: 270px; }
  .hero-radar > .radar-online-count { right: 66px; bottom: 4px; display: grid; }
  .radar-online-count strong { font-size: 19px; }
  .compatibility { max-width: calc(100% - 190px); flex-wrap: wrap; }
  .compatibility small { width: 100%; }
  .compatibility span { min-width: 120px; }
  .release-strip { grid-template-columns: 52px 1fr; gap: 14px; margin-top: 0; border-radius: 0; width: 100%; padding: 20px max(15px, calc((100% - 737px) / 2)); }
  .release-icon { width: 48px; height: 48px; }
  .release-copy > p:last-child { max-width: none; white-space: normal; }
  .release-button { grid-column: 1 / -1; width: 100%; }
  .home-heading { align-items: start; }
  .home-heading > p { display: none; }
  .feature-grid, .journey-grid, .home-news .news-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 0; }
  .journey-card { min-height: 240px; }
  .journey-card > div { max-width: 72%; }
  .freewings-story { grid-template-columns: 1fr; }
  .freewings-story-copy { padding: 28px 24px 30px; }
  .freewings-mark { min-height: 185px; }
  .freewings-mark img { width: 145px; height: 145px; }
  .home-news .news-card { grid-template-columns: 120px 1fr; }
  .footer-legal { min-height: 68px; gap: 18px; }
  .privacy-consent { grid-template-columns: 1fr; gap: 18px; bottom: 12px; padding: 20px; }
  .privacy-consent-actions { grid-template-columns: 1fr 1fr; min-width: 0; }
}

@media (max-width: 479px) {
  .freewings-topline-inner { grid-template-columns: 34px 1fr auto; }
  .freewings-topline img { width: 30px; height: 30px; }
  .freewings-topline-copy strong { font-size: 7px; }
  .language select { padding-left: 8px; }
  .home-page > .hero { min-height: 735px; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-radar { right: -92px; opacity: .48; }
  .compatibility { max-width: calc(100% - 100px); }
  .compatibility span { min-width: 108px; }
  .feature-card { grid-template-columns: 50px 1fr; padding: 18px 15px; }
  .feature-icon { width: 48px; height: 48px; font-size: 20px; }
  .journey-card { min-height: 260px; padding: 23px 20px; }
  .journey-card > div { max-width: 88%; }
  .journey-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,17,29,.9), rgba(3,17,29,.15)); }
  .journey-card > div { z-index: 3; }
  .home-news .news-card { display: block; }
  .news-card-media { height: 150px; margin-bottom: 16px; }
  .footer-bottom { font-size: 8px; }
  .privacy-consent-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .radar-sweep, .orbit-one, .orbit-two, .sweep, .skeleton-card { animation: none !important; }
  .feature-card, .button, .journey-card::before { transition: none !important; }
}
.groupflight-continuation-choice{display:flex;align-items:center;gap:8px;margin:12px 0;color:var(--text);font-size:12px}.groupflight-continuation-choice input{width:auto;margin:0;accent-color:var(--cyan)}
.groupflight-route-ballot{display:grid;gap:18px}.groupflight-ballot-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.groupflight-ballot-meta strong{color:var(--text)}.groupflight-ballot-meta span{color:var(--amber)}.groupflight-ballot-group{min-width:0;margin:0;border:0;border-top:1px solid var(--line-soft);padding:16px 0 0}.groupflight-ballot-group legend{padding:0 10px 0 0;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.groupflight-route-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.groupflight-route-option{position:relative;display:grid;gap:8px;min-width:0;min-height:150px;border:1px solid var(--line);border-radius:11px;padding:15px 15px 15px 42px;color:var(--text);background:rgba(5,20,32,.72);cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.groupflight-route-option:hover{border-color:rgba(38,216,245,.62);transform:translateY(-1px)}.groupflight-route-option.selected{border-color:var(--cyan);background:linear-gradient(145deg,rgba(18,75,102,.72),rgba(6,28,43,.92));box-shadow:0 0 0 1px rgba(38,216,245,.18),0 10px 30px #0003}.groupflight-route-option>input{position:absolute;left:15px;top:17px;width:17px;height:17px;margin:0;accent-color:var(--cyan)}.groupflight-route-option-heading{display:flex;justify-content:space-between;gap:10px}.groupflight-route-option-heading b{font:800 17px Consolas,monospace;letter-spacing:.05em}.groupflight-route-option-heading i{color:var(--green);font-size:9px;font-style:normal;white-space:nowrap}.groupflight-route-option>strong{font-size:11px;line-height:1.45}.groupflight-route-option>small{color:var(--muted);font-size:9px;line-height:1.5}.groupflight-route-option>.groupflight-route-region{margin-top:auto;color:#78a8bd}.groupflight-route-ballot>.button{justify-self:start}.groupflight-route-ballot.compact .groupflight-route-option{min-height:132px}.groupflight-route-ballot.compact .groupflight-ballot-group:nth-of-type(n+3){display:none}.groupflight-route-ballot.compact::after{content:"Alle acht Routen auf der Gruppenflug-Seite anzeigen";color:var(--muted);font-size:9px}
@media (max-width:790px){.groupflight-route-options{grid-template-columns:1fr}.groupflight-route-option{min-height:0;padding-block:14px}.groupflight-ballot-meta{display:grid}.groupflight-route-ballot>.button{width:100%}}
.groupflight-route-ballot.compact .groupflight-ballot-group:nth-of-type(n+3){display:block}.groupflight-route-ballot.compact::after{content:none}
