:root {
            --bg: #0b0f14;
            --card: #141a22;
            --card2: #18202a;
            --text: #eef3f8;
            --muted: #9aa8b5;
            --line: rgba(255,255,255,.10);
            --ok: #3fbf7f;
            --warn: #e4a93c;
            --bad: #d95f5f;
            --blue: #6db6ff;
        }

        * { box-sizing: border-box; }

        body {
            margin: 0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            background: radial-gradient(circle at top, #182231 0, #0b0f14 45%, #07090c 100%);
            color: var(--text);
        }

        .wrap {
            width: min(1280px, calc(100vw - 28px));
            margin: 0 auto;
            padding: 24px 0 36px;
        }

        .top {
            display: flex;
            gap: 18px;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 18px;
        }

        h1 {
            margin: 0 0 6px;
            font-size: clamp(28px, 4vw, 44px);
            line-height: 1.05;
            letter-spacing: -0.03em;
        }

        .sub {
            color: var(--muted);
            font-size: 15px;
        }

        .pill {
            background: rgba(255,255,255,.08);
            border: 1px solid var(--line);
            color: var(--muted);
            border-radius: 999px;
            padding: 7px 11px;
            font-size: 13px;
            white-space: nowrap;
        }

        .reportCard {
            margin-bottom: 16px;
            padding: 16px;
        }

        .reportTitle {
            display: flex;
            align-items: center;
            gap: 10px;
            margin: 0 0 8px;
            font-size: 18px;
            font-weight: 850;
        }

        .reportBadge {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 4px 9px;
            font-size: 12px;
            border: 1px solid rgba(255,255,255,.16);
            color: var(--muted);
            background: rgba(255,255,255,.06);
        }

        .reportBadge.ok {
            color: #a8f0c9;
            background: rgba(63,191,127,.12);
            border-color: rgba(63,191,127,.35);
        }

        .reportBadge.warn {
            color: #f5cf85;
            background: rgba(228,169,60,.12);
            border-color: rgba(228,169,60,.35);
        }

        .reportBadge.bad {
            color: #ffb4b4;
            background: rgba(217,95,95,.12);
            border-color: rgba(217,95,95,.35);
        }

        .reportText {
            color: #d9e2ea;
            font-size: 15px;
            line-height: 1.45;
            margin-bottom: 10px;
        }

        .reportList {
            margin: 0;
            padding-left: 18px;
            color: var(--muted);
            font-size: 14px;
            line-height: 1.45;
        }

        .modelCard {
            margin-bottom: 16px;
            padding: 0;
        }


        .modelSummary {
            list-style: none;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            padding: 14px 16px;
        }

        .modelSummary::-webkit-details-marker {
            display: none;
        }

        .modelSummary:before {
            content: "▸";
            color: var(--muted);
            font-size: 13px;
            margin-right: -4px;
        }

        .modelCard[open] .modelSummary:before {
            content: "▾";
        }

        .modelContent {
            border-top: 1px solid var(--line);
            padding: 0 16px 16px;
        }

        .modelHead {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
        }

        .modelTitle {
            font-size: 17px;
            font-weight: 850;
        }

        .modelBadge {
            color: var(--muted);
            font-size: 12px;
            border: 1px solid var(--line);
            background: rgba(255,255,255,.05);
            border-radius: 999px;
            padding: 5px 9px;
            white-space: nowrap;
        }

        .modelGrid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
        }

        .modelBox {
            background: rgba(0,0,0,.18);
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 11px;
        }

        .modelBox .modelName {
            font-weight: 850;
            font-size: 14px;
            margin-bottom: 3px;
        }

        .modelBox .modelMeta {
            color: var(--muted);
            font-size: 11px;
            margin-bottom: 8px;
        }

        .modelPoint {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 8px;
            padding: 6px 0;
            border-top: 1px solid rgba(255,255,255,.07);
            font-size: 13px;
        }

        .modelPoint:first-of-type {
            border-top: 0;
            padding-top: 0;
        }

        .modelPoint .ptName {
            font-weight: 700;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .modelPoint .ptWind {
            color: #fff;
            font-weight: 850;
            white-space: nowrap;
        }

        .modelPoint .ptSub {
            grid-column: 1 / -1;
            color: var(--muted);
            font-size: 11px;
            margin-top: -4px;
        }

        .compareBadge {
            display: inline-block;
            padding: 5px 7px;
            border-radius: 999px;
            font-size: 11px;
            font-weight: 850;
            border: 1px solid rgba(255,255,255,.16);
            white-space: normal;
            line-height: 1.1;
            max-width: 92px;
        }

        .compareBadge.good {
            background: rgba(50,190,120,.18);
            color: #8df0b5;
        }

        .compareBadge.warn {
            background: rgba(242,183,90,.18);
            color: #ffd28c;
        }

        .compareBadge.bad {
            background: rgba(255,94,94,.16);
            color: #ff9b9b;
        }

        .compareBadge.none {
            background: rgba(255,255,255,.06);
            color: var(--muted);
        }

        .compareDetail {
            margin-top: 5px;
            color: var(--muted);
            font-size: 10px;
            line-height: 1.2;
            max-width: 130px;
        }

        .profileDetails {
            padding: 0;
        }

        .profileDetails summary {
            list-style: none;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            padding: 12px 14px;
            border-bottom: 1px solid rgba(255,255,255,.08);
        }

        .profileDetails summary::-webkit-details-marker {
            display: none;
        }

        .profileDetails summary span {
            font-weight: 850;
        }

        .profileDetails summary em {
            font-style: normal;
            color: var(--muted);
            font-size: 12px;
            white-space: nowrap;
        }

        .detailList {
            display: grid;
            gap: 8px;
            padding: 12px;
        }

        .detailItem {
            display: grid;
            grid-template-columns: 24px 1fr;
            gap: 9px;
            align-items: start;
            padding: 9px 10px;
            border-radius: 12px;
            background: rgba(0,0,0,.16);
            border: 1px solid rgba(255,255,255,.07);
        }

        .detailIndex {
            width: 22px;
            height: 22px;
            display: inline-grid;
            place-items: center;
            border-radius: 999px;
            background: rgba(109,182,255,.12);
            color: #9ecfff;
            font-size: 11px;
            font-weight: 900;
        }

        .detailText {
            color: #d9e2ea;
            font-size: 13px;
            line-height: 1.42;
        }


        .modelEmpty {
            color: var(--muted);
            font-size: 14px;
            line-height: 1.45;
        }

        .quickAirportSection { display:block; margin-bottom:14px; }
        .quickSectionHead { margin:0 1px 8px; }
        .quickSectionHead h2 { margin:0; font-size:16px; line-height:1.2; }
        .quickSectionHead p { margin:5px 0 0; color:var(--muted); font-size:10px; line-height:1.48; }
        .quickMobile {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 8px;
            margin-bottom: 0;
        }

        .quickCard {
            background: rgba(0,0,0,.20);
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 10px 11px;
        }

        .quickCard .quickLabel {
            color: var(--muted);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 4px;
        }

        .quickCard .quickStation {
            font-size: 13px;
            font-weight: 800;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .quickCard .quickValue {
            font-size: 20px;
            font-weight: 900;
            letter-spacing: -0.03em;
            margin-top: 2px;
        }

        .quickCard .quickMeta {
            color: var(--muted);
            font-size: 11px;
            margin-top: 2px;
        }

        .grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 16px;
        }

        @media (min-width: 980px) {
            .grid {
                grid-template-columns: 1.12fr .88fr;
            }
        }

        .card {
            background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
            border: 1px solid var(--line);
            border-radius: 18px;
            overflow: hidden;
            box-shadow: 0 12px 40px rgba(0,0,0,.25);
        }

        .cardHead {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            align-items: center;
            padding: 15px 16px;
            border-bottom: 1px solid var(--line);
            background: rgba(255,255,255,.035);
        }

        .cardHead strong {
            font-size: 16px;
        }

        .alert {
            padding: 15px 16px;
            background: rgba(228,169,60,.10);
            border-bottom: 1px solid rgba(228,169,60,.22);
            color: #f5cf85;
            font-size: 14px;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        th, td {
            padding: 11px 12px;
            border-bottom: 1px solid var(--line);
            text-align: left;
            vertical-align: top;
        }

        th {
            color: var(--muted);
            font-weight: 600;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .04em;
            background: rgba(0,0,0,.16);
        }

        tr:hover td {
            background: rgba(255,255,255,.025);
        }

        .station {
            font-weight: 750;
            color: #fff;
        }

        .small {
            color: var(--muted);
            font-size: 12px;
            margin-top: 2px;
        }

        .status {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 4px 8px;
            font-size: 12px;
            border: 1px solid var(--line);
            white-space: nowrap;
        }

        .status.ok {
            color: #a8f0c9;
            background: rgba(63,191,127,.12);
            border-color: rgba(63,191,127,.35);
        }

        .status.bad {
            color: #ffb4b4;
            background: rgba(217,95,95,.12);
            border-color: rgba(217,95,95,.35);
        }

        .simpleMap {
            position: relative;
            height: 700px;
            min-height: 520px;
            overflow: hidden;
            background:
                radial-gradient(circle at 22% 60%, rgba(109,182,255,.13), transparent 15%),
                radial-gradient(circle at 70% 48%, rgba(63,191,127,.11), transparent 21%),
                linear-gradient(180deg, #111b27 0%, #0d141d 100%);
        }

        .simpleMap:before {
            content: "";
            position: absolute;
            inset: 22px;
            border: 1px solid rgba(255,255,255,.12);
            border-radius: 18px;
            background-image:
                linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
            background-size: 56px 56px;
            opacity: .80;
            z-index: 1;
        }

        .simpleMap:after {
            content: "";
            position: absolute;
            left: 5%;
            right: 5%;
            top: 13%;
            bottom: 10%;
            z-index: 2;
            pointer-events: none;
            background:
                linear-gradient(150deg, transparent 0 19%, rgba(255,255,255,.14) 19.3% 20.1%, transparent 20.4% 100%),
                linear-gradient(160deg, transparent 0 37%, rgba(255,255,255,.13) 37.3% 38.2%, transparent 38.5% 100%),
                linear-gradient(145deg, transparent 0 55%, rgba(255,255,255,.12) 55.2% 56.1%, transparent 56.4% 100%),
                linear-gradient(155deg, transparent 0 73%, rgba(255,255,255,.10) 73.2% 74.0%, transparent 74.3% 100%);
            opacity: .75;
        }

        .mapSketch {
            position: absolute;
            inset: 26px;
            width: calc(100% - 52px);
            height: calc(100% - 52px);
            z-index: 2;
            pointer-events: none;
            opacity: .95;
        }

        .mapSketch .area {
            fill: rgba(255,255,255,.035);
            stroke: rgba(255,255,255,.16);
            stroke-width: .45;
        }

        .mapSketch .ridge {
            fill: none;
            stroke: rgba(255,255,255,.20);
            stroke-width: .55;
            stroke-linecap: round;
        }

        .mapSketch .valley {
            fill: none;
            stroke: rgba(109,182,255,.18);
            stroke-width: .45;
            stroke-dasharray: 2 2;
        }

        .mapRegion {
            position: absolute;
            z-index: 3;
            color: rgba(238,243,248,.24);
            font-weight: 850;
            letter-spacing: .08em;
            text-transform: uppercase;
            font-size: 11px;
            pointer-events: none;
        }

        .mapRegion.bayern { left: 46%; top: 13%; }
        .mapRegion.tirol { left: 31%; top: 46%; }
        .mapRegion.suedtirol { left: 16%; top: 83%; }
        .mapRegion.tauern { right: 11%; top: 57%; }
        .mapRegion.airports { left: 63%; top: 34%; }

        .mapNorth {
            position: absolute;
            top: 14px;
            right: 16px;
            z-index: 8;
            color: var(--muted);
            font-size: 12px;
            letter-spacing: .08em;
            background: rgba(0,0,0,.34);
            border: 1px solid rgba(255,255,255,.12);
            border-radius: 999px;
            padding: 6px 9px;
        }

        .mapDot {
            position: absolute;
            z-index: 6;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            background: rgba(255,255,255,.85);
            box-shadow: 0 0 0 4px rgba(255,255,255,.10), 0 0 14px rgba(109,182,255,.25);
            border: 1px solid rgba(0,0,0,.55);
        }

        .mapDot.ok {
            background: #a8f0c9;
            box-shadow: 0 0 0 4px rgba(63,191,127,.16), 0 0 16px rgba(63,191,127,.35);
        }

        .mapDot.bad {
            background: #ffb4b4;
            box-shadow: 0 0 0 4px rgba(217,95,95,.16);
        }

        .mapDot.stale {
            background:#94a3b8;
            box-shadow:0 0 0 4px rgba(148,163,184,.14);
        }

        .mapDot.missing {
            background:#718096;
            box-shadow:0 0 0 4px rgba(113,128,150,.10);
        }

        .mapPin {
            position: absolute;
            z-index: 7;
            transform: translate(-50%, -50%);
            width: 94px;
            padding: 5px 6px;
            border-radius: 10px;
            background: rgba(20,26,34,.96);
            border: 1px solid rgba(255,255,255,.22);
            box-shadow: 0 8px 20px rgba(0,0,0,.32);
            text-align: center;
            line-height: 1.08;
        }

        .mapPin.ok {
            border-color: rgba(63,191,127,.62);
        }

        .mapPin.bad {
            opacity: .70;
            border-style: dashed;
            border-color: rgba(217,95,95,.50);
        }

        .mapPin.stale {
            opacity:.82;
            border-style:dashed;
            border-color:rgba(148,163,184,.72);
            background:rgba(59,69,82,.96);
        }

        .mapPin.missing {
            opacity:.62;
            border-style:dashed;
            border-color:rgba(113,128,150,.46);
        }

        .mapPin .name {
            font-size: 9px;
            font-weight: 850;
            margin-bottom: 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mapPin .alt {
            color: var(--muted);
            font-size: 8px;
            margin-bottom: 3px;
        }

        .mapPin .wind {
            display: flex;
            justify-content: center;
            align-items: baseline;
            white-space: nowrap;
        }

        .mapPin .wind strong {
            font-size: 14px;
            line-height: 1;
        }

        .mapPin .windDir {
            color: var(--muted);
            font-size: 8px;
            font-weight: 700;
            line-height: 1;
            margin-left: 3px;
            white-space: nowrap;
            flex: 0 0 auto;
        }

        .mapPin .gust {
            color: #f2b75a;
            font-size: 9px;
            margin-top: 2px;
        }

        .mapPin .dir {
            color: var(--muted);
            font-size: 8px;
            margin-top: 2px;
        }

        .mapDot.alert-orange,
        .mapPin.alert-orange {
            border-color: #ffb24d;
            box-shadow: 0 0 0 2px rgba(255,178,77,.14);
        }

        .mapDot.alert-red,
        .mapPin.alert-red {
            border-color: #ff6e6e;
            box-shadow: 0 0 0 2px rgba(255,110,110,.16);
        }


        .mapPin {
            cursor: pointer;
            transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
        }

        .mapPin:hover,
        .mapPin:focus-visible,
        .mapPin.active {
            z-index: 80;
            transform: translate(-50%, -50%) scale(1.045);
            box-shadow: 0 14px 34px rgba(0,0,0,.52), 0 0 0 2px rgba(109,182,255,.20);
            outline: none;
        }

        .mapPin.active {
            border-color: rgba(109,182,255,.85);
        }


        .mapEmpty {
            position: absolute;
            inset: 0;
            display: grid;
            place-items: center;
            color: var(--muted);
            z-index: 7;
        }

        .summary {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
            padding: 16px;
        }

        @media (max-width: 650px) {
            .summary {
                grid-template-columns: 1fr;
            }
        }

        .metric {
            background: rgba(0,0,0,.18);
            border: 1px solid var(--line);
            border-radius: 15px;
            padding: 14px;
        }

        .metric .label {
            color: var(--muted);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 6px;
        }

        .metric .value {
            font-size: 24px;
            font-weight: 850;
            letter-spacing: -0.03em;
        }

        .footer {
            color: var(--muted);
            font-size: 12px;
            margin-top: 14px;
        }

        @media (max-width: 760px) {
            .wrap {
                width: min(100vw - 16px, 520px);
                padding: 12px 0 24px;
            }

            .top {
                display: block;
                margin-bottom: 12px;
            }

            h1 {
                font-size: 30px;
            }

            .sub {
                font-size: 13px;
            }

            .pill {
                display: inline-block;
                margin-top: 10px;
                font-size: 11px;
                white-space: normal;
            }

            .reportCard {
                padding: 12px;
                margin-bottom: 10px;
            }

            .reportTitle {
                display: block;
                font-size: 16px;
                line-height: 1.25;
            }

            .reportBadge {
                margin-top: 6px;
            }

            .reportText {
                font-size: 13px;
                line-height: 1.38;
                margin-bottom: 8px;
            }

            .reportList {
                font-size: 12px;
                padding-left: 16px;
            }

            .modelCard {
                padding: 0;
                margin-bottom: 10px;
            }

            .modelSummary {
                padding: 10px 12px;
                display: grid;
                grid-template-columns: auto 1fr;
                gap: 6px 8px;
                align-items: center;
            }

            .modelSummary .modelBadge {
                grid-column: 1 / -1;
            }

            .modelContent {
                padding: 0 12px 12px;
            }

            .modelHead {
                display: block;
                margin-bottom: 8px;
            }

            .modelTitle {
                font-size: 15px;
            }

            .modelBadge {
                display: inline-block;
                margin-top: 6px;
                font-size: 10px;
                white-space: normal;
            }

            .modelGrid {
                grid-template-columns: 1fr;
                gap: 8px;
            }

            .modelBox {
                padding: 9px;
            }

            .compareBadge {
                font-size: 9px;
                padding: 3px 5px;
                max-width: 54px;
            }

            .compareDetail {
                display: none;
            }

            .modelPoint {
                font-size: 12px;
                padding: 5px 0;
            }

            .quickAirportSection { display:block; margin-bottom:10px; }
            .quickMobile {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
                margin-bottom: 0;
            }

            .quickCard.main {
                grid-column: span 2;
            }

            .grid {
                gap: 10px;
            }

            .card {
                border-radius: 14px;
            }

            .cardHead {
                padding: 11px 12px;
            }

            .cardHead strong {
                font-size: 14px;
            }

            .cardHead .small {
                font-size: 11px;
            }

            table {
                font-size: 12px;
            }

            th, td {
                padding: 8px 7px;
            }

            .summary {
                display: none;
            }

            .simpleMap {
                height: 600px;
                min-height: 560px;
            }

            .mapNorth {
                top: 10px;
                right: 10px;
                font-size: 10px;
            }

            .mapRegion {
                font-size: 9px;
            }

            .mapPin {
                width: 68px;
                padding: 4px 4px;
                border-radius: 8px;
            }

            .mapPin .name {
                font-size: 7px;
                margin-bottom: 1px;
            }

            .mapPin .alt {
                font-size: 6px;
                margin-bottom: 2px;
            }

            .mapPin .wind strong {
                font-size: 10px;
            }

            .mapPin .windDir {
                font-size: 6px;
                margin-left: 2px;
            }

            .mapPin .gust {
                font-size: 7px;
                margin-top: 1px;
            }

            .mapPin .dir {
                font-size: 6px;
                margin-top: 1px;
            }

            .mapDot {
                width: 7px;
                height: 7px;
            }
        }
    
        /* Knoten-only Layout-Fix ohne Inhalte zu verstecken */
        .mainGrid,
        .panel,
        .overview,
        .tableWrap {
            min-width: 0;
        }

        .tableWrap {
            overflow-x: auto !important;
            -webkit-overflow-scrolling: touch;
        }

        .tableWrap table {
            min-width: 980px;
        }

        .compareDetail {
            display: block !important;
            font-size: 10px;
            line-height: 1.25;
            white-space: normal;
        }

        .compareBadge,
        .badge {
            display: inline-block !important;
            white-space: nowrap !important;
        }

        /* Stale ist keine Windwarnung: neutral statt rot gestrichelt */
        .stale,
        .mapStation.stale,
        .stationCard.stale,
        .status-stale {
            border-color: rgba(148, 163, 184, 0.55) !important;
            border-style: solid !important;
            box-shadow: none !important;
            background: rgba(15, 23, 42, 0.92) !important;
        }

    
        /* 6-Spalten-Tabelle: Quelle/Status unter Station, ICON bleibt sichtbar */
        .tableWrap {
            overflow-x: auto !important;
            -webkit-overflow-scrolling: touch;
        }

        .tableWrap table {
            min-width: 860px !important;
            table-layout: fixed;
        }

        .tableWrap th:nth-child(1), .tableWrap td:nth-child(1) { width: 28% !important; }
        .tableWrap th:nth-child(2), .tableWrap td:nth-child(2) { width: 13% !important; }
        .tableWrap th:nth-child(3), .tableWrap td:nth-child(3) { width: 12% !important; }
        .tableWrap th:nth-child(4), .tableWrap td:nth-child(4) { width: 12% !important; }
        .tableWrap th:nth-child(5), .tableWrap td:nth-child(5) { width: 20% !important; }
        .tableWrap th:nth-child(6), .tableWrap td:nth-child(6) { width: 15% !important; }

        .compareDetail {
            display: block !important;
            white-space: normal !important;
            overflow: visible !important;
        }

        .compareBadge,
        .badge {
            display: inline-block !important;
            white-space: nowrap !important;
        }

    
        /* Final: ICON-Abgleich steht unter Station, keine rechte Abschneide-Spalte mehr */
        .tableWrap table {
            min-width: 760px !important;
            table-layout: fixed !important;
        }

        .tableWrap th:nth-child(1), .tableWrap td:nth-child(1) { width: 34% !important; }
        .tableWrap th:nth-child(2), .tableWrap td:nth-child(2) { width: 14% !important; }
        .tableWrap th:nth-child(3), .tableWrap td:nth-child(3) { width: 13% !important; }
        .tableWrap th:nth-child(4), .tableWrap td:nth-child(4) { width: 13% !important; }
        .tableWrap th:nth-child(5), .tableWrap td:nth-child(5) { width: 26% !important; }

        .stationCompare {
            margin-top: 7px;
            display: flex;
            flex-wrap: wrap;
            gap: 4px 6px;
            align-items: center;
        }

        .compareInlineDetail {
            font-size: 10px;
            color: var(--muted);
            line-height: 1.2;
        }

        .compareBadge {
            max-width: 100%;
            white-space: nowrap !important;
        }

    
        .radiosonde {
            margin-top: 18px;
        }

        .profileSummary {
            margin: 10px 0 14px;
            padding: 10px 12px;
            border-radius: 12px;
            background: rgba(255,255,255,0.06);
            font-size: 14px;
            line-height: 1.35;
        }

        .profileGrid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 10px;
        }

        .profileCard {
            border: 1px solid rgba(255,255,255,0.10);
            border-radius: 14px;
            padding: 12px;
            background: rgba(0,0,0,0.12);
        }

        .profileCard h3 {
            margin: 0 0 5px;
            font-size: 16px;
        }

        .profileMini {
            width: 100%;
            margin-top: 10px;
            border-collapse: collapse;
            font-size: 12px;
        }

        .profileMini th {
            width: 34%;
            text-align: left;
            color: var(--muted);
            font-weight: 600;
            padding: 5px 6px 5px 0;
            vertical-align: top;
        }

        .profileMini td {
            padding: 5px 0;
            vertical-align: top;
        }

        .levelStrip {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 6px;
            margin-top: 10px;
            font-size: 11px;
        }

        .levelStrip div {
            border-radius: 10px;
            padding: 7px 8px;
            background: rgba(255,255,255,0.055);
        }

        .levelStrip strong,
        .levelStrip span {
            display: block;
        }

        .levelStrip span {
            color: var(--muted);
            margin-top: 2px;
            line-height: 1.25;
        }

        .profileNotes {
            margin-top: 9px;
            font-size: 12px;
            line-height: 1.3;
            color: var(--muted);
        }

        .warnText {
            color: #ffca7a !important;
        }

        @media (max-width: 760px) {
            .profileGrid {
                grid-template-columns: 1fr;
            }

            .levelStrip {
                grid-template-columns: 1fr;
            }
        }

    
        /* Radiosonde v40: eigenes Temperatur-/Windprofil */
        .profileStabilityBox {
            margin: 9px 0 10px;
            padding: 10px 11px;
            border-radius: 11px;
            background: rgba(255,255,255,0.055);
            border: 1px solid rgba(255,255,255,0.10);
            font-size: 12px;
            line-height: 1.35;
        }
        .profileStabilityBox strong,
        .profileStabilityBox span {
            display: block;
        }
        .profileStabilityBox strong {
            margin-bottom: 3px;
            font-size: 13px;
        }
        .profileStabilityBox.warn {
            border-color: rgba(255,175,65,.44);
            background: rgba(255,175,65,.08);
        }
        .profileStabilityBox.bad {
            border-color: rgba(255,95,95,.42);
            background: rgba(255,95,95,.07);
        }
        .sondeProfileGraphic {
            margin: 10px 0 12px;
            padding: 9px 9px 7px;
            border-radius: 12px;
            border: 1px solid rgba(255,255,255,.10);
            background: rgba(4,8,12,.28);
            overflow: hidden;
        }
        .sondeProfileGraphic svg {
            display: block;
            width: 100%;
            height: auto;
            min-height: 210px;
        }
        .sondeProfileLegend {
            display: flex;
            flex-wrap: wrap;
            gap: 5px 10px;
            margin: 0 2px 4px;
            color: var(--muted);
            font-size: 10px;
        }
        .sondeProfileLegend span::before {
            content: '';
            display: inline-block;
            width: 13px;
            height: 3px;
            border-radius: 2px;
            margin-right: 5px;
            vertical-align: middle;
            background: rgba(238,243,248,.9);
        }
        .sondeProfileLegend .dewLegend::before { background: rgba(100,190,255,.72); }
        .sondeProfileLegend .windLegend::before { background: rgba(120,235,170,.78); }
        .sondeProfileLegend .layerLegend::before { height: 8px; background: rgba(255,173,70,.26); border: 1px solid rgba(255,173,70,.42); }
        .sondeProfileLegend .cloudLegend::before { height: 8px; background: rgba(95,180,255,.16); border: 1px solid rgba(95,180,255,.34); }
        .profileCloudLayer { fill: rgba(95,180,255,.10); stroke: rgba(95,180,255,.25); stroke-width: 1; }
        .profileFreezeLine { stroke: rgba(155,215,255,.52); stroke-width: 1; stroke-dasharray: 4 4; }
        .profileFreezeText { fill: rgba(190,225,255,.78); font-size: 10px; font-weight: 800; }
        .profileLayerInv { fill: rgba(255,110,70,.16); stroke: rgba(255,110,70,.32); stroke-width: 1; }
        .profileLayerStable { fill: rgba(255,185,70,.10); stroke: rgba(255,185,70,.23); stroke-width: 1; }
        .profileGridLine { stroke: rgba(255,255,255,.09); stroke-width: 1; }
        .profileDivider { stroke: rgba(255,255,255,.12); stroke-width: 1; }
        .profileTempLine { fill: none; stroke: rgba(247,249,252,.95); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
        .profileDewLine { fill: none; stroke: rgba(100,190,255,.74); stroke-width: 2; stroke-dasharray: 5 4; stroke-linejoin: round; stroke-linecap: round; }
        .profileWindBar { stroke: rgba(120,235,170,.72); stroke-width: 3; stroke-linecap: round; }
        .profileWindDot { fill: rgba(120,235,170,.95); }
        .profileAxisText, .profileWindText, .profileAxisTitle {
            fill: rgba(238,243,248,.62);
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            font-size: 10px;
        }
        .profileWindText { font-size: 8px; font-weight: 800; fill: rgba(176,245,205,.92); paint-order: stroke; stroke: rgba(4,8,12,.82); stroke-width: 2px; stroke-linejoin: round; }
        .profileAxisTitle { font-size: 9px; font-weight: 700; }
        .profileWxMiniGrid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
            margin: 9px 0;
        }
        .profileWxMini {
            border: 1px solid rgba(255,255,255,.10);
            border-radius: 11px;
            padding: 8px 9px;
            background: rgba(255,255,255,.035);
            min-width: 0;
        }
        .profileWxMini.warn { border-color: rgba(228,169,60,.28); background: rgba(228,169,60,.07); }
        .profileWxMini.bad { border-color: rgba(217,95,95,.28); background: rgba(217,95,95,.07); }
        .profileWxMini em { display:block; color:var(--muted); font-style:normal; font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
        .profileWxMini strong { display:block; font-size:13px; margin-top:3px; }
        .profileWxMini span { display:block; color:var(--muted); font-size:10px; line-height:1.3; margin-top:4px; }
        @media (max-width: 620px) { .profileWxMiniGrid { grid-template-columns: 1fr; } }

        .sondeProfileFoot {
            margin: -1px 2px 1px;
            color: var(--muted);
            font-size: 9px;
            line-height: 1.25;
        }
        @media (max-width: 540px) {
            .sondeProfileGraphic { padding-left: 4px; padding-right: 4px; }
            .sondeProfileGraphic svg { min-height: 190px; }
            .profileWindText { display: block; font-size: 7px; }
        }

        /* Radiosonde v2 */
        .radioHeader {
            display: flex;
            justify-content: space-between;
            gap: 14px;
            align-items: flex-start;
            margin-bottom: 12px;
        }
        .radioHeader h2 {
            margin: 0 0 4px !important;
            line-height: 1.15;
        }
        .radioBadge {
            flex: none;
            font-size: 11px;
            padding: 6px 9px;
            border-radius: 999px;
            background: rgba(255,255,255,0.08);
            color: var(--muted);
            border: 1px solid rgba(255,255,255,0.10);
        }
        .profileSummary {
            margin: 12px 0 10px !important;
            padding: 13px 14px !important;
            border-radius: 14px !important;
            background: rgba(255,255,255,0.07) !important;
            font-size: 14px !important;
            line-height: 1.42 !important;
        }
        .profileSummary strong {
            display: block;
            margin-bottom: 6px;
            font-size: 15px;
        }
        .profileSummary div + div {
            margin-top: 6px;
        }
        .profileCaveat {
            margin: 0 0 14px;
            padding: 10px 12px;
            border-radius: 12px;
            background: rgba(255,180,80,0.10);
            border: 1px solid rgba(255,180,80,0.22);
            color: #ffcf91;
            font-size: 12px;
            line-height: 1.35;
        }
        .profileMeta {
            color: var(--muted);
            font-size: 12px;
            margin: 2px 0 10px;
        }
        .tempBox {
            font-size: 12px;
            line-height: 1.35;
            padding: 9px 10px;
            border-radius: 11px;
            background: rgba(255,255,255,0.055);
            margin: 9px 0 10px;
        }
        .profileFootnote {
            margin-top: 12px;
            color: var(--muted);
            font-size: 12px;
            line-height: 1.35;
        }
        .profileMini th,
        .profileMini td {
            padding-top: 7px !important;
            padding-bottom: 7px !important;
            line-height: 1.28;
        }
        @media (max-width: 760px) {
            .radioHeader {
                display: block;
            }
            .radioBadge {
                display: inline-block;
                margin-top: 8px;
            }
        }

    
        /* Radiosonde v3 Layout-Fix */
        .radiosonde {
            padding: 18px 18px 20px !important;
            margin-top: 24px !important;
        }
        .radiosonde > h2,
        .radioHeader h2 {
            margin-top: 0 !important;
        }
        .radiosonde .subline {
            margin-top: 3px !important;
            margin-bottom: 0 !important;
        }
        .profileGrid {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 14px !important;
        }
        .profileCard {
            padding: 14px !important;
        }
        .profileSummary {
            margin-top: 14px !important;
            margin-bottom: 12px !important;
        }
        .profileCaveat {
            margin-bottom: 16px !important;
        }
        .tempBox {
            margin-top: 10px !important;
            margin-bottom: 12px !important;
        }
        @media (max-width: 900px) {
            .profileGrid {
                grid-template-columns: 1fr !important;
            }
        }


        .heightMatrix {
            margin: 14px 0 16px;
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 14px;
            overflow: hidden;
            background: rgba(0,0,0,0.14);
        }
        .matrixHead {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            padding: 10px 12px;
            border-bottom: 1px solid rgba(255,255,255,0.10);
            background: rgba(255,255,255,0.045);
            font-size: 13px;
        }
        .matrixHead span {
            color: var(--muted);
            font-size: 12px;
            text-align: right;
        }
        .matrixTable {
            width: 100%;
            border-collapse: collapse;
            font-size: 12px;
        }
        .matrixTable th,
        .matrixTable td {
            padding: 8px 9px;
            border-bottom: 1px solid rgba(255,255,255,0.08);
            vertical-align: top;
        }
        .matrixTable th {
            color: var(--muted);
            font-weight: 800;
            text-transform: none;
            letter-spacing: 0;
            background: rgba(0,0,0,0.16);
        }
        .matrixNote {
            padding: 9px 12px;
            color: var(--muted);
            font-size: 12px;
            line-height: 1.35;
        }
        @media (max-width: 760px) {
            .matrixHead {
                display: block;
            }
            .matrixHead span {
                display: block;
                text-align: left;
                margin-top: 4px;
            }
            .matrixTable {
                font-size: 11px;
            }
            .matrixTable th,
            .matrixTable td {
                padding: 7px 6px;
            }
        }


    



        /* v14: schlankeres Kopf-Briefing */
        .reportStats {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 10px;
            margin-top: 12px;
            margin-bottom: 12px;
        }

        .reportStat {
            border: 1px solid rgba(255,255,255,.11);
            border-radius: 15px;
            background: rgba(0,0,0,.16);
            padding: 12px 13px;
            min-width: 0;
        }

        .reportStat.warn {
            background: rgba(228,169,60,.10);
            border-color: rgba(228,169,60,.32);
        }

        .reportStat.bad {
            background: rgba(217,95,95,.10);
            border-color: rgba(217,95,95,.32);
        }

        .reportStatLabel {
            color: var(--muted);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 6px;
        }

        .reportStatMain {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 8px;
            font-size: 15px;
            font-weight: 850;
            line-height: 1.12;
        }

        .reportStatMain span {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .reportStatMain strong {
            flex: none;
            font-size: 22px;
            letter-spacing: -0.04em;
        }

        .reportStatSub {
            color: var(--muted);
            font-size: 11px;
            line-height: 1.25;
            margin-top: 6px;
        }

        .reportText.compact {
            margin-top: 6px;
            margin-bottom: 8px;
        }

        .reportList.compact {
            margin-top: 0;
        }

        .mapPin .gust {
            color: var(--text) !important;
            font-size: 9px;
            margin-top: 4px;
            padding-top: 3px;
            border-top: 1px solid rgba(255,255,255,.10);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 3px;
            white-space: nowrap;
        }

        .mapPin .gustLabel {
            color: var(--muted);
            font-weight: 650;
        }

        .mapPin .gustSep {
            color: rgba(255,255,255,.25);
        }

        .mapPin .gustValue {
            color: #fff;
            font-weight: 850;
        }

        @media (max-width: 980px) {
            .reportStats {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 760px) {
            .reportStats {
                grid-template-columns: 1fr;
                gap: 8px;
            }
            .reportStat {
                padding: 10px 11px;
            }
            .reportStatMain strong {
                font-size: 19px;
            }
            .mapPin .gust {
                font-size: 6px;
                gap: 2px;
                margin-top: 2px;
                padding-top: 2px;
            }
        }

        /* v13: kompakter Pilot-Briefing-Block und Böenfensterlogik */
        .sondeBriefGrid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 10px;
            margin: 12px 0 12px;
        }

        .sondeBriefCard {
            border: 1px solid rgba(255,255,255,0.11);
            border-radius: 14px;
            padding: 11px 12px;
            background: rgba(255,255,255,0.055);
            min-width: 0;
        }

        .sondeBriefCard.warn {
            background: rgba(228,169,60,0.10);
            border-color: rgba(228,169,60,0.28);
        }

        .sondeBriefCard.bad {
            background: rgba(217,95,95,0.10);
            border-color: rgba(217,95,95,0.28);
        }

        .sondeLabel {
            color: var(--muted);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 5px;
        }

        .sondeValue {
            font-size: 18px;
            font-weight: 900;
            letter-spacing: -0.03em;
            line-height: 1.1;
        }

        .sondeNote {
            color: var(--muted);
            font-size: 11px;
            line-height: 1.25;
            margin-top: 6px;
        }

        .profileDetails {
            padding: 0 !important;
            background: rgba(255,255,255,0.035) !important;
        }

        .profileDetails summary {
            cursor: pointer;
            padding: 11px 13px;
            font-weight: 800;
        }

        .profileDetails div {
            padding: 0 13px 9px;
        }

        .gustStack strong {
            color: #fff;
            font-size: 14px;
        }

        @media (max-width: 1100px) {
            .sondeBriefGrid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 760px) {
            .sondeBriefGrid {
                grid-template-columns: 1fr;
            }
            .sondeValue {
                font-size: 16px;
            }
        }


        /* v15: Karte ohne extra Böen-Pille, Farbe über Pin-Warnklasse */
        .mapPin .gust {
            background: transparent !important;
            border-radius: 0 !important;
            color: var(--muted) !important;
        }
        .mapPin .gustLabel,
        .mapPin .gustSep,
        .mapPin .gustValue {
            color: var(--muted) !important;
        }
        .mapPin.alert-orange .gustLabel,
        .mapPin.alert-orange .gustSep,
        .mapPin.alert-orange .gustValue {
            color: #ffb24d !important;
        }
        .mapPin.alert-red .gustLabel,
        .mapPin.alert-red .gustSep,
        .mapPin.alert-red .gustValue {
            color: #ff6e6e !important;
        }
        .mapPin.ok:not(.alert-orange):not(.alert-red) .gustValue {
            color: #a8f0c9 !important;
        }


        /* v18: mobile Tabellen, aktive Markerfarbe, klare Details */
        .heightMatrix {
            overflow-x: auto !important;
            -webkit-overflow-scrolling: touch;
        }
        .matrixTable {
            min-width: 680px;
        }
        .matrixTable th,
        .matrixTable td {
            white-space: nowrap;
        }
        .fitTable {
            min-width: 860px;
        }
        .matrixNote {
            min-width: 0;
        }
        .mapPin:hover,
        .mapPin:focus-visible,
        .mapPin.active {
            z-index: 90;
            transform: translate(-50%, -50%) scale(1.055);
            outline: 2px solid rgba(255,255,255,.18);
            outline-offset: 2px;
        }
        .mapPin.active {
            border-color: rgba(63,191,127,.62);
            box-shadow: 0 14px 34px rgba(0,0,0,.52), 0 0 0 2px rgba(63,191,127,.24);
        }
        .mapPin.active.alert-orange {
            border-color: #ffb24d;
            box-shadow: 0 14px 34px rgba(0,0,0,.52), 0 0 0 2px rgba(255,178,77,.30);
        }
        .mapPin.active.alert-red {
            border-color: #ff6e6e;
            box-shadow: 0 14px 34px rgba(0,0,0,.52), 0 0 0 2px rgba(255,110,110,.32);
        }
        .mapPin.active.bad {
            border-color: rgba(217,95,95,.50);
            box-shadow: 0 14px 34px rgba(0,0,0,.52), 0 0 0 2px rgba(217,95,95,.24);
        }
        .profileDetails .detailList {
            padding: 12px 13px 13px !important;
        }
        .profileDetails .detailItem {
            padding: 9px 10px !important;
        }
        .profileDetails .detailItem:first-child {
            margin-top: 2px;
        }
        .profileDetails > div {
            padding: 0 !important;
        }
        @media (max-width: 760px) {
            .heightMatrix {
                margin-left: -2px;
                margin-right: -2px;
            }
            .matrixTable {
                font-size: 11px;
                min-width: 640px;
            }
            .fitTable {
                min-width: 780px;
            }
            .matrixHead {
                position: sticky;
                left: 0;
            }
            .sondeNote {
                font-size: 12px;
                line-height: 1.35;
            }
        }



        /* v31: globaler 30/60-Minuten-Umschalter für Böenfenster */
        .mapWindowSwitch {
            display: inline-flex;
            align-items: center;
            gap: 2px;
            padding: 2px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.13);
            background: rgba(0,0,0,.22);
            margin-left: auto;
            flex: none;
        }

        .mapWindowSwitch .switchLabel {
            color: var(--muted);
            font-size: 10px;
            padding: 0 5px 0 6px;
            white-space: nowrap;
        }

        .mapWindowSwitch button {
            appearance: none;
            -webkit-appearance: none;
            border: 0;
            border-radius: 999px;
            padding: 5px 9px;
            background: transparent;
            color: var(--muted);
            font: inherit;
            font-size: 11px;
            font-weight: 800;
            line-height: 1;
            cursor: pointer;
        }

        .mapWindowSwitch button.active {
            background: rgba(109,182,255,.18);
            color: #d9ecff;
            box-shadow: inset 0 0 0 1px rgba(109,182,255,.26);
        }

        @media (max-width: 760px) {
            .mapWindowSwitch .switchLabel { display: none; }
            .mapWindowSwitch button { padding: 5px 8px; font-size: 10px; }
        }

        /* v38: oben operatives Pilot-Briefing statt zufälliger Stationsmaxima */
        .topBriefGrid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
            gap: 10px;
            margin: 12px 0 10px;
        }

        .topBriefCard {
            border: 1px solid rgba(255,255,255,.11);
            border-radius: 15px;
            background: rgba(0,0,0,.16);
            padding: 12px 13px;
            min-width: 0;
        }

        .topBriefCard.warn {
            background: rgba(228,169,60,.10);
            border-color: rgba(228,169,60,.32);
        }

        .topBriefCard.bad {
            background: rgba(217,95,95,.10);
            border-color: rgba(217,95,95,.32);
        }

        .topBriefLabel {
            color: var(--muted);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 5px;
        }

        .topBriefValue {
            font-size: 18px;
            font-weight: 900;
            line-height: 1.12;
            letter-spacing: -.02em;
        }

        .topBriefNote {
            color: var(--muted);
            font-size: 11px;
            line-height: 1.35;
            margin-top: 6px;
        }

        .topSurfaceNote {
            margin: 0;
            padding-top: 8px;
            border-top: 1px solid rgba(255,255,255,.08);
            font-size: 13px;
        }

        /* Stationskennzahlen gehören direkt zu den Karten. */
        .mapCardHead {
            display: block;
            padding: 12px 14px 10px;
        }

        .mapHeadRow {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            min-width: 0;
        }

        .mapHeadTitle {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 2px;
            min-width: 0;
        }

        .mapStationStats {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 7px;
            margin-top: 9px;
        }

        .mapStationStat {
            display: block;
            min-width: 0;
            padding: 7px 9px;
            border: 1px solid rgba(255,255,255,.09);
            border-radius: 10px;
            background: rgba(0,0,0,.13);
        }

        .mapStationStat.warn {
            border-color: rgba(228,169,60,.30);
            background: rgba(228,169,60,.08);
        }

        .mapStationStat.bad {
            border-color: rgba(217,95,95,.30);
            background: rgba(217,95,95,.08);
        }

        .mapStatLabel {
            display: block;
            color: var(--muted);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: .035em;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            margin-bottom: 3px;
        }

        .mapStatMain {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 7px;
            min-width: 0;
            font-size: 11px;
            font-weight: 800;
        }

        .mapStatMain span {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mapStatMain strong {
            flex: none;
            font-size: 14px;
            color: #fff;
        }

        .directionTrend {
            border-color: rgba(84,166,255,.24);
            background: linear-gradient(135deg, rgba(84,166,255,.09), rgba(0,0,0,.12));
        }
        .directionTrend .mapStatMain {
            justify-content: flex-start;
            gap: 8px;
        }
        .directionCompass {
            position: relative;
            width: 28px;
            height: 28px;
            flex: 0 0 28px;
            border: 1px solid rgba(130,190,255,.36);
            border-radius: 50%;
            background: rgba(84,166,255,.08);
            box-shadow: inset 0 0 0 3px rgba(255,255,255,.018);
        }
        .directionCompass::before,
        .directionCompass::after {
            content: '';
            position: absolute;
            background: rgba(180,210,240,.22);
        }
        .directionCompass::before { left: 50%; top: 5px; bottom: 5px; width: 1px; transform: translateX(-50%); }
        .directionCompass::after { top: 50%; left: 5px; right: 5px; height: 1px; transform: translateY(-50%); }
        .directionCompass i {
            position: absolute;
            top: 1px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2;
            font-size: 7px;
            line-height: 1;
            font-style: normal;
            color: #b9d9ff;
            font-weight: 900;
        }
        .directionCompass b {
            position: absolute;
            inset: 0;
            display: grid;
            place-items: center;
            z-index: 2;
            font-size: 13px;
            color: #8cc5ff;
        }
        .directionTrendValue {
            font-size: 13px;
            font-weight: 900;
            letter-spacing: -.01em;
            overflow: visible !important;
            text-overflow: clip !important;
        }

        .fastLaneSummary {
            position: relative;
        }

        .fastLaneSummary::after {
            position: absolute;
            top: 15px;
            right: 14px;
            margin-left: 0;
        }

        .fastLaneSummary .mapHeadRow {
            padding-right: 18px;
        }

        /* v39: Fast-Lane-Kennzahlen bewusst groß und untereinander; Stationskarte bleibt schlank. */
        .fastLaneSummary .mapStationStats {
            grid-template-columns: 1fr;
            gap: 7px;
            margin-top: 10px;
        }

        .fastLaneSummary .mapStationStat {
            display: grid;
            grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr);
            align-items: center;
            gap: 12px;
            padding: 9px 11px;
        }

        .fastLaneSummary .mapStatLabel {
            margin-bottom: 0;
            font-size: 10px;
            white-space: normal;
            overflow: visible;
            text-overflow: clip;
        }

        .fastLaneSummary .mapStatMain {
            font-size: 12px;
            gap: 12px;
        }

        .fastLaneSummary .mapStatMain strong {
            font-size: 16px;
        }

        @media (max-width: 900px) {
            .topBriefGrid {
                grid-template-columns: 1fr;
                gap: 8px;
            }
            .mapStationStats {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 560px) {
            .mapCardHead {
                padding: 10px 10px 9px;
            }
            .mapHeadTitle {
                display: block;
            }
            .mapHeadTitle .small {
                display: block;
                margin-top: 2px;
            }
            .mapStationStats {
                gap: 5px;
                margin-top: 7px;
            }
            .mapStationStat {
                padding: 6px 7px;
            }
            .mapStatLabel {
                font-size: 8px;
            }
            .mapStatMain {
                font-size: 10px;
            }
            .mapStatMain strong {
                font-size: 13px;
            }
            .fastLaneSummary .mapStationStat {
                grid-template-columns: 1fr;
                gap: 4px;
                padding: 8px 9px;
            }
            .fastLaneSummary .mapStatLabel {
                font-size: 9px;
            }
            .fastLaneSummary .mapStatMain {
                font-size: 11px;
            }
            .fastLaneSummary .mapStatMain strong {
                font-size: 15px;
            }
            .topBriefValue {
                font-size: 16px;
            }
        }

        /* v28: Fast Lane einklappbar, Stationskarte mit OpenTopoMap-Relief */
        .fastLaneCard {
            grid-column: 1 / -1;
        }

        .fastLaneSummary {
            list-style: none;
            cursor: pointer;
            user-select: none;
        }

        .fastLaneSummary::-webkit-details-marker {
            display: none;
        }

        .fastLaneSummary::after {
            content: "▸";
            color: var(--muted);
            font-size: 14px;
            margin-left: auto;
        }

        .fastLaneCard[open] .fastLaneSummary::after {
            content: "▾";
        }

        /* Stationskarte mit Stationspunkt + Callout-Box */
        .realWindMap {
            height: 700px;
            min-height: 560px;
            background: #dfe6ea;
        }

        .realMapFallback {
            min-height: 560px;
            display: grid;
            place-items: center;
            color: #52606d;
            background: #e7ecef;
            font-size: 13px;
        }

        .windMapBoxIcon {
            background: transparent !important;
            border: 0 !important;
        }

        .realStationDot {
            filter: drop-shadow(0 0 4px rgba(0,0,0,.65));
        }

        .realStationCalloutLine {
            stroke-linecap: round;
            stroke-linejoin: round;
            opacity: .92;
        }

        /* OpenTopoMap liefert Relief/Höhenlinien ohne API-Key; CSS nimmt die Karte optisch zurück. */
        .realWindMap .leaflet-tile-pane {
            filter: grayscale(68%) brightness(56%) contrast(112%) saturate(52%);
        }

        /* Pflicht-Attribution bleibt sichtbar, aber möglichst unaufdringlich. */
        .realWindMap .leaflet-control-attribution {
            font-size: 8px;
            line-height: 1.15;
            padding: 2px 4px;
            background: rgba(11,15,20,.62);
            color: rgba(238,243,248,.48);
            box-shadow: none;
        }

        .realWindMap .leaflet-control-attribution a {
            color: rgba(238,243,248,.58);
            text-decoration: none;
        }

        .realWindMap .leaflet-control-attribution a:hover {
            color: rgba(238,243,248,.82);
        }


        .realWindBox {
            width: 104px;
            padding: 6px 7px;
            border-radius: 10px;
            background: rgba(20,26,34,.98);
            border: 1px solid rgba(255,255,255,.24);
            box-shadow: 0 8px 22px rgba(0,0,0,.38);
            color: var(--text);
            text-align: center;
            line-height: 1.08;
            pointer-events: auto;
        }

        .realWindBox.ok {
            border-color: rgba(63,191,127,.72);
        }

        .realWindBox.bad,
        .realWindBox.stale {
            border-color: rgba(148,163,184,.72);
        }

        .realWindBox.missing { opacity:.62; border-style:dashed; border-color:rgba(113,128,150,.46); }
        .realWindBox.stale {
            opacity:.84;
            border-style:dashed;
            border-color:rgba(148,163,184,.76);
            background:rgba(59,69,82,.98);
        }

        .realWindBox.alert-orange {
            border-color: #ffb24d;
            box-shadow: 0 8px 22px rgba(0,0,0,.38), 0 0 0 2px rgba(255,178,77,.16);
        }

        .realWindBox.alert-red {
            border-color: #ff6e6e;
            box-shadow: 0 8px 22px rgba(0,0,0,.38), 0 0 0 2px rgba(255,110,110,.18);
        }

        .realWindBox .name {
            font-size: 9px;
            font-weight: 850;
            margin-bottom: 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .realWindBox .alt {
            color: var(--muted);
            font-size: 8px;
            margin-bottom: 3px;
        }

        .realWindBox .wind {
            display: flex;
            justify-content: center;
            align-items: baseline;
            white-space: nowrap;
            line-height: 1;
            color: #fff;
        }

        .realWindBox .wind strong {
            font-size: 15px;
            font-weight: 900;
            line-height: 1;
        }

        .realWindBox .windDir {
            color: var(--muted);
            font-size: 8px;
            font-weight: 700;
            line-height: 1;
            margin-left: 3px;
            white-space: nowrap;
            flex: 0 0 auto;
        }

        .realWindBox .gust {
            margin-top: 4px;
            padding-top: 3px;
            border-top: 1px solid rgba(255,255,255,.10);
            color: var(--muted);
            font-size: 8px;
            white-space: nowrap;
        }

        .realWindBox.alert-orange .gust { color: #ffb24d; }
        .realWindBox.alert-red .gust { color: #ff6e6e; }
        .realWindBox.ok:not(.alert-orange):not(.alert-red) .gust strong { color: #a8f0c9; }

        .realWindBox .dir {
            color: var(--muted);
            font-size: 8px;
            margin-top: 3px;
        }

        .leaflet-marker-icon.windMapBoxIcon {
            overflow: visible;
        }

        @media (max-width: 760px) {
            .realWindMap {
                height: 620px;
                min-height: 560px;
            }
            .realWindBox {
                width: 88px;
                padding: 5px 5px;
            }
            .realWindBox .name { font-size: 8px; }
            .realWindBox .alt { font-size: 7px; }
            .realWindBox .wind strong { font-size: 12px; }
            .realWindBox .windDir { font-size: 6px; margin-left: 2px; }
            .realWindBox .gust,
            .realWindBox .dir { font-size: 7px; }
        }

        /* v33: Stationsübersicht auf schmalen Screens horizontal scrollbar */
        .tableScroll {
            width: 100%;
            max-width: 100%;
            overflow-x: auto;
            overflow-y: hidden;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-x: contain;
        }

        .overviewTable {
            min-width: 820px;
            width: 100%;
        }

        @media (max-width: 760px) {
            .overviewTable {
                min-width: 780px;
            }
        }



        /* v35: unabhängiger ICON-vs-Sonde-Check */
        .iconVerifyBlock {
            margin: 14px 0 16px;
            border: 1px solid rgba(255,255,255,.12);
            border-radius: 14px;
            overflow: hidden;
            background: rgba(0,0,0,.14);
        }
        .iconVerifyGrid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: 10px;
            padding: 10px;
        }
        .iconVerifyCard {
            border: 1px solid rgba(255,255,255,.10);
            border-radius: 12px;
            padding: 11px 12px;
            background: rgba(255,255,255,.04);
        }
        .iconVerifyCard.good { border-color: rgba(63,191,127,.42); background: rgba(63,191,127,.08); }
        .iconVerifyCard.warn { border-color: rgba(228,169,60,.42); background: rgba(228,169,60,.08); }
        .iconVerifyCard.bad { border-color: rgba(217,95,95,.42); background: rgba(217,95,95,.08); }
        .iconVerifyStatus { font-size: 17px; font-weight: 900; margin: 2px 0 7px; }
        .iconVerifyLevel { display: grid; grid-template-columns: 64px 1fr; gap: 8px; padding-top: 7px; margin-top: 7px; border-top: 1px solid rgba(255,255,255,.08); font-size: 11px; line-height: 1.35; }
        .iconVerifyLevel strong { color: var(--muted); }
        @media (max-width:760px) {
            .iconVerifyGrid { grid-template-columns: 1fr; }
            .iconVerifyStatus { font-size: 15px; }
            .iconVerifyLevel { grid-template-columns: 58px 1fr; }
        }


        /* v49: strukturierter VFR-Dashboard-Refresh; keine zerhackten Text-Pillen */
        .titleStack { min-width: 0; }
        .brandKicker {
            color: #8fc4ff;
            font-size: 12px;
            font-weight: 850;
            letter-spacing: .14em;
            text-transform: uppercase;
            margin-bottom: 7px;
        }
        .titleStack h1 {
            margin-bottom: 7px;
            font-size: clamp(32px, 4.2vw, 48px);
        }
        .titleStack .sub {
            display: flex;
            align-items: baseline;
            flex-wrap: wrap;
            gap: 8px;
        }
        .titleStack .sub strong {
            color: #eef3f8;
            font-size: 12px;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .titleStack .sub span { color: var(--muted); }

        .reportCard {
            padding: 18px;
            background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
        }
        .heroBrief {
            position: relative;
            padding: 17px 18px 15px 20px;
            border-radius: 18px;
            border: 1px solid rgba(255,255,255,.12);
            background: rgba(0,0,0,.18);
            overflow: hidden;
        }
        .heroBrief:before {
            content: '';
            position: absolute;
            left: 0; top: 0; bottom: 0;
            width: 5px;
            background: var(--ok);
        }
        .heroBrief.warn:before { background: var(--warn); }
        .heroBrief.bad:before { background: var(--bad); }
        .heroEyebrow {
            color: var(--muted);
            font-size: 11px;
            font-weight: 850;
            letter-spacing: .11em;
            text-transform: uppercase;
            margin-bottom: 7px;
        }
        .heroMainLine {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
        }
        .heroStatus {
            font-size: clamp(27px, 4vw, 40px);
            line-height: 1;
            letter-spacing: -.045em;
            font-weight: 950;
        }
        .heroLiveLine {
            display: grid;
            grid-template-columns: 8px auto 1fr;
            align-items: start;
            gap: 8px;
            margin-top: 13px;
            padding-top: 12px;
            border-top: 1px solid rgba(255,255,255,.09);
            font-size: 13px;
            line-height: 1.45;
            color: var(--muted);
        }
        .heroLiveLine strong { color: #fff; }
        .heroLiveDot {
            width: 7px; height: 7px;
            margin-top: 6px;
            border-radius: 50%;
            background: var(--ok);
            box-shadow: 0 0 0 4px rgba(63,191,127,.11);
        }
        .heroBrief.warn .heroLiveDot { background: var(--warn); box-shadow: 0 0 0 4px rgba(228,169,60,.11); }
        .heroBrief.bad .heroLiveDot { background: var(--bad); box-shadow: 0 0 0 4px rgba(217,95,95,.11); }

        .heroForecast {
            margin-top: 14px;
            padding-top: 14px;
            border-top: 1px solid rgba(255,255,255,.10);
        }
        .heroForecastHead { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
        .heroForecastTitle { font-size:19px; line-height:1.15; font-weight:900; letter-spacing:-.025em; }
        .heroForecastText { margin-top:6px; color:var(--muted); font-size:13px; line-height:1.5; max-width:920px; }
        .heroConfidence { flex:0 0 auto; border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:6px 9px; font-size:11px; font-weight:850; white-space:nowrap; }
        .heroConfidence.ok { color:var(--ok); border-color:rgba(63,191,127,.30); background:rgba(63,191,127,.08); }
        .heroConfidence.warn { color:var(--warn); border-color:rgba(228,169,60,.30); background:rgba(228,169,60,.08); }
        .heroConfidence.bad { color:var(--bad); border-color:rgba(217,95,95,.30); background:rgba(217,95,95,.08); }
        .heroConfidence.none { color:var(--muted); }
        .heroConfidenceWrap { flex:0 0 auto; display:flex; align-items:center; gap:7px; position:relative; }
        .heroConfidenceWhy { position:relative; }
        .heroConfidenceWhy summary { list-style:none; cursor:pointer; color:var(--muted); font-size:11px; font-weight:800; border-bottom:1px dotted rgba(255,255,255,.28); }
        .heroConfidenceWhy summary::-webkit-details-marker { display:none; }
        .heroConfidenceWhyBox { position:absolute; right:0; top:25px; z-index:20; width:min(390px,76vw); padding:11px 12px; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:#182230; box-shadow:0 14px 32px rgba(0,0,0,.30); color:#d8e0e9; font-size:12px; line-height:1.5; font-weight:500; }
        .heroLevelLabel { margin-top:11px; color:#dce4ec; font-size:11px; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
        .heroLevelLabel.secondary { margin-top:12px; color:var(--muted); }
        .heroLowerNote { margin-top:7px; color:var(--muted); font-size:11px; line-height:1.5; max-width:980px; }
        .heroCouplingContext { margin-top:9px; padding:9px 10px; border:1px solid rgba(255,255,255,.09); border-radius:10px; background:rgba(255,255,255,.03); }
        .heroCouplingContext.warn { border-color:rgba(228,169,60,.22); background:rgba(228,169,60,.05); }
        .heroCouplingContext.bad { border-color:rgba(217,95,95,.24); background:rgba(217,95,95,.05); }
        .heroCouplingContext strong { display:block; color:#eef3f8; font-size:11px; line-height:1.35; }
        .heroCouplingContext span { display:block; margin-top:4px; color:var(--muted); font-size:10px; line-height:1.45; }
        .heroCouplingContext small { display:block; margin-top:4px; color:#93a2b2; font-size:9px; line-height:1.45; }
        .heroPeriods { display:flex; flex-wrap:wrap; gap:7px; margin-top:6px; }
        .heroPeriod { display:flex; gap:7px; align-items:center; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.035); border-radius:10px; padding:7px 9px; font-size:12px; }
        .heroPeriod span { color:var(--muted); }
        .heroPeriod strong { color:#fff; }
        .heroPeriod.ok strong { color:var(--ok); }
        .heroPeriod.warn strong { color:var(--warn); }
        .heroPeriod.bad strong { color:var(--bad); }
        .heroForecastMeta { margin-top:9px; color:var(--muted); font-size:11px; line-height:1.45; }
        .heroSpatialNote { margin-top:5px; color:var(--muted); font-size:10px; line-height:1.45; }
        .heroSpatialNote strong { color:#c8d3dc; }
        .heroSpatialNote span { opacity:.9; }

        .heroSourceLine { margin-top:5px; color:#8ea0b2; font-size:10px; line-height:1.4; }
        .heroZones { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:13px; }
        .heroZone { min-width:0; border:1px solid rgba(255,255,255,.10); border-radius:12px; background:rgba(255,255,255,.028); padding:10px; }
        .heroZoneHead strong { display:block; color:#eef3f8; font-size:13px; line-height:1.25; }
        .heroZoneHead span { display:block; margin-top:2px; color:#8fa0b0; font-size:10px; line-height:1.3; }
        .heroZoneLevel { margin-top:9px; padding-top:8px; border-top:1px solid rgba(255,255,255,.07); }
        .heroZoneLevel:first-of-type { margin-top:8px; }
        .heroZoneLevelTitle { color:#aebdca; font-size:10px; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
        .heroZonePeriods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-top:5px; }
        .heroZonePeriod { min-width:0; padding:5px 6px; border-radius:8px; background:rgba(255,255,255,.035); }
        .heroZonePeriod span { display:block; color:#8293a4; font-size:9px; line-height:1.2; }
        .heroZonePeriod strong { display:block; margin-top:1px; color:#fff; font-size:12px; line-height:1.2; white-space:nowrap; }
        .heroZonePeriod.warn strong { color:var(--warn); }
        .heroZonePeriod.bad strong { color:var(--bad); }
        .heroZonePeriod.ok strong { color:var(--ok); }
        .heroZonePoints { margin-top:7px; color:#718394; font-size:9px; line-height:1.35; overflow-wrap:anywhere; }
        .heroEdgeLive { margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.07); }
        .heroEdgeLiveLabel { color:#aebdca; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
        .heroEdgeLiveChips { display:flex; flex-wrap:wrap; gap:5px; margin-top:5px; }
        .heroEdgeLiveChip { display:inline-grid; grid-template-columns:auto auto; align-items:baseline; column-gap:5px; row-gap:1px; padding:5px 7px; border-radius:10px; border:1px solid rgba(255,255,255,.09); color:#d7e0e8; font-size:9px; white-space:nowrap; background:rgba(255,255,255,.025); }
        .heroEdgeLiveChip b { grid-column:1 / -1; color:#eef3f8; font-size:9px; }
        .heroEdgeLiveChip span { color:#d7e0e8; font-style:normal; }
        .heroEdgeLiveChip em { color:#9fb0c0; font-style:normal; }
        .heroEdgeLiveChip.warn { border-color:rgba(228,169,60,.25); }
        .heroEdgeLiveChip.warn em { color:var(--warn); }
        .heroEdgeLiveChip.bad { border-color:rgba(217,95,95,.25); }
        .heroEdgeLiveChip.bad em { color:var(--bad); }
        .heroStructureLine { margin-top:10px; padding:8px 9px; border-radius:9px; background:rgba(255,255,255,.025); color:#c7d2dc; font-size:10px; line-height:1.45; }
        .heroStructureLine strong { color:#eef3f8; }
        .heroDomainDetails { margin-top:8px; }
        .heroDomainDetails summary { cursor:pointer; color:#91a3b4; font-size:10px; font-weight:800; }
        .heroDomainDetailsBody { margin-top:7px; padding:8px 9px; border:1px solid rgba(255,255,255,.08); border-radius:9px; color:#95a6b6; font-size:9px; line-height:1.45; overflow-wrap:anywhere; }
        .heroDomainDetailsBody b { color:#c9d5df; }
        @media (max-width: 760px) {
            .heroForecastHead { flex-direction:column; align-items:stretch; }
            .heroConfidenceWrap { width:100%; flex-wrap:wrap; align-items:flex-start; }
            .heroConfidenceWhy { position:static; width:100%; }
            .heroConfidenceWhyBox { position:static; width:100%; max-width:100%; box-sizing:border-box; margin-top:7px; overflow-wrap:anywhere; word-break:normal; }
            .heroZones { grid-template-columns:1fr; }
            .heroZonePeriods { grid-template-columns:repeat(4,minmax(0,1fr)); }
        }
        @media (max-width: 430px) {
            .heroZonePeriods { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
            .heroZonePeriods.count-1 { grid-template-columns:1fr; }
            .heroZonePeriods.count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .heroZonePeriods.count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
            .heroZonePeriods.count-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
            .heroZonePeriod { padding:5px 3px; text-align:center; }
            .heroZonePeriod span { font-size:8px; white-space:nowrap; }
            .heroZonePeriod strong { font-size:11px; }
        }

        .opsIntro {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 12px;
            margin: 17px 2px 10px;
        }
        .opsIntro strong { display: block; font-size: 16px; margin-bottom: 3px; }
        .opsIntro span { display: block; color: var(--muted); font-size: 12px; line-height: 1.4; }

        .opsPanel {
            border: 1px solid rgba(255,255,255,.105);
            border-radius: 17px;
            background: rgba(8,12,17,.38);
            overflow: hidden;
            min-width: 0;
        }
        .opsPanelHead {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 16px;
            padding: 14px 15px 12px;
            border-bottom: 1px solid rgba(255,255,255,.08);
        }
        .opsKicker {
            display: block;
            color: var(--muted);
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .075em;
            margin-bottom: 3px;
        }
        .opsPanelHead h2 {
            margin: 0;
            font-size: 18px;
            line-height: 1.15;
            letter-spacing: -.02em;
        }
        .opsHeadCopy { min-width:0; max-width:920px; }
        .opsPanelDescription { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.52; max-width:880px; }
        .opsHeadlineMetric { text-align: right; flex: none; }
        .opsHeadlineMetric strong { display: block; font-size: 22px; line-height: 1; }
        .opsHeadlineMetric span { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; }
        .opsEmpty { padding: 16px; color: var(--muted); font-size: 12px; }
        .opsEmpty.standalone { margin-top: 10px; border: 1px solid var(--line); border-radius: 14px; }

        .windRegionList { padding: 6px 14px 10px; }
        .windRegionRow {
            display: grid;
            grid-template-columns: minmax(210px,1.35fr) minmax(170px,1fr) 110px;
            gap: 15px;
            align-items: center;
            padding: 11px 0;
            border-bottom: 1px solid rgba(255,255,255,.075);
        }
        .windRegionRow:last-child { border-bottom: 0; }
        .windRegionIdentity { min-width: 0; }
        .windRegionIdentity .windRegionName {
            display: block;
            color: #8fc4ff;
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .055em;
            margin-bottom: 2px;
        }
        .windRegionIdentity strong { display: block; font-size: 14px; line-height: 1.2; }
        .windRegionIdentity > span:last-child { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
        .windRegionGraphic { min-width: 0; }
        .windDirLine { display: flex; align-items: baseline; gap: 6px; margin-bottom: 6px; }
        .windDirLine strong { font-size: 15px; }
        .windDirLine span { color: var(--muted); font-size: 11px; }
        .windStrengthTrack {
            height: 7px;
            border-radius: 999px;
            background: rgba(255,255,255,.08);
            overflow: hidden;
        }
        .windStrengthTrack i { display: block; height: 100%; border-radius: inherit; background: var(--ok); }
        .windRegionRow.warn .windStrengthTrack i { background: var(--warn); }
        .windRegionRow.bad .windStrengthTrack i { background: var(--bad); }
        .windRegionValue { text-align: right; }
        .windRegionValue strong { display: block; font-size: 20px; line-height: 1; }
        .windRegionValue span { display: block; color: var(--muted); font-size: 11px; margin-top: 4px; }

        .northIbkCompare {
            margin: 2px 14px 14px;
            padding: 12px 13px;
            border-radius: 14px;
            background: rgba(109,182,255,.065);
            border: 1px solid rgba(109,182,255,.18);
        }
        .compareTitle { display:block; margin-bottom:9px; }
        .compareTitle .compareLabel { display:block; color:#8fc4ff; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
        .compareMeta { display:flex; align-items:center; gap:7px; margin-top:6px; min-width:0; }
        .compareMeta strong { display:inline-flex; align-items:center; min-height:24px; padding:4px 8px; border-radius:999px; background:rgba(109,182,255,.10); border:1px solid rgba(109,182,255,.18); font-size:12px; line-height:1.15; white-space:nowrap; }
        .compareMeta em { color:var(--muted); font-style:normal; font-size:9.5px; margin-left:auto; white-space:nowrap; line-height:1.15; }
        .compareSides { display: grid; grid-template-columns: 1fr 36px 1fr; align-items: center; gap: 10px; }
        .compareSides > div:not(.compareArrow) { min-width: 0; }
        .compareSides span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
        .compareSides strong { display: block; font-size: 14px; margin: 2px 0; }
        .compareSides small { display: block; color: var(--muted); font-size: 10px; line-height: 1.35; }
        .compareArrow { text-align: center; color: #8fc4ff; font-size: 19px; }

        .opsTwoCol {
            display: grid;
            grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);
            gap: 12px;
            margin-top: 12px;
        }
        .opsTwoCol.bottom { grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); }

        .thermoRegionGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 11px; }
        .thermoRegionCard {
            min-width: 0;
            border-radius: 14px;
            border: 1px solid rgba(255,255,255,.08);
            background: rgba(255,255,255,.035);
            padding: 10px;
        }
        .thermoRegionCard.warn { border-color: rgba(228,169,60,.25); }
        .thermoRegionCard.bad { border-color: rgba(217,95,95,.25); }
        .thermoRegionHead span { display:block; color:#8fc4ff; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
        .thermoRegionHead strong { display:block; font-size:13px; margin-top:2px; }
        .thermoSondeTime { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 6px; margin-top:7px; padding:6px 8px; border-radius:9px; border:1px solid rgba(143,196,255,.16); background:rgba(109,182,255,.045); line-height:1.15; }
        .thermoSondeTime b { color:#8fc4ff; font-size:8px; text-transform:uppercase; letter-spacing:.055em; }
        .thermoSondeTime em { color:#fff; font-size:13px; font-style:normal; font-weight:900; letter-spacing:-.01em; }
        .thermoSondeTime i { color:#c9d4de; font-size:10px; font-style:normal; font-weight:750; }
        .thermoSondeTime.uncertain { border-color:rgba(228,169,60,.20); background:rgba(228,169,60,.045); }
        .thermoSondeTime.uncertain b { color:var(--warn); }
        .thermoRegionBody { display:grid; grid-template-columns: 150px minmax(0,1fr); gap:9px; align-items:center; margin-top:8px; }
        .thermoReadout strong { display:block; font-size:15px; line-height:1.15; margin-bottom:6px; }
        .thermoReadout span { display:block; font-size:10px; line-height:1.35; margin-top:4px; }
        .thermoReadout small { display:block; color:var(--muted); font-size:9px; line-height:1.3; margin-top:7px; }

        .miniProfileWrap { width:100%; }
        .miniProfileSvg { display:block; width:100%; height:auto; overflow:visible; }
        .miniGrid { stroke:rgba(255,255,255,.10); stroke-width:1; }
        .miniAxisText { fill:#8b99a8; font-size:8px; }
        .miniTempLine { fill:none; stroke:#ff8b78; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
        .miniDewLine { fill:none; stroke:#69bfff; stroke-width:1.8; stroke-dasharray:4 3; stroke-linecap:round; stroke-linejoin:round; }
        .miniInvBand { fill:rgba(228,169,60,.24); }
        .miniStableBand { fill:rgba(228,169,60,.11); }
        .miniCloudBand { fill:rgba(109,182,255,.15); }
        .miniFreezeLine { stroke:rgba(160,220,255,.8); stroke-width:1; stroke-dasharray:4 3; }
        .miniFreezeText { fill:#8fd6ff; font-size:8px; }
        .miniLegendTemp { fill:#ff9c8b; font-size:9px; font-weight:800; }
        .miniLegendDew { fill:#76c7ff; font-size:9px; font-weight:800; }
        .miniProfileEmpty { color:var(--muted); font-size:10px; padding:20px 0; }

        .cloudRegionList { padding: 6px 12px 10px; }
        .cloudRegionRow {
            display:grid;
            grid-template-columns: 80px minmax(0,1fr);
            gap:10px;
            align-items:center;
            padding:9px 0;
            border-bottom:1px solid rgba(255,255,255,.07);
        }
        .cloudRegionRow:last-child { border-bottom:0; }
        .cloudGraphic { width:72px; }
        .cloudRuler { display:block; width:100%; height:auto; }
        .cloudGrid { stroke:rgba(255,255,255,.09); stroke-width:1; }
        .cloudAxis { fill:#8594a3; font-size:8px; }
        .cloudMoistBand { fill:rgba(109,182,255,.12); stroke:rgba(109,182,255,.35); stroke-width:1; }
        .cloudLikelyBand { fill:rgba(135,207,255,.38); }
        .cloudLcl { stroke:#85d8ff; stroke-width:1; stroke-dasharray:3 2; }
        .cloudLclText { fill:#85d8ff; font-size:7px; }
        .cloudFreeze { stroke:#c6ecff; stroke-width:1; stroke-dasharray:4 3; }
        .cloudFreezeText { fill:#c6ecff; font-size:7px; }
        .cloudRegionName { display:block; color:#8fc4ff; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.045em; }
        .cloudCopy > strong { display:block; font-size:14px; margin:2px 0; }
        .cloudCopy > small { display:block; color:var(--muted); font-size:9px; line-height:1.3; }
        .cloudMainLine { font-size:11px; font-weight:750; margin-top:7px; }
        .cloudMetaLine { display:flex; flex-wrap:wrap; gap:8px 12px; color:var(--muted); font-size:9px; margin-top:4px; }

        .convRegionList { padding: 6px 13px 10px; }
        .convRegionRow {
            display:grid;
            grid-template-columns: minmax(150px,.75fr) 70px minmax(180px,1.25fr);
            gap:12px;
            align-items:center;
            padding:10px 0;
            border-bottom:1px solid rgba(255,255,255,.07);
        }
        .convRegionRow:last-child { border-bottom:0; }
        .convRisk span { display:block; color:#8fc4ff; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.045em; }
        .convRisk strong { display:block; font-size:15px; margin:2px 0; }
        .convRisk small { display:block; color:var(--muted); font-size:9px; line-height:1.3; }
        .convMeter { height:8px; border-radius:999px; background:rgba(255,255,255,.07); overflow:hidden; }
        .convMeter i { display:block; height:100%; width:28%; background:var(--ok); border-radius:inherit; }
        .convRegionRow.warn .convMeter i { width:62%; background:var(--warn); }
        .convRegionRow.bad .convMeter i { width:92%; background:var(--bad); }
        .convMetrics { display:flex; flex-wrap:wrap; gap:4px 13px; font-size:10px; line-height:1.4; }
        .convMetrics span { white-space:normal; }
        .convMetrics b { color:var(--muted); font-weight:750; }
        .opsFootnote { color:var(--muted); font-size:9px; line-height:1.4; padding:0 13px 12px; }

        .iconTopPanel.ok { border-color:rgba(63,191,127,.22); }
        .iconTopPanel.warn { border-color:rgba(228,169,60,.25); }
        .iconTopPanel.bad { border-color:rgba(217,95,95,.25); }
        .iconTopToggle { overflow:hidden; }
        .iconTopSummary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; user-select:none; }
        .iconTopSummary::-webkit-details-marker { display:none; }
        .iconTopSummaryResult { flex:none; text-align:right; }
        .iconTopSummaryResult strong { display:block; color:#fff; font-size:16px; line-height:1.15; }
        .iconTopSummaryResult em { display:block; margin-top:3px; color:#8fc4ff; font-size:8px; font-style:normal; text-transform:uppercase; letter-spacing:.05em; }
        .iconTopSummaryResult em:after { content:' ▸'; }
        .iconTopToggle[open] .iconTopSummaryResult em:after { content:' ▾'; }
        .iconTopToggleBody { border-top:1px solid rgba(255,255,255,.07); padding-top:3px; }
        .iconTopToggleBody .opsHelp { margin-left:10px; margin-right:10px; }
        .iconTopNote { color:var(--muted); font-size:11px; line-height:1.45; padding:7px 14px 14px; }

        .radioHeaderCopy { min-width:0; max-width:980px; }
        .radioHeaderDescription { margin:6px 0 5px; color:var(--muted); font-size:11px; line-height:1.52; }
        .radioSectionIntro { margin:12px 0 9px; }
        .radioSectionIntro strong { display:block; font-size:15px; margin-bottom:3px; }
        .radioSectionIntro span { display:block; color:var(--muted); font-size:11px; line-height:1.4; }
        .regionalSondeOverview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:10px 0 14px; }
        .regionalSondeCard { border:1px solid rgba(255,255,255,.10); border-radius:15px; background:rgba(255,255,255,.035); padding:12px; min-width:0; }
        .regionalSondeHead span { display:block; color:#8fc4ff; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
        .regionalSondeHead strong { display:block; font-size:15px; margin:2px 0; }
        .regionalSondeHead small { display:block; color:var(--muted); font-size:10px; line-height:1.3; }
        .regionalWindLevels { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-top:11px; }
        .regionalWindLevel { min-width:0; padding:7px; border-radius:10px; background:rgba(0,0,0,.17); border:1px solid rgba(255,255,255,.06); }
        .regionalWindLevel > span { display:block; color:var(--muted); font-size:8px; white-space:nowrap; }
        .regionalWindLevel strong { display:block; font-size:13px; margin:2px 0; }
        .regionalWindLevel small { display:block; font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .regionalWindBar { height:4px; margin-top:6px; background:rgba(255,255,255,.07); border-radius:999px; overflow:hidden; }
        .regionalWindBar i { display:block; height:100%; border-radius:inherit; background:var(--ok); }
        .regionalWindBar i.warn { background:var(--warn); }
        .regionalWindBar i.bad { background:var(--bad); }
        .regionalSondeWx { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:8px; }
        .regionalSondeWx div { border-top:1px solid rgba(255,255,255,.07); padding-top:7px; min-width:0; }
        .regionalSondeWx span { display:block; color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.035em; }
        .regionalSondeWx strong { display:block; font-size:10px; margin-top:3px; line-height:1.25; }

        .overviewToggleCard { margin-top:14px; }
        .overviewToggleContent { padding-top:10px; }

        @media (max-width: 1000px) {
            .opsTwoCol, .opsTwoCol.bottom { grid-template-columns:1fr; }
            .thermoRegionGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .regionalSondeOverview { grid-template-columns:1fr; }
        }
        @media (max-width: 760px) {
            .titleStack .sub { display:block; }
            .titleStack .sub strong, .titleStack .sub span { display:block; }
            .titleStack .sub strong { margin-bottom:3px; }
            .reportCard { padding:11px; }
            .heroBrief { padding:14px 13px 13px 16px; }
            .heroMainLine { display:block; }
            .heroStatus { font-size:28px; }
            .heroMainLine .reportBadge { margin-top:9px; }
            .heroForecastHead { display:block; }
            .heroConfidenceWrap { flex-wrap:wrap; justify-content:flex-start; margin-top:9px; }
            .heroConfidence { display:inline-block; }
            .heroConfidenceWhyBox { right:auto; left:0; }
            .heroPeriods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
            .heroPeriods.count-1 { grid-template-columns:1fr; }
            .heroPeriods.count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .heroPeriods.count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
            .heroPeriods.count-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .heroPeriod { min-width:0; flex:none; flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; padding:7px 8px; }
            .heroPeriod span { font-size:10px; line-height:1.15; overflow-wrap:anywhere; }
            .heroPeriod strong { font-size:12px; white-space:nowrap; }
            .heroLiveLine { grid-template-columns:8px 1fr; }
            .heroLiveLine strong { grid-column:2; }
            .heroLiveLine .js-report-text { grid-column:2; }
            .opsPanelHead { display:block; }
            .opsHeadlineMetric { text-align:left; margin-top:9px; }
            .windRegionRow { grid-template-columns:1fr 88px; gap:9px; }
            .windRegionGraphic { grid-column:1 / -1; grid-row:2; }
            .windRegionValue { grid-column:2; grid-row:1; }
            .compareSides { grid-template-columns:1fr; }
            .compareArrow { transform:rotate(90deg); font-size:16px; }
            .thermoRegionGrid { grid-template-columns:1fr; }
            .thermoRegionBody { grid-template-columns:128px minmax(0,1fr); }
            .cloudRegionRow { grid-template-columns:66px minmax(0,1fr); }
            .convRegionRow { grid-template-columns:1fr; gap:7px; }
            .convMeter { width:110px; }
            .regionalWindLevels { grid-template-columns:repeat(6,92px); overflow-x:auto; padding-bottom:4px; }
            .regionalSondeWx { grid-template-columns:1fr; }
        }

        /* v51: integrierte Lesehilfe statt zentraler Textwand */
        .opsHelp {
            margin: 8px 12px 12px;
            border: 1px solid rgba(143,196,255,.15);
            border-radius: 12px;
            background: rgba(80,145,205,.035);
            overflow: hidden;
        }
        .opsHelp summary {
            list-style: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 9px 10px;
            color: #dfeaf4;
            user-select: none;
        }
        .opsHelp summary::-webkit-details-marker { display: none; }
        .opsHelp summary:after { content: '▸'; margin-left: 2px; color: #8fc4ff; font-size: 11px; }
        .opsHelp[open] summary:after { content: '▾'; }
        .opsHelpMark {
            width: 18px; height: 18px; flex: none; display: grid; place-items: center;
            border-radius: 50%; border: 1px solid rgba(143,196,255,.35);
            color: #8fc4ff; font-size: 10px; font-weight: 900;
        }
        .opsHelp summary strong { font-size: 10px; line-height: 1.25; }
        .opsHelp summary em { margin-left: auto; color: var(--muted); font-size: 8px; font-style: normal; text-transform: uppercase; letter-spacing: .05em; }
        .opsHelpBody { border-top: 1px solid rgba(255,255,255,.065); padding: 10px 11px 11px; color: var(--muted); font-size: 11px; line-height: 1.55; }
        .opsHelpBody p { margin: 0; }
        .opsHelpBody p + p { margin-top: 8px; }
        .opsHelpBody strong { color: #eef3f8; }
        .windcheckGuideIntro { margin:17px 0 12px; padding:13px 14px 4px; border-radius:15px; border:1px solid rgba(143,196,255,.13); background:rgba(109,182,255,.035); }
        .guideIntroHead h2 { margin:0; font-size:17px; line-height:1.18; }
        .guideIntroHead p { margin:7px 0 10px; color:var(--muted); font-size:11px; line-height:1.55; max-width:980px; }
        .guideHelp { margin: 0 0 9px; background: rgba(109,182,255,.045); }
        .guideHelp summary { padding: 11px 12px; }
        .guideHelp summary strong { font-size: 12px; }
        .guideGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
        .guideGrid > div { padding: 9px 10px; border-radius: 10px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.055); }
        .guideGrid strong { display: block; font-size: 10px; margin-bottom: 4px; }
        .guideGrid span { display: block; font-size: 10px; line-height: 1.5; }
        .termGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
        .termGrid > div { padding: 8px 9px; border-radius: 10px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.055); }
        .termGrid strong { display: block; margin-bottom: 3px; font-size: 10px; }
        .termGrid span { display: block; font-size: 9px; line-height: 1.42; }
        .helpCaveat { margin-top: 9px !important; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.06); }
        .summaryAction {
            display: inline-flex; align-items: center; margin-left: 7px; padding: 3px 7px;
            border-radius: 999px; border: 1px solid rgba(143,196,255,.20);
            background: rgba(109,182,255,.06); color: #8fc4ff;
            font-size: 8px; font-weight: 750; line-height: 1; text-transform: uppercase; letter-spacing: .045em;
            vertical-align: middle;
        }
        .sectionExplain { margin: 10px 0 12px; padding: 9px 10px; border-radius: 10px; border: 1px solid rgba(143,196,255,.12); background: rgba(109,182,255,.035); color: var(--muted); font-size: 10px; line-height: 1.45; }
        .sectionExplain strong { color: #eef3f8; }
        .descriptiveSummary { align-items:flex-start; }
        .summaryCopy { display:block; min-width:0; flex:1; }
        .summaryCopy .modelTitle, .fastLaneCopy > strong { display:block; }
        .summaryDescription { display:block; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.45; max-width:880px; font-weight:400; text-transform:none; letter-spacing:0; }
        .fastLaneCopy { min-width:0; flex:1; }
        .sectionInlineDescription { display:block; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.45; max-width:900px; font-weight:400; }
        .stationDetailTitle { min-width:0; flex:1; }
        .stationDetailHead { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
        .matrixNoteTop { margin:0 10px 4px; border-radius:10px; background:rgba(109,182,255,.035); }
        .regionalWindBarLine { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px; align-items: center; margin-top: 6px; }
        .regionalWindBarLine .regionalWindBar { margin-top: 0; }
        .regionalWindBarLine > b { color: #a8f0c9; font-size: 8px; white-space: nowrap; }

        @media (max-width:760px) {
            .guideGrid, .termGrid { grid-template-columns: 1fr; }
            .opsHelp { margin-left: 9px; margin-right: 9px; }
            .opsHelp summary em { display: none; }
            .summaryAction { display: inline-flex; margin-left: 4px; margin-top: 3px; }
            .summaryDescription, .sectionInlineDescription, .opsPanelDescription, .guideIntroHead p, .radioHeaderDescription { font-size:10px; line-height:1.48; }
            .stationDetailHead { display:block; }
            .stationDetailHead .mapWindowSwitch { margin-top:9px; }
            .sondeModalDescription { font-size:9px; }
        }

        /* v50: 10k-Wert, echte Kopplungs-Aussage und klickbare Sondenprofile */
        .sondeClickable { cursor:pointer; position:relative; transition:border-color .15s ease, background .15s ease, transform .15s ease; }
        .sondeClickable:hover { border-color:rgba(143,196,255,.38) !important; background-color:rgba(109,182,255,.055); }
        .sondeClickable:focus-visible { outline:2px solid #8fc4ff; outline-offset:2px; }
        .tileOpenHint { color:#7fa9cf; font-size:8px; text-transform:uppercase; letter-spacing:.055em; margin-top:8px; opacity:.78; }
        .opsClickHint { color:var(--muted); font-size:9px; padding:0 14px 12px; }

        .windRegionValue { display:grid; grid-template-columns:1fr 1fr; gap:8px; text-align:left; }
        .windRegionValue .windAtTen, .windRegionValue .windMaxSmall { min-width:0; padding:7px 8px; border-radius:10px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.06); }
        .windRegionValue span { margin:0 0 3px; color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.035em; }
        .windRegionValue strong { font-size:16px; }
        .windRegionValue small { display:block; color:var(--muted); font-size:9px; margin-top:2px; line-height:1.2; }

        .couplingDepth { margin-top:9px; padding:8px 9px; border-radius:10px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); }
        .couplingDepth.warn { border-color:rgba(228,169,60,.28); background:rgba(228,169,60,.07); }
        .couplingDepth.bad { border-color:rgba(217,95,95,.30); background:rgba(217,95,95,.07); }
        .couplingDepth b { display:block; font-size:10px; line-height:1.3; color:#eef3f8; }
        .couplingDepth span { display:block; color:var(--muted); font-size:9px; line-height:1.38; margin-top:4px; }

        .convReason { grid-column:1 / -1; padding:8px 9px; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.065); font-size:10px; line-height:1.4; }
        .convReason b { color:#eef3f8; margin-right:5px; }
        .convReason span { color:var(--muted); }
        .convRegionRow .tileOpenHint { grid-column:1 / -1; margin-top:-2px; }

        .regionalWindLevels { grid-template-columns:repeat(6,minmax(0,1fr)); }
        .regionalSondeWx { grid-template-columns:repeat(4,minmax(0,1fr)); }

        .sondeModal { position:fixed; inset:0; z-index:10000; display:none; }
        .sondeModal.open { display:block; }
        .sondeModalBackdrop { position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(5px); }
        .sondeModalDialog { position:relative; width:min(1120px,calc(100vw - 32px)); max-height:92vh; max-height:92dvh; margin:4vh auto; display:flex; flex-direction:column; overflow:hidden; border-radius:20px; border:1px solid rgba(255,255,255,.16); background:#111820; box-shadow:0 28px 90px rgba(0,0,0,.62); }
        .sondeModalHead { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 17px; border-bottom:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.025); }
        .sondeModalHead span { display:block; color:#8fc4ff; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
        .sondeModalHead h2 { margin:3px 0 0; font-size:20px; line-height:1.15; }
        .sondeModalHeadCopy { min-width:0; }
        .sondeModalDescription { margin:6px 0 0; max-width:850px; color:var(--muted); font-size:10px; line-height:1.45; }
        .sondeModalClose { width:38px; height:38px; flex:none; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.06); color:#fff; font-size:24px; line-height:1; cursor:pointer; }
        .sondeModalBody { min-height:0; flex:1 1 auto; overflow:auto; padding:16px 17px 20px; -webkit-overflow-scrolling:touch; }
        body.sondeModalOpen { overflow:hidden; }
        .modalProfileMeta { color:var(--muted); font-size:11px; margin-bottom:9px; }
        .modalReadGuide { margin:0 0 12px; padding:10px 11px; border-radius:11px; border:1px solid rgba(143,196,255,.13); background:rgba(109,182,255,.035); }
        .modalReadGuide strong { display:block; font-size:11px; margin-bottom:4px; }
        .modalReadGuide span { display:block; color:var(--muted); font-size:10px; line-height:1.48; }
        .modalBriefGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:13px; }
        .modalBriefCard { min-width:0; padding:10px 11px; border-radius:12px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.035); }
        .modalBriefCard.warn { border-color:rgba(228,169,60,.28); background:rgba(228,169,60,.06); }
        .modalBriefCard.bad { border-color:rgba(217,95,95,.30); background:rgba(217,95,95,.06); }
        .modalBriefCard > span { display:block; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.05em; }
        .modalBriefCard > strong { display:block; font-size:15px; margin:3px 0 5px; }
        .modalBriefCard > small { display:block; color:var(--muted); font-size:10px; line-height:1.4; }
        .modalProfileGraph .sondeProfileGraphic { margin:0 0 13px; padding:13px; border-radius:14px; background:rgba(0,0,0,.16); border:1px solid rgba(255,255,255,.08); }
        .modalProfileGraph .sondeProfileGraphic svg { width:100%; min-height:390px; }
        .modalWindLevels { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
        .modalWindLevels > div { min-width:0; padding:8px; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); }
        .modalWindLevels span { display:block; color:var(--muted); font-size:8px; }
        .modalWindLevels strong { display:block; font-size:14px; margin:2px 0; }
        .modalWindLevels small { display:block; font-size:8px; color:var(--muted); }

        @media (max-width:760px) {
            .windRegionValue { grid-template-columns:1fr; }
            .modalBriefGrid { grid-template-columns:1fr; }
            .sondeModalDialog { width:calc(100vw - 12px); max-height:calc(100vh - 12px); max-height:calc(100dvh - 12px); margin:6px; border-radius:16px; }
            .sondeModalBody { padding:11px 10px 16px; }
            .modalProfileGraph .sondeProfileGraphic svg { min-height:260px; }
            .modalWindLevels { grid-template-columns:repeat(7,88px); overflow-x:auto; padding-bottom:5px; }
            .regionalWindLevels { grid-template-columns:repeat(6,92px); }
            .regionalSondeWx { grid-template-columns:1fr 1fr; }
        }

        /* v53: Erklärtexte nur auf Wunsch, Detailbereiche klar getrennt */
        .compactGuide {
            margin: 14px 0 12px;
            padding: 0;
            border: 0;
            background: transparent;
        }
        .compactGuide .guideHelp { margin: 0; }
        .opsDashboardTitle { margin: 18px 2px 9px; }
        .opsDashboardTitle h2 { margin: 0; font-size: 18px; line-height: 1.18; }
        .quickAirportSection.card {
            border: 1px solid var(--line);
            border-radius: 16px;
            background: var(--card);
            padding: 12px;
            overflow: hidden;
            margin-bottom: 14px;
        }
        .quickAirportSection .opsHelp { margin-left: 0; margin-right: 0; }
        .realMapCard > .opsHelp { margin-top: 0; }
        .profileListHead { margin: 18px 2px 7px; }
        .profileListHead h3 { margin: 0; font-size: 17px; }
        .sondeSubDetails {
            margin: 12px 0;
            border: 1px solid rgba(255,255,255,.10);
            border-radius: 14px;
            overflow: hidden;
            background: rgba(255,255,255,.025);
        }
        .sondeSubDetails > summary {
            list-style:none;
            cursor:pointer;
            display:grid;
            grid-template-columns:minmax(0,1fr) auto auto;
            align-items:center;
            column-gap:9px;
            padding:12px 13px;
            user-select:none;
        }
        .sondeSubDetails > summary::-webkit-details-marker { display: none; }
        .sondeSubDetails > summary span { min-width: 0; }
        .sondeSubDetails > summary strong { display: block; font-size: 13px; }
        .sondeSubDetails > summary small { display: block; color: var(--muted); font-size: 9px; margin-top: 3px; line-height: 1.35; }
        .sondeSubDetails > summary em { justify-self:end; color:#8fc4ff; font-size:9px; font-style:normal; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
        .sondeSubDetails > summary:after { content:'▸'; color:#8fc4ff; font-size:11px; justify-self:end; }
        .sondeSubDetails[open] > summary:after { content: '▾'; }
        .sondeSubBody { border-top: 1px solid rgba(255,255,255,.07); padding: 8px 12px 12px; box-sizing:border-box; }
        .sondeSubBody > .opsHelp { margin-left:0; margin-right:0; }
        .sondeSubBody .iconVerifyBlock { width:100%; margin:10px 0 0; box-sizing:border-box; }
        .sondeSubBody .iconVerifyGrid { padding:10px; }
        .advancedInterpretation { margin: 10px 0 12px; padding: 11px 12px; border-radius: 12px; background: rgba(255,255,255,.035); }
        .advancedInterpretation h3 { margin: 0 0 8px; font-size: 14px; }

        .profileGrid { grid-template-columns: 1fr; }
        .profileCard.profileCardToggle { padding: 0; overflow: hidden; }
        .profileCardSummary {
            list-style: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 12px 13px;
            user-select: none;
        }
        .profileCardSummary::-webkit-details-marker { display: none; }
        .profileCardTitle { min-width: 0; }
        .profileCardTitle strong { display: block; font-size: 15px; line-height: 1.2; }
        .previousDayBadge { display: inline-flex; vertical-align: middle; margin-left: 6px; padding: 2px 6px; border-radius: 999px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.045); color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
        .profileCardTitle small { display: block; color: var(--muted); font-size: 9px; margin-top: 4px; line-height: 1.3; }
        .profileCardSignals { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
        .profileCardSignals i { font-style: normal; color: var(--muted); font-size: 8px; padding: 4px 6px; border-radius: 999px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.035); }
        .profileCardSignals b { color: #8fc4ff; font-size: 8px; text-transform: uppercase; letter-spacing: .045em; margin-left: 4px; }
        .profileCardSignals b:after { content: ' ▸'; }
        .profileCardToggle[open] .profileCardSignals b:after { content: ' ▾'; }
        .profileCardBody { border-top: 1px solid rgba(255,255,255,.07); padding: 12px; }
        .profileCouplingReason { margin: 8px 0 10px; padding: 9px 10px; border-radius: 10px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
        .profileCouplingReason strong { display: block; font-size: 11px; margin-bottom: 4px; }
        .profileCouplingReason span { display: block; color: var(--muted); font-size: 10px; line-height: 1.45; }
        .profileReason { display: block; margin-top: 8px; padding-top: 7px; border-top: 1px solid rgba(255,255,255,.07); color: var(--muted); font-size: 9px; line-height: 1.45; }
        .profileReason b { color: #eef3f8; }

        .sondeModalHelp {
            flex: 0 0 auto;
            margin: 10px 17px 0;
            border: 1px solid rgba(143,196,255,.15);
            border-radius: 11px;
            background: rgba(109,182,255,.035);
            overflow: hidden;
        }
        .sondeModalHelp[open] { max-height: min(38dvh, 360px); }
        .sondeModalHelp[open] .sondeModalDescription { overflow:auto; max-height:min(30dvh, 285px); -webkit-overflow-scrolling:touch; }
        .sondeModalHelp summary {
            list-style: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 8px 10px;
        }
        .sondeModalHelp summary::-webkit-details-marker { display: none; }
        .sondeModalHelp summary strong { font-size: 10px; }
        .sondeModalHelp summary em { margin-left: auto; color: var(--muted); font-size: 8px; font-style: normal; text-transform: uppercase; letter-spacing: .04em; }
        .sondeModalHelp summary:after { content: '▸'; color: #8fc4ff; font-size: 10px; }
        .sondeModalHelp[open] summary:after { content: '▾'; }
        .sondeModalHelp .sondeModalDescription { margin: 0; padding: 9px 10px 10px; border-top: 1px solid rgba(255,255,255,.06); max-width: none; }

        @media (max-width:760px) {
            .profileCardSummary { display: block; }
            .profileCardSignals { justify-content: flex-start; margin-top: 8px; }
            .sondeModalHelp { margin: 8px 10px 0; }
            .quickAirportSection.card { margin-bottom: 10px; }
            .sondeSubBody { padding:8px 8px 10px; }
            .sondeSubBody .iconVerifyGrid { padding:8px; }
            .sondeSubBody .matrixHead,
            .sondeSubBody .matrixNoteTop { margin-left:0; margin-right:0; }
            .iconTopSummary { align-items:flex-start; }
            .iconTopSummaryResult strong { font-size:14px; }
            .iconTopToggleBody .opsHelp { margin-left:8px; margin-right:8px; }
        }



        /* v64: kompakte Forecast-Details und klare Radiosonden-Referenzen */
        .heroWindDetails { margin-top:10px; border-top:1px solid rgba(255,255,255,.08); padding-top:9px; }
        .heroWindDetails > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid rgba(143,196,255,.16); border-radius:10px; background:rgba(109,182,255,.04); }
        .heroWindDetails > summary::-webkit-details-marker { display:none; }
        .heroWindDetails > summary span { color:#dbe7f1; font-size:11px; font-weight:850; }
        .heroWindDetails > summary small { color:#8295a7; font-size:9px; font-weight:650; text-align:right; }
        .heroWindDetails > summary:after { content:'+'; color:#8fc4ff; font-size:16px; line-height:1; margin-left:2px; }
        .heroWindDetails[open] > summary:after { content:'−'; }
        .heroWindDetailsBody { padding-top:9px; }
        .heroWindDetailsBody .heroZones { margin-top:0; }

        .windRegionRow.fixedRefs { grid-template-columns:minmax(180px,.9fr) minmax(260px,1.35fr); }
        .windRegionRow.fixedRefs .windRegionValue { grid-column:auto; grid-row:auto; }
        .fixedRefValues { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; text-align:left; }
        .fixedRefValues .windRefCell { min-width:0; padding:8px 9px; border-radius:10px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.06); }
        .fixedRefValues .windRefCell > span { display:block; margin:0 0 3px; color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.035em; }
        .fixedRefValues .windRefCell > strong { display:block; font-size:16px; line-height:1.05; }
        .fixedRefValues .windRefCell > small { display:block; color:var(--muted); font-size:9px; margin-top:3px; line-height:1.25; }
        .opsDashboardTitle h2 { font-size:20px; }

        @media (max-width:760px) {
            .heroWindDetails > summary { align-items:flex-start; }
            .heroWindDetails > summary small { max-width:48%; line-height:1.25; }
            .windRegionRow.fixedRefs { grid-template-columns:1fr; gap:7px; padding:10px 0; }
            .windRegionRow.fixedRefs .windRegionValue { grid-column:1; grid-row:auto; }
            .fixedRefValues { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
            .fixedRefValues .windRefCell { padding:7px 5px; }
            .fixedRefValues .windRefCell > strong { font-size:14px; }
            .fixedRefValues .windRefCell > small { font-size:7.5px; line-height:1.2; overflow-wrap:anywhere; }
        }

        /* v66: kompakter Nordseite/Innsbruck-Vergleich und saubere Detail-Toggles */
        @media (max-width:760px) {
            .northIbkCompare { margin-left:10px; margin-right:10px; padding:11px 10px; }
            .compareMeta { gap:5px; }
            .compareMeta strong { font-size:11px; padding:4px 7px; }
            .compareMeta em { font-size:8.5px; }
            .sondeSubDetails > summary { grid-template-columns:minmax(0,1fr) auto auto; column-gap:7px; padding:11px 10px; }
            .sondeSubDetails > summary strong { font-size:12px; }
            .sondeSubDetails > summary small { font-size:8.5px; }
            .sondeSubDetails > summary em { font-size:8px; }
        }


        /* v67: detaillierte Sondenprofile auf einheitlichen Sektionstil gezogen */
        .radiosondeDashboardTitle { margin-top:0; margin-bottom:9px; }
        .profileListDetails { margin-top:12px; }
        .profileListBody .profileGrid { margin-top:10px; }
        .profileListBody > .opsHelp { margin-top:0; margin-bottom:10px; }
        @media (max-width:760px) {
            .radiosondeDashboardTitle { margin-left:0; margin-right:0; }
            .profileListBody .profileGrid { margin-top:8px; }
        }


        /* v69: Light-first, mobile-first. Flache Hierarchie statt Card-in-Card. */
        :root {
            --bg: #f3f5f7;
            --card: #ffffff;
            --card2: #f7f9fb;
            --text: #17212b;
            --muted: #697684;
            --line: rgba(24, 39, 54, .12);
            --ok: #238a5a;
            --warn: #b97908;
            --bad: #c74343;
            --blue: #267bc5;
        }

        html { background:#f3f5f7; }
        body {
            background: linear-gradient(180deg, #edf2f6 0, #f7f8fa 190px, #f7f8fa 100%);
            color: var(--text);
        }
        .wrap {
            width: min(1180px, calc(100vw - 24px));
            padding: 18px 0 38px;
        }
        .top { margin-bottom: 12px; align-items:flex-end; }
        .brandKicker { color:var(--blue); }
        .titleStack h1 { color:#111a23; }
        .titleStack .sub strong { color:#465463; }
        .titleStack .sub span { color:var(--muted); }
        .pill {
            border:0;
            background:transparent;
            border-radius:0;
            padding:0 0 3px;
            color:#7a8793;
            font-size:10px;
            font-weight:650;
        }

        /* Die aktuelle Einschätzung bleibt bewusst die eine echte Hero-Card. */
        .card.reportCard {
            margin:0 0 30px;
            padding:0 !important;
            background:transparent !important;
            border:0 !important;
            border-radius:0 !important;
            box-shadow:none !important;
            overflow:visible !important;
        }
        .heroBrief {
            padding:19px 20px 17px 22px;
            border-radius:20px;
            border:1px solid rgba(25,47,66,.10);
            background:#fff;
            box-shadow:0 12px 34px rgba(34,57,77,.08);
        }
        .heroBrief:before { width:4px; }
        .heroEyebrow { color:#74818d; }
        .heroStatus { color:#15202a; }
        .heroMainLine .reportBadge {
            border:0;
            background:transparent;
            border-radius:0;
            padding:0;
            color:#83909c;
            font-size:9px;
            letter-spacing:.07em;
            text-transform:uppercase;
        }
        .heroLiveLine {
            border-top-color:var(--line);
            color:var(--muted);
        }
        .heroLiveLine strong { color:#263441; }
        .heroForecast { border-top-color:var(--line); }
        .heroForecastTitle { color:#17212b; }
        .heroForecastText, .heroForecastMeta, .heroSpatialNote, .heroLowerNote { color:var(--muted); }
        .heroSourceLine { color:#8b96a0; }
        .heroConfidence { background:#f7f9fb; }
        .heroConfidence.ok { color:var(--ok); border-color:rgba(35,138,90,.24); background:rgba(35,138,90,.06); }
        .heroConfidence.warn { color:var(--warn); border-color:rgba(185,121,8,.24); background:rgba(185,121,8,.06); }
        .heroConfidence.bad { color:var(--bad); border-color:rgba(199,67,67,.24); background:rgba(199,67,67,.06); }
        .heroConfidence.none { color:var(--muted); }
        .heroConfidenceWhy summary { color:#657481; border-bottom-color:rgba(38,123,197,.32); }
        .heroConfidenceWhyBox {
            border-color:rgba(24,39,54,.12);
            background:#fff;
            color:#344452;
            box-shadow:0 14px 34px rgba(31,51,68,.14);
        }

        /* Forecast-Drilldown: Zeile -> Inhalt. Keine weitere Card im Hero. */
        .heroWindDetails {
            margin-top:13px;
            padding-top:0;
            border-top:1px solid var(--line);
        }
        .heroWindDetails > summary {
            padding:11px 1px;
            border:0;
            border-radius:0;
            background:transparent;
        }
        .heroWindDetails > summary span { color:#253440; }
        .heroWindDetails > summary small { color:#7c8994; }
        .heroWindDetails > summary:after { color:var(--blue); }
        .heroWindDetailsBody { padding-top:2px; }
        .heroZones { display:block; margin-top:0; }
        .heroZone {
            padding:14px 1px;
            border:0;
            border-top:1px solid var(--line);
            border-radius:0;
            background:transparent;
        }
        .heroZone:first-child { border-top:0; }
        .heroZoneHead strong { color:#17212b; font-size:14px; }
        .heroZoneHead span { color:#7d8994; }
        .heroZoneLevel { border-top-color:rgba(24,39,54,.08); }
        .heroZoneLevelTitle { color:#657582; }
        .heroZonePeriods { gap:0; border-top:1px solid rgba(24,39,54,.06); border-bottom:1px solid rgba(24,39,54,.06); }
        .heroZonePeriod {
            padding:7px 7px;
            border-radius:0;
            background:transparent;
            border-right:1px solid rgba(24,39,54,.08);
        }
        .heroZonePeriod:last-child { border-right:0; }
        .heroZonePeriod span { color:#7b8792; }
        .heroZonePeriod strong { color:#263542; }
        .heroZonePeriod.ok strong { color:var(--ok); }
        .heroZonePeriod.warn strong { color:var(--warn); }
        .heroZonePeriod.bad strong { color:var(--bad); }
        .heroZonePoints { color:#8c98a2; }
        .heroEdgeLive { border-top-color:rgba(24,39,54,.08); }
        .heroEdgeLiveLabel { color:#657582; }
        .heroEdgeLiveChips { gap:0; border-top:1px solid rgba(24,39,54,.06); border-bottom:1px solid rgba(24,39,54,.06); }
        .heroEdgeLiveChip {
            flex:1 1 130px;
            padding:7px 8px;
            border:0;
            border-right:1px solid rgba(24,39,54,.08);
            border-radius:0;
            background:transparent;
            color:#334452;
        }
        .heroEdgeLiveChip:last-child { border-right:0; }
        .heroEdgeLiveChip b { color:#253440; }
        .heroEdgeLiveChip span { color:#42515e; }
        .heroEdgeLiveChip em { color:#7a8792; }
        .heroEdgeLiveChip.warn em { color:var(--warn); }
        .heroEdgeLiveChip.bad em { color:var(--bad); }
        .heroStructureLine {
            margin-top:12px;
            padding:10px 0 0;
            border-top:1px solid var(--line);
            border-radius:0;
            background:transparent;
            color:#52606c;
        }
        .heroStructureLine strong { color:#283642; }
        .heroDomainDetails { border-top:1px solid var(--line); padding-top:9px; }
        .heroDomainDetails summary { color:#657582; }
        .heroDomainDetailsBody {
            margin-top:8px;
            padding:10px 0 2px;
            border:0;
            border-radius:0;
            color:#64717d;
            background:transparent;
        }
        .heroDomainDetailsBody b { color:#273541; }

        /* Hauptsektionen: direkt auf der Seite, nur mit Luft + Trennlinie. */
        .opsDashboardTitle {
            margin:32px 0 12px;
            padding-top:27px;
            border-top:1px solid var(--line);
        }
        .opsDashboardTitle h2 { color:#17212b; font-size:21px; }
        .opsPanel {
            border:0;
            border-radius:0;
            background:transparent;
            overflow:visible;
        }
        .opsPanel + .opsPanel { border-top:1px solid var(--line); }
        .opsPanelHead {
            padding:15px 1px 10px;
            border-bottom:0;
        }
        .opsKicker { color:#75828e; }
        .opsPanelHead h2 { color:#18232d; }
        .opsPanelDescription { color:#697783; }
        .opsHeadlineMetric strong { color:#18232d; }
        .opsEmpty { padding:12px 1px; }
        .opsEmpty.standalone { border:0; border-top:1px solid var(--line); border-radius:0; }

        /* Info-Hilfen werden zu einfachen Accordion-Zeilen. */
        .windcheckGuideIntro {
            margin:7px 0 17px;
            padding:0;
            border:0;
            border-top:1px solid rgba(38,123,197,.22);
            border-bottom:1px solid rgba(38,123,197,.22);
            border-radius:0;
            background:transparent;
        }
        .opsHelp, .guideHelp {
            margin:6px 0 10px;
            border:0;
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
            border-radius:0;
            background:transparent;
        }
        .windcheckGuideIntro .guideHelp { margin:0; border:0; }
        .opsHelp summary { padding:10px 1px; color:#334350; }
        .opsHelpMark { border-color:rgba(38,123,197,.32); color:var(--blue); background:#f7fbff; }
        .opsHelp summary:after { color:var(--blue); }
        .opsHelpBody {
            border-top:1px solid rgba(24,39,54,.08);
            padding:11px 1px 13px;
            color:#63717d;
        }
        .opsHelpBody strong { color:#283642; }
        .guideGrid, .termGrid { gap:0; }
        .guideGrid > div, .termGrid > div {
            padding:10px 0;
            border:0;
            border-top:1px solid rgba(24,39,54,.07);
            border-radius:0;
            background:transparent;
        }
        .guideGrid > div:first-child, .termGrid > div:first-child { border-top:0; }
        .summaryAction {
            border:0;
            border-radius:0;
            background:transparent;
            color:var(--blue);
            padding:0;
        }
        .sectionExplain, .matrixNoteTop {
            padding:10px 0;
            border:0;
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
            border-radius:0;
            background:transparent;
            color:#64727e;
        }
        .sectionExplain strong { color:#283642; }

        /* Sonden-Höhenwind: Messwerte wie Instrumentenleiste statt Mini-Cards. */
        .windRegionList { padding:0 1px 8px; }
        .windRegionRow { border-bottom-color:var(--line); }
        .windRegionIdentity .windRegionName { color:var(--blue); }
        .windRegionIdentity strong, .windRegionValue strong { color:#1b2731; }
        .fixedRefValues {
            gap:0;
            border-top:1px solid rgba(24,39,54,.08);
            border-bottom:1px solid rgba(24,39,54,.08);
        }
        .fixedRefValues .windRefCell {
            padding:8px 9px;
            border:0;
            border-right:1px solid rgba(24,39,54,.09);
            border-radius:0;
            background:transparent;
        }
        .fixedRefValues .windRefCell:last-child { border-right:0; }
        .fixedRefValues .windRefCell > strong { color:#1c2a35; }
        .northIbkCompare {
            margin:5px 1px 18px;
            padding:13px 0;
            border:0;
            border-top:1px solid rgba(38,123,197,.18);
            border-bottom:1px solid rgba(38,123,197,.18);
            border-radius:0;
            background:transparent;
        }
        .compareTitle .compareLabel { color:var(--blue); }
        .compareMeta strong {
            padding:0;
            min-height:0;
            border:0;
            border-radius:0;
            background:transparent;
            color:#21313e;
        }
        .compareSides strong { color:#1d2a35; }
        .compareArrow { color:var(--blue); }

        /* Kopplung/Wolken: keine Karten im Panel. */
        .thermoRegionGrid { padding:0 1px 10px; gap:0 18px; }
        .thermoRegionCard {
            padding:13px 0;
            border:0;
            border-top:1px solid var(--line);
            border-radius:0;
            background:transparent;
        }
        .thermoRegionCard:nth-child(-n+2) { border-top:0; }
        .thermoRegionHead span { color:var(--blue); }
        .thermoRegionHead strong, .thermoReadout strong { color:#1d2a35; }
        .thermoSondeTime {
            margin-top:7px;
            padding:0;
            border:0;
            border-radius:0;
            background:transparent;
        }
        .thermoSondeTime b { color:var(--blue); }
        .thermoSondeTime em { color:#1c2934; }
        .thermoSondeTime i { color:#65727e; }
        .thermoSondeTime.uncertain { border:0; background:transparent; }
        .cloudRegionList { padding:0 1px 10px; }
        .cloudRegionRow { border-bottom-color:var(--line); }
        .cloudRegionName { color:var(--blue); }
        .cloudCopy > strong { color:#1e2b35; }

        /* Detaillierte Sonden: reine Accordion-Liste. */
        .card.radiosonde {
            margin-top:32px;
            padding-top:27px;
            border:0 !important;
            border-top:1px solid var(--line) !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
            overflow:visible !important;
        }
        .radiosondeDashboardTitle { margin:0 0 10px; }
        .sondeSubDetails {
            margin:0;
            border:0;
            border-bottom:1px solid var(--line);
            border-radius:0;
            background:transparent;
            overflow:visible;
        }
        .sondeSubDetails:first-of-type { border-top:1px solid var(--line); }
        .sondeSubDetails > summary { padding:13px 1px; }
        .sondeSubDetails > summary strong { color:#22313d; }
        .sondeSubDetails > summary em, .sondeSubDetails > summary:after { color:var(--blue); }
        .sondeSubBody { border-top:1px solid rgba(24,39,54,.08); padding:11px 0 15px; }
        .advancedInterpretation {
            padding:11px 0;
            border-radius:0;
            background:transparent;
            border-top:1px solid var(--line);
        }
        .profileGrid { gap:0; }
        .profileCard.profileCardToggle {
            border:0;
            border-bottom:1px solid var(--line);
            border-radius:0;
            background:transparent;
        }
        .profileCardSummary { padding:13px 1px; }
        .profileCardTitle strong { color:#20303c; }
        .profileCardSignals i {
            border:0;
            border-radius:0;
            background:transparent;
            padding:2px 5px 2px 0;
        }
        .profileCardSignals b { color:var(--blue); }
        .previousDayBadge { border:0; background:#eef2f5; color:#6d7a85; }
        .profileCardBody { border-top:1px solid rgba(24,39,54,.08); padding:13px 1px 17px; }
        .profileCouplingReason, .profileStabilityBox, .profileWxMini {
            border-color:rgba(24,39,54,.10);
            background:#f7f9fb;
        }
        .profileReason { border-top-color:var(--line); }
        .profileReason b { color:#273641; }

        /* Fast Lane und Stationsbereiche: Header als Zeilen, Visual selbst darf eine Fläche bleiben. */
        .modelCard, .fastLaneCard, .realMapCard, .overviewToggleCard {
            margin:0 !important;
            border:0 !important;
            border-top:1px solid var(--line) !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
            overflow:visible !important;
        }
        .modelSummary, .cardHead {
            padding:15px 1px;
            border-bottom:0;
            background:transparent;
        }
        .modelTitle, .cardHead strong { color:#1d2a35; }
        .modelContent { border-top:1px solid rgba(24,39,54,.08); padding:10px 1px 20px; }
        .modelBadge { color:#61707c; }
        .fastLaneSummary::after { color:var(--blue); }
        .simpleMap, .realWindMap {
            border-radius:18px;
            border:1px solid rgba(24,39,54,.10);
            overflow:hidden;
            box-shadow:0 8px 24px rgba(35,55,72,.06);
        }
        .realWindMap .leaflet-tile-pane { filter:grayscale(28%) brightness(101%) contrast(96%) saturate(75%); }
        .realWindMap .leaflet-control-attribution {
            background:rgba(255,255,255,.82);
            color:#73808b;
        }
        .realWindMap .leaflet-control-attribution a { color:#60798f; }
        .realWindMap .leaflet-control-attribution a:hover { color:#315f87; }
        .summary { gap:0; padding:10px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
        .metric {
            padding:10px 12px;
            border:0;
            border-right:1px solid var(--line);
            border-radius:0;
            background:transparent;
        }
        .metric:last-child { border-right:0; }
        .metric .value { color:#1c2934; }
        th { background:#eef2f5; color:#65727d; }
        th, td { border-bottom-color:var(--line); }
        tr:hover td { background:rgba(38,123,197,.035); }
        .station { color:#1d2a35; }

        /* Fast Lane Kennzahlen flach; Richtungstendenz bekommt eine eigene technische Leiste. */
        .mapStationStats {
            gap:0;
            border-top:1px solid rgba(24,39,54,.08);
            border-bottom:1px solid rgba(24,39,54,.08);
        }
        .mapStationStat {
            padding:8px 9px;
            border:0;
            border-right:1px solid rgba(24,39,54,.08);
            border-radius:0;
            background:transparent;
        }
        .mapStationStat:last-child { border-right:0; }
        .mapStationStat.warn, .mapStationStat.bad { background:transparent; }
        .mapStatMain strong { color:#22313d; }
        .mapStationStat.warn .mapStatMain strong { color:var(--warn); }
        .mapStationStat.bad .mapStatMain strong { color:var(--bad); }
        .directionTrend {
            border-color:transparent;
            background:linear-gradient(90deg, rgba(38,123,197,.07), rgba(38,123,197,.015));
        }
        .directionCompass {
            border-color:rgba(38,123,197,.28);
            background:#f3f8fc;
            box-shadow:none;
        }
        .directionCompass::before, .directionCompass::after { background:rgba(38,123,197,.18); }
        .directionCompass i { color:#5687b0; }
        .directionCompass b { color:var(--blue); }
        .directionTrendValue { color:#1d3345; }

        /* Modals bleiben als bewusste Overlay-Fläche, aber light. */
        .sondeModalDialog { background:#fff; color:var(--text); border-color:rgba(24,39,54,.12); box-shadow:0 24px 70px rgba(20,37,52,.22); }
        .sondeModalHead { border-bottom-color:var(--line); background:#fff; }
        .sondeModalClose { border-color:var(--line); background:#f3f6f8; color:#263542; }
        .sondeModalHelp { border-color:var(--line); background:#f7f9fb; }
        .sondeModalHelp summary strong { color:#2a3945; }
        .sondeModalHelp .sondeModalDescription { border-top-color:var(--line); }
        .modalBriefCard { border-color:var(--line); background:#f7f9fb; }
        .modalBriefCard > strong { color:#263542; }
        .modalReadGuide { border-color:var(--line); background:#f7f9fb; }
        .modalReadGuide strong { color:#263542; }
        .modalWindLevels > div { border-color:var(--line); background:#f7f9fb; }
        .modalWindLevels strong { color:#263542; }

        /* Kleine technische Charts behalten bewusst dunkle Zeichenflächen. */
        .sondeProfileGraphic, .modalProfileGraph .sondeProfileGraphic {
            background:#17222d;
            border-color:rgba(24,39,54,.18);
        }

        @media (max-width:760px) {
            .wrap { width:calc(100vw - 16px); padding:12px 0 28px; }
            .top { margin:0 4px 11px; gap:8px; }
            .titleStack h1 { font-size:34px; }
            .pill { max-width:150px; text-align:right; line-height:1.3; font-size:8px; }
            .windcheckGuideIntro { margin-left:4px; margin-right:4px; }
            .card.reportCard { margin-bottom:24px; }
            .heroBrief { padding:16px 14px 14px 17px; border-radius:18px; }
            .heroMainLine .reportBadge { margin-top:6px; }
            .heroConfidenceWhyBox { left:0; right:auto; width:min(360px, calc(100vw - 38px)); }
            .heroWindDetails > summary { padding:11px 0; }
            .heroZones { display:block; }
            .heroZone { padding:13px 0; }
            .heroZonePeriods.count-1 { grid-template-columns:1fr; }
            .heroZonePeriods.count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .heroZonePeriods.count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
            .heroZonePeriods.count-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
            .heroZonePeriod { padding:7px 3px; text-align:center; }
            .heroZonePeriod span { font-size:7.5px; }
            .heroZonePeriod strong { font-size:11px; }
            .heroEdgeLiveChip { flex:1 1 50%; }

            .opsDashboardTitle { margin:28px 4px 10px; padding-top:24px; }
            .opsPanelHead { padding:13px 4px 9px; }
            .opsPanelDescription { font-size:10px; }
            .opsHelp { margin-left:4px; margin-right:4px; }
            .windRegionList { padding-left:4px; padding-right:4px; }
            .windRegionRow.fixedRefs { padding:12px 0; }
            .fixedRefValues { gap:0; }
            .fixedRefValues .windRefCell { padding:8px 4px; text-align:center; }
            .fixedRefValues .windRefCell > span { font-size:7px; }
            .fixedRefValues .windRefCell > strong { font-size:15px; }
            .fixedRefValues .windRefCell > small { font-size:7.5px; }
            .northIbkCompare { margin-left:4px; margin-right:4px; padding:12px 0; }
            .compareSides { grid-template-columns:1fr 20px 1fr; gap:6px; }
            .compareArrow { transform:none; }
            .compareSides strong { font-size:12px; }
            .compareSides small { font-size:8px; }
            .compareMeta { margin-top:5px; }
            .compareMeta strong { font-size:10px; }
            .compareMeta em { font-size:8px; }

            .thermoRegionGrid { grid-template-columns:1fr; padding-left:4px; padding-right:4px; }
            .thermoRegionCard, .thermoRegionCard:nth-child(-n+2) { border-top:1px solid var(--line); }
            .thermoRegionCard:first-child { border-top:0; }
            .cloudRegionList { padding-left:4px; padding-right:4px; }

            .card.radiosonde { margin-top:28px; padding-top:24px; }
            .radiosondeDashboardTitle { margin-left:4px; margin-right:4px; }
            .sondeSubDetails > summary { padding:13px 4px; }
            .sondeSubBody { padding:10px 4px 15px; }
            .profileCardSummary { padding:13px 4px; }
            .profileCardBody { padding:13px 4px 17px; }

            .modelCard, .fastLaneCard, .realMapCard, .overviewToggleCard { margin-left:4px !important; margin-right:4px !important; }
            .modelSummary, .cardHead { padding:15px 0; }
            .modelContent { padding-left:0; padding-right:0; }
            .simpleMap, .realWindMap { border-radius:15px; }
            .summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .metric { padding:9px 8px; }

            .mapStationStats { grid-template-columns:repeat(3,minmax(0,1fr)); }
            .mapStationStat { padding:8px 6px; }
            .mapStationStat:nth-child(3) { border-right:0; }
            .directionTrend {
                grid-column:1 / -1;
                border-top:1px solid rgba(24,39,54,.08);
                border-right:0;
                display:grid;
                grid-template-columns:108px minmax(0,1fr);
                align-items:center;
                padding:8px 6px;
                background:linear-gradient(90deg, rgba(38,123,197,.07), rgba(38,123,197,0));
            }
            .directionTrend .mapStatLabel { margin:0; white-space:normal; }
            .directionTrend .mapStatMain { justify-content:flex-end; gap:7px; }
            .directionCompass { width:25px; height:25px; flex-basis:25px; }
            .directionTrendValue { font-size:12px; }
        }


        /* v70: Dark Flat / Mobile First. Klare Kapitel, wenige Typostufen, keine Box-in-Box-Hierarchie. */
        :root {
            --bg: #10161d;
            --surface: #161e27;
            --surface-2: #1b2530;
            --surface-soft: rgba(255,255,255,.032);
            --text: #eef3f7;
            --muted: #94a3b1;
            --muted-2: #6f8191;
            --line: rgba(222,233,242,.105);
            --line-strong: rgba(222,233,242,.17);
            --ok: #45c889;
            --warn: #f2aa3d;
            --bad: #f06a69;
            --blue: #63a9e6;
            --fs-meta: 10px;
            --fs-small: 12px;
            --fs-body: 14px;
            --fs-subhead: 17px;
            --fs-section: 21px;
            --fs-title: 34px;
        }

        html { background:var(--bg); }
        body {
            background:
                radial-gradient(circle at 45% -90px, rgba(65,113,155,.18), transparent 390px),
                linear-gradient(180deg, #111820 0, #0f151c 100%);
            color:var(--text);
            font-size:var(--fs-body);
        }
        .wrap { width:min(1160px, calc(100vw - 24px)); padding:17px 0 40px; }
        .top { margin-bottom:13px; align-items:flex-end; }
        .brandKicker { color:var(--blue); font-size:var(--fs-meta); }
        .titleStack h1 { color:#f5f8fa; font-size:var(--fs-title); line-height:1.02; letter-spacing:-.035em; }
        .titleStack .sub strong { color:#b8c4ce; font-size:var(--fs-small); }
        .titleStack .sub span { color:var(--muted); font-size:var(--fs-small); }
        .pill { color:#7f91a0; font-size:var(--fs-meta); }

        /* Typografie: sichtbare UI auf wenige feste Stufen begrenzen. */
        .heroEyebrow, .opsKicker, .heroLevelLabel, .heroZoneLevelTitle,
        .heroEdgeLiveLabel, .mapStatLabel, .metric .label, .small,
        .profileCardSignals i, .thermoRegionHead span, .cloudRegionName,
        .heroZoneHead span, .heroZonePeriod span, .modelBadge,
        .summaryAction { font-size:var(--fs-meta); }
        .heroForecastText, .heroForecastMeta, .heroSpatialNote, .heroLowerNote, .heroSourceLine,
        .opsPanelDescription, .opsHelpBody, .guideGrid, .termGrid,
        .compareMeta, .profileCardTitle small, .thermoReadout span,
        .cloudCopy, .modelContent, .stationCompare, .compareDetail,
        .heroStructureLine, .heroDomainDetailsBody { font-size:var(--fs-small); }
        .heroLiveLine, .heroWindDetails > summary, .sondeSubDetails > summary,
        .profileCardSummary, .modelSummary, .cardHead, .metric,
        .heroZoneHead strong, .mapStatMain, .directionTrendValue,
        .fixedRefValues .windRefCell > strong { font-size:var(--fs-body); }
        .heroForecastTitle, .opsPanelHead h2, .quickSectionHead h2,
        .modelTitle, .cardHead strong { font-size:var(--fs-subhead); }
        .opsDashboardTitle h2, .radiosondeDashboardTitle h2 { font-size:var(--fs-section); }

        /* Guide ganz oben: sichtbare Navigationszeile, keine Karte. */
        .windcheckGuideIntro {
            margin:7px 0 18px;
            border:0;
            border-top:1px solid rgba(99,169,230,.25);
            border-bottom:1px solid rgba(99,169,230,.16);
            background:rgba(99,169,230,.025);
        }
        .windcheckGuideIntro .guideHelp { border:0; background:transparent; }
        .opsHelp, .guideHelp {
            border:0;
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
            border-radius:0;
            background:transparent;
        }
        .opsHelp summary { color:#c7d2db; }
        .opsHelpMark { color:var(--blue); border-color:rgba(99,169,230,.34); background:rgba(99,169,230,.08); }
        .opsHelp summary:after { color:var(--blue); }
        .opsHelpBody { color:#a6b3be; border-top-color:var(--line); }
        .opsHelpBody strong { color:#eef3f7; }
        .guideGrid > div, .termGrid > div { border-top-color:var(--line); background:transparent; }

        /* Hero bleibt die einzige große Card. Statusfarbe sitzt als klare Kante, nicht als Vollfläche. */
        .card.reportCard { margin:0 0 31px; }
        .heroBrief {
            padding:18px 18px 16px 21px;
            border-radius:16px;
            border:1px solid var(--line-strong);
            background:linear-gradient(180deg, #19232d 0, #151e27 100%);
            box-shadow:0 16px 38px rgba(0,0,0,.22);
        }
        .heroBrief:before { width:4px; border-radius:16px 0 0 16px; }
        .heroBrief.ok:before { background:var(--ok); }
        .heroBrief.warn:before { background:var(--warn); }
        .heroBrief.bad:before { background:var(--bad); }
        .heroEyebrow { color:#8293a2; }
        .heroStatus { color:#f5f8fa; }
        .heroMainLine .reportBadge { color:#7e8e9c; }
        .heroLiveLine { border-top-color:var(--line); color:#a2b0bc; }
        .heroLiveLine strong { color:#dce4ea; }
        .heroForecast { border-top-color:var(--line); }
        .heroForecastTitle { color:#f1f5f8; }
        .heroForecastText, .heroForecastMeta, .heroSpatialNote, .heroLowerNote { color:#a3b0bb; }
        .heroSourceLine { color:#778a99; }
        .heroConfidence { background:rgba(255,255,255,.035); border-color:var(--line); }
        .heroConfidence.ok { color:var(--ok); border-color:rgba(69,200,137,.28); background:rgba(69,200,137,.07); }
        .heroConfidence.warn { color:var(--warn); border-color:rgba(242,170,61,.28); background:rgba(242,170,61,.07); }
        .heroConfidence.bad { color:var(--bad); border-color:rgba(240,106,105,.28); background:rgba(240,106,105,.07); }
        .heroConfidence.none { color:var(--muted); }
        .heroConfidenceWhy summary { color:#91a4b4; border-bottom-color:rgba(99,169,230,.32); }
        .heroConfidenceWhyBox {
            border-color:var(--line-strong);
            background:#202b36;
            color:#d5dee5;
            box-shadow:0 18px 40px rgba(0,0,0,.35);
        }

        .heroWindDetails { border-top-color:var(--line); }
        .heroWindDetails > summary { color:#d5dee5; }
        .heroWindDetails > summary span { color:#dbe4eb; }
        .heroWindDetails > summary small { color:#788a99; }
        .heroWindDetails > summary:after { color:var(--blue); }
        .heroZone { border-top-color:var(--line); }
        .heroZoneHead strong { color:#eef3f7; }
        .heroZoneHead span { color:#7f91a0; }
        .heroZoneLevel { border-top-color:rgba(222,233,242,.075); }
        .heroZoneLevelTitle { color:#8fa1af; }
        .heroZonePeriods { border-top-color:rgba(222,233,242,.065); border-bottom-color:rgba(222,233,242,.065); }
        .heroZonePeriod { border-right-color:rgba(222,233,242,.075); }
        .heroZonePeriod span { color:#788b9b; }
        .heroZonePeriod strong { color:#dfe7ed; }
        .heroZonePeriod.ok strong { color:var(--ok); }
        .heroZonePeriod.warn strong { color:var(--warn); }
        .heroZonePeriod.bad strong { color:var(--bad); }
        .heroZonePoints { color:#697c8c; }
        .heroEdgeLive { border-top-color:var(--line); }
        .heroEdgeLiveLabel { color:#8fa1af; }
        .heroEdgeLiveChips { border-top-color:rgba(222,233,242,.065); border-bottom-color:rgba(222,233,242,.065); }
        .heroEdgeLiveChip { border-right-color:rgba(222,233,242,.075); color:#b9c5ce; }
        .heroEdgeLiveChip b { color:#e9eef2; }
        .heroEdgeLiveChip span { color:#b2c0ca; }
        .heroEdgeLiveChip em { color:#8597a6; }
        .heroEdgeLiveChip.warn em { color:var(--warn); }
        .heroEdgeLiveChip.bad em { color:var(--bad); }
        .heroStructureLine { border-top-color:var(--line); color:#a8b5bf; }
        .heroStructureLine strong { color:#e4ebf0; }
        .heroDomainDetails { border-top-color:var(--line); }
        .heroDomainDetails summary { color:#8fa2b1; }
        .heroDomainDetailsBody { color:#9caab5; }
        .heroDomainDetailsBody b { color:#e4ebf0; }

        /* Kapitel: klarer Anfang über Rail + Linie, aber ohne Außenbox. */
        .opsDashboardTitle {
            position:relative;
            margin:34px 0 11px;
            padding:18px 0 0 14px;
            border-top:1px solid var(--line-strong);
        }
        .opsDashboardTitle:before {
            content:"";
            position:absolute;
            left:0;
            top:17px;
            bottom:1px;
            width:3px;
            border-radius:3px;
            background:linear-gradient(180deg, var(--blue), rgba(99,169,230,.20));
        }
        .opsDashboardTitle h2 { color:#f2f6f8; letter-spacing:-.018em; }
        .opsPanel { background:transparent; border:0; }
        .opsPanel + .opsPanel { border-top:1px solid var(--line); }
        .opsPanelHead { padding:15px 2px 10px; }
        .opsKicker { color:#728696; letter-spacing:.08em; }
        .opsPanelHead h2 { color:#e7edf2; }
        .opsPanelDescription { color:#97a6b3; }
        .opsHeadlineMetric strong { color:#edf2f6; }
        .opsEmpty { color:#8394a2; }
        .opsEmpty.standalone { border-top-color:var(--line); }

        /* Sondenreferenzen als technisches 3-Spalten-Band. */
        .windRegionList { color:#dce4ea; }
        .windRegionRow { border-bottom-color:var(--line); }
        .windRegionName, .windRegionRow strong { color:#e9eef2; }
        .fixedRefValues { border-top:1px solid rgba(222,233,242,.065); border-bottom:1px solid rgba(222,233,242,.065); }
        .fixedRefValues .windRefCell { border-right:1px solid rgba(222,233,242,.07); background:transparent; }
        .fixedRefValues .windRefCell:last-child { border-right:0; }
        .fixedRefValues .windRefCell > span { color:#7f92a1; }
        .fixedRefValues .windRefCell > strong { color:#eef3f7; }
        .fixedRefValues .windRefCell > small { color:#6f8291; }
        .northIbkCompare { border-top-color:var(--line); border-bottom-color:var(--line); }
        .compareTitle .compareLabel { color:var(--blue); }
        .compareMeta strong, .compareSides strong { color:#e1e8ed; }
        .compareMeta em, .compareSides small { color:#7d90a0; }
        .compareArrow { color:var(--blue); }

        /* Kopplung: klare Zeilen statt Karten. */
        .thermoRegionCard { border-top-color:var(--line); }
        .thermoRegionHead span { color:var(--blue); }
        .thermoRegionHead strong, .thermoReadout strong { color:#e8eef2; }
        .thermoReadout span { color:#9aa9b5; }
        .thermoSondeTime { background:transparent; }
        .thermoSondeTime b { color:var(--blue); }
        .thermoSondeTime em { color:#e2e9ee; }
        .thermoSondeTime i { color:#8698a6; }
        .cloudRegionRow { border-bottom-color:var(--line); }
        .cloudRegionName { color:var(--blue); }
        .cloudCopy > strong { color:#e7edf2; }
        .cloudCopy { color:#96a6b3; }

        /* Detaillierte Sondenprofile: eigenes Kapitel, danach einfache Accordion-Zeilen. */
        .card.radiosonde {
            position:relative;
            margin-top:34px;
            padding:18px 0 0 14px;
            border:0 !important;
            border-top:1px solid var(--line-strong) !important;
            background:transparent !important;
        }
        .card.radiosonde:before {
            content:"";
            position:absolute;
            left:0;
            top:17px;
            height:27px;
            width:3px;
            border-radius:3px;
            background:linear-gradient(180deg, var(--blue), rgba(99,169,230,.20));
        }
        .radiosondeDashboardTitle h2 { color:#f2f6f8; }
        .sondeSubDetails { border-bottom-color:var(--line); background:transparent; }
        .sondeSubDetails:first-of-type { border-top-color:var(--line); }
        .sondeSubDetails > summary strong { color:#dce5eb; }
        .sondeSubDetails > summary small { color:#778a99; }
        .sondeSubDetails > summary em, .sondeSubDetails > summary:after { color:var(--blue); }
        .sondeSubBody { border-top-color:var(--line); }
        .advancedInterpretation { border-top-color:var(--line); color:#a7b4be; }
        .profileCard.profileCardToggle { border-bottom-color:var(--line); }
        .profileCardTitle strong { color:#e5ecf1; }
        .profileCardTitle small { color:#778a99; }
        .profileCardSignals i { color:#95a6b4; }
        .profileCardSignals b { color:var(--blue); }
        .previousDayBadge { background:rgba(255,255,255,.05); color:#899aa8; }
        .profileCardBody { border-top-color:var(--line); }
        .profileCouplingReason, .profileStabilityBox, .profileWxMini { border-color:var(--line); background:rgba(255,255,255,.025); }
        .profileReason { border-top-color:var(--line); color:#9eacb7; }
        .profileReason b { color:#e5ecf1; }

        /* Stationskapitel ebenfalls nur über Linien und Inhalt, Karte selbst darf eine Fläche sein. */
        .modelCard, .fastLaneCard, .realMapCard, .overviewToggleCard {
            border-top-color:var(--line-strong) !important;
            background:transparent !important;
        }
        .modelSummary, .cardHead { color:#dce5eb; }
        .modelTitle, .cardHead strong { color:#edf2f5; }
        .modelBadge { color:#7d90a0; }
        .modelContent { border-top-color:var(--line); color:#a6b3bd; }
        .fastLaneSummary::after { color:var(--blue); }
        .simpleMap, .realWindMap {
            border-radius:14px;
            border:1px solid var(--line-strong);
            box-shadow:0 10px 26px rgba(0,0,0,.18);
        }
        .realWindMap .leaflet-tile-pane { filter:grayscale(20%) brightness(72%) contrast(108%) saturate(72%); }
        .realWindMap .leaflet-control-attribution { background:rgba(15,21,28,.86); color:#8293a2; }
        .realWindMap .leaflet-control-attribution a { color:#8fbbe0; }
        .summary { border-top-color:var(--line); border-bottom-color:var(--line); }
        .metric { border-right-color:var(--line); }
        .metric .value { color:#edf2f5; }
        th { background:#18222c; color:#899aa8; }
        th, td { border-bottom-color:var(--line); }
        tr:hover td { background:rgba(99,169,230,.035); }
        .station { color:#e6edf2; }

        /* Fast Lane: Statusfarben wieder funktional sichtbar. */
        .mapStationStats { border-top-color:var(--line); border-bottom-color:var(--line); }
        .mapStationStat { border-right-color:var(--line); }
        .mapStatMain strong { color:#e6edf2; }
        .mapStationStat.ok .mapStatMain strong { color:var(--ok); }
        .mapStationStat.warn .mapStatMain strong { color:var(--warn); }
        .mapStationStat.bad .mapStatMain strong { color:var(--bad); }
        .directionTrend {
            background:linear-gradient(90deg, rgba(99,169,230,.09), rgba(99,169,230,.01));
            border-color:transparent;
        }
        .directionCompass { border-color:rgba(99,169,230,.34); background:#182734; box-shadow:none; }
        .directionCompass::before, .directionCompass::after { background:rgba(99,169,230,.22); }
        .directionCompass i { color:#7ea9cb; }
        .directionCompass b { color:var(--blue); }
        .directionTrendValue { color:#dce7ef; }

        /* Modals und interne Detailflächen bleiben bewusst abgesetzt. */
        .sondeModalDialog { background:#18222c; color:var(--text); border-color:var(--line-strong); box-shadow:0 24px 70px rgba(0,0,0,.48); }
        .sondeModalHead { border-bottom-color:var(--line); background:#18222c; }
        .sondeModalClose { border-color:var(--line); background:#202c37; color:#dbe4eb; }
        .sondeModalHelp, .modalBriefCard, .modalReadGuide, .modalWindLevels > div { border-color:var(--line); background:#151e27; }
        .sondeModalHelp summary strong, .modalBriefCard > strong, .modalReadGuide strong, .modalWindLevels strong { color:#e5ecf1; }
        .sondeModalHelp .sondeModalDescription { border-top-color:var(--line); color:#9cabb7; }
        .sondeProfileGraphic, .modalProfileGraph .sondeProfileGraphic { background:#0f151c; border-color:var(--line-strong); }

        /* Kleine Warn-/Statusflächen dürfen semantisch Farbe tragen. */
        .reportBadge.ok, .compareBadge.ok, .iconVerifyBadge.ok { color:var(--ok); }
        .reportBadge.warn, .compareBadge.warn, .iconVerifyBadge.warn { color:var(--warn); }
        .reportBadge.bad, .compareBadge.bad, .iconVerifyBadge.bad { color:var(--bad); }
        .alert { border-color:rgba(242,170,61,.28); background:rgba(242,170,61,.07); color:#f2c77e; }

        @media (max-width:760px) {
            :root {
                --fs-meta: 9px;
                --fs-small: 11px;
                --fs-body: 13px;
                --fs-subhead: 16px;
                --fs-section: 20px;
                --fs-title: 32px;
            }
            .wrap { width:calc(100vw - 16px); padding:12px 0 30px; }
            .top { margin:0 4px 10px; }
            .titleStack h1 { font-size:var(--fs-title); }
            .pill { max-width:155px; font-size:var(--fs-meta); line-height:1.35; }
            .windcheckGuideIntro { margin-left:4px; margin-right:4px; }
            .card.reportCard { margin-bottom:26px; }
            .heroBrief { padding:16px 13px 14px 17px; border-radius:14px; }
            .heroConfidenceWhyBox { left:0; right:auto; width:min(360px, calc(100vw - 38px)); }
            .heroZonePeriod span { font-size:var(--fs-meta); }
            .heroZonePeriod strong { font-size:var(--fs-small); }

            .opsDashboardTitle {
                margin:29px 4px 9px;
                padding:15px 0 0 12px;
            }
            .opsDashboardTitle:before { top:14px; }
            .opsDashboardTitle h2, .radiosondeDashboardTitle h2 { font-size:var(--fs-section); }
            .opsPanelHead { padding:13px 4px 9px; }
            .opsPanelDescription { font-size:var(--fs-small); }
            .opsHelp { margin-left:4px; margin-right:4px; }

            .fixedRefValues .windRefCell > span { font-size:var(--fs-meta); }
            .fixedRefValues .windRefCell > strong { font-size:15px; }
            .fixedRefValues .windRefCell > small { font-size:var(--fs-meta); }
            .compareSides strong { font-size:var(--fs-small); }
            .compareSides small, .compareMeta em { font-size:var(--fs-meta); }
            .compareMeta strong { font-size:var(--fs-small); }

            .card.radiosonde {
                margin-top:29px;
                padding:15px 0 0 12px;
            }
            .card.radiosonde:before { top:14px; }
            .radiosondeDashboardTitle { margin-left:0; margin-right:0; }
            .sondeSubDetails > summary, .profileCardSummary { padding-left:0; padding-right:0; }

            .mapStationStats { grid-template-columns:repeat(3,minmax(0,1fr)); }
            .mapStationStat:nth-child(3) { border-right:0; }
            .directionTrend {
                grid-column:1 / -1;
                border-top:1px solid var(--line);
                border-right:0;
                grid-template-columns:104px minmax(0,1fr);
            }
            .directionTrendValue { font-size:var(--fs-small); }
            .simpleMap, .realWindMap { border-radius:12px; }
        }


        /* v71: Mobile section toggles + alignment cleanup */
        .opsSectionToggle {
            margin:0;
            border-top:1px solid var(--line-strong);
            border-bottom:0;
            background:transparent;
        }
        .opsSectionToggle > summary {
            list-style:none;
            cursor:pointer;
            display:grid;
            grid-template-columns:minmax(0,1fr) auto auto;
            align-items:center;
            gap:10px;
            padding:0 4px;
            user-select:none;
        }
        .opsSectionToggle > summary::-webkit-details-marker { display:none; }
        .opsSectionToggle > summary .opsPanelHead { min-width:0; padding:14px 0 12px; }
        .opsSectionToggle > summary .opsPanelHead h2 { margin:2px 0 0; }
        .opsSectionAction {
            color:var(--blue);
            font-size:var(--fs-meta);
            font-style:normal;
            text-transform:uppercase;
            letter-spacing:.055em;
            white-space:nowrap;
        }
        .opsSectionToggle > summary:after {
            content:'▸';
            color:var(--blue);
            font-size:12px;
            line-height:1;
        }
        .opsSectionToggle[open] > summary:after { content:'▾'; }
        .opsSectionToggle[open] .opsSectionAction { display:none; }
        .opsSectionBody {
            padding:0 4px 18px;
            border-top:1px solid var(--line);
        }
        .opsSectionBody > .opsHelp { margin-left:0; margin-right:0; }
        .opsSectionToggle + .opsSectionToggle { border-top:1px solid var(--line-strong); }

        /* Flugplätze/Talniveau wie ein Kapitel, nicht wie eine helle Card. */
        .quickAirportSection {
            position:relative;
            margin:29px 4px 26px;
            padding:16px 0 0 12px;
            border:0;
            border-top:1px solid var(--line-strong);
            border-radius:0;
            background:transparent;
            box-shadow:none;
            overflow:visible;
        }
        .quickAirportSection:before {
            content:"";
            position:absolute;
            left:0;
            top:15px;
            width:3px;
            height:25px;
            border-radius:3px;
            background:linear-gradient(180deg, var(--blue), rgba(99,169,230,.20));
        }
        .quickSectionHead { margin:0 0 9px; }
        .quickSectionHead h2 {
            margin:0;
            color:#f2f6f8;
            font-size:var(--fs-section);
            line-height:1.15;
            letter-spacing:-.018em;
        }
        .quickAirportSection .opsHelp { margin-left:0; margin-right:0; }
        .quickMobile {
            gap:0;
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
        }
        .quickCard {
            border:0;
            border-right:1px solid var(--line);
            border-bottom:0;
            border-radius:0;
            background:transparent;
            padding:11px 10px;
            box-shadow:none;
        }
        .quickCard:last-child { border-right:0; }
        .quickCard .quickLabel { color:#7f92a1; font-size:var(--fs-meta); }
        .quickCard .quickStation { color:#dce5eb; font-size:var(--fs-small); }
        .quickCard .quickValue { color:#eef3f7; font-size:18px; }
        .quickCard .quickMeta { color:#718493; font-size:var(--fs-meta); }

        /* Detaillierte Sondenprofile exakt auf Hauptspaltenniveau. */
        .card.radiosonde {
            margin:34px 4px 0 !important;
            padding:0 !important;
            border:0 !important;
            border-top:1px solid var(--line-strong) !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
            overflow:visible !important;
        }
        .card.radiosonde:before { display:none !important; content:none !important; }
        .radiosondeDashboardTitle {
            position:relative;
            margin:0 0 9px !important;
            padding:16px 0 0 12px !important;
        }
        .radiosondeDashboardTitle:before {
            content:"";
            position:absolute;
            left:0;
            top:15px;
            width:3px;
            height:26px;
            border-radius:3px;
            background:linear-gradient(180deg, var(--blue), rgba(99,169,230,.20));
        }
        .card.radiosonde > .opsHelp { margin-left:0; margin-right:0; }
        .card.radiosonde .sondeSubDetails { margin-left:0; margin-right:0; }
        .card.radiosonde .sondeSubDetails > summary { padding-left:0; padding-right:0; }
        .card.radiosonde .sondeSubBody { padding-left:0; padding-right:0; }

        @media (max-width:760px) {
            .opsSectionToggle > summary { padding-left:4px; padding-right:4px; }
            .opsSectionToggle > summary .opsKicker {
                display:block;
                white-space:nowrap;
                overflow:hidden;
                text-overflow:ellipsis;
                max-width:72vw;
            }
            .opsSectionBody { padding-left:4px; padding-right:4px; }
            .quickAirportSection { margin-left:4px; margin-right:4px; padding-left:12px; }
            .quickMobile { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .quickCard:nth-child(2n) { border-right:0; }
            .quickCard:nth-child(n+3) { border-top:1px solid var(--line); }
            .card.radiosonde { margin-left:4px !important; margin-right:4px !important; padding-left:0 !important; }
            .radiosondeDashboardTitle { margin-left:0 !important; margin-right:0 !important; }
            .card.radiosonde .sondeSubDetails > summary,
            .card.radiosonde .profileCardSummary,
            .card.radiosonde .sondeSubBody,
            .card.radiosonde .profileCardBody { padding-left:0; padding-right:0; }
        }


        /* v72: Fast Lane als eigenes Hauptkapitel und klarere Richtungstendenz. */
        .fastLaneCard {
            position:relative;
        }
        .fastLaneSummary {
            padding-left:12px !important;
        }
        .fastLaneSummary::before {
            content:"";
            position:absolute;
            left:0;
            top:15px;
            width:3px;
            height:26px;
            border-radius:3px;
            background:linear-gradient(180deg, var(--blue), rgba(99,169,230,.20));
        }
        .directionTrend {
            background:transparent !important;
        }
        .directionTrend .mapStatMain {
            display:grid;
            grid-template-columns:minmax(0,1fr) auto;
            align-items:center;
            gap:10px;
            width:100%;
        }
        .directionTrendCopy {
            display:flex;
            flex-direction:column;
            gap:2px;
            min-width:0;
        }
        .directionTrendValue {
            color:#e6edf2 !important;
            font-size:14px;
            font-weight:900;
            letter-spacing:-.01em;
            white-space:nowrap;
            overflow:hidden !important;
            text-overflow:ellipsis !important;
        }
        .directionTrendMeta {
            display:block;
            color:#7f92a1;
            font-size:var(--fs-meta);
            font-weight:600;
            line-height:1.25;
            white-space:normal;
        }
        .directionTrendDeg {
            color:var(--blue) !important;
            font-size:14px !important;
            font-weight:900;
            letter-spacing:.01em;
        }
        .directionCompass { display:none !important; }

        @media (max-width:760px) {
            .fastLaneSummary { padding-left:12px !important; }
            .fastLaneSummary::before { top:14px; height:24px; }
            .directionTrend {
                grid-template-columns:108px minmax(0,1fr) !important;
                align-items:center;
            }
            .directionTrend .mapStatMain {
                justify-content:stretch !important;
                gap:8px !important;
            }
            .directionTrendValue { font-size:13px; }
            .directionTrendDeg { font-size:13px !important; }
        }


        /* v73: Sonden-Hierarchie, Fast-Lane-Richtung und flaches Profil-Modal */
        .directionTrend {
            display:block !important;
            padding-top:10px !important;
            padding-bottom:10px !important;
        }
        .directionTrend .mapStatLabel {
            display:block !important;
            width:100%;
            margin:0 0 6px !important;
            color:#7f92a1;
            white-space:normal;
            overflow:visible;
            text-overflow:clip;
        }
        .directionTrend .mapStatMain {
            display:grid !important;
            grid-template-columns:minmax(0,1fr) auto !important;
            align-items:center;
            gap:12px;
            width:100%;
        }
        .directionTrendValue {
            color:#f2f6f8 !important;
            font-size:15px !important;
            line-height:1.1;
            font-weight:900;
            white-space:normal !important;
            overflow:visible !important;
            text-overflow:clip !important;
        }
        .directionTrendMeta {
            margin-top:3px;
            color:#7f92a1;
        }
        .directionTrendDeg {
            align-self:center;
            color:var(--blue) !important;
            font-size:15px !important;
        }

        .windRegionSondeTime {
            display:flex;
            align-items:baseline;
            flex-wrap:wrap;
            gap:4px 8px;
            margin-top:8px;
            padding-top:7px;
            border-top:1px solid var(--line);
            line-height:1.15;
        }
        .windRegionSondeTime > span {
            color:var(--blue) !important;
            font-size:var(--fs-meta) !important;
            font-weight:800;
            text-transform:uppercase;
            letter-spacing:.045em;
            margin:0 !important;
        }
        .windRegionSondeTime > b {
            color:#f2f6f8;
            font-size:14px;
            font-weight:900;
            letter-spacing:-.01em;
        }
        .windRegionSondeTime > em {
            color:#a2b0bb;
            font-size:var(--fs-small);
            font-style:normal;
            font-weight:700;
        }
        .windRegionSondeTime.uncertain > b { color:var(--warn); }

        .fixedRefValues .windRefCell.ok > strong { color:var(--ok) !important; }
        .fixedRefValues .windRefCell.warn > strong { color:var(--warn) !important; }
        .fixedRefValues .windRefCell.bad > strong { color:var(--bad) !important; }
        .fixedRefValues .windRefCell.none > strong { color:#718390 !important; }

        .radiosondeSectionBreak {
            height:24px;
            margin:4px 4px 0;
            border-bottom:1px solid var(--line-strong);
        }
        .radiosondeSectionBreak + .opsSectionToggle { border-top:0; }

        /* Modal im selben Dark-Flat-System wie die Seite statt altem Card-in-Card-Look. */
        .sondeModalDialog {
            border-radius:16px;
            background:#111920;
            border-color:var(--line-strong);
        }
        .sondeModalHead {
            padding:14px 15px;
            background:#111920;
            border-bottom-color:var(--line-strong);
        }
        .sondeModalHelp {
            margin:0 15px !important;
            border:0 !important;
            border-bottom:1px solid var(--line) !important;
            border-radius:0 !important;
            background:transparent !important;
        }
        .sondeModalHelp summary { padding:11px 0 !important; }
        .sondeModalHelp .sondeModalDescription { padding:10px 0 12px !important; }
        .sondeModalBody { padding:15px 15px 20px; }
        .modalProfileMeta {
            margin:0 0 14px;
            padding:0 0 10px;
            border-bottom:1px solid var(--line);
            color:#a0afba;
            font-size:var(--fs-small);
            line-height:1.4;
        }
        .modalBriefGrid {
            display:grid;
            grid-template-columns:1fr;
            gap:0;
            margin:0 0 18px;
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
        }
        .modalBriefCard {
            display:grid;
            grid-template-columns:minmax(110px,.45fr) minmax(0,.55fr);
            gap:3px 12px;
            align-items:start;
            min-width:0;
            padding:11px 0;
            border:0 !important;
            border-bottom:1px solid var(--line) !important;
            border-radius:0 !important;
            background:transparent !important;
        }
        .modalBriefCard:last-child { border-bottom:0 !important; }
        .modalBriefCard > span {
            grid-row:1 / span 2;
            color:#7f92a1;
            font-size:var(--fs-meta);
            text-transform:uppercase;
            letter-spacing:.05em;
            padding-top:2px;
        }
        .modalBriefCard > strong {
            color:var(--ok) !important;
            font-size:var(--fs-subhead);
            margin:0;
            line-height:1.15;
        }
        .modalBriefCard.warn > strong { color:var(--warn) !important; }
        .modalBriefCard.bad > strong { color:var(--bad) !important; }
        .modalBriefCard > small {
            color:#8798a5;
            font-size:var(--fs-small);
            line-height:1.4;
        }
        .modalProfileGraph .sondeProfileGraphic {
            margin:0 0 17px;
            padding:10px 0;
            border:0;
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
            border-radius:0;
            background:transparent;
        }
        .modalWindLevels {
            display:grid;
            grid-template-columns:repeat(7,minmax(84px,1fr));
            gap:0;
            overflow-x:auto;
            border-top:1px solid var(--line);
            border-bottom:1px solid var(--line);
            padding:0;
        }
        .modalWindLevels > div {
            padding:10px 8px;
            border:0 !important;
            border-right:1px solid var(--line) !important;
            border-radius:0 !important;
            background:transparent !important;
        }
        .modalWindLevels > div:last-child { border-right:0 !important; }
        .modalWindLevels span { color:#7f92a1; font-size:var(--fs-meta); }
        .modalWindLevels strong { color:#eef3f7; font-size:var(--fs-body); margin:3px 0; }
        .modalWindLevels small { color:#718493; font-size:var(--fs-meta); }

        @media (max-width:760px) {
            .directionTrend { grid-template-columns:1fr !important; }
            .directionTrend .mapStatLabel { font-size:var(--fs-meta) !important; }
            .directionTrendValue { font-size:14px !important; }
            .directionTrendDeg { font-size:14px !important; }
            .radiosondeSectionBreak { height:27px; margin-left:4px; margin-right:4px; }
            .windRegionSondeTime { gap:4px 7px; margin-top:7px; padding-top:6px; }
            .windRegionSondeTime > b { font-size:13px; }
            .sondeModalDialog { width:calc(100vw - 10px); margin:5px; border-radius:13px; }
            .sondeModalHead { padding:12px 12px; }
            .sondeModalHelp { margin:0 12px !important; }
            .sondeModalBody { padding:12px 12px 16px; }
            .modalBriefCard {
                grid-template-columns:1fr;
                gap:3px;
                padding:10px 0;
            }
            .modalBriefCard > span { grid-row:auto; }
            .modalBriefCard > strong { font-size:15px; }
            .modalWindLevels { grid-template-columns:repeat(7,86px); }
        }

        /* v76: kurze Erklärung direkt unter Aktuelle Radiosonden. */
        .radiosondeIntroHelp { margin: 8px 0 12px; }
        .radiosondeIntroHelp + .sondeInstrument { margin-top: 0; }

        /* v74: Aktuelle Radiosonden als ein kompaktes Instrument statt losem Datenstrom. */
        .sondeInstrument {
            margin:0 0 4px;
            border:1px solid var(--line-strong) !important;
            border-radius:16px;
            overflow:hidden;
            background:linear-gradient(180deg, rgba(28,40,51,.82), rgba(19,28,36,.78)) !important;
            box-shadow:0 12px 28px rgba(0,0,0,.14);
        }
        .sondeInstrumentTop {
            display:flex;
            align-items:flex-end;
            justify-content:space-between;
            gap:12px;
            padding:12px 14px 11px;
            border-bottom:1px solid var(--line-strong);
            background:rgba(99,169,230,.035);
        }
        .sondeInstrumentTop > div { min-width:0; }
        .sondeInstrumentTop span {
            display:block;
            color:#7f92a1;
            font-size:var(--fs-meta);
            font-weight:800;
            letter-spacing:.07em;
            text-transform:uppercase;
        }
        .sondeInstrumentTop strong {
            display:block;
            margin-top:2px;
            color:#eef3f7;
            font-size:var(--fs-body);
            letter-spacing:-.01em;
        }
        .sondeInstrumentTop small {
            color:#718493;
            font-size:var(--fs-meta);
            font-weight:700;
            white-space:nowrap;
        }
        .sondeInstrumentList { padding:0; }
        .sondeInstrumentRow {
            display:grid;
            grid-template-columns:minmax(190px,.92fr) minmax(260px,1.35fr);
            gap:16px;
            align-items:center;
            padding:13px 14px;
            border-bottom:1px solid var(--line);
            cursor:pointer;
            transition:background .14s ease;
        }
        .sondeInstrumentRow:last-child { border-bottom:0; }
        .sondeInstrumentRow:hover { background:rgba(255,255,255,.025); }
        .sondeInstrumentLead {
            display:grid;
            grid-template-columns:31px minmax(0,1fr);
            gap:10px;
            align-items:start;
            min-width:0;
        }
        .sondeInstrumentIndex {
            display:grid;
            place-items:center;
            width:29px;
            height:29px;
            margin-top:1px;
            border:1px solid rgba(99,169,230,.52);
            border-radius:50%;
            background:rgba(99,169,230,.09);
            color:#a9d3f5;
            font-size:12px;
            font-weight:900;
            line-height:1;
            box-shadow:inset 0 0 0 3px rgba(99,169,230,.035);
        }
        .sondeInstrumentIdentity { min-width:0; }
        .sondeInstrumentRegion {
            display:block;
            color:#718493;
            font-size:var(--fs-meta);
            font-weight:750;
            line-height:1.2;
        }
        .sondeInstrumentIdentity > strong {
            display:block;
            margin:2px 0 0;
            color:#f0f4f7;
            font-size:15px;
            line-height:1.15;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .sondeInstrumentTime {
            display:flex;
            align-items:baseline;
            flex-wrap:wrap;
            gap:3px 7px;
            margin-top:5px;
            line-height:1.15;
        }
        .sondeInstrumentTime b {
            color:#dce6ee;
            font-size:var(--fs-small);
            font-weight:850;
        }
        .sondeInstrumentTime em {
            color:#748797;
            font-size:var(--fs-meta);
            font-style:normal;
            font-weight:700;
        }
        .sondeInstrumentTime.uncertain b { color:var(--warn); }
        .sondeInstrumentLevels {
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            border-left:1px solid rgba(222,233,242,.07);
            min-width:0;
        }
        .sondeInstrumentLevel {
            min-width:0;
            padding:2px 10px;
            border-right:1px solid rgba(222,233,242,.07);
        }
        .sondeInstrumentLevel:last-child { border-right:0; }
        .sondeInstrumentLevel > span {
            display:block;
            color:#7f92a1;
            font-size:var(--fs-meta);
            font-weight:750;
        }
        .sondeInstrumentLevel > strong {
            display:block;
            margin:3px 0 2px;
            color:#eef3f7;
            font-size:15px;
            line-height:1;
        }
        .sondeInstrumentLevel.ok > strong { color:var(--ok); }
        .sondeInstrumentLevel.warn > strong { color:var(--warn); }
        .sondeInstrumentLevel.bad > strong { color:var(--bad); }
        .sondeInstrumentLevel.none > strong { color:#718390; }
        .sondeInstrumentLevel > small {
            display:block;
            color:#718493;
            font-size:var(--fs-meta);
            line-height:1.2;
        }
        .sondeInstrumentCompare {
            display:grid;
            grid-template-columns:minmax(0,1fr) auto;
            gap:3px 12px;
            align-items:center;
            padding:10px 14px 11px 55px;
            border-top:1px solid var(--line-strong);
            background:rgba(5,10,15,.14);
        }
        .sondeInstrumentCompare > span {
            color:#7f92a1;
            font-size:var(--fs-meta);
            font-weight:800;
            letter-spacing:.035em;
            text-transform:uppercase;
        }
        .sondeInstrumentCompare > strong {
            grid-row:1 / span 2;
            grid-column:2;
            color:#eaf0f4;
            font-size:var(--fs-body);
            white-space:nowrap;
        }
        .sondeInstrumentCompare > strong i {
            margin:0 4px;
            color:var(--blue);
            font-style:normal;
        }
        .sondeInstrumentCompare > small {
            color:#718493;
            font-size:var(--fs-meta);
        }
        .sondeInstrumentEmpty { padding:14px; }

        /* Nach dem kompakten Sondeninstrument beginnt sichtbar ein neuer Themenblock. */
        .radiosondeSectionBreak {
            height:38px !important;
            margin:0 2px 1px !important;
            border-bottom:1px solid rgba(99,169,230,.30) !important;
        }

        @media (max-width:760px) {
            .sondeInstrument { border-radius:14px; }
            .sondeInstrumentTop { padding:10px 11px 9px; }
            .sondeInstrumentTop small { font-size:9px; }
            .sondeInstrumentRow {
                grid-template-columns:1fr;
                gap:10px;
                padding:12px 11px 11px;
            }
            .sondeInstrumentLead { grid-template-columns:30px minmax(0,1fr); gap:9px; }
            .sondeInstrumentIndex { width:28px; height:28px; }
            .sondeInstrumentIdentity > strong { font-size:14px; }
            .sondeInstrumentTime { margin-top:4px; }
            .sondeInstrumentTime b { font-size:11px; }
            .sondeInstrumentLevels {
                border-left:0;
                border-top:1px solid rgba(222,233,242,.07);
                padding-top:8px;
            }
            .sondeInstrumentLevel { padding:0 7px; text-align:center; }
            .sondeInstrumentLevel:first-child { padding-left:0; }
            .sondeInstrumentLevel:last-child { padding-right:0; }
            .sondeInstrumentLevel > strong { font-size:14px; }
            .sondeInstrumentLevel > small { font-size:9px; }
            .sondeInstrumentCompare {
                grid-template-columns:1fr auto;
                padding:9px 11px 10px;
            }
            .sondeInstrumentCompare > strong { font-size:12px; }
            .radiosondeSectionBreak { height:42px !important; }
        }


        /* v75 Release-Check: kompakter Datenstand + neutraler Zustand bei unvollständiger Datenlage */
        .topDataMeta {
            display:flex; align-items:center; gap:6px; flex-wrap:nowrap;
            color:#7f8d9b; font-size:10px; font-weight:650; letter-spacing:.01em;
            white-space:nowrap; align-self:flex-end; padding:2px 0 3px;
        }
        .topDataMeta i { font-style:normal; color:#4b5966; }
        .topDataMeta.stale { color:#d6a84d; }
        .heroBrief.none:before { background:#718096; }
        .heroBrief.none .heroLiveDot { background:#718096; box-shadow:0 0 0 4px rgba(113,128,150,.10); }
        .reportBadge.none { color:#9aa8b6; border-color:rgba(154,168,182,.24); background:rgba(154,168,182,.07); }
        @media (max-width:760px) {
            .topDataMeta { width:auto; max-width:100%; justify-content:flex-start; align-self:auto; margin-top:1px; font-size:9px; flex-wrap:nowrap; white-space:nowrap; }
        }



        /* v85: UI-Polish – mehr Luft in Infotexten, etwas hellerer Dark-Mode,
           klar erkennbare Aufklapper. Reine Darstellung, keine Wetterlogik. */
        :root {
            --bg: #151d25;
            --surface: #1b2630;
            --surface-2: #22303b;
            --surface-soft: rgba(255,255,255,.045);
            --muted: #a7b4bf;
            --muted-2: #8395a4;
            --line: rgba(226,236,244,.14);
            --line-strong: rgba(226,236,244,.22);
        }
        html { background:var(--bg); }
        body {
            background:
                radial-gradient(circle at 45% -90px, rgba(77,132,180,.23), transparent 410px),
                linear-gradient(180deg, #18222c 0, #131b23 100%);
        }

        /* Ein kleines Stück heller, ohne den Dark-Look aufzugeben. */
        .heroBrief {
            background:linear-gradient(180deg, #202c37 0, #1a252f 100%);
            border-color:rgba(226,236,244,.20);
        }
        .sondeInstrument {
            background:linear-gradient(180deg, rgba(35,49,61,.94), rgba(25,36,46,.92)) !important;
        }
        .simpleMap, .realWindMap { border-color:rgba(226,236,244,.22); }
        .profileCouplingReason, .profileStabilityBox, .profileWxMini,
        .sondeModalHelp, .modalBriefCard, .modalReadGuide, .modalWindLevels > div {
            background:rgba(255,255,255,.035);
        }

        /* Infotexte nicht mehr an die linke Kante kleben lassen. */
        .opsHelpBody {
            padding:13px 15px 15px !important;
            color:#b0bcc6;
        }
        .guideGrid > div, .termGrid > div {
            padding:11px 2px !important;
        }
        .helpCaveat {
            padding-left:2px;
            padding-right:2px;
        }
        .sectionExplain, .matrixNoteTop, .iconTopNote {
            padding:11px 13px !important;
            border:1px solid rgba(226,236,244,.11) !important;
            border-radius:10px !important;
            background:rgba(255,255,255,.025) !important;
        }
        .sondeModalHelp .sondeModalDescription {
            padding-left:12px !important;
            padding-right:12px !important;
        }

        /* Info-Zeilen und Haupt-Accordions klar als klickbare Controls darstellen. */
        .opsHelp, .guideHelp {
            border-top:0 !important;
            border-bottom:0 !important;
        }
        .opsHelp summary,
        .sondeSubDetails > summary,
        .profileCardSummary,
        .modelSummary,
        .fastLaneSummary,
        .iconTopSummary,
        .heroWindDetails > summary {
            border:1px solid rgba(226,236,244,.17) !important;
            border-radius:12px !important;
            background:rgba(255,255,255,.045) !important;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
            transition:background .14s ease, border-color .14s ease, transform .08s ease;
        }
        .opsHelp summary:hover,
        .sondeSubDetails > summary:hover,
        .profileCardSummary:hover,
        .modelSummary:hover,
        .fastLaneSummary:hover,
        .iconTopSummary:hover,
        .heroWindDetails > summary:hover {
            background:rgba(99,169,230,.085) !important;
            border-color:rgba(99,169,230,.36) !important;
        }
        .opsHelp[open] > summary,
        .sondeSubDetails[open] > summary,
        .profileCardToggle[open] > summary,
        .iconTopToggle[open] > summary,
        .heroWindDetails[open] > summary {
            background:rgba(99,169,230,.10) !important;
            border-color:rgba(99,169,230,.40) !important;
        }
        .opsHelp summary { padding:10px 12px !important; }
        .guideHelp summary { padding:11px 13px !important; }
        .sondeSubDetails > summary,
        .profileCardSummary,
        .modelSummary,
        .fastLaneSummary,
        .iconTopSummary { padding-left:12px !important; padding-right:12px !important; }

        /* Hauptsektionen wie Kopplung / Wolken / Konvektion: ebenfalls als Buttonfläche. */
        .opsSectionToggle {
            border-top:0 !important;
            margin:8px 0 !important;
        }
        .opsSectionToggle > summary {
            padding:0 12px !important;
            border:1px solid rgba(226,236,244,.18);
            border-radius:13px;
            background:rgba(255,255,255,.045);
            box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
            transition:background .14s ease, border-color .14s ease;
        }
        .opsSectionToggle > summary:hover {
            background:rgba(99,169,230,.085);
            border-color:rgba(99,169,230,.36);
        }
        .opsSectionToggle[open] > summary {
            background:rgba(99,169,230,.10);
            border-color:rgba(99,169,230,.40);
        }
        .opsSectionBody {
            margin:0 8px;
            padding:4px 6px 18px !important;
            border-top:0 !important;
        }
        .opsSectionAction,
        .opsHelp summary em,
        .sondeSubDetails > summary em,
        .iconTopSummaryResult em {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height:22px;
            padding:3px 8px !important;
            border:1px solid rgba(99,169,230,.30);
            border-radius:999px;
            background:rgba(99,169,230,.08);
            color:#91c6f1 !important;
            font-size:9px !important;
            font-style:normal;
            font-weight:800;
            text-transform:uppercase;
            letter-spacing:.045em;
            white-space:nowrap;
        }

        /* Aufklappbare Unterbereiche bekommen etwas Abstand zwischen den Button-Zeilen. */
        .sondeSubDetails { border-bottom:0 !important; margin:7px 0 !important; }
        .sondeSubDetails:first-of-type { border-top:0 !important; }
        .profileCard.profileCardToggle { border-bottom:0 !important; margin:7px 0; }
        .profileCardBody, .sondeSubBody { padding-left:10px !important; padding-right:10px !important; }

        @media (max-width:760px) {
            .opsHelpBody { padding:12px 12px 14px !important; }
            .opsHelp summary, .guideHelp summary { padding-left:11px !important; padding-right:11px !important; }
            .opsSectionToggle > summary { padding-left:10px !important; padding-right:10px !important; }
            .opsSectionBody { margin-left:4px; margin-right:4px; padding-left:4px !important; padding-right:4px !important; }
            .sondeSubDetails > summary,
            .profileCardSummary,
            .modelSummary,
            .fastLaneSummary,
            .iconTopSummary { padding-left:10px !important; padding-right:10px !important; }
            .profileCardBody, .sondeSubBody { padding-left:8px !important; padding-right:8px !important; }
        }


        /* v87: iOS-inspirierte Graphite Grouped-UI.
           Formensprache aus v86 bleibt erhalten, der helle Untergrund wird bewusst
           auf ein mittleres Graphitniveau zurückgenommen, damit Warnfarben und
           Profilgrafiken wieder klarer hervortreten. Reines Styling. */
        :root {
            --bg: #242a31;
            --card: #323942;
            --card2: #2c3239;
            --surface: #343b44;
            --surface-2: #2c3239;
            --surface-soft: rgba(52,59,68,.82);
            --text: #f1f4f7;
            --muted: #aeb8c2;
            --muted-2: #7f8b96;
            --line: rgba(255,255,255,.085);
            --line-strong: rgba(255,255,255,.14);
            --blue: #68adff;
            --ok: #48d18d;
            --caution: #a4c26a;
            --warn: #ffb347;
            --bad: #ff626b;
        }
        html { background:var(--bg); color-scheme:dark; }
        body {
            color:var(--text);
            background:
                radial-gradient(900px 360px at 50% -120px, rgba(107,132,158,.16), rgba(107,132,158,0) 72%),
                linear-gradient(180deg, #2d343d 0, #272d35 310px, #242a31 100%);
        }
        .wrap { width:min(1180px, calc(100vw - 28px)); padding-top:21px; }
        .brandKicker { color:var(--blue); }
        .titleStack h1 { color:#f7f9fb; letter-spacing:-.035em; }
        .titleStack .sub strong { color:#b9c3cc; }
        .titleStack .sub span, .topDataMeta { color:#8996a2; }
        .topDataMeta i { color:#66737f; }
        .topDataMeta.stale { color:#ffc15c; }

        /* Grundflächen: Apple-typisch gruppiert statt Dark-Dashboard. */
        .card,
        .opsPanel,
        .modelCard,
        .fastLaneCard,
        .realMapCard,
        .overviewToggleCard {
            background:rgba(50,57,66,.94) !important;
            border:1px solid rgba(255,255,255,.075) !important;
            border-radius:19px !important;
            box-shadow:0 1px 1px rgba(0,0,0,.10), 0 10px 30px rgba(0,0,0,.16) !important;
        }
        .card { overflow:hidden; }
        .card.reportCard {
            background:transparent !important;
            border:0 !important;
            border-radius:0 !important;
            box-shadow:none !important;
            margin-bottom:28px;
            overflow:visible;
        }
        .heroBrief {
            background:rgba(52,59,68,.94) !important;
            border:1px solid rgba(255,255,255,.075) !important;
            border-radius:22px !important;
            box-shadow:0 1px 1px rgba(0,0,0,.10), 0 16px 42px rgba(0,0,0,.20) !important;
            backdrop-filter:blur(18px) saturate(118%);
            -webkit-backdrop-filter:blur(18px) saturate(118%);
        }
        .heroEyebrow { color:#8f9ba6; }
        .heroStatus, .heroForecastTitle, .heroLiveLine strong,
        .heroZoneHead strong, .heroZonePeriod strong, .heroStructureLine strong,
        .heroDomainDetailsBody b { color:#f0f4f7; }
        .heroLiveLine, .heroForecastText, .heroForecastMeta, .heroSpatialNote, .heroLowerNote,
        .heroSourceLine, .heroZonePoints, .heroStructureLine,
        .heroDomainDetails summary, .heroDomainDetailsBody { color:var(--muted); }
        .heroLiveLine, .heroForecast, .heroWindDetails, .heroDomainDetails { border-color:var(--line) !important; }
        .heroZone, .heroZoneLevel, .heroEdgeLive { border-color:var(--line) !important; }
        .heroZonePeriod, .heroEdgeLiveChip { border-color:rgba(255,255,255,.07) !important; }
        .heroZonePeriod span, .heroZoneHead span, .heroEdgeLiveLabel,
        .heroEdgeLiveChip em { color:#909da8; }
        .heroEdgeLiveChip, .heroEdgeLiveChip b, .heroEdgeLiveChip span { color:#dce3e9; }
        .heroConfidence { background:#2c3239; }
        .heroConfidenceWhyBox { background:#39414a; color:#e8edf1; border-color:var(--line); box-shadow:0 18px 42px rgba(0,0,0,.28); }

        /* Intro / Info wie eine iOS-Settings-Gruppe. */
        .windcheckGuideIntro {
            margin:8px 0 20px !important;
            padding:0 !important;
            border:1px solid rgba(255,255,255,.075) !important;
            border-radius:18px !important;
            background:rgba(50,57,66,.90) !important;
            box-shadow:0 1px 1px rgba(0,0,0,.08), 0 8px 24px rgba(0,0,0,.12);
            overflow:hidden;
            backdrop-filter:blur(16px) saturate(115%);
            -webkit-backdrop-filter:blur(16px) saturate(115%);
        }
        .windcheckGuideIntro .guideHelp,
        .opsHelp, .guideHelp {
            margin:0 !important;
            border:0 !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
        }
        .opsHelp summary, .guideHelp summary {
            padding:14px 16px !important;
            border:0 !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
            color:#edf2f5 !important;
            min-height:48px;
        }
        .opsHelp summary:hover, .guideHelp summary:hover { background:rgba(255,255,255,.04) !important; }
        .opsHelp[open] > summary, .guideHelp[open] > summary { background:rgba(255,255,255,.028) !important; }
        .opsHelpMark { color:var(--blue) !important; background:rgba(104,173,255,.10) !important; border-color:rgba(104,173,255,.24) !important; }
        .opsHelp summary:after, .guideHelp summary:after { color:#8997a3 !important; font-size:12px; }
        .opsHelp summary em, .guideHelp summary em {
            margin-left:auto;
            min-height:0;
            padding:0 !important;
            border:0 !important;
            border-radius:0 !important;
            background:transparent !important;
            color:#8997a3 !important;
            font-size:9px !important;
            font-weight:650 !important;
            letter-spacing:.025em !important;
        }
        .opsHelpBody {
            border-top:1px solid var(--line) !important;
            padding:14px 16px 16px !important;
            color:#b3bdc6 !important;
            background:rgba(37,43,50,.62);
        }
        .opsHelpBody strong { color:#eef3f6 !important; }
        .guideGrid { gap:8px !important; }
        .guideGrid > div, .termGrid > div {
            padding:11px 12px !important;
            border:0 !important;
            border-radius:12px !important;
            background:rgba(255,255,255,.035) !important;
        }
        .guideGrid strong, .termGrid strong { color:#edf2f5 !important; }
        .guideGrid span, .termGrid span { color:#aeb8c2 !important; }
        .helpCaveat { padding:10px 2px 0 !important; border-top-color:var(--line) !important; color:#aeb8c2 !important; }

        /* Überschriften ohne den harten Strich direkt darüber. */
        .opsDashboardTitle {
            margin:34px 4px 11px !important;
            padding:0 !important;
            border:0 !important;
        }
        .opsDashboardTitle:before { display:none !important; }
        .opsDashboardTitle h2, .radiosondeDashboardTitle h2 { color:#f1f4f7 !important; letter-spacing:-.025em; }

        /* Haupt-Aufklapper: Settings-Zeile statt Button. */
        .opsPanel { margin:0 0 14px !important; overflow:hidden !important; }
        .opsPanel + .opsPanel { border-top:1px solid rgba(255,255,255,.075) !important; }
        .opsSectionToggle { border:1px solid rgba(255,255,255,.075) !important; }
        .opsSectionToggle > summary,
        .iconTopSummary,
        .modelSummary,
        .fastLaneSummary,
        .heroWindDetails > summary {
            padding:14px 16px !important;
            border:0 !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
            min-height:58px;
            transition:background .12s ease !important;
        }
        .opsSectionToggle > summary:hover,
        .iconTopSummary:hover,
        .modelSummary:hover,
        .fastLaneSummary:hover,
        .heroWindDetails > summary:hover { background:rgba(255,255,255,.04) !important; }
        .opsSectionToggle[open] > summary,
        .iconTopToggle[open] > summary,
        .heroWindDetails[open] > summary { background:rgba(60,60,67,.022) !important; }
        .opsSectionAction,
        .iconTopSummaryResult em,
        .sondeSubDetails > summary em {
            display:inline-flex;
            align-items:center;
            min-height:0;
            padding:0 !important;
            border:0 !important;
            border-radius:0 !important;
            background:transparent !important;
            color:#8f9ca7 !important;
            font-size:9px !important;
            font-weight:650 !important;
            letter-spacing:.025em !important;
            text-transform:none !important;
        }
        .opsSectionAction:after,
        .sondeSubDetails > summary em:after,
        .iconTopSummaryResult em:after { content:'  ›'; color:#74818c; font-size:17px; line-height:1; margin-left:5px; }
        .opsSectionToggle[open] .opsSectionAction:after,
        .sondeSubDetails[open] > summary em:after,
        .iconTopToggle[open] .iconTopSummaryResult em:after { content:'  ⌄'; font-size:14px; }
        .opsPanelHead { padding:15px 16px 10px !important; border:0 !important; }
        .opsKicker { color:#8695a1 !important; }
        .opsPanelHead h2, .opsHeadlineMetric strong { color:#f0f4f7 !important; }
        .opsPanelDescription { color:#a5b0ba !important; padding-left:16px !important; padding-right:16px !important; }
        .opsSectionBody {
            margin:0 !important;
            padding:0 16px 18px !important;
            border-top:1px solid var(--line) !important;
            background:rgba(38,44,51,.62);
        }
        .sectionExplain, .matrixNoteTop, .iconTopNote {
            margin:13px 0 0 !important;
            padding:11px 12px !important;
            border:0 !important;
            border-radius:12px !important;
            background:#2c333a !important;
            color:#aab5be !important;
        }
        .sectionExplain strong { color:#edf2f5 !important; }

        /* Sondenbereich als große Grouped-Card. */
        .card.radiosonde {
            margin-top:30px !important;
            padding:17px 16px 16px !important;
            border:1px solid rgba(255,255,255,.075) !important;
            border-radius:20px !important;
            background:rgba(50,57,66,.94) !important;
            box-shadow:0 1px 2px rgba(30,39,48,.025), 0 10px 30px rgba(30,39,48,.045) !important;
        }
        .card.radiosonde:before { display:none !important; }
        .radiosondeDashboardTitle { margin:0 0 10px !important; }
        .sondeInstrument {
            border:1px solid rgba(60,60,67,.09) !important;
            border-radius:16px !important;
            background:#2c3239 !important;
            box-shadow:none !important;
        }
        .sondeInstrumentTop { background:rgba(255,255,255,.026) !important; border-bottom-color:var(--line) !important; }
        .sondeInstrumentTop span, .sondeInstrumentRegion, .sondeInstrumentTime em,
        .sondeInstrumentLevel > span, .sondeInstrumentLevel > small { color:#8f9ca7 !important; }
        .sondeInstrumentTop strong, .sondeInstrumentIdentity > strong,
        .sondeInstrumentTime b, .sondeInstrumentLevel > strong { color:#eef3f6 !important; }
        .sondeInstrumentRow { border-bottom-color:var(--line) !important; }
        .sondeInstrumentRow:hover { background:rgba(60,60,67,.028) !important; }
        .sondeInstrumentIndex { background:rgba(104,173,255,.10) !important; color:var(--blue) !important; border-color:rgba(104,173,255,.18) !important; }

        /* Untermenüs im Sondenbereich: echte Settings-Zeilen, keine einzelnen Buttons. */
        .sondeSubDetails {
            margin:0 !important;
            border:0 !important;
            border-top:1px solid var(--line) !important;
            border-radius:0 !important;
            background:transparent !important;
        }
        .sondeSubDetails:first-of-type { margin-top:12px !important; }
        .sondeSubDetails > summary {
            padding:13px 2px !important;
            border:0 !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
            min-height:52px;
        }
        .sondeSubDetails > summary:hover { background:rgba(255,255,255,.028) !important; }
        .sondeSubDetails > summary strong { color:#edf2f5 !important; }
        .sondeSubDetails > summary small { color:#83919d !important; }
        .sondeSubBody { border-top:1px solid var(--line) !important; padding:13px 2px 17px !important; }
        .advancedInterpretation { color:#aab5be !important; border-color:var(--line) !important; }

        /* Einzelprofile als sehr dezente Sekundärflächen. */
        .profileCard.profileCardToggle {
            margin:8px 0 !important;
            border:1px solid rgba(60,60,67,.09) !important;
            border-radius:14px !important;
            background:#2b3138 !important;
            overflow:hidden;
        }
        .profileCardSummary {
            padding:12px 13px !important;
            border:0 !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
        }
        .profileCardSummary:hover { background:rgba(255,255,255,.028) !important; }
        .profileCardTitle strong { color:#eef3f6 !important; }
        .profileCardTitle small, .profileCardSignals i { color:#8e9aa5 !important; }
        .profileCardSignals i { background:#353c45 !important; border-color:rgba(255,255,255,.07) !important; }
        .profileCardSignals b { color:var(--blue) !important; }
        .profileCardBody { border-top:1px solid var(--line) !important; padding:13px !important; background:#303740; }
        .profileCouplingReason, .profileStabilityBox, .profileWxMini,
        .modalBriefCard, .modalReadGuide, .modalWindLevels > div {
            background:#2c3239 !important;
            border-color:var(--line) !important;
        }
        .profileReason { color:#aab5be !important; border-top-color:var(--line) !important; }
        .profileReason b { color:#edf2f5 !important; }

        /* Karten / Stationsbereiche hell, Statusfarben bleiben unangetastet. */
        .modelCard, .fastLaneCard, .realMapCard, .overviewToggleCard { margin-bottom:14px !important; overflow:hidden; }
        .modelSummary, .cardHead, .modelTitle, .cardHead strong { color:#eef3f6 !important; }
        .modelBadge, .modelContent { color:#a4afb9 !important; }
        .modelContent, .summary, th, td { border-color:var(--line) !important; }
        .simpleMap, .realWindMap {
            border:1px solid rgba(60,60,67,.12) !important;
            border-radius:16px !important;
            box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
            background:#303740 !important;
        }
        .realWindMap .leaflet-tile-pane { filter:grayscale(16%) brightness(82%) contrast(106%) saturate(76%) !important; }
        .realWindMap .leaflet-control-attribution { background:rgba(30,35,41,.90) !important; color:#8d9aa5 !important; }
        .realWindMap .leaflet-control-attribution a { color:#83b6e5 !important; }
        .metric .value, .station, .mapStatMain strong, .directionTrendValue { color:#eef3f6 !important; }
        th { background:#2c3239 !important; color:#8f9ca7 !important; }
        tr:hover td { background:rgba(255,255,255,.025) !important; }
        .directionTrend { background:#2b333c !important; border-color:var(--line) !important; }
        .directionCompass { background:#353c45 !important; border-color:rgba(104,173,255,.24) !important; }
        .directionCompass::before, .directionCompass::after { background:rgba(104,173,255,.20) !important; }

        /* Modal ebenfalls hell statt separatem Dark-Universum. */
        .sondeModalDialog {
            background:#2c3239 !important;
            color:var(--text) !important;
            border-color:rgba(255,255,255,.12) !important;
            box-shadow:0 28px 80px rgba(0,0,0,.42) !important;
        }
        .sondeModalHead { background:rgba(50,57,66,.94) !important; border-bottom-color:var(--line) !important; }
        .sondeModalHeadCopy span { color:#8f9ca7 !important; }
        .sondeModalHeadCopy h2 { color:#f1f4f7 !important; }
        .sondeModalClose { background:#343b44 !important; color:#dce4ea !important; border-color:var(--line) !important; }
        .sondeModalHelp { background:#353c45 !important; border-color:var(--line) !important; }
        .sondeModalHelp summary strong, .modalBriefCard > strong, .modalReadGuide strong, .modalWindLevels strong { color:#edf2f5 !important; }
        .sondeModalHelp .sondeModalDescription { color:#aeb8c2 !important; border-top-color:var(--line) !important; }
        .sondeProfileGraphic, .modalProfileGraph .sondeProfileGraphic { background:#353c45 !important; border-color:var(--line) !important; }

        /* Warnungen bleiben semantisch, aber nicht neon. */
        .alert { border-color:rgba(255,179,71,.28) !important; background:rgba(255,179,71,.08) !important; color:#ffd291 !important; }

        @media (max-width:760px) {
            .wrap { width:calc(100vw - 18px); padding-top:13px; }
            .top { margin-left:3px; margin-right:3px; }
            .windcheckGuideIntro { margin-left:0 !important; margin-right:0 !important; }
            .heroBrief { border-radius:18px !important; }
            .opsDashboardTitle { margin:30px 3px 10px !important; }
            .opsPanel, .card.radiosonde, .modelCard, .fastLaneCard, .realMapCard, .overviewToggleCard { border-radius:16px !important; }
            .opsHelp summary, .guideHelp summary { padding:13px 13px !important; }
            .opsHelpBody { padding:13px 13px 15px !important; }
            .guideGrid { grid-template-columns:1fr !important; }
            .opsSectionToggle > summary, .iconTopSummary, .modelSummary, .fastLaneSummary { padding:13px 13px !important; }
            .opsSectionBody { padding:0 13px 15px !important; }
            .card.radiosonde { padding:15px 13px 14px !important; }
            .profileCardBody { padding:12px !important; }
            .simpleMap, .realWindMap { border-radius:14px !important; }
        }


        /* v87: Statusfarben und Graphen bewusst wieder kontrastreicher. */
        .reportBadge.ok, .compareBadge.ok, .iconVerifyBadge.ok,
        .heroZonePeriod.ok strong, .mapStationStat.ok .mapStatMain strong { color:var(--ok) !important; }
        .reportBadge.caution { color:var(--caution) !important; }
        .reportBadge.warn, .compareBadge.warn, .iconVerifyBadge.warn,
        .heroZonePeriod.warn strong, .mapStationStat.warn .mapStatMain strong { color:var(--warn) !important; }
        .reportBadge.bad, .compareBadge.bad, .iconVerifyBadge.bad,
        .heroZonePeriod.bad strong, .mapStationStat.bad .mapStatMain strong { color:var(--bad) !important; }
        .heroBrief.ok:before { background:var(--ok) !important; }
        .heroBrief.caution:before { background:var(--caution) !important; }
        .heroBrief.warn:before { background:var(--warn) !important; }
        .heroBrief.bad:before { background:var(--bad) !important; }
        .heroBrief.ok .heroLiveDot { background:var(--ok) !important; box-shadow:0 0 0 4px rgba(72,209,141,.11) !important; }
        .heroBrief.caution .heroLiveDot { background:var(--caution) !important; box-shadow:0 0 0 4px rgba(164,194,106,.12) !important; }
        .heroBrief.warn .heroLiveDot { background:var(--warn) !important; box-shadow:0 0 0 4px rgba(255,179,71,.12) !important; }
        .heroBrief.bad .heroLiveDot { background:var(--bad) !important; box-shadow:0 0 0 4px rgba(255,98,107,.12) !important; }
        .windStrengthTrack, .convMeter, .regionalWindBar { background:rgba(255,255,255,.08) !important; }
        .sondeProfileGraphic text, .modalProfileGraph text { fill:#aeb8c2; }


        /* v88: Mobile/Detail-Finish nach iPhone-Check. */
        /* Zwischen Höhenwind und Kopplung nur Luft, kein Strich direkt am nächsten Control. */
        .radiosondeSectionBreak {
            height:28px !important;
            margin:0 !important;
            border:0 !important;
        }
        .radiosondeSectionBreak + .opsSectionToggle { margin-top:0 !important; }

        /* Sonden-Windwerte müssen die operative Warnfarbe behalten. */
        .sondeInstrumentLevel.ok > strong { color:var(--ok) !important; }
        .sondeInstrumentLevel.warn > strong { color:var(--warn) !important; }
        .sondeInstrumentLevel.bad > strong { color:var(--bad) !important; }
        .sondeInstrumentLevel.none > strong { color:#7f8d99 !important; }

        /* Stationskarte bekommt denselben Kapitel-Akzent wie die Fast Lane. */
        .realMapCard { position:relative; }
        .realMapCard > .mapCardHead {
            position:relative;
            padding-left:16px !important;
        }
        .realMapCard > .mapCardHead::before {
            content:"";
            position:absolute;
            left:0;
            top:14px;
            width:3px;
            height:26px;
            border-radius:3px;
            background:linear-gradient(180deg, var(--blue), rgba(99,169,230,.20));
        }
        .realMapCard .mapHeadTitle { padding-left:0 !important; }

        /* Forecast-Detailzeile auf kleinen Displays: kurz und einzeilig. */
        @media (max-width:760px) {
            .heroWindDetails > summary {
                display:grid !important;
                grid-template-columns:auto minmax(0,1fr) auto !important;
                gap:8px !important;
                align-items:center !important;
            }
            .heroWindDetails > summary > span {
                white-space:nowrap !important;
            }
            .heroWindDetails > summary > small {
                min-width:0 !important;
                white-space:nowrap !important;
                overflow:hidden !important;
                text-overflow:ellipsis !important;
                font-size:8.5px !important;
                text-align:right !important;
            }
            .radiosondeSectionBreak { height:24px !important; }
            .realMapCard > .mapCardHead { padding-left:13px !important; }
            .realMapCard > .mapCardHead::before { top:13px; height:24px; }
        }


        /* v90: iPhone-Fix für geöffneten Live-Stationsüberblick.
           Nur die Tabelle darf horizontal breiter sein; sie darf niemals
           die Breite von Card, Wrap oder Seite vergrößern. Reines UI/CSS. */
        html, body {
            max-width:100%;
            overflow-x:hidden;
        }
        .wrap,
        .overviewToggleCard,
        .overviewToggleContent,
        .overviewToggleContent > *,
        .tableScroll {
            min-width:0 !important;
            max-width:100% !important;
            box-sizing:border-box !important;
        }
        .overviewToggleCard {
            width:100% !important;
            contain:inline-size;
        }
        .overviewToggleCard > summary,
        .overviewToggleContent {
            width:100% !important;
            min-width:0 !important;
            max-width:100% !important;
            box-sizing:border-box !important;
        }
        .overviewToggleCard .summaryCopy,
        .overviewToggleCard .modelTitle,
        .overviewToggleCard .stationDetailTitle,
        .overviewToggleCard .summary,
        .overviewToggleCard .metric {
            min-width:0 !important;
        }
        .tableScroll {
            display:block !important;
            width:100% !important;
            overflow-x:auto !important;
            overflow-y:hidden !important;
            -webkit-overflow-scrolling:touch;
            overscroll-behavior-x:contain;
            touch-action:pan-x pan-y;
        }
        .tableScroll .overviewTable {
            width:780px !important;
            min-width:780px !important;
            max-width:none !important;
            table-layout:fixed !important;
        }
        .overviewTable th:nth-child(1), .overviewTable td:nth-child(1) { width:34% !important; }
        .overviewTable th:nth-child(2), .overviewTable td:nth-child(2) { width:14% !important; }
        .overviewTable th:nth-child(3), .overviewTable td:nth-child(3) { width:13% !important; }
        .overviewTable th:nth-child(4), .overviewTable td:nth-child(4) { width:13% !important; }
        .overviewTable th:nth-child(5), .overviewTable td:nth-child(5) { width:26% !important; }
        .overviewTable td,
        .overviewTable .station,
        .overviewTable .small,
        .overviewTable .compareInlineDetail,
        .overviewTable .compareDetail {
            overflow-wrap:anywhere;
            word-break:normal;
        }
        .overviewTable .compareBadge {
            white-space:normal !important;
            line-height:1.2;
        }

        @media (max-width:760px) {
            .overviewToggleCard {
                width:100% !important;
                max-width:100% !important;
                overflow:hidden !important;
            }
            .overviewToggleContent {
                overflow:hidden !important;
            }
            .tableScroll {
                margin-left:0 !important;
                margin-right:0 !important;
                padding:0 !important;
                border-radius:0 0 14px 14px;
            }
            .tableScroll .overviewTable {
                width:720px !important;
                min-width:720px !important;
            }
            .overviewToggleCard .modelSummary {
                display:flex !important;
                min-width:0 !important;
                gap:8px !important;
            }
            .overviewToggleCard .summaryCopy {
                flex:1 1 auto !important;
                min-width:0 !important;
            }
            .overviewToggleCard .modelBadge {
                flex:0 0 auto !important;
            }
        }



        /* v92: finaler Mobile-Polish. */
        @media (max-width:760px) and (pointer:coarse) {
            /* Ein-Finger-Scroll bleibt bei der Seite; zwei Finger bedienen Leaflet. */
            .realWindMap {
                touch-action: pan-y !important;
            }

            /* Kapitel "Detaillierte Sondenprofile" optisch näher an den vorherigen Block ziehen. */
            .card.radiosonde {
                margin-top:18px !important;
                padding-top:10px !important;
            }
            .radiosondeDashboardTitle {
                margin-top:0 !important;
                margin-bottom:8px !important;
            }
        }


        /* v93: Mobile-Polish für Header im geöffneten Stationsüberblick. */
        @media (max-width:760px) {
            .overviewToggleCard .stationDetailHead {
                padding:13px 12px 11px !important;
                margin:0 !important;
                box-sizing:border-box !important;
            }
            .overviewToggleCard .stationDetailTitle {
                display:block !important;
                width:100% !important;
                min-width:0 !important;
            }
            .overviewToggleCard .stationDetailTitle > strong {
                display:block !important;
                margin:0 !important;
                line-height:1.2 !important;
            }
            .overviewToggleCard .stationDetailTitle > .small {
                display:block !important;
                margin-top:4px !important;
                line-height:1.35 !important;
            }
            .overviewToggleCard .stationDetailHead .mapWindowSwitch {
                margin-top:10px !important;
            }
        }


        /* v97: VFR Guide Logo frei und größer – transparent ohne Button/Plate */
        .vfrBrandLink {
            display:inline-flex;
            width:max-content;
            max-width:100%;
            margin:0 0 9px;
            text-decoration:none;
            outline:none;
        }
        .vfrBrandPlate {
            display:inline-flex;
            align-items:center;
            justify-content:flex-start;
            padding:0;
            background:transparent;
            border:0;
            border-radius:0;
            box-shadow:none;
        }
        .vfrBrandPlate img {
            display:block;
            width:auto;
            max-width:205px;
            height:38px;
            object-fit:contain;
        }
        .vfrBrandLink:hover .vfrBrandPlate {
            background:transparent;
            transform:none;
        }
        .vfrBrandLink:hover img { opacity:.88; }
        .vfrBrandLink:focus-visible {
            border-radius:6px;
            box-shadow:0 0 0 3px rgba(93,171,255,.28);
        }
        /* v100: WINDCHECK-Logo ersetzt den bisherigen Texttitel und nutzt die Headerbreite. */
        .titleStack {
            flex:1 1 auto;
            min-width:0;
        }
        .windcheckWordmark {
            display:block;
            width:min(760px, 100%);
            margin:2px 0 8px;
            line-height:0;
        }
        .windcheckWordmark img {
            display:block;
            width:100%;
            height:auto;
            object-fit:contain;
        }
        .titleStack .sub {
            display:flex;
            align-items:baseline;
            flex-wrap:wrap;
            gap:0;
        }
        .titleStack .sub span {
            font-weight:600;
        }

        .guideOrigin {
            margin:0 0 12px;
            padding:12px 13px;
            border-radius:13px;
            background:rgba(255,255,255,.045);
            box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);
        }
        .guideOrigin > strong {
            display:block;
            margin:0 0 6px;
            color:#eef4f8;
            font-size:11px;
            letter-spacing:.01em;
        }
        .guideOrigin p {
            margin:0;
            color:#aeb9c2;
            font-size:10px;
            line-height:1.55;
        }
        .guideOrigin p + p {
            margin-top:7px;
        }

        /* v99: Hervorhebungen innerhalb laufender Infotexte bleiben inline. */
        .guideGrid span strong, .termGrid span strong {
            display:inline !important;
            margin:0 !important;
            font-size:inherit !important;
        }

        .vfrGuideFooter {
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:18px;
            margin:18px 0 4px;
            padding:15px 16px;
            border-radius:18px;
            background:rgba(255,255,255,.045);
            box-shadow:inset 0 0 0 1px rgba(255,255,255,.05), 0 10px 28px rgba(0,0,0,.10);
        }
        .vfrGuideFooterCopy {
            min-width:0;
        }
        .vfrGuideFooterCopy > span {
            display:block;
            margin-bottom:3px;
            color:var(--blue);
            font-size:9px;
            font-weight:850;
            letter-spacing:.10em;
            text-transform:uppercase;
        }
        .vfrGuideFooterCopy strong {
            display:block;
            color:#edf2f5;
            font-size:12px;
            line-height:1.35;
        }
        .vfrGuideFooterCopy p {
            margin:4px 0 0;
            color:#8997a3;
            font-size:9px;
            line-height:1.45;
        }
        .vfrGuideFooterLink {
            flex:none;
            display:inline-flex;
            align-items:center;
            gap:7px;
            padding:8px 10px;
            border-radius:11px;
            background:rgba(255,255,255,.055);
            color:#dce9f3;
            text-decoration:none;
            font-size:10px;
            font-weight:750;
            white-space:nowrap;
        }
        .vfrGuideFooterLink span {
            color:var(--blue);
            font-size:16px;
            line-height:1;
        }
        .vfrGuideFooterLink {
            position:relative;
            z-index:2;
            touch-action:manipulation;
            -webkit-tap-highlight-color:rgba(143,196,255,.14);
        }
        @media (hover:hover) and (pointer:fine) {
            .vfrGuideFooterLink:hover {
                background:rgba(255,255,255,.085);
            }
        }
        @media (hover:none), (pointer:coarse) {
            .vfrGuideFooterLink:hover {
                background:rgba(255,255,255,.055);
            }
            .vfrGuideFooterLink:active {
                background:rgba(255,255,255,.085);
            }
        }

        @media (max-width:760px) {
            .vfrBrandPlate { padding:0; }
            .vfrBrandPlate img { max-width:178px; height:33px; }
            .windcheckWordmark { width:100%; margin-top:1px; margin-bottom:7px; }
            .titleStack .sub span { display:none; }
            .guideOrigin { padding:11px 12px; }
            .guideOrigin p { font-size:10px; }
            .vfrGuideFooter {
                align-items:flex-start;
                flex-direction:column;
                gap:10px;
                padding:14px;
            }
            .vfrGuideFooterLink {
                align-self:stretch;
                justify-content:space-between;
            }
        }



        /* v109: Stationswerte >12 h bleiben in der Liste nachvollziehbar, verschwinden aber von den Karten und aus den Wertspalten. */
        .stationVeryStale td {
            opacity:.74;
        }
        .stationVeryStaleNote {
            margin-top:6px;
            color:#9aa7b4;
            font-size:9px;
            line-height:1.45;
            font-weight:700;
        }

        /* v106: Austro Control Flugwetter direkt unter der aktuellen Einschätzung */
        .austroWeatherCard {
            margin:14px 0 18px;
            padding:0;
            border-radius:16px;
            background:rgba(255,255,255,.035);
            box-shadow:inset 0 0 0 1px rgba(255,255,255,.065);
            overflow:hidden;
        }
        .austroWeatherToggle summary {
            list-style:none;
            cursor:pointer;
        }
        .austroWeatherToggle summary::-webkit-details-marker { display:none; }
        .austroWeatherSummary {
            display:block;
            padding:14px 15px 15px;
        }
        .austroWeatherBody {
            padding:0 15px 15px;
        }
        .austroWeatherHead {
            display:flex;
            align-items:flex-start;
            justify-content:space-between;
            gap:14px;
        }
        .austroWeatherHead > div {
            min-width:0;
            flex:1 1 auto;
        }
        .austroEyebrow {
            color:#8fc4ff;
            font-size:9px;
            line-height:1.25;
            font-weight:850;
            letter-spacing:.09em;
            text-transform:uppercase;
        }
        .austroWeatherHead h2 {
            margin:3px 0 0;
            color:#eef4f8;
            font-size:17px;
            line-height:1.2;
            letter-spacing:-.02em;
        }
        .austroMeta {
            display:flex;
            flex-wrap:wrap;
            gap:4px 10px;
            margin-top:5px;
            color:#8998a7;
            font-size:9px;
            line-height:1.4;
        }
        .austroToggleHint {
            flex:none;
            width:28px;
            height:28px;
            margin-top:3px;
            border-radius:9px;
            display:grid;
            place-items:center;
            background:rgba(255,255,255,.045);
            box-shadow:inset 0 0 0 1px rgba(255,255,255,.065);
        }
        .austroToggleHint::before {
            content:'›';
            display:block;
            color:#9fb1c1;
            font-size:20px;
            line-height:1;
            font-weight:500;
            transform:rotate(90deg);
            transition:transform .18s ease, color .18s ease;
        }
        .austroWeatherToggle[open] .austroToggleHint::before {
            transform:rotate(-90deg);
            color:#d6e1eb;
        }
        .austroTopMetaRow {
            display:flex;
            align-items:flex-start;
            justify-content:space-between;
            gap:12px;
            margin-top:2px;
        }
        .austroSourceLink {
            flex:none;
            color:#a9cbea;
            font-size:9px;
            font-weight:800;
            text-decoration:none;
            white-space:nowrap;
            padding:6px 8px;
            border-radius:9px;
            background:rgba(143,196,255,.07);
            box-shadow:inset 0 0 0 1px rgba(143,196,255,.11);
        }
        .austroScopeNote {
            margin-top:0;
            padding:8px 9px;
            border-radius:9px;
            color:#9cabba;
            background:rgba(255,255,255,.025);
            font-size:9px;
            line-height:1.45;
        }
        .austroSections {
            display:grid;
            grid-template-columns:repeat(2,minmax(0,1fr));
            gap:8px;
            margin-top:9px;
        }
        .austroSection {
            min-width:0;
            padding:10px 11px;
            border-radius:11px;
            background:rgba(255,255,255,.028);
            box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);
        }
        .austroSection.weatherFocus {
            box-shadow:inset 3px 0 0 rgba(103,175,244,.75), inset 0 0 0 1px rgba(103,175,244,.08);
        }
        .austroSection.windFocus {
            box-shadow:inset 3px 0 0 rgba(228,169,60,.80), inset 0 0 0 1px rgba(228,169,60,.10);
        }
        .austroSection h3 {
            margin:0 0 5px;
            color:#dce7f0;
            font-size:9px;
            line-height:1.25;
            letter-spacing:.045em;
            text-transform:uppercase;
        }
        .austroSection p {
            margin:0;
            color:#aeb9c4;
            font-size:10px;
            line-height:1.5;
        }
        .austroFooterText {
            margin-top:9px;
            padding-top:8px;
            border-top:1px solid rgba(255,255,255,.065);
            color:#788997;
            font-size:8px;
            line-height:1.45;
        }
        .austroUnavailable {
            margin-top:10px;
            padding:10px 11px;
            border-radius:10px;
            background:rgba(228,169,60,.055);
            box-shadow:inset 0 0 0 1px rgba(228,169,60,.13);
            color:#d7b66d;
            font-size:10px;
            line-height:1.45;
        }
        @media (max-width:760px) {
            .austroWeatherSummary { padding:13px 13px 14px; }
            .austroWeatherBody { padding:0 13px 14px; }
            .austroWeatherHead { flex-direction:row; align-items:flex-start; gap:10px; }
            .austroWeatherHead h2 { font-size:17px; line-height:1.18; }
            .austroEyebrow { font-size:9px; }
            .austroMeta { display:grid; grid-template-columns:1fr; gap:2px; margin-top:6px; font-size:9px; }
            .austroToggleHint { width:30px; height:30px; margin-top:2px; }
            .austroTopMetaRow { flex-direction:column; gap:8px; }
            .austroSourceLink { align-self:flex-start; }
            .austroSections { grid-template-columns:1fr; }
        }


        /* v114: schlichtes mobiles Sprungmenü. Desktop bleibt bewusst unverändert. */
        .mobileJumpMenu { display:none; }
        .jumpSectionAnchor {
            display:block;
            width:0;
            height:0;
            overflow:hidden;
            pointer-events:none;
        }
        #section-assessment,
        #section-current-sondes,
        #section-airports-valley,
        #section-fastlane,
        #section-station-map,
        #section-live-stations,
        #section-detailed-sondes {
            scroll-margin-top:64px;
        }

        @media (max-width:760px) {
            .mobileJumpMenu {
                display:block;
                position:fixed;
                top:10px;
                right:10px;
                z-index:5000;
                width:max-content;
                max-width:calc(100vw - 20px);
                font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
            }
            .mobileJumpMenu > summary {
                list-style:none !important;
                display:flex !important;
                align-items:center !important;
                gap:7px !important;
                min-height:36px !important;
                padding:8px 10px !important;
                margin:0 !important;
                border:1px solid rgba(255,255,255,.09) !important;
                border-radius:11px !important;
                background:rgba(24,31,38,.90) !important;
                -webkit-backdrop-filter:blur(14px);
                backdrop-filter:blur(14px);
                box-shadow:0 8px 24px rgba(0,0,0,.22) !important;
                color:#e9eef2 !important;
                cursor:pointer;
                user-select:none;
                -webkit-tap-highlight-color:transparent;
                font-size:10px !important;
                line-height:1 !important;
                font-weight:760 !important;
                letter-spacing:.01em !important;
            }
            .mobileJumpMenu > summary::-webkit-details-marker { display:none; }
            .mobileJumpMenu > summary:before,
            .mobileJumpMenu > summary:after { display:none !important; content:none !important; }
            .mobileJumpBars {
                display:grid;
                gap:3px;
                width:14px;
                flex:0 0 14px;
            }
            .mobileJumpBars i {
                display:block;
                width:14px;
                height:1.5px;
                border-radius:2px;
                background:#aebac4;
            }
            .mobileJumpMenu[open] > summary {
                background:rgba(31,39,47,.97) !important;
                border-color:rgba(109,182,255,.20) !important;
            }
            .mobileJumpNav {
                position:absolute;
                top:calc(100% + 7px);
                right:0;
                width:min(286px, calc(100vw - 20px));
                padding:6px;
                border:1px solid rgba(255,255,255,.085);
                border-radius:14px;
                background:rgba(22,29,36,.975);
                -webkit-backdrop-filter:blur(18px);
                backdrop-filter:blur(18px);
                box-shadow:0 16px 44px rgba(0,0,0,.34);
                overflow:hidden;
            }
            .mobileJumpNav a {
                display:flex;
                align-items:center;
                justify-content:space-between;
                gap:10px;
                min-height:40px;
                padding:9px 10px;
                border-radius:9px;
                color:#dce4ea;
                text-decoration:none;
                font-size:11px;
                line-height:1.22;
                font-weight:680;
                -webkit-tap-highlight-color:transparent;
            }
            .mobileJumpNav a + a { border-top:1px solid rgba(255,255,255,.045); }
            .mobileJumpNav a:active { background:rgba(255,255,255,.07); }
            .mobileJumpNav a:after {
                content:"↓";
                flex:none;
                color:#6f8291;
                font-size:11px;
                font-weight:700;
            }
        }

/* v143: Stations-Callouts ruhiger, kompakter und eindeutiger.
   Nur Darstellung: keine Schwellen/Status-/Wetterlogik. */
.mapPin,
.realWindBox {
    --station-accent: rgba(91, 151, 123, .95);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(207, 218, 230, .18);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(24,31,40,.98), rgba(17,23,30,.98));
    box-shadow: 0 9px 24px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}

.mapPin::before,
.realWindBox::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--station-accent);
    opacity: .92;
}

.mapPin.ok,
.realWindBox.ok {
    --station-accent: rgba(91, 151, 123, .95);
    border-color: rgba(207, 218, 230, .18);
}

.mapPin.alert-orange,
.realWindBox.alert-orange {
    --station-accent: rgba(220, 157, 72, .98);
    border-color: rgba(220, 157, 72, .26);
    box-shadow: 0 9px 24px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}

.mapPin.alert-red,
.realWindBox.alert-red {
    --station-accent: rgba(215, 101, 101, .98);
    border-color: rgba(215, 101, 101, .28);
    box-shadow: 0 9px 24px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}

.mapPin.stale,
.realWindBox.stale,
.mapPin.missing,
.realWindBox.missing {
    --station-accent: rgba(130, 143, 158, .92);
    border-color: rgba(151, 164, 180, .22);
    border-style: solid;
    background: linear-gradient(180deg, rgba(39,47,57,.97), rgba(29,36,44,.97));
}

.mapPin.missing,
.realWindBox.missing {
    opacity: .80;
}

/* statische Fast-Lane-Karte
   Wichtig: .mapPin muss absolut positioniert bleiben. Die left/top-Werte
   kommen pro Station inline aus windfeed.php. */
.mapPin {
    position: absolute;
    z-index: 7;
    transform: translate(-50%, -50%);
    width: 96px;
    padding: 6px 7px 7px 9px;
    border-radius: 8px;
}

.mapPin .name,
.realWindBox .name {
    color: rgba(244,247,250,.96);
    font-weight: 800;
    letter-spacing: .015em;
    line-height: 1.08;
}

.mapPin .alt,
.realWindBox .alt {
    color: rgba(174,186,198,.76);
    margin-top: 1px;
    margin-bottom: 4px;
}

.mapPin .wind,
.realWindBox .wind {
    display: block;
    text-align: center;
    white-space: nowrap;
    color: #fff;
    line-height: 1;
}

.mapPin .wind strong {
    font-size: 15px;
    font-weight: 850;
    letter-spacing: -.015em;
}

.realWindBox .wind strong {
    font-size: 16px;
    font-weight: 850;
    letter-spacing: -.015em;
}

.mapPin .dir,
.realWindBox .dir {
    display: block;
    margin-top: 3px;
    color: rgba(192,203,214,.82);
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .035em;
    white-space: nowrap;
}

.mapPin .gust,
.realWindBox .gust,
.mapPin .stationState,
.realWindBox .stationState {
    margin-top: 5px;
    padding-top: 4px;
    border-top: 1px solid rgba(255,255,255,.075);
    min-height: 12px;
}

.mapPin .gust,
.realWindBox .gust {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    color: rgba(174,186,198,.78);
    font-size: 7.5px;
    line-height: 1.1;
    white-space: nowrap;
}

.mapPin .gust strong,
.realWindBox .gust strong,
.mapPin .gustValue {
    color: rgba(232,238,244,.92);
    font-weight: 800;
}

.mapPin.alert-orange .gust,
.realWindBox.alert-orange .gust {
    color: rgba(220,157,72,.92);
}

.mapPin.alert-red .gust,
.realWindBox.alert-red .gust {
    color: rgba(215,101,101,.94);
}

.mapPin .gustSep {
    display: none;
}

.mapPin .stationState,
.realWindBox .stationState {
    color: rgba(170,181,193,.80);
    font-size: 7.5px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    white-space: nowrap;
}

/* echte Leaflet-Stationskarte */
.realWindBox {
    width: 112px;
    min-height: 88px;
    padding: 7px 8px 7px 10px;
}

.realWindBox .name {
    font-size: 9px;
    margin-bottom: 2px;
}

.realWindBox .alt {
    font-size: 7.5px;
}

.realWindBox .windDir {
    display: none;
}

/* Callout-Punkt und Verbindungslinie bewusst zurückhaltender. */
.realStationDot {
    filter: drop-shadow(0 0 2px rgba(0,0,0,.55));
}

.realStationCalloutLine {
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 760px) {
    .realWindBox {
        width: 96px;
        min-height: 82px;
        padding: 6px 6px 6px 8px;
    }

    .realWindBox .name { font-size: 8px; }
    .realWindBox .alt { font-size: 6.5px; margin-bottom: 3px; }
    .realWindBox .wind strong { font-size: 13px; }
    .realWindBox .dir { font-size: 6.5px; margin-top: 2px; }
    .realWindBox .gust,
    .realWindBox .stationState { font-size: 6.5px; margin-top: 4px; padding-top: 3px; }

    .mapPin {
        width: 72px;
        padding: 4px 4px 5px 6px;
    }
    .mapPin .wind strong { font-size: 11px; }
    .mapPin .dir { font-size: 6px; margin-top: 2px; }
    .mapPin .gust,
    .mapPin .stationState { font-size: 6px; margin-top: 3px; padding-top: 3px; gap: 3px; }
}

