/* HIMMELSFREI · BZF-Funkpraxis · 10.11.2026 */
body.fx-page{background:#f3f7fa;color:#122e45}
.fx-page .site-header{position:relative;background:#071d31;color:white}
.fx-page .site-header.is-scrolled{position:relative}
.fx-page main{padding:0 0 72px}
.fx-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.fx-path{padding:22px 0;font-size:13px;color:#566d7f}
.fx-path a{text-decoration:underline;text-underline-offset:4px}
.fx-hero{padding:35px 0 42px;display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:center}
.fx-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#287091;margin:0 0 14px}
.fx-hero h1{font-size:clamp(40px,5.8vw,74px);line-height:1.02;letter-spacing:-.055em;max-width:850px;margin:0 0 22px}
.fx-hero h1 em{font-style:normal;color:#137da8}
.fx-lead{font-size:18px;color:#496477;max-width:720px;line-height:1.65;margin:0}
.fx-instrument{border-radius:50%;aspect-ratio:1;background:#092b46;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;border:12px solid #dfedf4;outline:1px solid #c6dce8;box-shadow:0 16px 32px #10385214;position:relative}
.fx-instrument:before{content:"";position:absolute;inset:13px;border:2px dashed #6b92a5;border-radius:50%;opacity:.6}
.fx-instrument small{font-size:11px;letter-spacing:.18em;color:#b0d9ed;z-index:1}
.fx-instrument strong{font-size:65px;line-height:1.2;font-variant-numeric:tabular-nums;z-index:1}
.fx-instrument span{color:#a4e5ff;font-weight:700;z-index:1}
.fx-nav{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 32px}
.fx-nav a{background:#fff;border:1px solid #cddfe9;padding:11px 17px;border-radius:99px;font-size:13px;font-weight:750}
.fx-nav a:hover{background:#deeff8;border-color:#6aa3bd}
.fx-section{scroll-margin-top:20px;margin-bottom:34px}
.fx-section-head{display:flex;gap:18px;align-items:flex-start;margin:20px 0}
.fx-section-no{border:1px solid #bdcfdc;color:#4f6d82;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;flex:none;font-size:12px;font-weight:800}
.fx-section-head h2{font-size:clamp(25px,3vw,36px);line-height:1.2;letter-spacing:-.035em;margin:0 0 7px}
.fx-section-head p{margin:0;color:#5c7486;font-size:15px}
.fx-panel{background:#fff;border:1px solid #d7e3eb;border-radius:20px;overflow:hidden;box-shadow:0 9px 30px #173e5510}
.fx-sim-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px}
.fx-sim{min-width:0;background:linear-gradient(180deg,#eff8fd,#fcfdfe);padding:26px}
.fx-legend{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:800;letter-spacing:.07em;color:#466b81;text-transform:uppercase}
.fx-legend i{height:7px;width:7px;background:#1a88b1;border-radius:50%;display:inline-block;margin-right:6px}
.fx-map{width:100%;height:auto;display:block;margin:5px 0 0}
.fx-map text{font-family:inherit}
.fx-map-label{font-size:13px;fill:#476b80}
.fx-map-value{font-size:17px;font-weight:800;fill:#103957}
.fx-plane{fill:#0f486a;stroke:#fff;stroke-width:2}
.fx-map-notice{font-size:11px;color:#627d8e;margin:0 0 20px}
.fx-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fx-btn{border:1px solid #b9cfdd;background:#fff;color:#174660;border-radius:10px;padding:10px 15px;font-size:13px;font-weight:750;min-height:44px;cursor:pointer;line-height:1.35}
.fx-btn:hover{border-color:#4287a8;background:#edf6fb}
.fx-btn.fx-primary{background:#0e5278;color:#fff;border-color:#0e5278}
.fx-btn.fx-primary:hover{background:#073d5e}
.fx-btn[disabled]{opacity:.5;cursor:default}
.fx-btn[aria-pressed="true"]{background:#0d567e;color:#fff;border-color:#0d567e}
.fx-transport-note{font-size:11px;color:#607b8c;margin:10px 0 18px}
.fx-label{font-size:12px;font-weight:750;color:#365c74;display:block;margin-bottom:7px}
.fx-range{width:100%;accent-color:#0b709e;min-height:30px;cursor:pointer}
.fx-range-row{display:flex;justify-content:space-between;font-size:11px;color:#617a8b;margin-top:0}
.fx-controls{padding:26px;background:#fff;border-left:1px solid #d7e4ed}
.fx-speed-input{display:flex;gap:9px;align-items:baseline}
.fx-input{width:100%;border:1px solid #b8cedb;background:#fff;border-radius:9px;color:#123d57;font:inherit;padding:9px 12px;min-height:44px;min-width:0}
.fx-speed-input .fx-input{width:110px;font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}
.fx-speed-input span{font-size:14px;font-weight:700;color:#567487}
.fx-presets{display:flex;gap:5px;margin:10px 0 18px}
.fx-presets .fx-btn{flex:1;min-width:0;padding:8px 2px;font-size:12px}
.fx-result{margin:18px 0 20px;padding:15px;border:1px solid #b7dce9;border-radius:12px;background:#eaf6fc}
.fx-result strong{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums;display:block;color:#105d82}
.fx-result span{font-size:12px;color:#54798e}
.fx-fine{font-size:12px;line-height:1.65;color:#5c7586}
.fx-fine b{color:#274e66}
.fx-number-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.fx-number-pair div{padding:13px 16px;border:1px solid #cbdfe9;border-radius:12px;background:#ffffffc9}
.fx-number-pair small{display:block;font-size:11px;color:#557689}
.fx-number-pair strong{font-size:clamp(23px,3vw,35px);font-variant-numeric:tabular-nums;line-height:1.3;display:block;letter-spacing:-.03em}
.fx-status{padding:18px 24px;background:#e8f5f8;border-top:1px solid #c8e3e9;display:flex;gap:12px;align-items:flex-start}
.fx-status[data-state="due"]{background:#fff3d7;border-color:#efd79e}
.fx-status[data-state="late"]{background:#fff0e9;border-color:#ecc2ac}
.fx-status-icon{font-size:21px;line-height:1.4}
.fx-status strong{font-size:15px;display:block}
.fx-status p{font-size:13px;margin:3px 0 0;color:#466578}
.fx-explain{padding:23px 26px;border-top:1px solid #dae5ed;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.fx-explain h3{font-size:15px;margin:0 0 9px}
.fx-explain p{font-size:13px;color:#526c7e;margin:7px 0}
.fx-formula{font-weight:750;color:#154f70!important}
.fx-note{padding:16px 20px;background:#e6f0f6;border-left:3px solid #4587a5;border-radius:0 10px 10px 0;font-size:13px;color:#34596f;line-height:1.7;margin-top:16px}
.fx-note a,.fx-sources a{text-decoration:underline;text-underline-offset:3px}
.fx-memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0}
.fx-memory-grid div{background:#fff;border:1px solid #d6e3eb;border-radius:12px;padding:14px 10px;text-align:center}
.fx-memory-grid span{font-size:12px;color:#658093;display:block}
.fx-memory-grid b{font-size:23px;display:block;color:#15577a}
.fx-memory-grid small{font-size:11px;color:#4e7187}
.fx-training{padding:27px;display:grid;grid-template-columns:1.05fr 1fr;gap:35px}
.fx-task{border:1px solid #d1e3ec;background:#f1f8fc;border-radius:15px;padding:20px}
.fx-task h3{font-size:22px;margin:12px 0;line-height:1.4;letter-spacing:-.02em}
.fx-task p{font-size:13px;color:#517082;margin:0}
.fx-tag{font-size:10px;font-weight:800;letter-spacing:.12em;color:#32708f;text-transform:uppercase}
.fx-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}
.fx-feedback{min-height:50px;margin:14px 0 0;font-size:13px;color:#597285}
.fx-feedback[data-result="good"]{color:#17694e}
.fx-feedback[data-result="bad"]{color:#a2472f}
.fx-score{font-size:11px;color:#657f90;margin:10px 0 0}
.fx-profile{padding:27px;display:grid;grid-template-columns:1fr 1.1fr;gap:32px}
.fx-profile-form{display:grid;gap:16px;align-content:start}
.fx-callsign-input{display:flex;align-items:center;gap:10px}
.fx-callsign-input span{font-size:25px;font-weight:800;white-space:nowrap}
.fx-callsign-input .fx-input{font-size:25px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;width:150px}
.fx-spelling{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0}
.fx-spelling span{padding:6px 9px;border:1px solid #d6e4ed;border-radius:6px;font-size:12px;background:#f1f7fb}
.fx-radio{background:#0b2c44;color:#fff;border-radius:15px;padding:23px;align-self:start}
.fx-radio-top{font-size:10px;font-weight:800;letter-spacing:.13em;color:#93c8df;display:flex;justify-content:space-between;gap:10px}
.fx-radio-top i{display:inline-block;width:7px;height:7px;background:#89dcbb;border-radius:50%;margin-right:6px}
.fx-radio-line{font-size:23px;font-weight:650;line-height:1.55;letter-spacing:-.02em;margin:15px 0 20px}
.fx-radio .fx-btn{color:#d3edfa;border-color:#4e7187;background:#173e58}
.fx-radio .fx-btn:hover{background:#28516b}
.fx-dialogue{margin:20px 0 0;display:grid;gap:12px}
.fx-dialogue[hidden]{display:none}
.fx-dialogue div{border-top:1px solid #35566e;padding-top:12px}
.fx-dialogue small{color:#9bc6dc;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.fx-dialogue p{font-size:14px;margin:5px 0}
.fx-radio .fx-fine{color:#a9c6d7}
.fx-checklist{padding:23px 27px;border-top:1px solid #d8e5ed;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fx-checklist strong{font-size:14px;display:block;margin-bottom:4px}
.fx-checklist p{font-size:12px;color:#587386;margin:0}
.fx-alphabet-layout{display:grid;grid-template-columns:1fr 330px;gap:24px;padding:27px}
.fx-alphabet{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fx-letter{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #d5e3ec;background:#f6fafc;border-radius:10px;padding:11px 13px;cursor:pointer;color:#154a68;min-width:0;position:relative}
.fx-letter strong{font-size:23px;line-height:1.2}
.fx-letter span{font-size:12px;font-weight:600}
.fx-letter small{position:absolute;right:8px;top:6px;color:#728c9c;font-size:11px}
.fx-letter:hover{background:#e4f3fb;border-color:#86b6cc}
.fx-alphabet-drill{background:#edf6fb;border:1px solid #ccdfeb;border-radius:13px;padding:20px;align-self:start}
.fx-alphabet-drill h3{font-size:20px;margin:0 0 10px}
.fx-drill-prompt{font-size:42px;font-weight:850;letter-spacing:.04em;line-height:1.25;margin:12px 0;color:#0e5075;overflow-wrap:anywhere}
.fx-alphabet-drill .fx-btns{margin-top:14px}
.fx-alphabet-drill .fx-btn{padding:9px 12px}
.fx-sources{padding:22px 26px;font-size:12px;color:#5b7486;border-top:1px solid #d7e4ed}
.fx-sources summary{cursor:pointer;font-weight:750;color:#345f77;min-height:32px}
.fx-sources ul{padding-left:18px}
.fx-sources li{margin:7px 0}
.fx-bottom{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.fx-bottom a{font-size:14px;font-weight:700;color:#175775;text-decoration:underline;text-underline-offset:4px}
.fx-nojs{padding:16px;background:#fff1cd;color:#6b4a00}
.fx-error{color:#a4472d}
.fx-page :focus-visible{outline:3px solid #df982d;outline-offset:3px}
.fx-panel [hidden]{display:none!important}
@media(min-width:1000px){.fx-page .primary-navigation{gap:15px}.fx-page .primary-navigation a{font-size:10px;letter-spacing:.055em}}
@media(max-width:960px){.fx-sim-grid{grid-template-columns:1fr}.fx-controls{border-left:0;border-top:1px solid #d5e4ed;display:grid;grid-template-columns:1fr 1fr;gap:20px}.fx-controls .fx-result{margin-top:0}.fx-alphabet-layout{grid-template-columns:1fr 290px}.fx-alphabet{grid-template-columns:repeat(3,1fr)}.fx-hero{grid-template-columns:1fr 220px}.fx-instrument strong{font-size:50px}}
@media(max-width:700px){.fx-shell{width:calc(100% - 30px)}.fx-path{padding:18px 0;font-size:11px}.fx-hero{grid-template-columns:1fr;gap:22px;padding:16px 0 27px}.fx-instrument{display:none}.fx-hero h1{font-size:45px}.fx-lead{font-size:16px}.fx-nav{gap:6px;padding-bottom:20px}.fx-nav a{font-size:12px;padding:10px 12px}.fx-section-head{gap:10px}.fx-section-head p{font-size:13px}.fx-section-head h2{font-size:27px}.fx-sim{padding:19px 15px}.fx-controls{padding:20px 16px;gap:15px}.fx-legend{font-size:9px}.fx-map{margin-top:12px}.fx-number-pair{gap:7px;margin:14px 0}.fx-number-pair div{padding:10px}.fx-number-pair strong{font-size:26px}.fx-explain{grid-template-columns:1fr;gap:10px;padding:20px 17px}.fx-status{padding:16px}.fx-memory-grid{gap:5px}.fx-memory-grid div{padding:11px 5px}.fx-memory-grid b{font-size:20px}.fx-training,.fx-profile,.fx-alphabet-layout{grid-template-columns:1fr;padding:18px;gap:22px}.fx-task{padding:16px}.fx-task h3{font-size:20px}.fx-checklist{grid-template-columns:1fr;gap:15px;padding:20px}.fx-alphabet{grid-template-columns:repeat(4,1fr);gap:6px}.fx-letter{padding:9px 7px}.fx-letter span{font-size:10px}.fx-letter small{font-size:9px}.fx-radio{padding:19px}.fx-radio-line{font-size:21px}.fx-sources{padding:19px}.fx-input{font-size:16px}.fx-profile-form{gap:13px}}
@media(max-width:370px){.fx-hero h1{font-size:39px}.fx-controls{grid-template-columns:1fr}.fx-alphabet{grid-template-columns:repeat(3,1fr)}.fx-answer-grid{gap:8px}.fx-btn{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.fx-page{scroll-behavior:auto}.fx-page *{scroll-behavior:auto!important}}
