:root {
    --bg: #0a0d10;
    --panel: #11161b;
    --panel-2: #171d23;
    --line: #252e36;
    --text: #f4f7f8;
    --muted: #8d9aa5;
    --accent: #b6ff3c;
    --accent-2: #2cff88;
    --danger: #ff536b;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.fd-page { min-height: 100vh; background: radial-gradient(circle at 20% -20%, #1c2630 0, transparent 35%), var(--bg); }
.fd-topbar { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 28px; border-bottom: 1px solid var(--line); background: rgba(10,13,16,.9); backdrop-filter: blur(14px); }
.fd-brand { font-size: 17px; font-weight: 900; letter-spacing: .08em; }
.fd-brand span { color: var(--accent); }
.fd-user, .fd-back { color: var(--muted); font-size: 14px; }
.fd-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 48px 0 80px; }
.fd-narrow { width: min(720px, calc(100% - 40px)); }
.fd-page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 26px; }
.fd-page-heading h1, .fd-sidebar h1 { margin: 6px 0 8px; font-size: clamp(28px, 4vw, 46px); line-height: 1; letter-spacing: -.04em; }
.fd-page-heading p { color: var(--muted); margin: 0; }
.fd-eyebrow { color: var(--accent); font-weight: 800; letter-spacing: .14em; font-size: 11px; }
.fd-card { background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)), var(--panel); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.fd-button { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 11px; padding: 12px 16px; background: var(--accent); color: #0b0f10; font-weight: 850; cursor: pointer; }
.fd-button:hover { filter: brightness(1.06); }
.fd-button-secondary { width: 100%; margin-top: 12px; background: #202a31; color: var(--text); border: 1px solid #344049; }
.fd-alert, .fd-error { padding: 13px 16px; border-radius: 12px; margin: 0 0 18px; }
.fd-alert { background: rgba(182,255,60,.09); border: 1px solid rgba(182,255,60,.25); }
.fd-error { background: rgba(255,83,107,.09); border: 1px solid rgba(255,83,107,.25); color: #ffc1ca; }

.fd-flight-row { min-height: 88px; padding: 18px 20px; display: grid; grid-template-columns: minmax(0,1fr) auto 22px; gap: 28px; align-items: center; border-bottom: 1px solid var(--line); transition: .15s ease; }
.fd-flight-row:last-child { border-bottom: 0; }
.fd-flight-row:hover { background: rgba(255,255,255,.03); }
.fd-flight-row strong { display: block; font-size: 17px; }
.fd-flight-row div > span { color: var(--muted); font-size: 13px; }
.fd-flight-kpis { display: flex; gap: 28px; }
.fd-flight-kpis span { display: flex; flex-direction: column; text-align: right; }
.fd-flight-kpis b { color: var(--text); font-size: 16px; }
.fd-chevron { font-size: 28px; color: var(--muted); }
.fd-empty { text-align: center; padding: 64px 20px; }
.fd-empty p { color: var(--muted); }
.fd-pagination { margin-top: 20px; }

.fd-upload { padding: 24px; display: grid; gap: 18px; }
.fd-upload label { display: grid; gap: 8px; font-size: 13px; font-weight: 700; }
.fd-upload small { color: var(--muted); font-weight: 500; }
.fd-upload input { width: 100%; background: #0d1115; color: var(--text); border: 1px solid #2a343d; border-radius: 10px; padding: 12px 13px; }
.fd-upload input[type=file] { padding: 10px; }

.fd-flight-page { overflow: hidden; }
.fd-flight-layout { height: calc(100vh - 64px); display: grid; grid-template-columns: 340px minmax(0,1fr); grid-template-rows: minmax(0,1fr) 64px; }
.fd-sidebar { grid-row: 1 / 3; overflow-y: auto; padding: 25px 22px 40px; border-right: 1px solid var(--line); background: rgba(13,17,21,.98); }
.fd-sidebar h1 { font-size: 30px; }
.fd-muted { color: var(--muted); }
.fd-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 13px; overflow: hidden; margin: 22px 0; }
.fd-stat-grid > div { background: var(--panel); padding: 13px; display: grid; gap: 5px; }
.fd-stat-grid span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.fd-stat-grid b { font-size: 17px; }
.fd-legend { display: grid; gap: 7px; padding: 12px 0 20px; border-bottom: 1px solid var(--line); }
.fd-legend span { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }
.fd-legend i { width: 21px; height: 4px; border-radius: 99px; }
.fd-legend .strong-climb { background:#2cff88; }.fd-legend .climb { background:#b6ff3c; }.fd-legend .neutral { background:#f6e85a; }.fd-legend .sink { background:#ff9a3c; }.fd-legend .strong-sink { background:#ff3d5a; }
.fd-section { padding: 20px 0; border-bottom: 1px solid var(--line); }
.fd-section-title { display:flex; align-items:center; justify-content:space-between; margin-bottom: 11px; }
.fd-section-title h2 { font-size: 15px; margin: 0; }
.fd-section-title span { color: var(--accent); font-size: 11px; font-weight: 900; }
.fd-thermal-list { display: grid; gap: 6px; }
.fd-thermal { border: 1px solid #263039; background: #12181d; color: var(--text); display: grid; grid-template-columns: 36px 1fr 1fr; align-items:center; gap: 8px; border-radius: 9px; padding: 9px 10px; cursor: pointer; text-align: left; }
.fd-thermal:hover { border-color: #46535d; }
.fd-thermal b { color: var(--accent); }
.fd-thermal span { color: #bdc8ce; font-size: 12px; text-align: right; }
.fd-ai-panel p, .fd-ai-panel li { color: #bdc7cd; font-size: 13px; line-height: 1.55; }
.fd-ai-panel h3 { margin: 18px 0 7px; font-size: 13px; }
.fd-ai-panel ul { padding-left: 18px; }
.fd-ai-summary { color: var(--text) !important; font-size: 14px !important; }
.fd-ai-assessment { border-left: 2px solid var(--accent); padding-left: 11px; }
.fd-ai-improvements { display: grid; gap: 8px; }
.fd-ai-improvements > div { border: 1px solid #29343d; border-radius: 10px; padding: 10px; }
.fd-ai-improvements b { display: block; margin-top: 5px; }
.fd-ai-improvements p { margin: 5px 0 0; }
.fd-priority { font-size: 9px; text-transform: uppercase; font-weight: 900; letter-spacing:.06em; }
.fd-priority-high { color: #ff667b; }.fd-priority-medium { color: #ffb85a; }.fd-priority-low { color: #a7c3d2; }
.fd-review-jump { display:block; width:100%; text-align:left; margin:5px 0; padding:9px 10px; border-radius:9px; border:1px solid #2d3942; background:#11171c; color:#d7e1e6; cursor:pointer; font-size:12px; }
.fd-ai-disclaimer { margin-top: 16px; padding: 10px; border-radius: 9px; background: #0e1317; color: #7f8c95 !important; font-size: 11px !important; }
.fd-ai-loading { color: var(--muted); font-size: 13px; padding: 8px 0; }
.fd-ai-loading span { display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--accent); animation:pulse 1s infinite alternate; margin-right:6px; }
@keyframes pulse { to { opacity:.2; transform:scale(.7); } }
.fd-error-text { color: #ff9ba9 !important; }

.fd-map-stage { position: relative; min-width: 0; background: #050709; }
#flight-map, #flight-map > gmp-map-3d { display:block; width:100%; height:100%; }
.fd-map-hud { position:absolute; top:16px; left:16px; display:flex; gap:1px; border:1px solid rgba(255,255,255,.16); border-radius:12px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.fd-map-hud > div { min-width:80px; padding:9px 11px; background:rgba(9,13,16,.82); backdrop-filter:blur(12px); display:grid; gap:2px; }
.fd-map-hud span { color:#8fa0aa; font-size:9px; letter-spacing:.08em; }
.fd-map-hud b { font-size:13px; }
.fd-map-error { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); max-width:520px; background:#151b20; border:1px solid #3a4650; padding:16px 18px; border-radius:12px; color:#dbe4e8; }
.fd-replay-bar { grid-column:2; height:64px; display:grid; grid-template-columns:42px 54px minmax(140px,1fr) 54px 68px auto; gap:12px; align-items:center; padding:0 16px; border-top:1px solid var(--line); background:#0e1317; }
.fd-play { width:38px; height:38px; border-radius:50%; border:1px solid #34414a; background:#1a2228; color:var(--accent); cursor:pointer; }
.fd-replay-bar span { font-variant-numeric:tabular-nums; font-size:12px; color:#a9b6be; }
.fd-replay-bar input[type=range] { width:100%; accent-color:var(--accent); }
.fd-replay-bar select { background:#171f25; color:var(--text); border:1px solid #303b44; border-radius:8px; padding:7px; }
.fd-follow { font-size:12px; color:#aab6bd; display:flex; align-items:center; gap:7px; white-space:nowrap; }
.fd-follow input { accent-color:var(--accent); }

@media (max-width: 900px) {
    .fd-flight-page { overflow:auto; }
    .fd-flight-layout { height:auto; display:block; }
    .fd-sidebar { border-right:0; max-height:none; }
    .fd-map-stage { height:58vh; min-height:430px; }
    .fd-replay-bar { position:sticky; bottom:0; grid-template-columns:38px 48px minmax(80px,1fr) 48px 58px; padding:0 10px; z-index:20; }
    .fd-follow { display:none; }
    .fd-flight-kpis { display:none; }
    .fd-flight-row { grid-template-columns:1fr 22px; }
    .fd-page-heading { align-items:flex-start; flex-direction:column; }
}


.fd-heading-actions { display:flex; gap:10px; flex-wrap:wrap; }
.fd-button-dark { background:#202a31; color:var(--text); border:1px solid #344049; }
.fd-button-inline { width:auto; margin:0; }
.fd-connect-card { padding:24px; display:grid; gap:24px; }
.fd-connect-copy { display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; align-items:start; }
.fd-connect-copy h2 { margin:1px 0 7px; font-size:18px; }
.fd-connect-copy p { margin:5px 0; color:#b6c1c7; line-height:1.55; font-size:14px; }
.fd-connect-copy-form { margin-bottom:2px; }
.fd-step { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#0b0f10; font-weight:900; }
.fd-xcontest-form { padding:22px 0 0; border-top:1px solid var(--line); }
.fd-profile-card { margin-top:18px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.fd-profile-card strong { display:block; margin:5px 0 2px; font-size:20px; }
.fd-profile-card p { margin:0; color:var(--muted); font-size:12px; }
.fd-import-errors { margin-top:18px; padding:20px; }
.fd-import-errors h2 { margin:0 0 10px; font-size:16px; }
.fd-import-errors div { color:#ffabb7; font-size:12px; padding:5px 0; border-bottom:1px solid #2a3137; }
@media (max-width:700px) {
    .fd-profile-card { align-items:flex-start; flex-direction:column; }
}

/* v0.3 shared-hosting auth additions */
.fd-auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.fd-auth-card{width:min(520px,100%);padding:34px}.fd-auth-card .fd-brand{display:inline-block;margin-bottom:34px}.fd-auth-card h1{margin:8px 0 8px;font-size:clamp(34px,6vw,56px)}.fd-auth-switch{margin:22px 0 0;text-align:center}.fd-auth-switch a{font-weight:700}.fd-check-row{display:flex!important;align-items:center;gap:10px}.fd-check-row input{width:auto!important}.fd-top-actions{display:flex;align-items:center;gap:16px}.fd-link-button{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;opacity:.7;padding:6px 0}.fd-link-button:hover{opacity:1}

/* v0.4 terrain + weather context */
.fd-environment-panel #environment-content{display:grid;gap:10px}.fd-env-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.fd-env-grid>div{background:#12181d;padding:9px 10px;display:grid;gap:3px}.fd-env-grid span{font-size:9px;color:#8797a0;text-transform:uppercase;letter-spacing:.05em}.fd-env-grid b{font-size:12px;color:#dce5e9}.fd-env-weather-grid{margin-top:2px}.fd-wind-profile{display:grid;border:1px solid #28323a;border-radius:10px;overflow:hidden}.fd-wind-profile>div{display:grid;grid-template-columns:55px 1fr 1fr;gap:8px;padding:7px 9px;border-bottom:1px solid #242d34;font-size:11px}.fd-wind-profile>div:last-child{border-bottom:0}.fd-wind-profile b{color:var(--accent)}.fd-wind-profile span{color:#aebbc2;text-align:right}.fd-env-source-note,.fd-env-relation{margin:0;color:#83929b;font-size:10px;line-height:1.45}.fd-env-relation{padding:8px 9px;border-left:2px solid #8098a5;background:#0f1519;color:#b8c5cc}.fd-env-errors{margin:0;padding-left:17px;color:#ff9ba9;font-size:10px}.fd-env-refresh{appearance:none;border:0;background:transparent;color:#91a4ae;text-align:left;padding:2px 0;cursor:pointer;font-size:10px}.fd-env-refresh:hover{color:var(--text)}
.fd-model-compare{display:grid;border:1px solid #28323a;border-radius:10px;overflow:hidden}.fd-model-compare>div{display:grid;grid-template-columns:1fr 1fr .75fr;gap:8px;padding:7px 9px;border-bottom:1px solid #242d34;font-size:10px}.fd-model-compare>div:last-child{border-bottom:0}.fd-model-compare b{color:#dbe5ea}.fd-model-compare span{color:#9eafb8;text-align:right}


/* v0.5 enhanced 3D flight viewer */
.fd-map-toolbar{position:absolute;top:16px;right:16px;z-index:8;display:flex;flex-direction:column;align-items:flex-end;gap:7px;pointer-events:none}.fd-map-tool-group{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:rgba(7,11,14,.80);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.24);pointer-events:auto}.fd-map-tool-group button,.fd-map-tool-group label{height:30px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:#b8c4ca;font:700 10px/1 system-ui,-apple-system,sans-serif;letter-spacing:.02em;cursor:pointer;white-space:nowrap}.fd-map-tool-group button:hover,.fd-map-tool-group label:hover{background:rgba(255,255,255,.08);color:#fff}.fd-map-tool-group button.is-active{background:#d8ff3e;color:#101411}.fd-map-tool-group input{width:11px;height:11px;margin:0;accent-color:#d8ff3e}.fd-map-hint{position:absolute;right:16px;bottom:14px;z-index:7;padding:7px 9px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(6,10,13,.66);backdrop-filter:blur(10px);color:#9babb3;font-size:10px;pointer-events:none}.fd-map-popover{display:grid;gap:4px;min-width:190px;padding:6px 7px;font:12px/1.35 system-ui,-apple-system,sans-serif;color:#f4f7f8}.fd-map-popover b{font-size:15px;color:#fff}.fd-map-popover span,.fd-map-popover small{color:#b9c5cb;opacity:1}.fd-map-popover strong{font-size:12px;color:#d8ff3e}.fd-map-stage:fullscreen{width:100vw;height:100vh;background:#050709}.fd-map-stage:fullscreen #flight-map{width:100%;height:100%}.fd-map-stage:fullscreen .fd-map-hint{bottom:18px}#hud-vario[data-state="strong-climb"]{color:#2cff88}#hud-vario[data-state="climb"]{color:#b6ff3c}#hud-vario[data-state="neutral"]{color:#f6e85a}#hud-vario[data-state="sink"]{color:#ff9a3c}#hud-vario[data-state="strong-sink"]{color:#ff3d5a}
@media(max-width:1100px){.fd-map-toolbar{top:72px}.fd-map-hint{display:none}.fd-map-tool-group label{padding:0 7px}.fd-map-tool-group label{font-size:0}.fd-map-tool-group label input{width:14px;height:14px}}
@media(max-width:700px){.fd-map-toolbar{top:12px;right:10px;left:10px;align-items:flex-end}.fd-camera-presets{display:none}.fd-map-tool-group{max-width:100%;overflow-x:auto}.fd-map-hud{top:auto;bottom:12px;left:10px;right:10px}.fd-map-hud>div{flex:1;min-width:0}.fd-map-toolbar+.fd-map-hint{display:none}}


/* v0.5.2 robust thermal detail card (outside Google 3D popover) */
.fd-thermal-map-card{position:absolute;right:16px;bottom:50px;z-index:12;width:min(300px,calc(100% - 32px));padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(9,13,16,.94);box-shadow:0 16px 45px rgba(0,0,0,.42);backdrop-filter:blur(16px);color:#f4f7f8}.fd-thermal-map-card[hidden]{display:none}.fd-thermal-map-card-close{position:absolute;top:8px;right:9px;width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.06);color:#b9c5cb;font-size:20px;line-height:1;cursor:pointer}.fd-thermal-map-card-close:hover{background:rgba(255,255,255,.12);color:#fff}.fd-thermal-map-card-head{display:grid;gap:3px;padding-right:34px;margin-bottom:12px}.fd-thermal-map-card-head b{font-size:23px;line-height:1;color:#fff}.fd-thermal-map-card-head span{font-size:11px;color:#93a3ac}.fd-thermal-map-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid #2a343c;border-radius:10px;background:#2a343c}.fd-thermal-map-card-grid>div{display:grid;gap:4px;padding:9px 10px;background:#11171b}.fd-thermal-map-card-grid span{font-size:9px;letter-spacing:.06em;color:#788993}.fd-thermal-map-card-grid strong{font-size:13px;color:#d8ff3e}@media(max-width:700px){.fd-thermal-map-card{right:10px;bottom:80px;width:calc(100% - 20px)}}

/* ======================================================================
   v0.7 — PARAGLIDING / XC VISUAL SYSTEM
   Pure visual layer. No JS behavior is changed here.
   ====================================================================== */
:root{
    --sky-0:#071117;
    --sky-1:#0d1e28;
    --sky-2:#16313b;
    --ridge:#10241f;
    --air:#7fe7ff;
    --thermal:#c8ff48;
    --sun:#ffd56a;
    --glass:rgba(10,20,25,.78);
    --glass-soft:rgba(14,28,34,.66);
    --stroke:rgba(170,220,230,.15);
}

body.fd-paragliding-theme{
    background:
        radial-gradient(circle at 76% -8%, rgba(108,214,255,.17), transparent 32%),
        radial-gradient(circle at 18% 20%, rgba(200,255,72,.055), transparent 26%),
        linear-gradient(180deg,var(--sky-0) 0%,#091217 46%,#071014 100%);
}
body.fd-paragliding-theme .fd-page{
    background:transparent;
    isolation:isolate;
    position:relative;
}
body.fd-paragliding-theme .fd-page::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    opacity:.28;
    background-image:
      radial-gradient(ellipse at 10% 83%, transparent 0 37%, rgba(118,195,188,.18) 37.3% 37.8%, transparent 38.1% 44%, rgba(118,195,188,.11) 44.3% 44.7%, transparent 45%),
      radial-gradient(ellipse at 85% 71%, transparent 0 33%, rgba(118,195,188,.15) 33.3% 33.8%, transparent 34.1% 40%, rgba(118,195,188,.09) 40.3% 40.7%, transparent 41%);
}
body.fd-paragliding-theme .fd-page::after{
    content:"";
    position:fixed;
    left:0;right:0;bottom:0;height:36vh;
    pointer-events:none;
    z-index:-1;
    opacity:.48;
    background:
      linear-gradient(154deg,transparent 0 16%,#0d211d 16.2% 29%,transparent 29.2%) 0 100%/54% 100% no-repeat,
      linear-gradient(207deg,transparent 0 23%,#112921 23.2% 39%,transparent 39.2%) 100% 100%/68% 100% no-repeat;
    mask-image:linear-gradient(to top,#000,transparent 96%);
}

/* Brand / canopy mark */
.fd-brand{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:15px;
    letter-spacing:.13em;
    white-space:nowrap;
}
.fd-brand::before{
    content:"";
    width:31px;height:17px;
    flex:0 0 auto;
    background:transparent;
    border-top:4px solid var(--thermal);
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
    transform:rotate(-5deg);
    filter:drop-shadow(0 0 8px rgba(200,255,72,.24));
}
.fd-brand span{color:var(--air)}
.fd-topbar{
    height:70px;
    padding:0 30px;
    border-bottom:1px solid rgba(160,220,230,.12);
    background:linear-gradient(180deg,rgba(5,14,19,.94),rgba(6,15,20,.78));
    box-shadow:0 12px 35px rgba(0,0,0,.14);
}
.fd-topbar::after{
    content:"AIR · TERRAIN · THERMALS";
    position:absolute;
    left:50%;transform:translateX(-50%);
    color:rgba(166,201,210,.45);
    font-size:9px;font-weight:800;letter-spacing:.28em;
    pointer-events:none;
}
.fd-top-actions{gap:20px}
.fd-user{position:relative;padding-left:16px}
.fd-user::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:var(--thermal);transform:translateY(-50%);box-shadow:0 0 12px rgba(200,255,72,.55)}

/* Generic cards feel like flight instruments */
.fd-card{
    background:linear-gradient(145deg,rgba(16,32,39,.88),rgba(9,19,24,.93));
    border-color:rgba(145,200,213,.14);
    box-shadow:0 22px 70px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.025);
}
.fd-eyebrow{
    color:var(--air);
    letter-spacing:.19em;
    font-size:10px;
}
.fd-button{
    border-radius:999px;
    padding:12px 19px;
    background:linear-gradient(120deg,var(--thermal),#9cff5a);
    box-shadow:0 7px 22px rgba(172,255,73,.12);
}
.fd-button-dark{background:rgba(112,181,199,.08);border:1px solid rgba(140,204,220,.18);color:#d9f3f7;box-shadow:none}
.fd-button-secondary{border-radius:12px;background:rgba(113,180,198,.08);border-color:rgba(130,195,211,.16)}
.fd-muted{color:#8fa4ad}

/* Dashboard hero */
.fd-flight-hero{
    position:relative;
    overflow:hidden;
    min-height:230px;
    margin:0 0 28px;
    padding:34px 38px;
    display:flex;
    align-items:flex-end;
    border:1px solid rgba(139,208,222,.13);
    border-radius:24px;
    background:
      radial-gradient(circle at 78% 20%,rgba(127,231,255,.18),transparent 25%),
      linear-gradient(180deg,rgba(19,50,64,.84) 0%,rgba(12,30,36,.9) 56%,rgba(8,20,22,.98) 100%);
    box-shadow:0 30px 90px rgba(0,0,0,.25);
}
.fd-flight-hero::before{
    content:"";
    position:absolute;inset:auto -4% -19% -4%;height:71%;opacity:.75;
    background:
      linear-gradient(160deg,transparent 0 20%,#163b31 20.4% 38%,transparent 38.4%) 0 100%/53% 100% no-repeat,
      linear-gradient(206deg,transparent 0 24%,#102d27 24.3% 45%,transparent 45.3%) 100% 100%/65% 100% no-repeat;
}
.fd-flight-hero::after{
    content:"";
    position:absolute;right:11%;top:34px;width:130px;height:72px;
    border-top:5px solid var(--thermal);
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
    transform:rotate(-7deg);
    filter:drop-shadow(0 0 10px rgba(200,255,72,.22));
    opacity:.95;
}
.fd-flight-hero-content{position:relative;z-index:2;max-width:650px}
.fd-flight-hero h1{margin:8px 0 11px;font-size:clamp(40px,6vw,72px);line-height:.92;letter-spacing:-.055em}
.fd-flight-hero h1 em{font-style:normal;color:var(--thermal)}
.fd-flight-hero p{margin:0;max-width:560px;color:#adbec4;font-size:15px;line-height:1.6}
.fd-flight-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.fd-flight-hero-tags span{padding:7px 10px;border:1px solid rgba(147,208,222,.15);border-radius:999px;background:rgba(7,17,21,.37);font-size:9px;font-weight:800;letter-spacing:.11em;color:#b9d4da}
.fd-flight-hero-tags span:first-child{color:var(--thermal);border-color:rgba(200,255,72,.2)}

.fd-page-heading{margin-bottom:20px}
.fd-page-heading h1,.fd-sidebar h1{letter-spacing:-.045em}

/* Flight rows — logbook / flight card feeling */
.fd-flight-list{border-radius:22px}
.fd-flight-row{
    position:relative;
    min-height:104px;
    grid-template-columns:44px minmax(0,1fr) auto 22px;
    padding:17px 22px;
    gap:18px;
    border-bottom-color:rgba(141,195,208,.11);
}
.fd-flight-row::before{
    content:"";
    width:38px;height:38px;border-radius:50%;
    border:1px solid rgba(127,231,255,.17);
    background:
      radial-gradient(circle,var(--thermal) 0 2px,transparent 3px),
      repeating-radial-gradient(circle,transparent 0 6px,rgba(127,231,255,.09) 7px 7.7px,transparent 8.4px 11px);
    box-shadow:inset 0 0 18px rgba(127,231,255,.03);
}
.fd-flight-row:hover{background:linear-gradient(90deg,rgba(127,231,255,.04),rgba(200,255,72,.018))}
.fd-flight-row:hover::after{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;border-radius:4px;background:var(--thermal)}
.fd-flight-row strong{font-size:18px;letter-spacing:-.015em}
.fd-flight-row div>span{color:#849aa3}
.fd-flight-kpis{gap:34px}
.fd-flight-kpis span{position:relative;color:#738993;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.fd-flight-kpis b{font-size:17px;color:#dce9ec;letter-spacing:-.02em}
.fd-flight-kpis span:nth-child(2) b{color:var(--air)}
.fd-flight-kpis span:nth-child(3) b{color:var(--thermal)}

/* Auth pages — sky / ridge scene */
.fd-auth-shell{position:relative;overflow:hidden}
.fd-auth-shell::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(circle at 72% 22%,rgba(129,228,255,.14),transparent 20%),
      linear-gradient(159deg,transparent 0 65%,rgba(18,55,43,.7) 65.2% 78%,transparent 78.2%) 0 100%/58% 58% no-repeat,
      linear-gradient(207deg,transparent 0 59%,rgba(13,43,36,.8) 59.2% 75%,transparent 75.2%) 100% 100%/62% 64% no-repeat;
}
.fd-auth-card{position:relative;z-index:2;border-radius:26px;background:rgba(7,18,23,.83);backdrop-filter:blur(22px);border-color:rgba(152,213,225,.16)}
.fd-auth-card::after{
    content:"";position:absolute;right:28px;top:29px;width:78px;height:38px;border-top:3px solid var(--thermal);border-radius:50%;transform:rotate(-8deg);opacity:.8
}
.fd-auth-card h1{letter-spacing:-.055em}
.fd-upload input{background:rgba(3,12,16,.58);border-color:rgba(142,200,212,.17)}
.fd-upload input:focus{outline:0;border-color:rgba(127,231,255,.5);box-shadow:0 0 0 3px rgba(127,231,255,.08)}

/* Import / XContest */
.fd-connect-card{border-radius:22px}
.fd-step{background:transparent;color:var(--thermal);border:1px solid rgba(200,255,72,.32);box-shadow:inset 0 0 15px rgba(200,255,72,.05)}
.fd-profile-card{border-left:2px solid var(--thermal)}
.fd-upload input[type=file]{border-style:dashed;border-color:rgba(127,231,255,.28);padding:18px;background:rgba(8,22,28,.55)}

/* Flight detail cockpit */
.fd-flight-page{background:#050a0d}
.fd-flight-page .fd-topbar{height:58px}
.fd-flight-layout{height:calc(100vh - 58px);grid-template-columns:360px minmax(0,1fr)}
.fd-sidebar{
    padding:25px 22px 40px;
    background:
      radial-gradient(circle at 50% -5%,rgba(127,231,255,.07),transparent 28%),
      linear-gradient(180deg,#09161b 0%,#071015 100%);
    border-right-color:rgba(142,203,216,.14);
}
.fd-sidebar>.fd-eyebrow::before{content:"◌ ";color:var(--thermal)}
.fd-stat-grid{border-radius:15px;background:rgba(129,184,198,.1);border-color:rgba(139,199,212,.1)}
.fd-stat-grid>div{background:rgba(10,24,29,.84)}
.fd-stat-grid span{color:#6f8993}
.fd-stat-grid b{font-variant-numeric:tabular-nums}
.fd-stat-grid>div:nth-child(2) b{color:var(--air)}
.fd-stat-grid>div:nth-child(3) b,.fd-stat-grid>div:nth-child(6) b{color:var(--thermal)}
.fd-section{border-bottom-color:rgba(138,196,209,.10)}
.fd-section-title h2{text-transform:uppercase;letter-spacing:.09em;font-size:11px;color:#bfd1d6}
.fd-section-title span{border:1px solid rgba(200,255,72,.16);border-radius:999px;padding:3px 6px;background:rgba(200,255,72,.04)}
.fd-thermal{border-color:rgba(127,192,207,.12);background:rgba(9,23,28,.72);border-radius:12px}
.fd-thermal:hover{border-color:rgba(200,255,72,.28);background:rgba(200,255,72,.035);transform:translateX(2px)}
.fd-thermal b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(200,255,72,.22);background:rgba(200,255,72,.04)}

/* 3D viewer HUD / controls */
.fd-map-stage{background:#020607}
.fd-map-hud{top:14px;left:14px;border-color:rgba(170,224,234,.16);border-radius:15px}
.fd-map-hud>div{min-width:86px;padding:10px 12px;background:rgba(4,13,17,.72)}
.fd-map-hud span{color:#829ba5;letter-spacing:.13em}
.fd-map-hud b{font-size:15px;font-variant-numeric:tabular-nums}
.fd-map-hud>div:nth-child(2) b{color:var(--air)}
.fd-map-toolbar{top:14px;right:14px}
.fd-map-tool-group{border-color:rgba(164,219,231,.15);background:rgba(4,14,18,.72);border-radius:14px}
.fd-map-tool-group button.is-active{background:var(--thermal);color:#07110c}
.fd-map-tool-group input{accent-color:var(--thermal)}
.fd-map-hint{border-color:rgba(164,219,231,.11);background:rgba(4,14,18,.64);color:#79939d}
.fd-replay-bar{height:68px;background:linear-gradient(180deg,#081217,#061014);border-top-color:rgba(144,200,212,.12)}
.fd-play{border-color:rgba(200,255,72,.26);background:rgba(200,255,72,.06);color:var(--thermal);box-shadow:0 0 22px rgba(200,255,72,.05)}
.fd-replay-bar input[type=range]{accent-color:var(--thermal)}
.fd-thermal-map-card{background:rgba(5,15,19,.91);border-color:rgba(165,219,230,.18);border-radius:18px}
.fd-thermal-map-card-head b{color:var(--thermal)}

/* Approval pages inherit air theme */
.fd-approval-status{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;padding:7px 10px;border-radius:999px;border:1px solid rgba(200,255,72,.16);background:rgba(200,255,72,.04);color:#cfe7b0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fd-approval-status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--thermal);box-shadow:0 0 9px rgba(200,255,72,.5)}

@media(max-width:900px){
  .fd-topbar::after{display:none}
  .fd-flight-layout{height:auto}
  .fd-flight-hero{min-height:210px;padding:28px 24px}
  .fd-flight-hero::after{right:5%;top:28px;width:95px}
}
@media(max-width:700px){
  .fd-topbar{padding:0 15px}
  .fd-brand{font-size:12px;letter-spacing:.09em;gap:7px}
  .fd-brand::before{width:25px;height:14px}
  .fd-flight-hero{min-height:240px;border-radius:18px;padding:26px 20px}
  .fd-flight-hero h1{font-size:44px}
  .fd-flight-row{grid-template-columns:38px 1fr 20px;padding:15px 14px;gap:12px}
  .fd-flight-row::before{width:32px;height:32px}
  .fd-flight-kpis{display:none}
  .fd-auth-card{padding:28px 22px}
  .fd-auth-card::after{right:20px;top:24px;width:55px}
}

/* ======================================================================
   v0.8 — synchronized profile, flight score, richer XC analysis
   ====================================================================== */
.fd-flight-layout{
    grid-template-rows:minmax(0,1fr) 176px 68px;
}
.fd-sidebar{grid-row:1 / 4}
.fd-map-stage{grid-column:2;grid-row:1;min-height:0}
.fd-flight-chart{
    grid-column:2;grid-row:2;
    position:relative;
    min-width:0;
    padding:10px 14px 8px;
    border-top:1px solid rgba(144,200,212,.12);
    background:linear-gradient(180deg,rgba(5,15,20,.98),rgba(6,16,21,.96));
    overflow:hidden;
}
.fd-flight-chart::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
    background:linear-gradient(90deg,transparent 0 49.8%,rgba(127,231,255,.035) 50%,transparent 50.2%);
}
.fd-chart-head{height:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;position:relative;z-index:2}
.fd-chart-head>div:first-child{display:flex;align-items:baseline;gap:9px}
.fd-chart-head b{font-size:10px;letter-spacing:.11em;color:#e8f4f6}
.fd-chart-head span{font-size:9px;letter-spacing:.08em;color:#65808a}
.fd-chart-live{display:flex;gap:12px;align-items:center;font-variant-numeric:tabular-nums}
.fd-chart-live span{color:#91aab3!important}
.fd-chart-live b{color:var(--air);letter-spacing:.02em}
#flight-profile-canvas{display:block;width:100%;height:112px;cursor:crosshair;touch-action:none;position:relative;z-index:2}
.fd-chart-legend{height:18px;display:flex;gap:14px;align-items:center;color:#60757d;font-size:9px;position:relative;z-index:2}
.fd-chart-legend span::before{content:"";display:inline-block;width:13px;height:2px;margin-right:5px;vertical-align:middle;background:#60757d}
.fd-chart-legend .alt::before{background:var(--air)}
.fd-chart-legend .terrain::before{background:#8fbe8b}
.fd-chart-legend .vario::before{background:var(--thermal)}
.fd-chart-legend span:last-child{margin-left:auto}.fd-chart-legend span:last-child::before{display:none}
.fd-replay-bar{grid-row:3}

.fd-score-panel{padding-top:2px}
.fd-score-overall{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;margin:9px 0 11px}
.fd-score-overall p{margin:0;color:#71858d;font-size:10px;line-height:1.45}
.fd-score-ring{
    --score:0; width:64px;height:64px;border-radius:50%;display:grid;place-items:center;align-content:center;
    background:
      radial-gradient(circle at center,#0a171c 0 56%,transparent 57%),
      conic-gradient(var(--thermal) calc(var(--score) * 1%),rgba(127,231,255,.10) 0);
    box-shadow:inset 0 0 0 1px rgba(155,220,230,.08),0 0 24px rgba(200,255,72,.055);
}
.fd-score-ring strong{font-size:19px;line-height:1;color:#f4f9fa}.fd-score-ring small{font-size:8px;color:#63808a;margin-top:2px}
.fd-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid rgba(139,199,210,.11);border-radius:11px;overflow:hidden;background:rgba(139,199,210,.10)}
.fd-score-grid>div{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;background:rgba(7,20,25,.82)}
.fd-score-grid span{font-size:9px;color:#70868e}.fd-score-grid b{font-size:12px;color:#dfecee;font-variant-numeric:tabular-nums}

.fd-track-mode-group{padding-left:7px}.fd-track-mode-label{pointer-events:none!important;color:#60757d!important;font-size:8px!important;letter-spacing:.08em!important;padding:0 3px!important}
.fd-track-mode-group select{height:28px;border:0;border-radius:7px;padding:0 24px 0 8px;background:#102027;color:#dbecef;font-size:10px;font-weight:750;outline:none;cursor:pointer}
.fd-track-mode-group select:hover{background:#16303a}
.fd-thermal-map-card{width:min(350px,calc(100% - 32px))}
.fd-thermal-map-card-grid{grid-template-columns:repeat(2,1fr)}
.fd-thermal-map-card-grid>div:nth-child(n+5) strong{color:var(--air)}
.fd-thermal span:last-child{font-variant-numeric:tabular-nums}

@media(max-width:1100px){
  .fd-track-mode-label{display:none!important}
  .fd-track-mode-group select{max-width:90px}
}
@media(max-width:900px){
  .fd-flight-layout{height:auto;display:block}
  .fd-sidebar{border-right:0;max-height:none}
  .fd-map-stage{height:60vh;min-height:440px}
  .fd-flight-chart{height:176px;padding-left:10px;padding-right:10px}
  .fd-replay-bar{position:sticky;bottom:0;z-index:20}
}
@media(max-width:700px){
  #flight-profile-canvas{height:108px}
  .fd-chart-head>div:first-child span{display:none}
  .fd-chart-legend{gap:8px}.fd-chart-legend span:last-child{display:none}
  .fd-score-overall{grid-template-columns:64px 1fr}
}

/* ------------------------------------------------------------------
   v0.9 Pilot intelligence / dashboard / compare
   ------------------------------------------------------------------ */
.fd-nav{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:18px}.fd-nav a{color:#91a6ad;text-decoration:none;font-size:13px;font-weight:800;padding:9px 12px;border-radius:999px;letter-spacing:.02em}.fd-nav a:hover,.fd-nav a.is-active{background:rgba(133,235,255,.09);color:#eafcff}.fd-narrow-shell{max-width:1050px}.fd-profile-complete{min-width:110px;text-align:center;border:1px solid rgba(197,255,63,.22);background:rgba(197,255,63,.045);padding:14px 18px;border-radius:18px}.fd-profile-complete b{display:block;color:#c8ff48;font-size:26px}.fd-profile-complete span{font-size:11px;color:#758b92;text-transform:uppercase;letter-spacing:.14em}.fd-profile-form{padding:26px;display:grid;gap:26px}.fd-profile-form section{display:grid;gap:16px}.fd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fd-form-grid label{display:grid;gap:7px}.fd-form-grid label>span{font-size:11px;font-weight:900;color:#839aa2;text-transform:uppercase;letter-spacing:.11em}.fd-form-grid input,.fd-form-grid select,.fd-form-grid textarea,.fd-compare-picker select{width:100%;box-sizing:border-box;background:#08161b;color:#eefbff;border:1px solid #243a42;border-radius:12px;padding:13px 14px;font:inherit;outline:none}.fd-form-grid input:focus,.fd-form-grid select:focus,.fd-form-grid textarea:focus,.fd-compare-picker select:focus{border-color:#7edff3;box-shadow:0 0 0 3px rgba(126,223,243,.09)}.fd-span-2{grid-column:span 2}.fd-input-unit{position:relative}.fd-input-unit i{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-style:normal;color:#789198;font-size:12px}
.fd-pilot-context-mini{border-top:1px solid rgba(132,176,188,.14)}.fd-pilot-context-mini .fd-section-title a{font-size:11px;color:#8de8fa;text-decoration:none}.fd-pilot-chips{display:flex;flex-wrap:wrap;gap:6px}.fd-pilot-chips span{font-size:10px;font-weight:850;letter-spacing:.06em;padding:6px 8px;border:1px solid #243b43;border-radius:999px;background:#0a171c;color:#bfd0d5}
.fd-dashboard-hero{padding:38px 4px 24px;display:flex;justify-content:space-between;align-items:end;gap:24px}.fd-dashboard-hero h1{font-size:clamp(34px,5vw,62px);margin:6px 0 8px;letter-spacing:-.04em}.fd-dashboard-hero p{color:#8ea5ac}.fd-dashboard-stats{display:flex;border:1px solid #21353d;border-radius:18px;overflow:hidden;background:rgba(7,18,23,.72)}.fd-dashboard-stats div{padding:14px 20px;border-left:1px solid #21353d;min-width:100px}.fd-dashboard-stats div:first-child{border-left:0}.fd-dashboard-stats span,.fd-last-kpis span{font-size:10px;color:#708890;text-transform:uppercase;letter-spacing:.12em}.fd-dashboard-stats b{display:block;font-size:22px;margin-top:3px}.fd-last-flight{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);overflow:hidden;padding:0}.fd-last-flight-copy{padding:28px}.fd-last-flight-copy h2{font-size:30px;margin:6px 0}.fd-last-flight-copy>p{color:#7f969d}.fd-last-kpis{display:flex;flex-wrap:wrap;gap:22px;margin:24px 0}.fd-last-kpis span{display:grid;gap:3px}.fd-last-kpis b{font-size:22px;color:#eefbff}.fd-dashboard-insight{border-left:2px solid #c8ff48;padding:4px 0 4px 14px;margin:20px 0}.fd-dashboard-insight span{font-size:10px;color:#c8ff48;letter-spacing:.14em;font-weight:900}.fd-dashboard-insight p{color:#bdced3;line-height:1.55;margin:6px 0}.fd-track-preview{position:relative;min-height:320px;overflow:hidden;background:radial-gradient(circle at 70% 20%,rgba(80,190,210,.12),transparent 38%),linear-gradient(155deg,#0b2026,#061015 70%)}.fd-track-preview-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(120,170,180,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(120,170,180,.055) 1px,transparent 1px);background-size:32px 32px;transform:perspective(500px) rotateX(55deg) scale(1.3)}.fd-track-preview svg{position:absolute;inset:13%;width:74%;height:74%;filter:drop-shadow(0 0 8px rgba(202,255,72,.45))}.fd-track-preview polyline{fill:none;stroke:#c8ff48;stroke-width:1.3;vector-effect:non-scaling-stroke}.fd-track-preview>span{position:absolute;left:18px;bottom:15px;color:#708b92;font-size:10px;font-weight:900;letter-spacing:.14em}.fd-dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}.fd-dashboard-grid>.fd-card{padding:22px}.fd-mini-flight{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(130,170,180,.12);text-decoration:none;color:inherit}.fd-mini-flight:last-child{border-bottom:0}.fd-mini-flight div{display:grid;gap:3px}.fd-mini-flight div:last-child{text-align:right}.fd-mini-flight span{color:#718890;font-size:12px}.fd-mini-flight strong{color:#c8ff48}.fd-profile-summary dl{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin:18px 0}.fd-profile-summary dt{color:#718890}.fd-profile-summary dd{margin:0;font-weight:800}.fd-empty-mini{position:absolute;inset:0;display:grid;place-items:center;color:#688087}
.fd-compare-picker{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:14px;padding:18px}.fd-compare-picker label{display:grid;gap:7px}.fd-compare-picker label>span{font-size:10px;color:#7c939a;font-weight:900;letter-spacing:.12em}.fd-vs{font-weight:950;color:#c8ff48;padding:14px 4px}.fd-compare-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:16px;margin:26px 0 12px}.fd-compare-head>div:first-child{text-align:left}.fd-compare-head>div:last-child{text-align:right}.fd-compare-head h2{margin:5px 0}.fd-compare-head span{color:#718890}.fd-compare-head>.same,.fd-compare-head>.different{font-size:10px;font-weight:950;letter-spacing:.1em;border-radius:999px;padding:8px 12px}.fd-compare-head>.same{color:#c8ff48;border:1px solid rgba(200,255,72,.25)}.fd-compare-head>.different{color:#ffbd6b;border:1px solid rgba(255,189,107,.25)}.fd-compare-table{overflow:hidden}.fd-compare-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;padding:15px 18px;border-bottom:1px solid rgba(130,170,180,.11)}.fd-compare-row:last-child{border-bottom:0}.fd-compare-row>.a{text-align:left;font-size:18px;font-weight:850}.fd-compare-row>.b{text-align:right;font-size:18px;font-weight:850}.fd-compare-row>b{text-align:center;color:#8da3aa;font-size:12px}.fd-compare-row small{display:block;margin-top:4px;font-size:10px}.fd-compare-row small.up{color:#c8ff48}.fd-compare-row small.down{color:#ff8c67}.fd-compare-insight{display:flex;justify-content:space-between;border-bottom:1px solid rgba(130,170,180,.1);padding:10px 0;margin:0}.fd-compare-insight span{color:#c8ff48}
.fd-takeoff-card{padding:12px 13px;border:1px solid rgba(126,223,243,.22);background:linear-gradient(135deg,rgba(126,223,243,.07),rgba(200,255,72,.03));border-radius:13px;margin-bottom:12px}.fd-takeoff-card>div{display:grid;gap:3px}.fd-takeoff-card span{font-size:9px;color:#7ee0f3;letter-spacing:.13em;font-weight:950;text-transform:uppercase}.fd-takeoff-card b{font-size:15px}.fd-takeoff-card p{font-size:11px;color:#829ba2;margin:6px 0}.fd-takeoff-card a{font-size:10px;color:#9aeaff;text-decoration:none}.fd-critical-segments{display:grid;gap:5px;margin:10px 0 12px}.fd-critical-segments>b{font-size:9px;letter-spacing:.12em;color:#ffac77}.fd-critical-segments button{display:flex;justify-content:space-between;background:#10191d;border:1px solid rgba(255,145,93,.17);color:#a8bdc3;border-radius:9px;padding:7px 9px;cursor:pointer}.fd-critical-segments button strong{color:#ff9b6b}.fd-weather-brief-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:10px 0}.fd-weather-brief-strip>div{background:#0a171c;border:1px solid #20343b;border-radius:9px;padding:8px}.fd-weather-brief-strip span{display:block;font-size:8px;color:#718a92;letter-spacing:.12em}.fd-weather-brief-strip b{font-size:12px}.fd-observed-wind{margin:10px 0;padding:10px 12px;border-radius:11px;background:rgba(200,255,72,.045);border:1px solid rgba(200,255,72,.16)}.fd-observed-wind>span{font-size:8px;color:#9cb46e;letter-spacing:.12em}.fd-observed-wind>b{display:block;color:#d9ff79;font-size:14px;margin-top:3px}.fd-observed-wind p{margin:4px 0 0;color:#71868d;font-size:10px}
.fd-health-list{padding:0;overflow:hidden}.fd-health-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:17px 20px;border-bottom:1px solid rgba(130,170,180,.11)}.fd-health-row:last-child{border-bottom:0}.fd-health-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 12px currentColor}.fd-health-dot.ok{background:#c8ff48;color:#c8ff48}.fd-health-dot.bad{background:#ff6f5e;color:#ff6f5e}.fd-health-row p{margin:4px 0 0;color:#789097;font-size:12px}.fd-health-row>strong{font-size:11px;letter-spacing:.12em}.fd-health-row:has(.bad)>strong{color:#ff806f}.fd-health-row:has(.ok)>strong{color:#c8ff48}
@media(max-width:900px){.fd-nav{display:none}.fd-dashboard-hero{align-items:stretch;flex-direction:column}.fd-dashboard-stats{width:100%}.fd-dashboard-stats div{flex:1;min-width:0;padding:12px}.fd-last-flight{grid-template-columns:1fr}.fd-track-preview{min-height:230px}.fd-dashboard-grid{grid-template-columns:1fr}.fd-compare-picker{grid-template-columns:1fr}.fd-vs{text-align:center;padding:0}.fd-compare-head{grid-template-columns:1fr}.fd-compare-head>div:first-child,.fd-compare-head>div:last-child{text-align:center}.fd-form-grid{grid-template-columns:1fr}.fd-span-2{grid-column:auto}}@media(max-width:600px){.fd-dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr)}.fd-dashboard-stats div{border-left:0;border-top:1px solid #21353d}.fd-compare-row{grid-template-columns:1fr 1fr}.fd-compare-row>b{grid-column:1/-1;grid-row:1;text-align:left}.fd-compare-row>.a,.fd-compare-row>.b{font-size:15px}.fd-compare-row>.b{text-align:right}}

/* v0.9.2 local source links */
.fd-env-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.fd-env-links a{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(126,217,255,.16);border-radius:999px;background:rgba(126,217,255,.045);font-size:11px;font-weight:700;letter-spacing:.02em;color:#bcefff;text-decoration:none}
.fd-env-links a:hover{border-color:rgba(192,255,65,.4);color:#dfff94;background:rgba(192,255,65,.06)}
.fd-takeoff-card .fd-env-relation{margin-top:8px}
.fd-observed-wind a{display:inline-block;margin-top:7px;font-size:11px;font-weight:700;color:#8cecff;text-decoration:none}

/* v1.0 plans & usage */
.fd-dashboard-usage{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;background:linear-gradient(120deg,rgba(157,255,45,.08),rgba(81,219,255,.05));border-color:rgba(157,255,45,.22)}
.fd-dashboard-usage h2{margin:.25rem 0 .35rem}.fd-dashboard-usage p{margin:0;color:var(--fd-muted,#8ea0aa)}
.fd-ai-usage-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;margin:-2px 0 12px;border:1px solid rgba(148,173,185,.15);border-radius:12px;background:rgba(255,255,255,.025);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7f949e}.fd-ai-usage-line b{color:#c9f55a;font-size:11px}
.fd-usage-hero{display:flex;align-items:center;gap:28px;margin-bottom:18px}.fd-usage-ring{--usage:0;position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#c9ff3f calc(var(--usage)*1%),rgba(255,255,255,.08) 0);flex:0 0 auto}.fd-usage-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#0a1419}.fd-usage-ring strong,.fd-usage-ring small{position:relative;z-index:1}.fd-usage-ring strong{font-size:32px}.fd-usage-ring small{margin-left:3px;color:#8498a2}.fd-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fd-plan-card{position:relative;min-height:230px}.fd-plan-card.is-current{border-color:rgba(201,255,63,.45);box-shadow:0 0 0 1px rgba(201,255,63,.08) inset}.fd-plan-pro{background:linear-gradient(145deg,rgba(201,255,63,.07),rgba(63,214,255,.035))}.fd-plan-price{display:flex;align-items:baseline;gap:7px;margin:18px 0}.fd-plan-price strong{font-size:31px;color:#eaf8ff}.fd-plan-price span{color:#7f949e}.fd-plan-current,.fd-plan-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em}.fd-plan-current,.fd-plan-pill-pro{background:rgba(201,255,63,.12);color:#c9ff3f;border:1px solid rgba(201,255,63,.22)}.fd-plan-pill-free{background:rgba(109,221,255,.09);color:#7adfff;border:1px solid rgba(109,221,255,.18)}
.fd-admin-users{padding:0;overflow:hidden}.fd-admin-user-head,.fd-admin-user-row{display:grid;grid-template-columns:minmax(220px,2fr) 110px 150px minmax(220px,1.2fr);gap:16px;align-items:center;padding:14px 18px}.fd-admin-user-head{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#718791;border-bottom:1px solid rgba(255,255,255,.08)}.fd-admin-user-row{border-bottom:1px solid rgba(255,255,255,.06)}.fd-admin-user-row:last-child{border-bottom:0}.fd-admin-user-row>div{display:flex;flex-direction:column;gap:4px}.fd-admin-user-row span{font-size:12px;color:#80939c}.fd-admin-user-row form{display:flex;gap:8px;align-items:center}.fd-admin-user-row select{min-width:90px;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0b171d;color:#e8f5fa}.fd-status-card{margin-bottom:16px;border-color:rgba(201,255,63,.3);color:#dfffa0}
@media(max-width:850px){.fd-plan-grid{grid-template-columns:1fr}.fd-dashboard-usage,.fd-usage-hero{align-items:flex-start;flex-direction:column}.fd-admin-user-head{display:none}.fd-admin-user-row{grid-template-columns:1fr;gap:10px}.fd-admin-user-row form{justify-content:flex-start}}

/* ======================================================================
   v1.1 — XCInsight branding, landing, language switcher, admin accounts
   ====================================================================== */
:root{--xc-lime:#c9ff3f;--xc-air:#7ee7ff;--xc-ink:#061015;--xc-panel:#0a171d;--xc-border:rgba(139,199,210,.16)}
.fd-brand-xcbrief{font-size:17px!important;letter-spacing:-.02em!important;text-transform:none!important;font-weight:950!important;gap:9px!important}
.fd-brand-xcbrief span{color:var(--xc-lime)!important;font-weight:800!important}
.fd-brand-xcbrief::before{border-color:var(--xc-air)!important;box-shadow:0 0 18px rgba(126,231,255,.2)!important}
.fd-language-switcher{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(142,184,195,.15);background:rgba(5,15,20,.6);border-radius:999px}
.fd-language-switcher a{min-width:30px;height:27px;display:grid;place-items:center;padding:0 7px;border-radius:999px;color:#728a93;text-decoration:none;font-size:10px;font-weight:950;letter-spacing:.06em}
.fd-language-switcher a:hover{color:#d8eef4;background:rgba(126,231,255,.06)}
.fd-language-switcher a.is-active{color:#071116;background:var(--xc-lime)}
.fd-auth-language{position:fixed;top:22px;right:24px;z-index:5}
.fd-button-compact{padding:9px 13px!important;font-size:11px!important}
.fd-button-large{padding:15px 21px!important;font-size:13px!important}
.fd-button-danger{background:linear-gradient(135deg,#ff805d,#ff4f68)!important;color:#1e0705!important;border-color:transparent!important}

.fd-landing-page{background:#061015;min-height:100vh;overflow-x:hidden}
.fd-landing-page::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 7%,rgba(65,198,226,.11),transparent 28%),radial-gradient(circle at 15% 25%,rgba(201,255,63,.045),transparent 24%),linear-gradient(rgba(94,139,150,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(94,139,150,.025) 1px,transparent 1px);background-size:auto,auto,52px 52px,52px 52px;z-index:0}
.fd-landing-page>header,.fd-landing-page>main,.fd-landing-page>footer{position:relative;z-index:1}
.fd-landing-nav{height:78px;max-width:1320px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}
.fd-landing-nav-actions{display:flex;align-items:center;gap:12px}.fd-landing-login{color:#a7bbc2;text-decoration:none;font-weight:800;font-size:13px}.fd-landing-login:hover{color:#fff}
.fd-landing-hero{max-width:1320px;margin:0 auto;min-height:680px;padding:70px 32px 90px;display:grid;grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);align-items:center;gap:68px}
.fd-landing-copy h1{font-size:clamp(54px,6.5vw,94px);line-height:.94;letter-spacing:-.06em;max-width:780px;margin:14px 0 24px;color:#f3fbfd}.fd-landing-copy h1::first-line{color:#f3fbfd}
.fd-landing-copy>p{max-width:700px;color:#93aab2;font-size:18px;line-height:1.65;margin:0 0 28px}.fd-landing-cta-row{display:flex;gap:12px;flex-wrap:wrap}.fd-landing-note{display:block;margin-top:15px;color:#617982;font-size:11px;letter-spacing:.02em}
.fd-landing-flight-visual{position:relative;height:560px;border:1px solid rgba(132,210,226,.16);border-radius:32px;overflow:hidden;background:linear-gradient(#0c2630 0%,#12333c 38%,#0b2026 39%,#071318 100%);box-shadow:0 35px 90px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.045)}
.fd-landing-visual-sky{position:absolute;inset:0;background:radial-gradient(circle at 70% 14%,rgba(165,231,246,.15),transparent 24%),linear-gradient(180deg,rgba(93,192,220,.08),transparent 55%)}
.fd-landing-sun{position:absolute;width:110px;height:110px;border-radius:50%;right:14%;top:13%;background:radial-gradient(circle,rgba(213,246,255,.38),rgba(213,246,255,.04) 45%,transparent 70%);filter:blur(1px)}
.fd-landing-mountain{position:absolute;left:-10%;right:-10%;bottom:-1px;clip-path:polygon(0 100%,0 73%,10% 65%,18% 72%,27% 48%,36% 59%,47% 34%,56% 47%,67% 25%,77% 51%,87% 41%,100% 62%,100% 100%)}
.fd-landing-mountain-far{height:62%;background:linear-gradient(180deg,#29424a,#14272e);opacity:.78;transform:translateY(14px) scale(1.02)}
.fd-landing-mountain-near{height:48%;background:linear-gradient(180deg,#1b302f,#0a1718 74%);clip-path:polygon(0 100%,0 73%,12% 64%,22% 74%,34% 44%,46% 59%,57% 38%,68% 63%,80% 49%,91% 65%,100% 56%,100% 100%)}
.fd-landing-track-svg{position:absolute;inset:11% 5% 15%;width:90%;height:74%;overflow:visible}.fd-landing-track-line,.fd-landing-track-shadow{fill:none;stroke-linecap:round;stroke-linejoin:round}.fd-landing-track-shadow{stroke:#061015;stroke-width:10;opacity:.72}.fd-landing-track-line{stroke:var(--xc-lime);stroke-width:4;filter:drop-shadow(0 0 9px rgba(201,255,63,.5));stroke-dasharray:6 5;animation:fd-track-flow 18s linear infinite}@keyframes fd-track-flow{to{stroke-dashoffset:-220}}
.fd-landing-canopy{position:absolute;left:63%;top:32%;font-size:62px;color:#fff;transform:rotate(18deg);font-family:serif;text-shadow:0 0 18px rgba(255,255,255,.32)}
.fd-landing-visual-top{position:absolute;left:24px;right:24px;top:20px;display:flex;justify-content:space-between;align-items:center;color:#6f929d;font-size:9px;letter-spacing:.15em;font-weight:900}.fd-landing-visual-top b{font-size:14px;color:#dff5fa;letter-spacing:-.02em;text-transform:none}
.fd-landing-telemetry{position:absolute;left:20px;right:20px;bottom:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fd-landing-telemetry span{padding:12px 13px;border:1px solid rgba(153,207,216,.13);border-radius:12px;background:rgba(3,13,17,.72);backdrop-filter:blur(12px);color:#5f7b84;font-size:8px;letter-spacing:.13em}.fd-landing-telemetry b{display:block;margin-top:3px;color:#effafd;font-size:14px;letter-spacing:0}.fd-landing-telemetry span:nth-child(2) b,.fd-landing-telemetry span:nth-child(3) b{color:var(--xc-lime)}
.fd-landing-section{max-width:1260px;margin:0 auto;padding:96px 32px}.fd-landing-section-head{max-width:760px;margin-bottom:42px}.fd-landing-section-head h2{font-size:clamp(36px,5vw,62px);line-height:1;letter-spacing:-.045em;margin:10px 0;color:#eff9fc}
.fd-landing-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.fd-landing-feature{min-height:270px;padding:24px;border:1px solid var(--xc-border);border-radius:22px;background:linear-gradient(145deg,rgba(12,30,37,.86),rgba(6,17,22,.76));position:relative;overflow:hidden}.fd-landing-feature::after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(126,231,255,.06);border-radius:50%;right:-50px;bottom:-55px}.fd-landing-feature-icon{width:44px;height:44px;border:1px solid rgba(201,255,63,.22);border-radius:13px;display:grid;place-items:center;color:var(--xc-lime);font-size:11px;font-weight:950;letter-spacing:.08em}.fd-landing-feature h3{font-size:22px;line-height:1.1;margin:52px 0 12px}.fd-landing-feature p{color:#799099;line-height:1.55;font-size:13px}
.fd-landing-how{border-top:1px solid rgba(130,177,188,.08);border-bottom:1px solid rgba(130,177,188,.08)}.fd-landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--xc-border);border-radius:24px;overflow:hidden}.fd-landing-steps article{padding:34px;min-height:220px;background:#08161b;border-left:1px solid var(--xc-border)}.fd-landing-steps article:first-child{border-left:0}.fd-landing-steps article>b{color:var(--xc-lime);font-size:12px;letter-spacing:.12em}.fd-landing-steps h3{font-size:24px;margin:48px 0 9px}.fd-landing-steps p{color:#769098;line-height:1.55}
.fd-landing-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fd-landing-plan{min-height:260px;padding:30px;border-radius:24px;border:1px solid var(--xc-border);background:#08161b}.fd-landing-plan.is-pro{background:linear-gradient(145deg,rgba(201,255,63,.09),rgba(126,231,255,.045));border-color:rgba(201,255,63,.22)}.fd-landing-plan>span{font-size:10px;letter-spacing:.15em;color:#79919a;font-weight:950}.fd-landing-plan h3{font-size:31px;margin:20px 0 12px}.fd-landing-plan p{color:#7d949c;max-width:560px;line-height:1.55}.fd-landing-plan a{display:inline-block;margin-top:18px;color:var(--xc-lime);text-decoration:none;font-weight:850}.fd-landing-price{margin-top:30px;font-size:34px;font-weight:950}.fd-landing-price small{font-size:12px;color:#789099;font-weight:700}
.fd-landing-final-cta{max-width:1260px;margin:80px auto 100px;padding:44px 46px;border-radius:28px;border:1px solid rgba(201,255,63,.22);background:linear-gradient(120deg,rgba(201,255,63,.095),rgba(126,231,255,.055));display:flex;align-items:center;justify-content:space-between;gap:30px}.fd-landing-final-cta h2{font-size:clamp(30px,4vw,52px);margin:8px 0}.fd-landing-final-cta p{color:#8298a0;max-width:700px}
.fd-landing-footer{max-width:1260px;margin:0 auto;padding:30px 32px 48px;border-top:1px solid rgba(132,184,196,.1);display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.fd-landing-footer p{margin:0;color:#607982;font-size:11px;line-height:1.5}

.fd-admin-filter{display:grid;grid-template-columns:minmax(220px,1fr) 180px 150px auto;gap:10px;padding:13px;margin-bottom:14px}.fd-admin-filter input,.fd-admin-filter select{width:100%;background:#08161b;color:#e7f6fa;border:1px solid #243a42;border-radius:11px;padding:10px 12px;outline:none}
.fd-admin-users-v11 .fd-admin-user-head,.fd-admin-users-v11 .fd-admin-user-row{grid-template-columns:minmax(220px,2fr) 130px 95px 140px 110px}.fd-status-pill{display:inline-flex!important;width:max-content;align-items:center;padding:5px 8px;border-radius:999px!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.07em!important;font-weight:900}.fd-status-pill.is-ok{color:#c9ff3f;background:rgba(201,255,63,.08);border:1px solid rgba(201,255,63,.18)}.fd-status-pill.is-warn{color:#ffd36d;background:rgba(255,211,109,.07);border:1px solid rgba(255,211,109,.16)}.fd-status-pill.is-bad,.fd-status-pill.is-off{color:#ff8f78;background:rgba(255,112,88,.07);border:1px solid rgba(255,112,88,.16)}
.fd-admin-user-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:18px;border:1px solid var(--xc-border);border-radius:16px;overflow:hidden;background:var(--xc-border)}.fd-admin-user-summary>div{background:#08161b;padding:14px 16px}.fd-admin-user-summary span{display:block;color:#66808a;font-size:8px;letter-spacing:.13em}.fd-admin-user-summary b{display:block;margin-top:4px;font-size:16px}.fd-admin-checkbox{align-content:center;grid-template-columns:auto 1fr!important;display:grid!important;align-items:center!important;gap:9px!important;border:1px solid #243a42;border-radius:12px;padding:10px 12px}.fd-admin-checkbox input[type=checkbox]{width:18px!important;height:18px!important}.fd-admin-utility-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.fd-admin-utility-card h2{margin:0 0 5px}.fd-admin-utility-card p{margin:0;color:#789099}.fd-danger-card{margin-top:18px;border-color:rgba(255,104,83,.22);background:linear-gradient(145deg,rgba(255,74,74,.04),rgba(7,18,23,.86))}.fd-danger-card form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.fd-danger-card label{display:grid;gap:7px}.fd-danger-card input{background:#08161b;color:#fff;border:1px solid rgba(255,106,89,.28);border-radius:11px;padding:11px 13px}.fd-admin-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--xc-border);border:1px solid var(--xc-border);border-radius:14px;overflow:hidden;margin:20px 0}.fd-admin-review-grid>div{padding:13px;background:#08161b}.fd-admin-review-grid span{color:#6e858e;font-size:10px}.fd-admin-review-grid b{display:block;margin-top:4px}.fd-top-actions{display:flex;align-items:center;gap:9px}

@media(max-width:1100px){.fd-landing-hero{grid-template-columns:1fr;min-height:auto;padding-top:50px}.fd-landing-flight-visual{height:500px}.fd-landing-feature-grid{grid-template-columns:1fr 1fr}.fd-admin-users-v11 .fd-admin-user-head{display:none}.fd-admin-users-v11 .fd-admin-user-row{grid-template-columns:1fr 1fr 1fr;gap:11px}.fd-admin-users-v11 .fd-admin-user-row>div:first-child{grid-column:1/-1}.fd-admin-filter{grid-template-columns:1fr 1fr}.fd-admin-filter button{grid-column:span 2}}
@media(max-width:760px){.fd-landing-nav{padding:0 18px;height:66px}.fd-landing-nav-actions>.fd-landing-login{display:none}.fd-landing-hero{padding:42px 18px 66px;gap:38px}.fd-landing-copy h1{font-size:52px}.fd-landing-copy>p{font-size:15px}.fd-landing-flight-visual{height:420px;border-radius:22px}.fd-landing-telemetry{grid-template-columns:1fr;right:auto;max-width:185px}.fd-landing-telemetry span:nth-child(2),.fd-landing-telemetry span:nth-child(3){display:none}.fd-landing-section{padding:66px 18px}.fd-landing-feature-grid,.fd-landing-plan-grid,.fd-landing-steps{grid-template-columns:1fr}.fd-landing-steps article{border-left:0;border-top:1px solid var(--xc-border)}.fd-landing-steps article:first-child{border-top:0}.fd-landing-final-cta{margin:54px 18px 70px;padding:30px 26px;display:grid}.fd-landing-footer{grid-template-columns:1fr;padding:28px 18px}.fd-auth-language{top:12px;right:12px}.fd-admin-filter{grid-template-columns:1fr}.fd-admin-filter button{grid-column:auto}.fd-admin-users-v11 .fd-admin-user-row{grid-template-columns:1fr}.fd-admin-user-summary{grid-template-columns:1fr 1fr}.fd-admin-utility-card{align-items:flex-start;flex-direction:column}.fd-danger-card form{grid-template-columns:1fr}.fd-topbar .fd-language-switcher{transform:scale(.92);transform-origin:right center}}

/* XCInsight v1.2 — legal, international launch */
.fd-top-legal{font-size:10px;color:#78929b;text-decoration:none;font-weight:800;letter-spacing:.04em}.fd-top-legal:hover{color:#dff5fa}
.fd-legal-footer{max-width:1260px;margin:28px auto 0;padding:24px 32px 42px;border-top:1px solid rgba(132,184,196,.10);display:flex;align-items:flex-start;justify-content:space-between;gap:28px;color:#667f88}.fd-legal-footer-brand{display:grid;gap:8px}.fd-legal-footer-brand small{font-size:10px}.fd-legal-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}.fd-legal-footer nav a,.fd-landing-legal-links a{font-size:10px;color:#6f8992;text-decoration:none;font-weight:750}.fd-legal-footer nav a:hover,.fd-landing-legal-links a:hover{color:#dff5fa}
.fd-landing-footer{grid-template-columns:minmax(230px,1fr) minmax(360px,1.5fr) auto}.fd-landing-footer>div:first-child{display:grid;gap:9px}.fd-landing-footer>div:first-child p{margin:0}.fd-landing-legal-links{display:flex;flex-wrap:wrap;gap:9px 18px;justify-content:center}
.fd-legal-page{min-height:100vh}.fd-legal-nav{position:sticky;top:0;z-index:20;background:rgba(5,15,20,.86);backdrop-filter:blur(18px)}.fd-legal-shell{max-width:1180px;margin:0 auto;padding:64px 32px 96px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:54px}.fd-legal-sidebar{position:sticky;top:104px;height:max-content;display:grid;gap:7px}.fd-legal-sidebar .fd-eyebrow{margin-bottom:10px}.fd-legal-sidebar a{padding:10px 12px;border-radius:10px;color:#718a93;text-decoration:none;font-size:11px;font-weight:800}.fd-legal-sidebar a:hover,.fd-legal-sidebar a.is-active{background:rgba(126,231,255,.07);color:#e6f7fb}.fd-legal-sidebar a.is-active{box-shadow:inset 2px 0 0 var(--xc-lime)}
.fd-legal-document{max-width:790px}.fd-legal-document>h1{font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.045em;margin:10px 0 18px;color:#eff9fc}.fd-legal-lead{font-size:17px;line-height:1.65;color:#92a8af;max-width:720px}.fd-legal-meta{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0 44px}.fd-legal-meta span{border:1px solid rgba(132,184,196,.12);background:#08161b;border-radius:999px;padding:6px 9px;color:#718990;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.fd-legal-section{padding:29px 0;border-top:1px solid rgba(132,184,196,.09)}.fd-legal-section h2{font-size:21px;margin:0 0 13px;color:#e8f5f8}.fd-legal-section p{color:#82999f;line-height:1.72;margin:9px 0;font-size:13px}.fd-legal-company{margin-top:38px;padding:26px;border-radius:20px;border:1px solid rgba(201,255,63,.18);background:linear-gradient(145deg,rgba(201,255,63,.05),rgba(126,231,255,.035))}.fd-legal-company h2{font-size:24px;margin:8px 0 20px}.fd-legal-company dl{display:grid;gap:1px;background:rgba(132,184,196,.09);border-radius:12px;overflow:hidden}.fd-legal-company dl>div{display:grid;grid-template-columns:145px 1fr;gap:18px;padding:11px 13px;background:#08161b}.fd-legal-company dt{font-size:10px;color:#657e87}.fd-legal-company dd{margin:0;color:#d9e8eb;font-size:11px;line-height:1.45}.fd-legal-company a{color:#c9ff3f;text-decoration:none}
.fd-legal-check{align-items:flex-start!important;gap:10px!important}.fd-legal-check input{margin-top:2px}.fd-legal-check span{font-size:11px!important;line-height:1.5!important;color:#81979e!important}.fd-legal-check a{color:var(--xc-lime);text-decoration:none}.fd-legal-version-row{display:flex;flex-wrap:wrap;gap:8px 12px;color:#5f7b84;font-size:9px;margin:-2px 0 2px}.fd-legal-accept-card{max-width:610px!important}
@media(max-width:900px){.fd-legal-shell{grid-template-columns:1fr;padding-top:40px}.fd-legal-sidebar{position:static;display:flex;flex-wrap:wrap}.fd-legal-sidebar .fd-eyebrow{width:100%}.fd-legal-footer{flex-direction:column}.fd-legal-footer nav{justify-content:flex-start}.fd-landing-footer{grid-template-columns:1fr}.fd-landing-legal-links{justify-content:flex-start}.fd-top-legal{display:none}}
@media(max-width:620px){.fd-legal-shell{padding:34px 18px 64px}.fd-legal-document>h1{font-size:43px}.fd-legal-company dl>div{grid-template-columns:1fr;gap:4px}.fd-legal-footer{padding:22px 18px 36px}}

/* XCInsight v1.3 — Teams */
.fd-team-shell{padding-bottom:72px}.fd-narrow{max-width:860px}.fd-alert-success,.fd-alert-error{padding:13px 16px;border-radius:14px;margin:0 0 18px;font-weight:700}.fd-alert-success{background:rgba(184,255,54,.09);border:1px solid rgba(184,255,54,.3);color:#dfff9d}.fd-alert-error{background:rgba(255,91,91,.09);border:1px solid rgba(255,91,91,.3);color:#ffb0b0}.fd-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.fd-team-card{display:block;text-decoration:none;position:relative;overflow:hidden;min-height:220px}.fd-team-card:hover{transform:translateY(-2px);border-color:rgba(184,255,54,.45)}.fd-team-card-wing{position:absolute;right:20px;top:12px;font-size:68px;color:rgba(184,255,54,.18);transform:rotate(-8deg)}.fd-team-card h2{font-size:28px;margin:8px 0}.fd-team-card p{color:var(--muted);max-width:44ch}.fd-team-card-stats{display:flex;gap:26px;margin-top:28px}.fd-team-card-stats span{display:flex;flex-direction:column;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.fd-team-card-stats b{color:var(--text);font-size:18px;text-transform:none;letter-spacing:0}.fd-team-invites{margin-bottom:18px}.fd-team-invite-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.fd-team-invite-row div{display:flex;flex-direction:column}.fd-team-invite-row span{color:var(--muted);font-size:13px}.fd-badge{display:inline-flex!important;align-items:center;padding:5px 9px;border:1px solid rgba(120,220,255,.25);border-radius:999px;color:#8de7ff!important;background:rgba(120,220,255,.06);font-size:10px!important;font-weight:800;letter-spacing:.08em}.fd-team-form{display:flex;flex-direction:column;gap:16px}.fd-team-form label,.fd-team-join-card label,.fd-delete-team-form label{display:flex;flex-direction:column;gap:7px}.fd-team-form input,.fd-team-form textarea,.fd-team-form select,.fd-team-join-card textarea,.fd-delete-team-form input,.fd-inline-form input,.fd-inline-form select,.fd-team-members-table select{width:100%;background:#08151d;border:1px solid var(--line);border-radius:11px;padding:11px 12px;color:var(--text)}.fd-check{flex-direction:row!important;align-items:flex-start;gap:11px!important}.fd-check input{width:auto!important;margin-top:5px}.fd-check span{display:flex;flex-direction:column}.fd-check small{color:var(--muted);line-height:1.45;margin-top:3px}.fd-team-privacy-note,.fd-shared-flight-banner{padding:12px 14px;border-radius:13px;background:rgba(120,220,255,.07);border:1px solid rgba(120,220,255,.18);color:#b9d9e5;font-size:13px;line-height:1.5}.fd-shared-flight-banner{display:flex;flex-direction:column;gap:2px;margin:12px 0}.fd-shared-flight-banner b{color:#fff}.fd-shared-flight-banner small{color:#7ee8ff}.fd-team-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 0}.fd-team-hero h1{font-size:clamp(38px,5vw,66px);margin:4px 0}.fd-team-hero p{color:var(--muted);max-width:700px}.fd-team-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.fd-team-member-chips{display:flex;align-items:center;margin-top:18px}.fd-team-member-chips span{width:34px;height:34px;margin-right:-8px;border-radius:50%;display:grid;place-items:center;background:#132632;border:2px solid #071117;font-weight:800;color:#b9ff36}.fd-team-member-chips b{margin-left:18px;font-size:12px;color:var(--muted)}.fd-team-leaderboard>div{display:grid;grid-template-columns:36px 1fr auto auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:13px}.fd-team-leaderboard .pilot{font-weight:700;color:#fff}.fd-team-flight-feed{margin-top:18px}.fd-team-flight-row{display:grid;grid-template-columns:180px minmax(160px,1fr) 90px 90px 80px;gap:14px;align-items:center;padding:12px 3px;border-top:1px solid var(--line);text-decoration:none;color:var(--text)}.fd-team-flight-row:hover{background:rgba(255,255,255,.025)}.fd-team-flight-row>div:first-child{display:flex;flex-direction:column}.fd-team-flight-row span{color:var(--muted);font-size:13px}.fd-team-flight-row .site{font-weight:700}.fd-team-flight-row strong{text-align:right;color:#b9ff36}.fd-pagination{margin-top:18px}.fd-link-danger{border:0;background:none;color:#ff8585;text-decoration:underline;cursor:pointer;padding:12px 0}.fd-inline-form{display:grid;grid-template-columns:1fr 130px auto;gap:10px;align-items:center}.fd-team-pending-list,.fd-team-members-table,.fd-team-activity{margin-top:14px}.fd-team-pending-list>div{display:grid;grid-template-columns:1fr auto auto;gap:9px;padding:10px 0;border-top:1px solid var(--line);align-items:center}.fd-team-pending-list span{display:flex;flex-direction:column}.fd-team-pending-list small{color:var(--muted)}.fd-mini-button{background:#10222d;color:#cbe4ec;border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer}.fd-mini-button.danger{color:#ff9999}.fd-team-join-code{display:flex;gap:10px;align-items:center}.fd-team-join-code code{overflow:auto;padding:12px;background:#07151d;border:1px solid var(--line);border-radius:10px;flex:1;color:#88e8ff}.fd-team-request{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.fd-team-request>div{display:flex;flex-direction:column}.fd-team-request span{color:var(--muted);font-size:12px}.fd-team-members-table>div{display:grid;grid-template-columns:38px minmax(180px,1fr) 120px 130px auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.fd-team-members-table .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#152b36;color:#b9ff36;font-weight:800}.fd-team-members-table .identity{display:flex;flex-direction:column}.fd-team-members-table small{color:var(--muted)}.fd-team-danger{border-color:rgba(255,90,90,.24)!important}.fd-delete-team-form{margin-top:24px;display:flex;gap:12px;align-items:end}.fd-delete-team-form label{flex:1}.fd-team-activity>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:12px}.fd-team-activity time{color:var(--muted)}.fd-team-invitation-card{max-width:620px}.fd-invite-actions{display:flex;gap:10px;margin-top:20px}.fd-team-join-card{max-width:720px;margin:40px auto}.fd-empty-state{grid-column:1/-1}.fd-empty-state h2{margin-top:0}
@media(max-width:850px){.fd-team-hero{align-items:flex-start;flex-direction:column}.fd-team-flight-row{grid-template-columns:1fr 80px}.fd-team-flight-row .site{grid-column:1/-1}.fd-team-flight-row>span:nth-of-type(2){display:none}.fd-team-leaderboard>div{grid-template-columns:32px 1fr auto}.fd-team-leaderboard>div span:nth-of-type(2),.fd-team-leaderboard>div span:nth-of-type(3){display:none}.fd-inline-form{grid-template-columns:1fr}.fd-team-members-table>div{grid-template-columns:38px 1fr auto}.fd-team-members-table>div form{grid-column:2/-1}.fd-team-request{grid-template-columns:1fr auto auto}.fd-delete-team-form{flex-direction:column;align-items:stretch}}

.fd-team-quick-invite{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:14px}.fd-team-quick-invite input{background:#08151d;border:1px solid var(--line);border-radius:11px;padding:11px 12px;color:var(--text);min-width:0}@media(max-width:600px){.fd-team-quick-invite{grid-template-columns:1fr}}

/* ======================================================================
   XCInsight v1.4 — Mobile-first responsive layer
   Applied after all legacy/version styles on purpose so mobile rules win.
   ====================================================================== */
.fd-mobile-menu{display:none}

@media (max-width:900px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
  body{overflow-x:hidden}
  .fd-page{min-height:100svh}

  /* Global shell / navigation */
  .fd-topbar{
    position:sticky!important;top:0;z-index:1000;
    height:58px!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
    background:rgba(5,14,19,.94)!important;
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
  }
  .fd-topbar::after{display:none!important}
  .fd-topbar>.fd-nav,.fd-topbar>.fd-top-actions{display:none!important}
  .fd-brand{font-size:13px!important;gap:8px!important;white-space:nowrap}
  .fd-brand::before{width:27px!important;height:14px!important}

  .fd-mobile-menu{display:block;position:relative;margin-left:auto}
  .fd-mobile-menu>summary{
    list-style:none;width:44px;height:44px;border:1px solid rgba(145,205,218,.16);
    border-radius:13px;background:rgba(125,215,235,.055);display:grid;place-items:center;
    cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent
  }
  .fd-mobile-menu>summary::-webkit-details-marker{display:none}
  .fd-mobile-menu-icon{width:18px;height:14px;display:grid;align-content:space-between}
  .fd-mobile-menu-icon i{display:block;height:2px;border-radius:99px;background:#d8e9ed;transition:.18s ease}
  .fd-mobile-menu[open] .fd-mobile-menu-icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .fd-mobile-menu[open] .fd-mobile-menu-icon i:nth-child(2){opacity:0}
  .fd-mobile-menu[open] .fd-mobile-menu-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .fd-mobile-menu-panel{
    position:fixed;top:64px;right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left));
    max-height:calc(100svh - 76px);overflow:auto;padding:10px;
    border:1px solid rgba(150,211,224,.18);border-radius:18px;
    background:rgba(5,16,21,.97);box-shadow:0 28px 90px rgba(0,0,0,.5);
    backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)
  }
  .fd-mobile-menu-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .fd-mobile-menu-nav a{
    min-height:46px;display:flex;align-items:center;padding:0 13px;border-radius:12px;
    color:#a8bdc4;font-size:13px;font-weight:800;border:1px solid transparent
  }
  .fd-mobile-menu-nav a.is-active{color:#eaffbd;background:rgba(200,255,72,.07);border-color:rgba(200,255,72,.18)}
  .fd-mobile-menu-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding:10px 4px 1px;border-top:1px solid rgba(140,196,209,.11)}
  .fd-mobile-menu-tools .fd-language-switcher{transform:none!important;flex:0 0 auto}
  .fd-mobile-menu-tools form{margin:0}
  .fd-mobile-menu-tools .fd-link-button{min-height:40px;padding:0 10px;color:#c8d7db;opacity:1}
  .fd-mobile-legal{display:block;color:#708991;font-size:11px;padding:11px 8px 3px}

  .fd-shell,.fd-narrow{
    width:calc(100% - 28px)!important;max-width:none!important;
    padding:28px 0 64px!important
  }
  .fd-page-heading{gap:16px!important;margin-bottom:20px!important}
  .fd-page-heading h1{font-size:clamp(31px,9vw,44px)!important}
  .fd-heading-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .fd-heading-actions>.fd-button,.fd-heading-actions>a{width:100%;min-width:0}
  .fd-card{border-radius:16px}

  /* iOS should not zoom forms on focus */
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
  .fd-button,.fd-mini-button,.fd-link-button,button,summary{touch-action:manipulation}

  /* Flight list */
  .fd-flight-list{border-radius:16px}
  .fd-flight-row{min-height:84px!important;grid-template-columns:34px minmax(0,1fr) 18px!important;padding:13px 12px!important;gap:10px!important}
  .fd-flight-row::before{width:30px!important;height:30px!important}
  .fd-flight-row strong{font-size:15px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fd-flight-row div>span{font-size:11px!important}
  .fd-flight-kpis{display:none!important}
  .fd-chevron{font-size:22px}

  /* Dashboard */
  .fd-dashboard-hero{padding:24px 0 18px!important;gap:16px!important}
  .fd-dashboard-hero h1{font-size:clamp(34px,10vw,48px)!important}
  .fd-dashboard-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .fd-dashboard-stats div{min-width:0!important;padding:11px 9px!important;border-left:1px solid #21353d!important;border-top:0!important}
  .fd-dashboard-stats div:first-child{border-left:0!important}
  .fd-dashboard-stats span{font-size:8px!important;letter-spacing:.07em!important}
  .fd-dashboard-stats b{font-size:17px!important;white-space:nowrap}
  .fd-last-flight-copy{padding:20px!important}
  .fd-last-flight-copy h2{font-size:25px!important}
  .fd-last-kpis{display:grid!important;grid-template-columns:1fr 1fr;gap:13px!important;margin:18px 0!important}
  .fd-last-kpis b{font-size:19px!important}
  .fd-track-preview{min-height:210px!important}
  .fd-dashboard-grid{gap:12px!important}
  .fd-dashboard-grid>.fd-card{padding:17px!important}
  .fd-mini-flight{gap:9px!important;padding:12px 0!important}
  .fd-mini-flight b{font-size:13px}
  .fd-mini-flight strong{font-size:13px}
  .fd-profile-summary dl{grid-template-columns:1fr 1.25fr!important;font-size:13px}

  /* Forms / plan / admin */
  .fd-profile-form{padding:18px!important;gap:20px!important}
  .fd-form-grid{gap:13px!important}
  .fd-admin-user-summary{grid-template-columns:1fr 1fr!important}
  .fd-admin-user-row,.fd-admin-users-v11 .fd-admin-user-row{grid-template-columns:1fr!important}
  .fd-admin-utility-card{padding:18px!important}
  .fd-health-row{grid-template-columns:auto minmax(0,1fr)!important;padding:14px!important}
  .fd-health-row>strong{grid-column:2;justify-self:start}
  .fd-compare-picker{padding:14px!important}
  .fd-compare-row{padding:13px 14px!important}

  /* Teams */
  .fd-team-shell{padding-bottom:64px!important}
  .fd-team-grid{grid-template-columns:1fr!important;gap:12px!important}
  .fd-team-card{min-height:190px!important}
  .fd-team-card h2{font-size:24px!important}
  .fd-team-card-stats{gap:18px!important;margin-top:20px!important}
  .fd-team-hero{padding:20px 0!important;gap:16px!important}
  .fd-team-hero h1{font-size:clamp(34px,10vw,48px)!important}
  .fd-team-hero-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .fd-team-hero-actions>*{width:100%}
  .fd-team-invite-row{grid-template-columns:1fr!important;gap:7px!important}
  .fd-team-invite-row>.fd-badge{justify-self:start}
  .fd-team-leaderboard>div{grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px!important}
  .fd-team-flight-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  .fd-team-flight-row .site{grid-column:1/-1!important}
  .fd-team-members-table>div{grid-template-columns:36px minmax(0,1fr)!important;gap:8px!important}
  .fd-team-members-table>div>select,.fd-team-members-table>div>form{grid-column:2/-1!important;width:100%}
  .fd-team-request,.fd-team-pending-list>div{grid-template-columns:1fr 1fr!important}
  .fd-team-request>div,.fd-team-pending-list>div>span{grid-column:1/-1}
  .fd-team-activity>div{grid-template-columns:1fr!important;gap:3px!important}
  .fd-team-join-code{align-items:stretch!important;flex-direction:column!important}
  .fd-invite-actions{display:grid!important;grid-template-columns:1fr 1fr}

  /* Flight detail: mobile is map-first, details later */
  .fd-flight-page{overflow-x:hidden!important}
  .fd-flight-page .fd-topbar{position:sticky!important;top:0!important;height:58px!important}
  .fd-flight-layout{
    display:flex!important;flex-direction:column!important;height:auto!important;min-height:calc(100svh - 58px)!important
  }
  .fd-map-stage{
    order:1!important;width:100%!important;height:58svh!important;min-height:390px!important;max-height:640px!important;
    border-bottom:1px solid rgba(144,200,212,.12)
  }
  .fd-flight-chart{order:2!important;width:100%!important;height:170px!important;min-height:170px!important;padding:9px 10px 7px!important}
  .fd-replay-bar{order:3!important}
  .fd-sidebar{
    order:4!important;width:100%!important;overflow:visible!important;max-height:none!important;
    padding:24px 16px 72px!important;border-right:0!important;border-top:1px solid rgba(144,200,212,.12)
  }
  .fd-sidebar h1{font-size:31px!important;overflow-wrap:anywhere}
  .fd-stat-grid{margin:17px 0!important}
  .fd-stat-grid>div{padding:11px!important}
  .fd-legend{display:flex!important;overflow-x:auto;gap:14px!important;padding:11px 0 16px!important;scrollbar-width:none}
  .fd-legend::-webkit-scrollbar{display:none}
  .fd-legend span{flex:0 0 auto;white-space:nowrap}

  /* Fix legacy top+bottom conflict that stretched the HUD vertically */
  .fd-map-hud{
    top:10px!important;bottom:auto!important;left:10px!important;right:10px!important;
    width:auto!important;height:auto!important;max-height:none!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:1px!important;border-radius:13px!important;overflow:hidden!important;z-index:12!important
  }
  .fd-map-hud>div{
    min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;
    padding:7px 7px!important;display:grid!important;align-content:start!important;gap:2px!important
  }
  .fd-map-hud span{font-size:8px!important;letter-spacing:.08em!important;white-space:nowrap}
  .fd-map-hud b{font-size:13px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .fd-map-toolbar{
    top:67px!important;bottom:auto!important;left:10px!important;right:10px!important;
    width:auto!important;display:flex!important;flex-direction:row!important;justify-content:flex-end!important;align-items:flex-start!important;
    gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:3px;z-index:11!important;scrollbar-width:none
  }
  .fd-map-toolbar::-webkit-scrollbar{display:none}
  .fd-camera-presets{display:none!important}
  .fd-map-tool-group{flex:0 0 auto!important;min-height:36px!important;padding:3px!important;border-radius:12px!important}
  .fd-map-tool-group button,.fd-map-tool-group label{height:30px!important;min-width:30px!important;padding:0 8px!important}
  .fd-track-mode-group{margin-left:auto!important;padding-left:4px!important}
  .fd-track-mode-group select{height:30px!important;max-width:86px!important;font-size:11px!important}
  .fd-map-toolbar .fd-map-tool-group:last-child label{font-size:0!important;gap:3px!important}
  .fd-map-toolbar .fd-map-tool-group:last-child label::after{font-size:8px;font-weight:900;letter-spacing:.04em;color:#aebdc2}
  .fd-map-toolbar .fd-map-tool-group:last-child label:nth-of-type(1)::after{content:"TRK"}
  .fd-map-toolbar .fd-map-tool-group:last-child label:nth-of-type(2)::after{content:"WALL"}
  .fd-map-toolbar .fd-map-tool-group:last-child label:nth-of-type(3)::after{content:"X"}
  .fd-map-toolbar .fd-map-tool-group:last-child input{width:13px!important;height:13px!important}
  .fd-map-hint{display:none!important}
  .fd-thermal-map-card{right:10px!important;left:10px!important;bottom:10px!important;width:auto!important;max-height:calc(100% - 125px);overflow:auto}

  /* Profile chart */
  .fd-chart-head{height:27px!important}
  #flight-profile-canvas{height:108px!important;touch-action:none}
  .fd-chart-legend{gap:8px!important;overflow:hidden}
  .fd-chart-legend span{white-space:nowrap}
  .fd-chart-legend span:last-child{display:none!important}

  /* Touch-friendly replay; 2 rows instead of squeezing desktop grid */
  .fd-replay-bar{
    position:sticky!important;bottom:0!important;z-index:50!important;
    display:grid!important;
    grid-template-columns:44px auto minmax(0,1fr) 62px!important;
    grid-template-rows:27px 28px!important;
    height:auto!important;min-height:77px!important;
    gap:3px 9px!important;
    padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
    box-shadow:0 -12px 30px rgba(0,0,0,.24)
  }
  #replay-toggle{grid-column:1;grid-row:1/3;width:42px!important;height:42px!important;align-self:center}
  #replay-current{grid-column:2;grid-row:1;align-self:center}
  #replay-duration{grid-column:3;grid-row:1;align-self:center;justify-self:end}
  #replay-slider{grid-column:2/4;grid-row:2;margin:0!important;align-self:center}
  #replay-speed{grid-column:4;grid-row:1/3;align-self:stretch;min-width:0!important;width:62px!important;padding:5px!important}
  .fd-follow{display:none!important}

  /* Auth / landing / legal */
  .fd-auth-shell{padding:18px 14px!important;min-height:100svh!important}
  .fd-auth-card{padding:27px 19px!important;border-radius:20px!important}
  .fd-auth-card .fd-brand{margin-bottom:26px!important}
  .fd-landing-nav{padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important}
  .fd-landing-hero{padding-left:16px!important;padding-right:16px!important;padding-top:36px!important}
  .fd-landing-copy h1{font-size:clamp(40px,12vw,54px)!important}
  .fd-landing-flight-visual{height:360px!important;border-radius:18px!important}
  .fd-landing-section{padding-left:16px!important;padding-right:16px!important}
  .fd-landing-final-cta{margin-left:16px!important;margin-right:16px!important}
  .fd-legal-shell{padding-left:16px!important;padding-right:16px!important}
  .fd-legal-document>h1{font-size:clamp(38px,11vw,49px)!important}
}

@media (max-width:560px){
  .fd-mobile-menu-nav{grid-template-columns:1fr}
  .fd-shell,.fd-narrow{width:calc(100% - 24px)!important}
  .fd-heading-actions{grid-template-columns:1fr!important}
  .fd-dashboard-stats b{font-size:15px!important}
  .fd-dashboard-stats span{font-size:7px!important}
  .fd-team-hero-actions{grid-template-columns:1fr!important}
  .fd-invite-actions{grid-template-columns:1fr!important}

  .fd-map-stage{height:55svh!important;min-height:360px!important}
  .fd-map-hud{left:8px!important;right:8px!important;top:8px!important}
  .fd-map-hud>div{padding:6px 5px!important}
  .fd-map-hud span{font-size:7px!important}
  .fd-map-hud b{font-size:12px!important}
  .fd-map-toolbar{top:60px!important;left:8px!important;right:8px!important}
  .fd-map-tool-group button,.fd-map-tool-group label{padding:0 6px!important}
  .fd-track-mode-group select{max-width:78px!important;padding-left:6px!important}
  .fd-map-toolbar .fd-map-tool-group:last-child label::after{font-size:7px}
  .fd-thermal-map-card-grid{grid-template-columns:1fr 1fr!important}

  .fd-flight-chart{height:164px!important;min-height:164px!important}
  #flight-profile-canvas{height:102px!important}
  .fd-chart-live{gap:7px!important}
  .fd-chart-live span,.fd-chart-live b{font-size:9px!important}

  .fd-replay-bar{grid-template-columns:42px auto minmax(0,1fr) 58px!important;padding-left:9px!important;padding-right:9px!important}
  #replay-speed{width:58px!important}

  .fd-sidebar{padding-left:14px!important;padding-right:14px!important}
  .fd-stat-grid b{font-size:15px!important}
  .fd-weather-brief-strip{grid-template-columns:1fr 1fr!important}
  .fd-score-grid{grid-template-columns:1fr 1fr!important}

  .fd-landing-nav-actions .fd-language-switcher{display:none}
  .fd-landing-flight-visual{height:320px!important}
  .fd-landing-final-cta{padding:26px 20px!important}
}

@media (pointer:coarse){
  .fd-button,.fd-mini-button,.fd-map-tool-group button,.fd-map-tool-group label,.fd-link-button{min-height:42px}
  .fd-thermal{min-height:46px}
  input[type=range]{height:28px}
  select{min-height:42px}
}

@supports (height:100dvh){
  @media (max-width:900px){
    .fd-mobile-menu-panel{max-height:calc(100dvh - 76px)}
    .fd-map-stage{height:58dvh!important}
  }
  @media (max-width:560px){.fd-map-stage{height:55dvh!important}}
}


/* ======================================================================
   v1.6 — Theme switcher + artistic paraglider motifs
   ====================================================================== */
:root{
    --theme-shadow: rgba(0,0,0,.18);
    --bg-veil: rgba(8,14,18,.74);
    --pattern-stroke: rgba(143, 217, 230, .11);
    --pattern-accent: rgba(200,255,72,.08);
}
html[data-theme="light"]{
    --bg: #eef5f7;
    --panel: #ffffff;
    --panel-2: #f3f8fa;
    --line: #d5e2e7;
    --text: #13212b;
    --muted: #627684;
    --accent: #9dd823;
    --accent-2: #11bf72;
    --danger: #df4960;
    --theme-shadow: rgba(31,67,89,.08);
    --bg-veil: rgba(255,255,255,.62);
    --pattern-stroke: rgba(35, 84, 104, .10);
    --pattern-accent: rgba(157,216,35,.075);
    --sky-0:#eaf5fb;
    --sky-1:#dfeef6;
    --sky-2:#d4e8f3;
    --ridge:#d8e8de;
    --air:#0aa0d0;
    --thermal:#8cbc12;
    --sun:#f0c95c;
    --glass:rgba(255,255,255,.8);
    --glass-soft:rgba(255,255,255,.66);
    --stroke:rgba(28,72,89,.1);
}
html[data-theme="light"] body{ background: var(--bg); color:var(--text); }
html[data-theme="light"] body.fd-paragliding-theme{
    background:
        radial-gradient(circle at 80% -10%, rgba(91,186,218,.16), transparent 28%),
        radial-gradient(circle at 18% 16%, rgba(154,216,35,.08), transparent 24%),
        linear-gradient(180deg,#f5fbfd 0%, #edf5f7 48%, #e8f0f3 100%);
}
body.fd-paragliding-theme .fd-page::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    opacity:.55;
    background-image:
        radial-gradient(circle at 15% 20%, rgba(126,231,255,.10), transparent 22%),
        radial-gradient(circle at 83% 14%, rgba(200,255,72,.06), transparent 18%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='420' viewBox='0 0 640 420' fill='none'%3E%3Cg stroke='%238fd9e6' stroke-opacity='.11' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M35 138c30-37 96-50 139-4'/%3E%3Cpath d='M58 151c21-24 62-32 92-1'/%3E%3Cpath d='M96 151l-32 50M121 152l-7 58M146 148l20 54'/%3E%3Cpath d='M392 92c46-41 124-52 177 2'/%3E%3Cpath d='M420 108c29-24 78-31 114-1'/%3E%3Cpath d='M460 108l-26 48M488 108v57M515 107l23 47'/%3E%3Cpath d='M258 270c43-38 107-45 150 4'/%3E%3Cpath d='M284 286c25-23 71-29 98-1'/%3E%3Cpath d='M318 287l-20 42M343 287v49M366 286l18 42'/%3E%3C/g%3E%3C/svg%3E");
    background-size:auto, auto, 560px auto;
    background-repeat:no-repeat, no-repeat, repeat;
    background-position:0 0, 0 0, center top;
}
body.fd-paragliding-theme .fd-page::after{
    content:"";
    position:fixed;
    inset:auto 0 0 0;
    height:42vh;
    pointer-events:none;
    z-index:-1;
    opacity:.58;
    background:
      linear-gradient(154deg,transparent 0 16%, rgba(17,41,33,.88) 16.2% 29%,transparent 29.2%) 0 100%/54% 100% no-repeat,
      linear-gradient(207deg,transparent 0 23%, rgba(14,38,33,.86) 23.2% 39%,transparent 39.2%) 100% 100%/68% 100% no-repeat,
      radial-gradient(ellipse at 20% 100%, var(--pattern-accent) 0 12%, transparent 12.5%),
      radial-gradient(ellipse at 72% 100%, rgba(126,231,255,.06) 0 14%, transparent 14.5%);
    mask-image:linear-gradient(to top,#000,transparent 96%);
}
html[data-theme="light"] body.fd-paragliding-theme .fd-page::before{ opacity:.72; }
html[data-theme="light"] body.fd-paragliding-theme .fd-page::after{ opacity:.36; }

.fd-theme-switch{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border-radius:999px;
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 10px 24px var(--theme-shadow);
}
.fd-theme-button{
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:var(--muted);
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, transform .18s ease;
}
.fd-theme-button:hover{ background:rgba(255,255,255,.08); color:var(--text); transform:translateY(-1px); }
.fd-theme-button.is-active{ background:var(--accent); color:#0b1010; font-weight:900; }
html[data-theme="light"] .fd-theme-switch{
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,248,250,.92));
    border-color:#d6e3e9;
}
html[data-theme="light"] .fd-theme-button:hover{ background:rgba(17,38,47,.06); }

html[data-theme="light"] .fd-topbar,
html[data-theme="light"] .fd-sidebar,
html[data-theme="light"] .fd-card,
html[data-theme="light"] .fd-auth-card,
html[data-theme="light"] .fd-connect-panel,
html[data-theme="light"] .fd-profile-card,
html[data-theme="light"] .fd-import-errors,
html[data-theme="light"] .fd-landing-feature,
html[data-theme="light"] .fd-landing-plan,
html[data-theme="light"] .fd-landing-final-cta,
html[data-theme="light"] .fd-team-shell > aside,
html[data-theme="light"] .fd-team-feed,
html[data-theme="light"] .fd-team-card,
html[data-theme="light"] .fd-team-join-card,
html[data-theme="light"] .fd-team-invitation-card,
html[data-theme="light"] .fd-compare-picker,
html[data-theme="light"] .fd-compare-table,
html[data-theme="light"] .fd-thermal-map-card,
html[data-theme="light"] .fd-landing-nav{
    background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,252,.88));
    border-color:var(--line);
    color:var(--text);
    box-shadow:0 12px 40px var(--theme-shadow);
}
html[data-theme="light"] .fd-topbar{
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(245,249,251,.88));
    border-bottom:1px solid var(--line);
}
html[data-theme="light"] .fd-map-hint,
html[data-theme="light"] .fd-map-tool-group,
html[data-theme="light"] .fd-map-replay,
html[data-theme="light"] .fd-map-hud,
html[data-theme="light"] .fd-thermal-map-card,
html[data-theme="light"] .fd-landing-visual-top,
html[data-theme="light"] .fd-landing-telemetry{
    background:rgba(255,255,255,.84);
    color:var(--text);
    border-color:#d7e2e8;
    box-shadow:0 12px 36px rgba(18,46,60,.12);
}
html[data-theme="light"] .fd-map-tool-group button,
html[data-theme="light"] .fd-map-tool-group label,
html[data-theme="light"] .fd-map-hint,
html[data-theme="light"] .fd-map-popover span,
html[data-theme="light"] .fd-map-popover small,
html[data-theme="light"] .fd-landing-login,
html[data-theme="light"] .fd-user,
html[data-theme="light"] .fd-back,
html[data-theme="light"] .fd-link-button,
html[data-theme="light"] .fd-top-legal,
html[data-theme="light"] .fd-landing-note,
html[data-theme="light"] .fd-page-heading p,
html[data-theme="light"] .fd-muted,
html[data-theme="light"] .fd-landing-feature p,
html[data-theme="light"] .fd-landing-plan p,
html[data-theme="light"] .fd-landing-footer p,
html[data-theme="light"] .fd-ai-panel p,
html[data-theme="light"] .fd-ai-panel li,
html[data-theme="light"] .fd-connect-copy p,
html[data-theme="light"] .fd-env-source-note,
html[data-theme="light"] .fd-env-relation,
html[data-theme="light"] .fd-legend span,
html[data-theme="light"] .fd-model-compare span,
html[data-theme="light"] .fd-wind-profile span,
html[data-theme="light"] .fd-flight-row div > span,
html[data-theme="light"] .fd-upload small{
    color:var(--muted);
}
html[data-theme="light"] .fd-upload input,
html[data-theme="light"] textarea,
html[data-theme="light"] select,
html[data-theme="light"] input:not([type='checkbox']):not([type='radio']){
    background:#fbfdfe;
    color:var(--text);
    border:1px solid #d5e2e7;
}
html[data-theme="light"] .fd-button-secondary,
html[data-theme="light"] .fd-map-tool-group button:not(.is-active),
html[data-theme="light"] .fd-map-tool-group label,
html[data-theme="light"] .fd-thermal,
html[data-theme="light"] .fd-ai-improvements > div,
html[data-theme="light"] .fd-stat-grid > div,
html[data-theme="light"] .fd-env-grid > div,
html[data-theme="light"] .fd-model-compare > div,
html[data-theme="light"] .fd-wind-profile > div,
html[data-theme="light"] .fd-team-activity li,
html[data-theme="light"] .fd-team-member,
html[data-theme="light"] .fd-landing-how article,
html[data-theme="light"] .fd-landing-nav-actions .fd-button-dark,
html[data-theme="light"] .fd-mobile-menu-panel{
    background:#f4f8fa;
    color:var(--text);
    border-color:#d5e2e7;
}
html[data-theme="light"] .fd-mobile-menu-panel{ box-shadow:0 18px 40px rgba(25,55,71,.12); }
html[data-theme="light"] .fd-map-tool-group button:hover,
html[data-theme="light"] .fd-map-tool-group label:hover,
html[data-theme="light"] .fd-button-secondary:hover{ background:#ebf2f5; }
html[data-theme="light"] .fd-flight-row:hover{ background:rgba(17,38,47,.03); }
html[data-theme="light"] .fd-stat-grid,
html[data-theme="light"] .fd-env-grid,
html[data-theme="light"] .fd-model-compare,
html[data-theme="light"] .fd-wind-profile{ background:#d9e5ea; border-color:#d9e5ea; }
html[data-theme="light"] .fd-map-tool-group button.is-active{ color:#0b1010; }
html[data-theme="light"] .fd-map-popover b,
html[data-theme="light"] .fd-thermal-map-card-head b,
html[data-theme="light"] .fd-page-heading h1,
html[data-theme="light"] .fd-sidebar h1,
html[data-theme="light"] .fd-landing-hero h1,
html[data-theme="light"] .fd-landing-section h2{ color:var(--text); }
html[data-theme="light"] .fd-map-popover strong,
html[data-theme="light"] .fd-thermal-map-card-grid strong,
html[data-theme="light"] .fd-landing-feature-icon,
html[data-theme="light"] .fd-step,
html[data-theme="light"] .fd-section-title span,
html[data-theme="light"] .fd-thermal b,
html[data-theme="light"] .fd-eyebrow,
html[data-theme="light"] .fd-brand span{ color:var(--accent); }
html[data-theme="light"] .fd-brand::before{ filter:drop-shadow(0 0 7px rgba(157,216,35,.16)); }
html[data-theme="light"] .fd-section,
html[data-theme="light"] .fd-legend,
html[data-theme="light"] .fd-sidebar,
html[data-theme="light"] .fd-topbar,
html[data-theme="light"] .fd-flight-row,
html[data-theme="light"] .fd-connect-panel,
html[data-theme="light"] .fd-profile-card,
html[data-theme="light"] .fd-import-errors,
html[data-theme="light"] .fd-landing-footer,
html[data-theme="light"] .fd-landing-nav{ border-color:var(--line); }
html[data-theme="light"] .fd-landing-track-shadow{ stroke:rgba(22,55,68,.13); }
html[data-theme="light"] .fd-landing-track-line{ stroke:var(--accent); }
html[data-theme="light"] .fd-landing-canopy,
html[data-theme="light"] .fd-landing-sun{ color:var(--sun); }
html[data-theme="light"] .fd-landing-mountain-far{ background:linear-gradient(180deg, rgba(153,186,197,.9), rgba(185,212,222,.7)); }
html[data-theme="light"] .fd-landing-mountain-near{ background:linear-gradient(180deg, rgba(144,177,161,.95), rgba(170,197,183,.86)); }
html[data-theme="light"] .fd-landing-footer-tools{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:1100px){
    .fd-top-actions .fd-theme-switch{ display:none; }
}
@media (min-width:1101px){
    .fd-mobile-menu-tools .fd-theme-switch{ display:none; }
}
@media (max-width:700px){
    .fd-landing-nav-actions{ gap:8px; flex-wrap:wrap; justify-content:flex-end; }
    .fd-theme-switch{ transform:scale(.96); transform-origin:right center; }
    .fd-landing-footer-tools{ justify-content:flex-start; }
}


/* ======================================================================
   v1.6.2 — Light theme polish + remove topbar ghost text
   ====================================================================== */
.fd-topbar::after{content:none!important;display:none!important}

html[data-theme="light"] .fd-page{
  background:
    radial-gradient(circle at 14% -10%, rgba(88,184,218,.10), transparent 26%),
    linear-gradient(180deg, #f7fbfd 0%, #eff5f7 52%, #ebf2f4 100%);
}
html[data-theme="light"] .fd-shell,
html[data-theme="light"] .fd-narrow,
html[data-theme="light"] .fd-flight-page{ color:var(--text); }

/* Top navigation */
html[data-theme="light"] .fd-nav a,
html[data-theme="light"] .fd-user,
html[data-theme="light"] .fd-back,
html[data-theme="light"] .fd-top-legal,
html[data-theme="light"] .fd-link-button{
  color:#5b7180;
}
html[data-theme="light"] .fd-nav a:hover,
html[data-theme="light"] .fd-nav a.is-active{
  color:#172631;
  background:rgba(23,55,69,.06);
}
html[data-theme="light"] .fd-link-button:hover,
html[data-theme="light"] .fd-top-legal:hover{ color:#172631; }
html[data-theme="light"] .fd-brand{ color:#12212b; }
html[data-theme="light"] .fd-brand span{ color:#9dd823; }

/* General typography */
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] strong,
html[data-theme="light"] b,
html[data-theme="light"] dt,
html[data-theme="light"] dd,
html[data-theme="light"] .fd-page-heading h1,
html[data-theme="light"] .fd-sidebar h1,
html[data-theme="light"] .fd-dashboard-hero h1,
html[data-theme="light"] .fd-last-flight-copy h2,
html[data-theme="light"] .fd-compare-head h2,
html[data-theme="light"] .fd-flight-row strong,
html[data-theme="light"] .fd-dashboard-stats b,
html[data-theme="light"] .fd-last-kpis b,
html[data-theme="light"] .fd-mini-flight strong,
html[data-theme="light"] .fd-mini-flight b,
html[data-theme="light"] .fd-compare-row > .a,
html[data-theme="light"] .fd-compare-row > .b,
html[data-theme="light"] .fd-compare-row > b,
html[data-theme="light"] .fd-health-row > strong,
html[data-theme="light"] .fd-stat-grid b,
html[data-theme="light"] .fd-map-hud b,
html[data-theme="light"] .fd-replay-bar span,
html[data-theme="light"] .fd-follow,
html[data-theme="light"] .fd-thermal span,
html[data-theme="light"] .fd-thermal b,
html[data-theme="light"] .fd-pilot-chips span{
  color:#13212b;
}
html[data-theme="light"] .fd-page-heading p,
html[data-theme="light"] .fd-dashboard-hero p,
html[data-theme="light"] .fd-last-flight-copy > p,
html[data-theme="light"] .fd-mini-flight span,
html[data-theme="light"] .fd-profile-summary dt,
html[data-theme="light"] .fd-profile-summary dd,
html[data-theme="light"] .fd-compare-head span,
html[data-theme="light"] .fd-flight-row div > span,
html[data-theme="light"] .fd-legend span,
html[data-theme="light"] .fd-sidebar .fd-muted,
html[data-theme="light"] .fd-ai-panel p,
html[data-theme="light"] .fd-ai-panel li,
html[data-theme="light"] .fd-empty p,
html[data-theme="light"] .fd-upload small,
html[data-theme="light"] .fd-dashboard-insight p,
html[data-theme="light"] .fd-connect-copy p,
html[data-theme="light"] .fd-health-row p,
html[data-theme="light"] .fd-observed-wind p,
html[data-theme="light"] .fd-takeoff-card p,
html[data-theme="light"] .fd-weather-brief-strip span,
html[data-theme="light"] .fd-observed-wind > span{
  color:#607684;
}

/* Cards and blocks */
html[data-theme="light"] .fd-card,
html[data-theme="light"] .fd-sidebar,
html[data-theme="light"] .fd-last-flight,
html[data-theme="light"] .fd-flight-list,
html[data-theme="light"] .fd-compare-table,
html[data-theme="light"] .fd-upload,
html[data-theme="light"] .fd-takeoff-card,
html[data-theme="light"] .fd-observed-wind,
html[data-theme="light"] .fd-weather-brief-strip > div,
html[data-theme="light"] .fd-ai-improvements > div,
html[data-theme="light"] .fd-review-jump,
html[data-theme="light"] .fd-ai-disclaimer,
html[data-theme="light"] .fd-thermal,
html[data-theme="light"] .fd-pilot-chips span,
html[data-theme="light"] .fd-profile-complete,
html[data-theme="light"] .fd-dashboard-stats,
html[data-theme="light"] .fd-mobile-menu-panel,
html[data-theme="light"] .fd-map-error{
  background:#ffffff;
  color:#13212b;
  border-color:#d8e3e8;
  box-shadow:0 12px 36px rgba(22,53,67,.08);
}
html[data-theme="light"] .fd-sidebar{ background:rgba(255,255,255,.88); }
html[data-theme="light"] .fd-stat-grid > div,
html[data-theme="light"] .fd-dashboard-stats div,
html[data-theme="light"] .fd-replay-bar,
html[data-theme="light"] .fd-map-hud > div{
  background:#fbfdfe;
  color:#13212b;
}
html[data-theme="light"] .fd-dashboard-stats{ border-color:#d9e4e9; background:#d9e4e9; }
html[data-theme="light"] .fd-dashboard-stats div{ border-left-color:#d9e4e9; }
html[data-theme="light"] .fd-stat-grid{ background:#d9e4e9; border-color:#d9e4e9; }
html[data-theme="light"] .fd-section,
html[data-theme="light"] .fd-legend,
html[data-theme="light"] .fd-flight-row,
html[data-theme="light"] .fd-compare-row,
html[data-theme="light"] .fd-health-row,
html[data-theme="light"] .fd-mini-flight,
html[data-theme="light"] .fd-ai-improvements > div,
html[data-theme="light"] .fd-review-jump,
html[data-theme="light"] .fd-topbar,
html[data-theme="light"] .fd-replay-bar,
html[data-theme="light"] .fd-dashboard-stats div,
html[data-theme="light"] .fd-weather-brief-strip > div,
html[data-theme="light"] .fd-thermal,
html[data-theme="light"] .fd-team-activity li,
html[data-theme="light"] .fd-team-member{
  border-color:#d8e3e8;
}
html[data-theme="light"] .fd-flight-row:hover,
html[data-theme="light"] .fd-mini-flight:hover{
  background:rgba(19,33,43,.03);
}

/* Buttons */
html[data-theme="light"] .fd-button-secondary,
html[data-theme="light"] .fd-landing-nav-actions .fd-button-dark,
html[data-theme="light"] .fd-play,
html[data-theme="light"] .fd-replay-bar select{
  background:#f4f8fa;
  color:#13212b;
  border-color:#d6e2e7;
}
html[data-theme="light"] .fd-play{ color:#6aa500; }
html[data-theme="light"] .fd-button{ box-shadow:0 10px 22px rgba(157,216,35,.18); }

/* Flight detail UI */
html[data-theme="light"] .fd-map-hud{ border-color:#d8e2e7; box-shadow:0 12px 32px rgba(20,48,60,.14); }
html[data-theme="light"] .fd-map-hud span{ color:#6b808d; }
html[data-theme="light"] .fd-map-tool-group,
html[data-theme="light"] .fd-map-hint,
html[data-theme="light"] .fd-map-replay,
html[data-theme="light"] .fd-map-popover,
html[data-theme="light"] .fd-thermal-map-card{
  background:rgba(255,255,255,.92);
  color:#13212b;
  border-color:#d7e1e7;
}
html[data-theme="light"] .fd-map-popover span,
html[data-theme="light"] .fd-map-popover small,
html[data-theme="light"] .fd-map-hint{ color:#617683; }
html[data-theme="light"] .fd-replay-bar{ background:#ffffff; }
html[data-theme="light"] .fd-replay-bar span{ color:#455966; }
html[data-theme="light"] .fd-follow{ color:#607684; }
html[data-theme="light"] .fd-ai-disclaimer{ background:#f6f9fb; color:#718691!important; }
html[data-theme="light"] .fd-review-jump{ background:#fbfdfe; color:#20333e; }
html[data-theme="light"] .fd-review-jump:hover{ background:#f2f7f9; }

/* Landing */
html[data-theme="light"] .fd-landing-hero h1,
html[data-theme="light"] .fd-landing-section h2,
html[data-theme="light"] .fd-landing-plan-price,
html[data-theme="light"] .fd-landing-final-cta h2,
html[data-theme="light"] .fd-landing-copy h1{ color:#11212c; }
html[data-theme="light"] .fd-landing-copy > p,
html[data-theme="light"] .fd-landing-feature p,
html[data-theme="light"] .fd-landing-plan p,
html[data-theme="light"] .fd-landing-how p,
html[data-theme="light"] .fd-landing-footer p,
html[data-theme="light"] .fd-landing-login,
html[data-theme="light"] .fd-landing-note,
html[data-theme="light"] .fd-landing-legal-links a{ color:#5e7483; }
html[data-theme="light"] .fd-landing-hero-card,
html[data-theme="light"] .fd-landing-feature,
html[data-theme="light"] .fd-landing-plan,
html[data-theme="light"] .fd-landing-final-cta,
html[data-theme="light"] .fd-landing-how article,
html[data-theme="light"] .fd-landing-nav{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,252,.9));
  color:#13212b;
  border-color:#d8e2e8;
}
html[data-theme="light"] .fd-landing-visual-top,
html[data-theme="light"] .fd-landing-telemetry{
  background:rgba(255,255,255,.9);
  color:#13212b;
  border-color:#d8e2e8;
}

/* Teams/admin/forms */
html[data-theme="light"] .fd-team-shell > aside,
html[data-theme="light"] .fd-team-feed,
html[data-theme="light"] .fd-team-card,
html[data-theme="light"] .fd-team-join-card,
html[data-theme="light"] .fd-team-invitation-card,
html[data-theme="light"] .fd-auth-card,
html[data-theme="light"] .fd-connect-panel,
html[data-theme="light"] .fd-profile-card,
html[data-theme="light"] .fd-import-errors,
html[data-theme="light"] .fd-admin-utility-card,
html[data-theme="light"] .fd-danger-card{
  background:#fff;
  color:#13212b;
  border-color:#d8e3e8;
}
html[data-theme="light"] .fd-form-grid label > span,
html[data-theme="light"] .fd-compare-picker label > span,
html[data-theme="light"] .fd-dashboard-insight span,
html[data-theme="light"] .fd-health-dot.ok + div small,
html[data-theme="light"] .fd-takeoff-card span,
html[data-theme="light"] .fd-landing-eyebrow,
html[data-theme="light"] .fd-eyebrow{ color:#7ea60d; }

html[data-theme="light"] input:not([type='checkbox']):not([type='radio']),
html[data-theme="light"] textarea,
html[data-theme="light"] select,
html[data-theme="light"] .fd-form-grid input,
html[data-theme="light"] .fd-form-grid select,
html[data-theme="light"] .fd-form-grid textarea,
html[data-theme="light"] .fd-compare-picker select,
html[data-theme="light"] .fd-team-quick-invite input,
html[data-theme="light"] .fd-upload input{
  background:#fbfdfe;
  color:#13212b;
  border:1px solid #d5e2e7;
}
html[data-theme="light"] .fd-form-grid input:focus,
html[data-theme="light"] .fd-form-grid select:focus,
html[data-theme="light"] .fd-form-grid textarea:focus,
html[data-theme="light"] .fd-compare-picker select:focus,
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus{
  border-color:#79d6ea;
  box-shadow:0 0 0 3px rgba(121,214,234,.18);
}

/* Mobile menu in light theme */
html[data-theme="light"] .fd-mobile-menu > summary{
  border-color:#d6e2e7;
  background:#ffffff;
}
html[data-theme="light"] .fd-mobile-menu-icon i{ background:#516774; }
html[data-theme="light"] .fd-mobile-menu-nav a{ color:#58707e; }
html[data-theme="light"] .fd-mobile-menu-nav a.is-active{ color:#12212b;background:rgba(157,216,35,.12);border-color:rgba(157,216,35,.2); }
html[data-theme="light"] .fd-mobile-legal{ color:#607684; }


/* ======================================================================
   XCInsight v1.7 — Premium visual polish
   No functional behavior changes.
   ====================================================================== */
:root{
  --xc-radius-lg:24px;
  --xc-radius-md:16px;
  --xc-shadow-soft:0 24px 70px rgba(0,0,0,.18);
  --xc-shadow-card:0 14px 44px rgba(0,0,0,.12);
  --xc-topbar-height:74px;
}
html[data-theme="light"]{
  --xc-shadow-soft:0 24px 70px rgba(37,79,100,.12);
  --xc-shadow-card:0 14px 44px rgba(37,79,100,.08);
}

/* App background: softer alpine atmosphere */
body.fd-paragliding-theme{
  background-attachment:fixed;
}
body.fd-paragliding-theme .fd-page{
  background-color:transparent;
}
body.fd-paragliding-theme .fd-page::before{
  background-size:auto,auto,720px auto!important;
  opacity:.42!important;
}
body.fd-paragliding-theme .fd-page::after{
  height:34vh!important;
  opacity:.34!important;
}
html[data-theme="light"] body.fd-paragliding-theme .fd-page::before{opacity:.46!important}
html[data-theme="light"] body.fd-paragliding-theme .fd-page::after{opacity:.16!important}

/* Premium topbar */
.fd-topbar{
  position:sticky;
  top:0;
  z-index:1000;
  height:var(--xc-topbar-height)!important;
  padding:0 clamp(20px,2.4vw,42px)!important;
  gap:22px;
  border-bottom:1px solid rgba(149,211,224,.12)!important;
  background:linear-gradient(180deg,rgba(5,14,19,.94),rgba(5,14,19,.84))!important;
  backdrop-filter:blur(22px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(135%)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.12)!important;
}
.fd-topbar::after{display:none!important;content:none!important}
html[data-theme="light"] .fd-topbar{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,252,253,.88))!important;
  border-bottom-color:#dce7eb!important;
  box-shadow:0 10px 34px rgba(31,70,89,.08)!important;
}
.fd-brand{
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:.075em!important;
  gap:11px!important;
  flex:0 0 auto;
}
.fd-brand::before{
  width:34px!important;
  height:19px!important;
  border-top-width:3px!important;
  transform:rotate(-4deg)!important;
}
.fd-brand span{font-weight:850}
.fd-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px!important;
  margin:0 auto!important;
  min-width:0;
}
.fd-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 11px!important;
  border-radius:12px!important;
  color:#8ca2aa!important;
  font-size:12px!important;
  font-weight:820!important;
  letter-spacing:.01em!important;
  transition:background .18s ease,color .18s ease,transform .18s ease;
  white-space:nowrap;
}
.fd-nav a::before{
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
  color:currentColor;
  opacity:.82;
  font-size:11px;
  font-weight:900;
}
.fd-nav-dashboard::before{content:"◫"}
.fd-nav-flights::before{content:"⌁"}
.fd-nav-compare::before{content:"⇄"}
.fd-nav-teams::before{content:"◇"}
.fd-nav-pilot::before{content:"⌖"}
.fd-nav-plan::before{content:"◒"}
.fd-nav-users::before{content:"◎"}
.fd-nav-system::before{content:"⚙"}
.fd-nav a:hover{
  color:#eefcff!important;
  background:rgba(126,231,255,.07)!important;
  transform:translateY(-1px);
}
.fd-nav a.is-active{
  color:#f1ffd7!important;
  background:linear-gradient(180deg,rgba(200,255,72,.12),rgba(126,231,255,.06))!important;
  box-shadow:inset 0 0 0 1px rgba(200,255,72,.14);
}
.fd-nav a.is-active::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:-17px;
  height:2px;border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--thermal),transparent);
  box-shadow:0 0 12px rgba(200,255,72,.32);
}
html[data-theme="light"] .fd-nav a{color:#6c818d!important}
html[data-theme="light"] .fd-nav a:hover{color:#172833!important;background:rgba(27,75,94,.05)!important}
html[data-theme="light"] .fd-nav a.is-active{
  color:#172833!important;
  background:linear-gradient(180deg,rgba(157,216,35,.13),rgba(35,160,203,.04))!important;
  box-shadow:inset 0 0 0 1px rgba(157,216,35,.15);
}
.fd-top-actions{display:flex;align-items:center;gap:10px!important;flex:0 0 auto}
.fd-top-legal,.fd-link-button{font-size:12px!important}
.fd-top-legal{padding:9px 8px;border-radius:10px;transition:.18s ease}
.fd-top-legal:hover{background:rgba(255,255,255,.045)}
html[data-theme="light"] .fd-top-legal:hover{background:rgba(22,53,67,.045)}

/* Theme switch becomes a compact premium segmented toggle */
.fd-theme-switch{
  height:42px;
  padding:4px!important;
  gap:2px!important;
  border-radius:14px!important;
  border:1px solid rgba(151,204,216,.15)!important;
  background:rgba(7,18,23,.66)!important;
  box-shadow:none!important;
}
.fd-theme-button{
  width:32px!important;height:32px!important;
  border-radius:10px!important;
  font-size:15px;
}
.fd-theme-button.is-active{
  background:linear-gradient(145deg,var(--thermal),#a9ed2f)!important;
  box-shadow:0 4px 13px rgba(200,255,72,.16);
}
html[data-theme="light"] .fd-theme-switch{
  background:#f3f7f9!important;
  border-color:#d7e3e8!important;
}

/* Main content spacing */
.fd-shell{padding-top:42px!important}
.fd-page-heading{margin-bottom:30px!important}
.fd-page-heading h1{letter-spacing:-.048em!important}

/* Cards */
.fd-card{
  border-radius:var(--xc-radius-md)!important;
  border-color:rgba(149,205,218,.13)!important;
  box-shadow:var(--xc-shadow-card);
}
.fd-card:hover{border-color:rgba(149,205,218,.2)}
html[data-theme="light"] .fd-card{border-color:#dce6ea!important}

/* Dashboard hero — premium alpine glass panel */
.fd-dashboard-hero{
  position:relative;
  overflow:hidden;
  min-height:270px;
  margin:8px 0 34px;
  padding:48px clamp(28px,4vw,54px)!important;
  border:1px solid rgba(149,211,224,.13);
  border-radius:28px;
  background:
    radial-gradient(circle at 84% 18%,rgba(126,231,255,.12),transparent 24%),
    radial-gradient(circle at 73% 72%,rgba(200,255,72,.055),transparent 21%),
    linear-gradient(145deg,rgba(15,36,43,.96),rgba(6,18,23,.96));
  box-shadow:var(--xc-shadow-soft);
  isolation:isolate;
}
.fd-dashboard-hero::before{
  content:"";
  position:absolute;
  inset:auto -8% -42% 32%;
  height:86%;
  z-index:-1;
  opacity:.55;
  background:
    linear-gradient(151deg,transparent 0 28%,rgba(16,62,52,.86) 28.4% 54%,transparent 54.4%),
    linear-gradient(210deg,transparent 0 34%,rgba(15,52,46,.84) 34.4% 59%,transparent 59.4%);
}
.fd-dashboard-hero::after{
  content:"";
  position:absolute;
  right:8%;top:18%;
  width:110px;height:54px;
  border-top:3px solid rgba(200,255,72,.72);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  transform:rotate(-7deg);
  filter:drop-shadow(0 0 12px rgba(200,255,72,.14));
  opacity:.85;
}
.fd-dashboard-hero>div{position:relative;z-index:1}
.fd-dashboard-hero h1{max-width:740px;font-size:clamp(42px,5.2vw,72px)!important;line-height:.98!important}
.fd-dashboard-hero p{max-width:680px;font-size:15px;line-height:1.6}
html[data-theme="light"] .fd-dashboard-hero{
  border-color:#d8e5ea;
  background:
    radial-gradient(circle at 84% 18%,rgba(35,160,203,.10),transparent 24%),
    radial-gradient(circle at 73% 72%,rgba(157,216,35,.07),transparent 21%),
    linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,247,249,.96));
}
html[data-theme="light"] .fd-dashboard-hero::before{
  opacity:.24;
  background:
    linear-gradient(151deg,transparent 0 28%,rgba(99,151,130,.56) 28.4% 54%,transparent 54.4%),
    linear-gradient(210deg,transparent 0 34%,rgba(90,140,121,.48) 34.4% 59%,transparent 59.4%);
}
html[data-theme="light"] .fd-dashboard-hero::after{border-top-color:rgba(130,184,14,.74)}

/* Dashboard KPI block */
.fd-dashboard-stats{
  border-radius:18px!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(4,15,20,.52)!important;
  border-color:rgba(149,205,218,.15)!important;
}
.fd-dashboard-stats div{padding:16px 20px!important;border-left-color:rgba(149,205,218,.12)!important}
.fd-dashboard-stats b{font-variant-numeric:tabular-nums;letter-spacing:-.025em}
html[data-theme="light"] .fd-dashboard-stats{background:rgba(255,255,255,.75)!important;border-color:#dbe6ea!important}
html[data-theme="light"] .fd-dashboard-stats div{border-left-color:#dbe6ea!important}

/* Flight list */
.fd-flight-row{
  position:relative;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.fd-flight-row::after{
  content:"";
  position:absolute;
  left:0;top:14px;bottom:14px;width:2px;
  border-radius:0 99px 99px 0;
  background:linear-gradient(180deg,transparent,var(--thermal),transparent);
  opacity:0;
  transition:opacity .18s ease;
}
.fd-flight-row:hover{transform:translateX(2px)}
.fd-flight-row:hover::after{opacity:.75}
.fd-flight-kpis b{font-variant-numeric:tabular-nums}

/* Last flight card */
.fd-last-flight{border-radius:24px!important}
.fd-last-flight-copy{padding:34px!important}
.fd-track-preview{min-height:350px!important}
.fd-track-preview::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(7,17,22,.15),transparent 26%,transparent 78%,rgba(7,17,22,.16));
}
html[data-theme="light"] .fd-track-preview::after{background:linear-gradient(90deg,rgba(246,250,251,.18),transparent 26%,transparent 78%,rgba(246,250,251,.18))}

/* Secondary dashboard cards */
.fd-dashboard-grid{gap:22px!important}
.fd-dashboard-grid>.fd-card{padding:26px!important}
.fd-mini-flight{border-radius:12px;padding:14px 12px!important;margin:0 -12px;transition:.16s ease}
.fd-mini-flight:hover{background:rgba(126,231,255,.045);padding-left:16px!important;padding-right:8px!important}
html[data-theme="light"] .fd-mini-flight:hover{background:rgba(22,73,92,.035)}

/* Instrument styling refined */
.fd-stat-grid,.fd-env-grid,.fd-model-compare,.fd-wind-profile{border-radius:14px!important}
.fd-thermal{border-radius:12px!important;min-height:46px}
.fd-section-title h2{letter-spacing:.015em}
.fd-ai-assessment{border-left-width:3px!important}

/* Buttons */
.fd-button{
  min-height:44px;
  border-radius:13px!important;
  padding-left:18px!important;padding-right:18px!important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.fd-button:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(182,255,60,.14)}
.fd-button:active{transform:translateY(0)}

/* Light theme final contrast pass */
html[data-theme="light"] .fd-flight-row strong,
html[data-theme="light"] .fd-dashboard-hero h1,
html[data-theme="light"] .fd-last-flight-copy h2,
html[data-theme="light"] .fd-page-heading h1,
html[data-theme="light"] .fd-profile-summary dd{color:#11232e!important}
html[data-theme="light"] .fd-flight-row div>span,
html[data-theme="light"] .fd-dashboard-hero p,
html[data-theme="light"] .fd-last-flight-copy>p,
html[data-theme="light"] .fd-mini-flight span{color:#657b87!important}

/* Responsive */
@media(max-width:1260px){
  .fd-nav a{padding:0 9px!important;font-size:11px!important}
  .fd-nav a::before{display:none}
}
@media(max-width:1080px){
  .fd-nav{display:none!important}
  .fd-top-actions{display:none!important}
  .fd-mobile-menu{display:block!important}
}
@media(max-width:900px){
  :root{--xc-topbar-height:58px}
  .fd-topbar{height:58px!important;padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important}
  .fd-dashboard-hero{
    min-height:auto;
    margin-top:0;
    padding:30px 22px 34px!important;
    border-radius:22px;
  }
  .fd-dashboard-hero::after{width:68px;height:34px;right:8%;top:13%}
  .fd-dashboard-hero h1{font-size:clamp(34px,10vw,48px)!important}
  .fd-dashboard-stats{background:rgba(4,15,20,.7)!important}
  html[data-theme="light"] .fd-dashboard-stats{background:rgba(255,255,255,.88)!important}
  .fd-last-flight-copy{padding:22px!important}
  .fd-dashboard-grid>.fd-card{padding:18px!important}
}
@media(max-width:600px){
  .fd-dashboard-hero::before{inset:auto -25% -45% 5%}
  .fd-dashboard-hero::after{opacity:.6}
  .fd-dashboard-stats div{padding:11px 8px!important}
  .fd-button{min-height:46px}
}


/* ======================================================================
   v1.7.1 — Block layout hotfix
   Fixes washed/awkward dashboard + plan blocks after visual polish.
   ====================================================================== */

/* Slightly calmer card surfaces */
.fd-card,
.fd-last-flight,
.fd-plan-card,
.fd-dashboard-usage,
.fd-dashboard-grid>.fd-card,
.fd-admin-utility-card,
.fd-team-card,
.fd-team-feed,
.fd-team-shell>aside{
  background:
    radial-gradient(circle at 100% 0, rgba(126,231,255,.04), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012)),
    var(--panel) !important;
}
html[data-theme="light"] .fd-card,
html[data-theme="light"] .fd-last-flight,
html[data-theme="light"] .fd-plan-card,
html[data-theme="light"] .fd-dashboard-usage,
html[data-theme="light"] .fd-dashboard-grid>.fd-card,
html[data-theme="light"] .fd-admin-utility-card,
html[data-theme="light"] .fd-team-card,
html[data-theme="light"] .fd-team-feed,
html[data-theme="light"] .fd-team-shell>aside{
  background:
    radial-gradient(circle at 100% 0, rgba(53,172,207,.05), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,251,.96)) !important;
}

/* Plan page */
.fd-dashboard-usage{
  padding:26px 28px!important;
  border-radius:22px!important;
  border:1px solid rgba(149,205,218,.15)!important;
  align-items:center!important;
}
.fd-dashboard-usage .fd-button,
.fd-dashboard-usage .fd-button-secondary{
  width:auto;
  white-space:nowrap;
}
.fd-usage-hero{align-items:center!important;gap:22px!important;margin-bottom:0!important;flex:1 1 auto}
.fd-usage-ring{width:104px!important;height:104px!important;box-shadow:inset 0 0 0 1px rgba(149,205,218,.08)}
.fd-usage-ring:after{inset:10px!important}
.fd-plan-grid{align-items:stretch!important;gap:22px!important}
.fd-plan-card{
  min-height:284px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:14px!important;
  padding:26px 24px 24px!important;
  border-radius:22px!important;
  border:1px solid rgba(149,205,218,.14)!important;
  overflow:visible!important;
}
.fd-plan-card>*{position:relative;z-index:1}
.fd-plan-card .fd-eyebrow,
.fd-plan-card .fd-plan-pill,
.fd-plan-card .fd-plan-current{margin:0 0 2px!important;align-self:flex-start}
.fd-plan-card h3,
.fd-plan-card h2{margin:0!important;font-size:20px!important;line-height:1.18!important}
.fd-plan-card p{margin:0!important;color:#9bb0b7;line-height:1.55!important}
.fd-plan-card ul{margin:0;padding-left:18px;color:#b8c8cd;display:grid;gap:8px}
.fd-plan-price{margin:8px 0 2px!important;align-items:flex-end!important;flex-wrap:wrap}
.fd-plan-price strong{font-size:38px!important;line-height:.95!important;letter-spacing:-.03em}
.fd-plan-price span{font-size:14px!important}
.fd-plan-card .fd-button,
.fd-plan-card .fd-button-secondary{margin-top:auto!important;align-self:flex-start}
.fd-plan-card.is-current{box-shadow:0 0 0 1px rgba(201,255,63,.10) inset, 0 14px 40px rgba(10,23,27,.22)!important}
.fd-plan-pro{
  background:
    radial-gradient(circle at 100% 0, rgba(200,255,72,.10), transparent 30%),
    linear-gradient(145deg, rgba(201,255,63,.06), rgba(63,214,255,.03)),
    var(--panel)!important;
}
html[data-theme="light"] .fd-dashboard-usage{
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,251,252,.95))!important;
  border-color:#d9e5ea!important;
}
html[data-theme="light"] .fd-dashboard-usage p,
html[data-theme="light"] .fd-plan-card p{color:#5f7481!important}
html[data-theme="light"] .fd-usage-ring{box-shadow:inset 0 0 0 1px #dce6eb}
html[data-theme="light"] .fd-usage-ring:after{background:#fff!important}
html[data-theme="light"] .fd-plan-card{
  border-color:#d9e4e9!important;
  box-shadow:0 12px 34px rgba(29,63,79,.06)!important;
}
html[data-theme="light"] .fd-plan-card.is-current{box-shadow:0 0 0 1px rgba(157,216,35,.18) inset, 0 12px 30px rgba(29,63,79,.07)!important}
html[data-theme="light"] .fd-plan-pro{
  background:
    radial-gradient(circle at 100% 0, rgba(157,216,35,.12), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,252,.96))!important;
}
html[data-theme="light"] .fd-plan-price strong{color:#13212b!important}
html[data-theme="light"] .fd-plan-price span{color:#6d828e!important}
html[data-theme="light"] .fd-plan-current,
html[data-theme="light"] .fd-plan-pill-pro{background:rgba(157,216,35,.13)!important;color:#6a9400!important;border-color:rgba(157,216,35,.22)!important}
html[data-theme="light"] .fd-plan-pill-free{background:rgba(53,172,207,.10)!important;color:#0b8fbc!important;border-color:rgba(53,172,207,.18)!important}

/* Dashboard main blocks */
.fd-last-flight{
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr)!important;
  min-height:420px;
}
.fd-last-flight-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:0!important;
}
.fd-last-flight-copy .fd-button,
.fd-last-flight-copy .fd-button-secondary{width:auto!important}
.fd-last-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px!important;
  margin:24px 0!important;
}
.fd-last-kpis span{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:74px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(149,205,218,.11);
}
.fd-last-kpis b{font-size:28px!important;line-height:1.05!important}
.fd-dashboard-insight{
  padding:8px 0 8px 16px!important;
  margin:16px 0 22px!important;
}
.fd-dashboard-insight p{font-size:16px;line-height:1.58}
.fd-track-preview{
  min-height:100%!important;
  border-left:1px solid rgba(149,205,218,.10);
}
.fd-track-preview svg{inset:10%!important;width:80%!important;height:80%!important}
.fd-dashboard-grid{grid-template-columns:1.18fr .82fr!important;gap:22px!important;align-items:start}
.fd-dashboard-grid>.fd-card{min-height:100%;padding:26px!important}
.fd-dashboard-grid .fd-section-title{margin-bottom:16px!important}
.fd-mini-flight{padding:16px 12px!important;min-height:72px;align-items:center}
.fd-profile-summary dl{gap:12px!important}
.fd-profile-summary dt,.fd-profile-summary dd{font-size:15px}

html[data-theme="light"] .fd-last-kpis span{
  background:#fbfdfe!important;
  border-color:#dbe5ea!important;
}
html[data-theme="light"] .fd-last-kpis b{color:#13212b!important}
html[data-theme="light"] .fd-track-preview{border-left-color:#dde7eb!important}
html[data-theme="light"] .fd-dashboard-insight p{color:#425866!important}

/* Generic title/readability fixes */
.fd-card .fd-section-title h2,
.fd-plan-card h2,
.fd-plan-card h3,
.fd-dashboard-usage h2,
.fd-dashboard-grid h2,
.fd-dashboard-grid h3{line-height:1.18!important}
html[data-theme="light"] .fd-card h2,
html[data-theme="light"] .fd-card h3,
html[data-theme="light"] .fd-dashboard-usage h2,
html[data-theme="light"] .fd-dashboard-grid h2,
html[data-theme="light"] .fd-dashboard-grid h3,
html[data-theme="light"] .fd-last-flight-copy h2{color:#13212b!important}
html[data-theme="light"] .fd-card p,
html[data-theme="light"] .fd-dashboard-grid p,
html[data-theme="light"] .fd-dashboard-usage p{color:#5f7481!important}

/* Better responsive for those blocks */
@media(max-width:1100px){
  .fd-last-flight{grid-template-columns:1fr!important}
  .fd-track-preview{min-height:280px!important;border-left:0;border-top:1px solid rgba(149,205,218,.10)}
  html[data-theme="light"] .fd-track-preview{border-top-color:#dde7eb!important}
  .fd-dashboard-grid{grid-template-columns:1fr!important}
  .fd-last-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .fd-dashboard-usage{padding:22px 20px!important;align-items:flex-start!important}
  .fd-usage-hero{flex-direction:column!important;align-items:flex-start!important}
  .fd-plan-card{min-height:auto!important}
}
@media(max-width:620px){
  .fd-last-kpis{grid-template-columns:1fr 1fr!important}
  .fd-last-kpis b{font-size:22px!important}
  .fd-dashboard-insight p{font-size:15px!important}
  .fd-plan-price strong{font-size:32px!important}
}

/* ======================================================================
   v1.8 — Dedicated paragliding weather briefing module
   ====================================================================== */
.fd-nav-weather::before{content:"☁"}
.fd-weather-shell{width:min(1340px,calc(100% - 40px))}
.fd-weather-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:26px 0 26px}
.fd-weather-hero h1{margin:6px 0 10px;font-size:clamp(38px,5vw,66px);letter-spacing:-.055em;line-height:.98}
.fd-weather-hero p{max-width:840px;margin:0;color:#8ea4ad;font-size:15px;line-height:1.6}
.fd-weather-usage{flex:0 0 auto;border:1px solid rgba(200,255,72,.18);background:rgba(200,255,72,.05);border-radius:999px;padding:9px 13px;color:#bed57b;font-size:10px;font-weight:850;letter-spacing:.05em}
.fd-weather-form{position:relative;display:grid;grid-template-columns:minmax(300px,2fr) 160px 110px 110px auto;gap:12px;align-items:end;padding:18px 20px;overflow:visible!important}
.fd-weather-form label{display:grid;gap:7px;min-width:0}.fd-weather-form label>span{font-size:9px;color:#789099;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.fd-weather-form input,.fd-weather-form select{width:100%;height:46px;border:1px solid #253a42;background:#08161b;color:#eefbff;border-radius:12px;padding:0 13px;outline:none}
.fd-weather-form input:focus,.fd-weather-form select:focus{border-color:#7fe5f7;box-shadow:0 0 0 3px rgba(127,229,247,.08)}
.fd-weather-submit{height:46px;white-space:nowrap}.fd-weather-location-wrap{position:relative;display:grid;gap:7px}.fd-weather-location-wrap>small{color:#728991;font-size:10px;min-height:14px}
.fd-weather-search-results{position:absolute;z-index:60;top:70px;left:0;right:0;padding:7px;border:1px solid rgba(150,210,223,.17);border-radius:14px;background:rgba(6,17,22,.98);box-shadow:0 24px 70px rgba(0,0,0,.44);backdrop-filter:blur(20px)}
.fd-weather-search-results button{width:100%;display:grid;gap:3px;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#eaf5f8;text-align:left;cursor:pointer}.fd-weather-search-results button:hover{background:rgba(126,231,255,.065)}
.fd-weather-search-results strong{font-size:13px}.fd-weather-search-results span{font-size:10px;color:#789099}
.fd-weather-location-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:38px 0 16px}.fd-weather-location-head h2{margin:5px 0;font-size:31px;letter-spacing:-.035em}.fd-weather-location-head p{margin:0;color:#789099;font-size:12px}
.fd-weather-best{display:grid;gap:3px;min-width:255px;padding:14px 18px;border:1px solid rgba(200,255,72,.19);border-radius:16px;background:linear-gradient(145deg,rgba(200,255,72,.07),rgba(126,231,255,.025))}.fd-weather-best span{font-size:8px;color:#a9c568;letter-spacing:.13em;text-transform:uppercase;font-weight:900}.fd-weather-best b{font-size:24px;color:#eaffb5}.fd-weather-best small{color:#748b93;font-size:10px}
.fd-weather-ai{padding:28px 30px;margin-bottom:30px;background:radial-gradient(circle at 100% 0,rgba(200,255,72,.08),transparent 29%),linear-gradient(145deg,rgba(14,31,37,.97),rgba(7,18,23,.98))!important}
.fd-weather-ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.fd-weather-ai-head h2{margin:6px 0 0;font-size:28px;letter-spacing:-.035em}.fd-weather-confidence{padding:7px 10px;border:1px solid rgba(126,231,255,.14);border-radius:999px;color:#87afba;font-size:9px;font-weight:900;letter-spacing:.1em}
.fd-weather-summary{max-width:1040px;margin:20px 0 24px;color:#d2e0e4;font-size:17px;line-height:1.65}
.fd-weather-ai-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;overflow:hidden;border:1px solid rgba(149,205,218,.12);border-radius:16px;background:rgba(149,205,218,.12)}.fd-weather-ai-grid article{padding:16px 18px;background:#0a171c}.fd-weather-ai-grid span,.fd-weather-watch>span{display:block;margin-bottom:7px;color:#77dff1;font-size:8px;font-weight:950;letter-spacing:.14em}.fd-weather-ai-grid p{margin:0;color:#abc0c6;font-size:12px;line-height:1.55}.fd-weather-best-copy span{color:#c8ff48}
.fd-weather-chronology{display:grid;gap:0;margin-top:22px;border-top:1px solid rgba(145,199,211,.11)}.fd-weather-chronology>div{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(145,199,211,.08)}.fd-weather-chronology b{color:#c8ff48;font-variant-numeric:tabular-nums}.fd-weather-chronology p{margin:0;color:#bacbd0;line-height:1.5}
.fd-weather-watch{margin-top:20px;padding:15px 17px;border-left:3px solid #ffb861;background:rgba(255,184,97,.035)}.fd-weather-watch>span{color:#ffb861}.fd-weather-watch ul{margin:0;padding-left:18px;color:#adbec4;display:grid;gap:7px}.fd-weather-disclaimer{display:block;margin-top:18px;color:#667d85;line-height:1.5}
.fd-weather-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:30px 0 14px}.fd-weather-section-head h2{margin:5px 0 0;font-size:28px}.fd-weather-section-head>div:last-child{color:#688089;font-size:11px}
.fd-weather-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fd-weather-hour{padding:0!important;overflow:hidden!important}.fd-weather-hour>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(145,199,211,.1)}.fd-weather-hour>header>div{display:flex;align-items:center;gap:10px}.fd-weather-hour>header b{font-size:22px;font-variant-numeric:tabular-nums}.fd-weather-hour>header span{font-size:9px;color:#748b93}.fd-weather-agreement{font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;padding:5px 7px;border-radius:999px}.fd-weather-agreement.is-good{color:#c8ff48;border:1px solid rgba(200,255,72,.2);background:rgba(200,255,72,.05)}.fd-weather-agreement.is-moderate{color:#ffe86a;border:1px solid rgba(255,232,106,.2)}.fd-weather-agreement.is-weak{color:#ff9c7a;border:1px solid rgba(255,156,122,.2)}.fd-weather-agreement.is-limited{color:#93a8b0;border:1px solid rgba(147,168,176,.2)}
.fd-weather-hour-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:rgba(145,199,211,.09)}.fd-weather-hour-grid>div{min-width:0;padding:14px 13px;background:#09161b;display:grid;gap:5px}.fd-weather-hour-grid span{font-size:8px;color:#6f8891;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.fd-weather-hour-grid strong{font-size:16px;white-space:nowrap}.fd-weather-hour-grid strong small{font-size:9px;color:#71868e;font-weight:700}.fd-weather-hour-grid em{font-style:normal;color:#71868e;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-weather-models{border-top:1px solid rgba(145,199,211,.08)}.fd-weather-models summary{cursor:pointer;padding:10px 15px;color:#76909a;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.fd-weather-models>div{padding:0 15px 12px}.fd-weather-models p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:7px 0;border-top:1px solid rgba(145,199,211,.07);font-size:10px}.fd-weather-models p span{color:#7c939b;text-align:right}
.fd-weather-sources{margin-top:22px;padding:0!important}.fd-weather-sources>summary{cursor:pointer;padding:16px 18px;color:#8299a1;font-size:11px;font-weight:850}.fd-weather-sources>div{padding:0 18px 18px;border-top:1px solid rgba(145,199,211,.09)}.fd-weather-sources p{display:flex;justify-content:space-between;gap:12px;padding:8px 0;margin:0;border-bottom:1px solid rgba(145,199,211,.06);font-size:11px}.fd-weather-sources a{color:#7de2f4}.fd-weather-sources ul{margin:14px 0 0;padding-left:18px;color:#738b93;display:grid;gap:7px;font-size:10px;line-height:1.5}

html[data-theme="light"] .fd-weather-hero p{color:#5f7582}.fd-weather-page[data-theme="light"]{color:#13212b}
html[data-theme="light"] .fd-weather-usage{background:rgba(157,216,35,.10);border-color:rgba(157,216,35,.2);color:#668b0c}
html[data-theme="light"] .fd-weather-form input,html[data-theme="light"] .fd-weather-form select{background:#fbfdfe;color:#13212b;border-color:#d7e3e8}
html[data-theme="light"] .fd-weather-search-results{background:rgba(255,255,255,.98);border-color:#d9e5ea;box-shadow:0 20px 60px rgba(29,63,79,.13)}html[data-theme="light"] .fd-weather-search-results button{color:#13212b}html[data-theme="light"] .fd-weather-search-results button:hover{background:#f2f7f9}html[data-theme="light"] .fd-weather-search-results span{color:#607683}
html[data-theme="light"] .fd-weather-location-head h2,html[data-theme="light"] .fd-weather-section-head h2{color:#13212b}html[data-theme="light"] .fd-weather-location-head p{color:#607683}
html[data-theme="light"] .fd-weather-best{background:linear-gradient(145deg,rgba(157,216,35,.11),rgba(53,172,207,.04));border-color:rgba(157,216,35,.2)}html[data-theme="light"] .fd-weather-best b{color:#547c00}html[data-theme="light"] .fd-weather-best small{color:#617783}
html[data-theme="light"] .fd-weather-ai{background:radial-gradient(circle at 100% 0,rgba(157,216,35,.11),transparent 29%),linear-gradient(180deg,#fff,#f7fafb)!important;border-color:#d9e5ea!important}html[data-theme="light"] .fd-weather-ai-head h2{color:#13212b}html[data-theme="light"] .fd-weather-summary{color:#344c59}html[data-theme="light"] .fd-weather-confidence{color:#54717f;border-color:#d9e5ea}
html[data-theme="light"] .fd-weather-ai-grid{background:#dce7eb;border-color:#dce7eb}html[data-theme="light"] .fd-weather-ai-grid article{background:#fbfdfe}html[data-theme="light"] .fd-weather-ai-grid p,html[data-theme="light"] .fd-weather-chronology p{color:#4f6673}html[data-theme="light"] .fd-weather-chronology>div{border-color:#dce6ea}html[data-theme="light"] .fd-weather-chronology b{color:#638b00}html[data-theme="light"] .fd-weather-watch{background:#fff9ef}html[data-theme="light"] .fd-weather-watch ul{color:#536a77}html[data-theme="light"] .fd-weather-disclaimer{color:#6e838e}
html[data-theme="light"] .fd-weather-hour>header{border-color:#dce6ea}html[data-theme="light"] .fd-weather-hour>header b{color:#13212b}html[data-theme="light"] .fd-weather-hour-grid{background:#dce6ea}html[data-theme="light"] .fd-weather-hour-grid>div{background:#fbfdfe}html[data-theme="light"] .fd-weather-hour-grid span,html[data-theme="light"] .fd-weather-hour-grid em{color:#667d89}html[data-theme="light"] .fd-weather-hour-grid strong{color:#13212b}html[data-theme="light"] .fd-weather-models{border-color:#dce6ea}html[data-theme="light"] .fd-weather-models summary{color:#5d7481}html[data-theme="light"] .fd-weather-models p{border-color:#e3eaed;color:#213541}html[data-theme="light"] .fd-weather-models p span{color:#607683}html[data-theme="light"] .fd-weather-sources>summary{color:#526b78}html[data-theme="light"] .fd-weather-sources>div{border-color:#dce6ea}html[data-theme="light"] .fd-weather-sources p{border-color:#e5ecef;color:#243844}html[data-theme="light"] .fd-weather-sources ul{color:#607683}

@media(max-width:1180px){.fd-weather-form{grid-template-columns:minmax(280px,1.7fr) 150px 100px 100px}.fd-weather-submit{grid-column:1/-1;width:max-content}.fd-weather-hour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fd-weather-hour-grid>div:nth-child(4),.fd-weather-hour-grid>div:nth-child(5){grid-column:auto}}
@media(max-width:900px){.fd-weather-shell{width:calc(100% - 28px)!important}.fd-weather-hero{align-items:flex-start;flex-direction:column}.fd-weather-form{grid-template-columns:1fr 1fr!important}.fd-weather-location-wrap{grid-column:1/-1}.fd-weather-submit{grid-column:1/-1;width:100%}.fd-weather-location-head{align-items:flex-start;flex-direction:column}.fd-weather-best{width:100%}.fd-weather-ai{padding:22px 20px}.fd-weather-ai-grid{grid-template-columns:1fr}.fd-weather-timeline{grid-template-columns:1fr}.fd-weather-hour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-weather-hour-grid>div:last-child{grid-column:1/-1}.fd-weather-ai-head{flex-direction:column}.fd-weather-confidence{align-self:flex-start}}
@media(max-width:560px){.fd-weather-hero h1{font-size:42px}.fd-weather-form{grid-template-columns:1fr!important;padding:15px}.fd-weather-form>*{grid-column:1!important}.fd-weather-search-results{top:70px}.fd-weather-ai{padding:18px 16px}.fd-weather-summary{font-size:15px}.fd-weather-chronology>div{grid-template-columns:52px 1fr}.fd-weather-hour-grid{grid-template-columns:1fr}.fd-weather-hour-grid>div:last-child{grid-column:auto}.fd-weather-hour>header b{font-size:20px}}

/* XCInsight v1.8.3 — PLAN PAGE ONLY */
.fd-plan-page .fd-narrow-shell{
  max-width:1220px!important;
}
.fd-plan-page .fd-page-heading{
  margin-bottom:26px!important;
}
.fd-plan-page .fd-page-heading p{
  max-width:980px;
  line-height:1.55;
}

/* Usage / quota panel */
.fd-plan-page .fd-usage-hero{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  align-items:center!important;
  gap:26px!important;
  min-height:0!important;
  height:auto!important;
  margin:0 0 22px!important;
  padding:20px 24px!important;
  overflow:hidden!important;
}
.fd-plan-page .fd-usage-ring{
  width:100px!important;
  height:100px!important;
  margin:0!important;
}
.fd-plan-page .fd-usage-ring:after{
  inset:9px!important;
}
.fd-plan-page .fd-usage-ring strong{
  font-size:31px!important;
  line-height:1!important;
}
.fd-plan-page .fd-usage-hero > div:last-child{
  min-width:0;
  display:grid;
  align-content:center;
  gap:7px;
}
.fd-plan-page .fd-usage-hero .fd-eyebrow{
  margin:0!important;
}
.fd-plan-page .fd-usage-hero h2{
  margin:0!important;
  font-size:28px!important;
  line-height:1.08!important;
}
.fd-plan-page .fd-usage-hero p{
  margin:4px 0 0!important;
}

/* The two plans must not inherit a huge equal grid height. */
.fd-plan-page .fd-plan-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  grid-auto-rows:auto!important;
  gap:22px!important;
  margin:0!important;
}
.fd-plan-page .fd-plan-card{
  min-height:0!important;
  height:auto!important;
  align-self:start!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:0!important;
  padding:28px!important;
  overflow:hidden!important;
}
.fd-plan-page .fd-plan-card > .fd-eyebrow{
  margin:0 0 14px!important;
}
.fd-plan-page .fd-plan-card h2{
  margin:0 0 18px!important;
  font-size:27px!important;
  line-height:1.12!important;
  letter-spacing:-.025em;
}
.fd-plan-page .fd-plan-card > p{
  margin:0!important;
  max-width:620px;
  line-height:1.55!important;
}
.fd-plan-page .fd-plan-price{
  margin:26px 0 14px!important;
  gap:8px!important;
}
.fd-plan-page .fd-plan-price strong{
  font-size:40px!important;
  line-height:1!important;
}
.fd-plan-page .fd-plan-price span{
  padding-bottom:3px;
}
.fd-plan-page .fd-plan-card .fd-muted{
  margin-top:0!important;
  line-height:1.5!important;
}
.fd-plan-page .fd-plan-current{
  position:static!important;
  inset:auto!important;
  align-self:flex-start!important;
  margin-top:22px!important;
}
.fd-plan-page .fd-plan-card.is-current{
  transform:none!important;
}
.fd-plan-page .fd-plan-pro{
  background:
    radial-gradient(circle at 100% 0,rgba(200,255,72,.08),transparent 34%),
    linear-gradient(145deg,rgba(200,255,72,.045),rgba(63,214,255,.02)),
    var(--panel)!important;
}

/* Admin shortcuts below cards */
.fd-plan-page .fd-heading-actions{
  display:flex!important;
  flex-wrap:wrap;
  gap:10px!important;
  margin-top:20px!important;
}
.fd-plan-page .fd-heading-actions .fd-button{
  width:auto!important;
  margin:0!important;
}

/* Light mode */
html[data-theme="light"] .fd-plan-page .fd-usage-hero,
html[data-theme="light"] .fd-plan-page .fd-plan-card{
  background:linear-gradient(180deg,#fff,#f8fbfc)!important;
  border-color:#d9e4e9!important;
  box-shadow:0 12px 32px rgba(24,59,76,.06)!important;
}
html[data-theme="light"] .fd-plan-page .fd-plan-pro{
  background:
    radial-gradient(circle at 100% 0,rgba(157,216,35,.10),transparent 34%),
    linear-gradient(180deg,#fff,#f8fbfc)!important;
}
html[data-theme="light"] .fd-plan-page .fd-usage-ring:after{
  background:#fff!important;
}
html[data-theme="light"] .fd-plan-page .fd-plan-card h2,
html[data-theme="light"] .fd-plan-page .fd-plan-price strong,
html[data-theme="light"] .fd-plan-page .fd-usage-hero h2{
  color:#13212b!important;
}
html[data-theme="light"] .fd-plan-page .fd-plan-card p,
html[data-theme="light"] .fd-plan-page .fd-usage-hero p,
html[data-theme="light"] .fd-plan-page .fd-plan-price span{
  color:#607582!important;
}

@media(max-width:850px){
  .fd-plan-page .fd-plan-grid{
    grid-template-columns:1fr!important;
  }
  .fd-plan-page .fd-plan-card{
    width:100%;
  }
}
@media(max-width:620px){
  .fd-plan-page .fd-usage-hero{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:20px!important;
  }
  .fd-plan-page .fd-usage-ring{
    width:88px!important;
    height:88px!important;
  }
  .fd-plan-page .fd-usage-hero h2{
    font-size:24px!important;
  }
  .fd-plan-page .fd-plan-card{
    padding:22px!important;
  }
  .fd-plan-page .fd-plan-card h2{
    font-size:23px!important;
  }
  .fd-plan-page .fd-plan-price strong{
    font-size:34px!important;
  }
}
/* XCInsight v1.9 Stripe Billing */
.fd-billing-alert{margin-top:0}
.fd-billing-status{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:22px;padding:22px 24px;margin:0 0 22px}
.fd-billing-status h2{margin:4px 0 4px;font-size:20px}.fd-billing-status p{margin:0;color:var(--muted)}
.fd-billing-status-meta{display:flex;gap:20px}.fd-billing-status-meta span{display:grid;gap:3px;min-width:100px}.fd-billing-status-meta small{color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.fd-billing-status-meta b{font-size:14px}
.fd-billing-status form{margin:0}.fd-billing-status .fd-button-secondary{width:auto;margin:0}
.fd-billing-choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}.fd-billing-choices form{margin:0}.fd-billing-choices .fd-button-secondary{width:auto;margin:0}
.fd-billing-not-ready{font-size:12px!important;padding:10px 12px;border:1px dashed rgba(149,205,218,.2);border-radius:12px;color:var(--muted)!important}
.fd-billing-admin-list{overflow:hidden}.fd-billing-admin-row{display:grid;grid-template-columns:minmax(180px,1.5fr) .5fr .65fr .6fr .7fr auto;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.fd-billing-admin-row:last-child{border-bottom:0}.fd-billing-admin-row>div{display:grid;gap:3px;min-width:0}.fd-billing-admin-row strong,.fd-billing-admin-row b{overflow:hidden;text-overflow:ellipsis}.fd-billing-admin-row span,.fd-billing-admin-row small{color:var(--muted);font-size:11px}.fd-billing-admin-row .fd-button-secondary{width:auto;margin:0;padding:9px 12px;min-height:38px}
html[data-theme="light"] .fd-billing-status,html[data-theme="light"] .fd-billing-admin-list{background:#fff!important;border-color:#d8e3e8!important}html[data-theme="light"] .fd-billing-admin-row{border-color:#d8e3e8}html[data-theme="light"] .fd-billing-status p,html[data-theme="light"] .fd-billing-status-meta small,html[data-theme="light"] .fd-billing-admin-row span,html[data-theme="light"] .fd-billing-admin-row small{color:#627684}
@media(max-width:900px){.fd-billing-status{grid-template-columns:1fr}.fd-billing-status-meta{flex-wrap:wrap}.fd-billing-status .fd-button-secondary{width:100%}.fd-billing-admin-row{grid-template-columns:1fr 1fr}.fd-billing-admin-row>div:first-child{grid-column:1/-1}.fd-billing-admin-row>div:last-child{grid-column:1/-1}.fd-billing-admin-row .fd-button-secondary{width:100%}}
@media(max-width:560px){.fd-billing-choices{display:grid}.fd-billing-choices .fd-button{width:100%}.fd-billing-admin-row{grid-template-columns:1fr}}


/* XCInsight v2.0 EU legal compliance additions */
.fd-eu-checkout{display:grid;gap:14px!important}
.fd-eu-checkout form{display:grid;gap:10px}
.fd-billing-legal-note{padding:12px 14px;border:1px solid rgba(149,205,218,.15);border-radius:12px;background:rgba(126,231,255,.035)}
.fd-billing-legal-note p{margin:0;font-size:12px;line-height:1.5}
.fd-billing-legal-note a{text-decoration:underline;text-underline-offset:3px}
.fd-billing-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fd-billing-actions form{margin:0}
.fd-eu-checkout .fd-admin-checkbox{font-size:12px;line-height:1.45;align-items:start!important}
.fd-eu-checkout .fd-admin-checkbox input{margin-top:2px}
html[data-theme="light"] .fd-billing-legal-note{background:#fbfdfe;border-color:#d9e5ea}
@media(max-width:700px){.fd-billing-actions{align-items:stretch;flex-direction:column}.fd-billing-actions form,.fd-billing-actions .fd-button{width:100%}}


/* XCInsight v2.0.1 checkout polish */
.fd-eu-checkout-form{display:grid!important;gap:12px!important}
.fd-eu-checkout-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fd-eu-checkout-actions .fd-button{width:100%;margin:0!important}
@media(max-width:720px){
  .fd-eu-checkout-actions{grid-template-columns:1fr}
}

/* ======================================================================
   XCInsight v2.0.2 — Dashboard + desktop topbar responsive hotfix
   ====================================================================== */

/* Keep programmatic/anchor navigation clear of the sticky header. */
html{
  scroll-padding-top:calc(var(--xc-topbar-height,74px) + 22px);
}
.fd-dashboard-hero,
.fd-last-flight,
.fd-dashboard-usage,
.fd-dashboard-grid{
  scroll-margin-top:calc(var(--xc-topbar-height,74px) + 22px);
}

/* Dashboard breathing room and alignment. */
.fd-last-flight{
  overflow:hidden!important;
}
.fd-last-flight-copy{
  padding-top:38px!important;
  padding-bottom:34px!important;
}
.fd-last-flight-copy>.fd-eyebrow{
  margin-bottom:8px!important;
}
.fd-last-flight-copy>h2{
  margin-top:0!important;
  margin-bottom:12px!important;
}
.fd-dashboard-usage{
  margin-top:18px!important;
}

/* Desktop topbar starts to get crowded well before the old mobile breakpoint.
   Compact it first instead of letting the right side overflow. */
@media (max-width:1800px) and (min-width:1381px){
  .fd-topbar{
    padding-left:14px!important;
    padding-right:14px!important;
    gap:10px!important;
  }
  .fd-brand{
    margin-right:4px!important;
  }
  .fd-nav{
    gap:1px!important;
  }
  .fd-nav a{
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:11px!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
  .fd-nav a::before{
    display:none!important;
  }
  .fd-top-actions{
    gap:5px!important;
    flex:0 0 auto!important;
  }
  .fd-top-legal{
    font-size:11px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  .fd-top-actions .fd-language-switcher{
    transform:scale(.92)!important;
    transform-origin:right center!important;
  }
  .fd-top-actions .fd-theme-switch{
    transform:scale(.92)!important;
    transform-origin:right center!important;
  }
  .fd-top-actions .fd-link-button{
    padding-left:6px!important;
    padding-right:2px!important;
    white-space:nowrap!important;
  }
}

/* When the full desktop nav would still be cramped, switch to the existing
   mobile menu rather than clipping actions off-screen. */
@media (max-width:1380px){
  .fd-topbar>.fd-nav,
  .fd-topbar>.fd-top-actions{
    display:none!important;
  }
  .fd-mobile-menu{
    display:block!important;
  }
}

/* Dashboard card balance on medium desktop widths. */
@media (max-width:1500px) and (min-width:1101px){
  .fd-last-flight{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  }
  .fd-last-kpis{
    gap:10px!important;
  }
  .fd-last-kpis span{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

@media (max-width:900px){
  html{
    scroll-padding-top:76px;
  }
  .fd-last-flight-copy{
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
  .fd-dashboard-usage{
    margin-top:14px!important;
  }
}

/* ======================================================================
   XCInsight v2.1 — Weather UX + global paraglider loader
   ====================================================================== */

/* ---------------- Global app loading overlay ---------------- */
.fd-app-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(4,14,19,.48);
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease,backdrop-filter .32s ease;
}
html.fd-is-loading{overflow:hidden}
html.fd-is-loading .fd-app-loader{
  opacity:1;
  visibility:visible;
  pointer-events:all;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.fd-app-loader-inner{
  display:grid;
  place-items:center;
  gap:14px;
  min-width:190px;
  padding:24px 30px 22px;
  border:1px solid rgba(126,231,255,.16);
  border-radius:24px;
  background:rgba(6,18,23,.74);
  box-shadow:0 28px 90px rgba(0,0,0,.32);
}
.fd-pg-loader{
  width:112px;
  height:88px;
  transform-origin:50% 60%;
  animation:fd-pg-float 2.2s ease-in-out infinite;
}
.fd-pg-loader svg{width:100%;height:100%;overflow:visible}
.fd-pg-loader path{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fd-pg-loader-canopy{
  stroke:#c8ff48;
  stroke-width:2.2;
  stroke-dasharray:220;
  stroke-dashoffset:220;
  animation:fd-pg-draw 1.45s cubic-bezier(.55,.06,.2,1) infinite;
  filter:drop-shadow(0 0 8px rgba(200,255,72,.22));
}
.fd-pg-loader-inner-canopy{
  stroke:#83e7f7;
  stroke-width:1.25;
  stroke-dasharray:110;
  stroke-dashoffset:110;
  animation:fd-pg-draw 1.45s .15s cubic-bezier(.55,.06,.2,1) infinite;
}
.fd-pg-loader-lines{
  stroke:rgba(210,238,244,.72);
  stroke-width:1.1;
  stroke-dasharray:92;
  stroke-dashoffset:92;
  animation:fd-pg-draw 1.45s .28s ease infinite;
}
.fd-pg-loader-pilot{
  stroke:#eefbff;
  stroke-width:1.5;
  stroke-dasharray:45;
  stroke-dashoffset:45;
  animation:fd-pg-draw 1.45s .38s ease infinite;
}
.fd-pg-loader-wind{
  stroke:rgba(126,231,255,.42);
  stroke-width:1.1;
  stroke-dasharray:18 9;
  animation:fd-pg-wind 1.4s linear infinite;
}
.fd-app-loader-copy{display:grid;gap:4px;text-align:center}
.fd-app-loader-copy strong{
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fd-app-loader-copy span{font-size:11px;color:#8ca3ab}
@keyframes fd-pg-draw{
  0%{stroke-dashoffset:220;opacity:.25}
  42%,72%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-220;opacity:.25}
}
@keyframes fd-pg-wind{to{stroke-dashoffset:-54}}
@keyframes fd-pg-float{
  0%,100%{transform:translate3d(0,1px,0) rotate(-1deg)}
  50%{transform:translate3d(0,-5px,0) rotate(1deg)}
}
html[data-theme="light"] .fd-app-loader{background:rgba(229,239,243,.55)}
html[data-theme="light"] .fd-app-loader-inner{
  background:rgba(255,255,255,.88);
  border-color:#d7e5ea;
  box-shadow:0 28px 80px rgba(33,70,84,.13);
}
html[data-theme="light"] .fd-pg-loader-lines{stroke:#5c7c87}
html[data-theme="light"] .fd-pg-loader-pilot{stroke:#18323e}
html[data-theme="light"] .fd-app-loader-copy span{color:#637b86}
@media(prefers-reduced-motion:reduce){
  .fd-pg-loader,
  .fd-pg-loader path{animation-duration:3.8s!important}
}

/* ---------------- Weather page composition ---------------- */
.fd-weather-shell{
  width:min(1540px,calc(100% - 48px))!important;
  margin-inline:auto!important;
  padding-top:40px!important;
}
.fd-weather-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:40px!important;
  padding:20px 0 32px!important;
}
.fd-weather-hero-copy{min-width:0}
.fd-weather-hero h1{
  max-width:1000px;
  margin:7px 0 12px!important;
  font-size:clamp(46px,5.1vw,78px)!important;
  line-height:.96!important;
  letter-spacing:-.06em!important;
}
.fd-weather-hero p{
  max-width:980px!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.fd-weather-usage{
  display:flex!important;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:10px 16px!important;
  white-space:nowrap;
}
.fd-weather-usage>span{color:#c8ff48;font-size:14px}

/* Symmetric query bar */
.fd-weather-form{
  display:grid!important;
  grid-template-columns:minmax(320px,2.5fr) minmax(165px,.72fr) minmax(115px,.5fr) minmax(115px,.5fr) minmax(205px,.82fr)!important;
  gap:14px!important;
  align-items:end!important;
  padding:22px!important;
  border-radius:22px!important;
  overflow:visible!important;
}
.fd-weather-form label>span{
  font-size:9px!important;
  letter-spacing:.13em!important;
}
.fd-weather-form input,
.fd-weather-form select{
  height:50px!important;
  border-radius:13px!important;
}
.fd-weather-submit{
  width:100%!important;
  min-height:50px!important;
  display:flex!important;
  gap:12px;
  justify-content:center!important;
  white-space:nowrap;
}
.fd-weather-submit i{font-style:normal;transition:transform .18s ease}
.fd-weather-submit:hover i{transform:translateX(3px)}
.fd-weather-location-wrap>small{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:16px!important;
}
.fd-weather-location-wrap>small.is-loading::before{
  content:"";
  width:11px;
  height:7px;
  border:1px solid #7de2f4;
  border-bottom:0;
  border-radius:9px 9px 0 0;
  animation:fd-weather-mini-float .8s ease-in-out infinite alternate;
}
@keyframes fd-weather-mini-float{to{transform:translateY(-2px)}}
.fd-weather-search-results{top:76px!important}

/* Location + selected window */
.fd-weather-location-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(270px,auto)!important;
  align-items:end!important;
  gap:26px!important;
  margin:42px 0 18px!important;
}
.fd-weather-location-head h2{
  font-size:clamp(30px,3vw,42px)!important;
  margin:5px 0 7px!important;
}
.fd-weather-best{
  min-width:270px!important;
  padding:16px 19px!important;
  border-radius:18px!important;
}
.fd-weather-best b{font-size:28px!important}

/* At-a-glance strip */
.fd-weather-quick{margin:0 0 18px}
.fd-weather-section-kicker{
  margin:0 0 9px;
  color:#79dff1;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fd-weather-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.fd-weather-quick-card{
  min-height:116px;
  padding:17px 18px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
}
.fd-weather-quick-card>span{
  color:#789099;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.fd-weather-quick-card strong{
  font-size:23px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.fd-weather-quick-card strong small{
  color:#789099;
  font-size:10px;
  font-weight:700;
}
.fd-weather-quick-card em{
  color:#728991;
  font-size:10px;
  line-height:1.4;
  font-style:normal;
}
.fd-weather-quick-card.is-best{
  border-color:rgba(200,255,72,.22)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(200,255,72,.07),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),
    var(--panel)!important;
}

/* Detailed narrative */
.fd-weather-ai{
  padding:32px!important;
  margin:0 0 34px!important;
  border-radius:24px!important;
}
.fd-weather-ai-head h2{
  max-width:900px;
  font-size:clamp(27px,3vw,38px)!important;
  line-height:1.05;
}
.fd-weather-confidence{
  white-space:nowrap;
  padding:8px 11px!important;
}
.fd-weather-confidence.is-high{color:#bff66b;border-color:rgba(200,255,72,.22)}
.fd-weather-confidence.is-medium{color:#ffe07a;border-color:rgba(255,224,122,.22)}
.fd-weather-confidence.is-low{color:#ffad8b;border-color:rgba(255,173,139,.22)}
.fd-weather-day-character{
  margin:20px 0 0;
  padding:14px 16px;
  border-left:2px solid rgba(126,231,255,.8);
  background:rgba(126,231,255,.035);
}
.fd-weather-day-character span,
.fd-weather-brief-grid article>span,
.fd-weather-best-narrative>span,
.fd-weather-subhead>span{
  display:block;
  margin-bottom:7px;
  color:#79dff1;
  font-size:8px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fd-weather-day-character p{
  margin:0;
  color:#c5d5da;
  line-height:1.55;
}
.fd-weather-summary{
  max-width:1240px!important;
  margin:22px 0 24px!important;
  font-size:17px!important;
  line-height:1.68!important;
}
.fd-weather-brief-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.fd-weather-brief-grid article{
  min-height:135px;
  padding:18px 19px;
  border:1px solid rgba(149,205,218,.11);
  border-radius:16px;
  background:rgba(5,18,23,.55);
}
.fd-weather-brief-grid article>p{
  margin:0;
  color:#b7c9ce;
  font-size:13px;
  line-height:1.62;
}
.fd-weather-best-narrative{
  margin:14px 0 0;
  padding:18px 19px;
  border:1px solid rgba(200,255,72,.16);
  border-radius:16px;
  background:linear-gradient(120deg,rgba(200,255,72,.055),rgba(126,231,255,.025));
}
.fd-weather-best-narrative>span{color:#c8ff48}
.fd-weather-best-narrative>p{
  margin:0;
  color:#d3e1e5;
  line-height:1.6;
}
.fd-weather-chronology-wrap{margin-top:24px}
.fd-weather-subhead{margin-bottom:9px}
.fd-weather-chronology{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:9px!important;
  margin:0!important;
  border:0!important;
}
.fd-weather-chronology>article{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:11px;
  min-height:86px;
  padding:14px 15px;
  border:1px solid rgba(145,199,211,.09);
  border-radius:14px;
  background:rgba(4,16,21,.42);
}
.fd-weather-chronology>article b{
  color:#c8ff48;
  font-variant-numeric:tabular-nums;
}
.fd-weather-chronology>article p{
  margin:0;
  color:#adc1c7;
  font-size:12px;
  line-height:1.55;
}
.fd-weather-watch{
  margin-top:22px!important;
  border-radius:0 14px 14px 0;
}
.fd-weather-disclaimer{margin-top:16px!important}

/* Model data: auto-fit makes 3 cards symmetric on wide desktop */
.fd-weather-section-head{margin-top:36px!important}
.fd-weather-timeline{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
  gap:14px!important;
  align-items:stretch;
}
.fd-weather-hour{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0!important;
  border-radius:19px!important;
}
.fd-weather-hour>header{padding:15px 17px!important}
.fd-weather-hour-title{display:flex;align-items:baseline;gap:9px}
.fd-weather-hour-title b{font-size:26px!important}
.fd-weather-hour-title span{font-size:9px;color:#718891}
.fd-weather-hour-main{display:grid;gap:1px;background:rgba(145,199,211,.08)}
.fd-weather-hour-main>div{background:#09161b}
.fd-weather-hour-wind{
  padding:17px;
  display:grid;
  gap:6px;
}
.fd-weather-hour-main span{
  color:#6f8891;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.fd-weather-hour-main strong{
  font-size:20px;
  line-height:1.05;
}
.fd-weather-hour-main strong small{
  color:#71868e;
  font-size:9px;
}
.fd-weather-hour-main em{
  color:#7b929a;
  font-size:10px;
  font-style:normal;
}
.fd-weather-hour-layers,
.fd-weather-hour-air{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:rgba(145,199,211,.08)!important;
}
.fd-weather-hour-layers>div,
.fd-weather-hour-air>div{
  min-width:0;
  padding:14px 15px;
  background:#09161b;
  display:grid;
  gap:5px;
}
.fd-weather-hour-layers strong,
.fd-weather-hour-air strong{font-size:16px!important}
.fd-weather-hour-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(145,199,211,.08);
  border-top:1px solid rgba(145,199,211,.07);
}
.fd-weather-hour-meta>span{
  min-width:0;
  padding:10px 11px;
  background:#0a171c;
  color:#879da5;
  font-size:9px;
  text-align:center;
}
.fd-weather-hour-meta b{
  display:block;
  margin-bottom:3px;
  color:#617983;
  font-size:7px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.fd-weather-vertical-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
  border-top:1px solid rgba(145,199,211,.07);
}
.fd-weather-vertical-note>span{
  color:#718891;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.fd-weather-vertical-note p{
  margin:0;
  color:#91a6ad;
  font-size:9px;
}
.fd-weather-models{margin-top:auto}
.fd-weather-sources{margin-top:26px!important}

/* Light mode */
html[data-theme="light"] .fd-weather-section-kicker,
html[data-theme="light"] .fd-weather-day-character span,
html[data-theme="light"] .fd-weather-brief-grid article>span,
html[data-theme="light"] .fd-weather-subhead>span{color:#148ba8}
html[data-theme="light"] .fd-weather-quick-card{
  background:linear-gradient(180deg,#fff,#f9fbfc)!important;
  border-color:#dae6ea!important;
}
html[data-theme="light"] .fd-weather-quick-card.is-best{
  background:
    radial-gradient(circle at 100% 0,rgba(157,216,35,.11),transparent 38%),
    linear-gradient(180deg,#fff,#f9fbfc)!important;
}
html[data-theme="light"] .fd-weather-quick-card strong{color:#142732}
html[data-theme="light"] .fd-weather-quick-card>span,
html[data-theme="light"] .fd-weather-quick-card em{color:#617985}
html[data-theme="light"] .fd-weather-day-character{
  background:#f4fafc;
  border-left-color:#49bdd5;
}
html[data-theme="light"] .fd-weather-day-character p{color:#425a66}
html[data-theme="light"] .fd-weather-brief-grid article{
  background:#fbfdfe;
  border-color:#dce7eb;
}
html[data-theme="light"] .fd-weather-brief-grid article>p{color:#4a626f}
html[data-theme="light"] .fd-weather-best-narrative{
  background:linear-gradient(120deg,rgba(157,216,35,.08),rgba(53,172,207,.04));
  border-color:#d8e7c1;
}
html[data-theme="light"] .fd-weather-best-narrative>span{color:#69920a}
html[data-theme="light"] .fd-weather-best-narrative>p{color:#415965}
html[data-theme="light"] .fd-weather-chronology>article{
  background:#fbfdfe;
  border-color:#dce7eb;
}
html[data-theme="light"] .fd-weather-chronology>article b{color:#668d08}
html[data-theme="light"] .fd-weather-chronology>article p{color:#4d6571}
html[data-theme="light"] .fd-weather-hour-main,
html[data-theme="light"] .fd-weather-hour-layers,
html[data-theme="light"] .fd-weather-hour-air,
html[data-theme="light"] .fd-weather-hour-meta{background:#dce7eb!important}
html[data-theme="light"] .fd-weather-hour-main>div,
html[data-theme="light"] .fd-weather-hour-layers>div,
html[data-theme="light"] .fd-weather-hour-air>div,
html[data-theme="light"] .fd-weather-hour-meta>span{background:#fbfdfe}
html[data-theme="light"] .fd-weather-hour-main strong{color:#142732}
html[data-theme="light"] .fd-weather-vertical-note{border-color:#dce7eb}
html[data-theme="light"] .fd-weather-vertical-note p{color:#5f7782}

/* Responsive */
@media(max-width:1320px){
  .fd-weather-form{
    grid-template-columns:minmax(300px,2fr) 160px 112px 112px!important;
  }
  .fd-weather-submit{
    grid-column:1/-1;
    width:100%!important;
  }
  .fd-weather-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .fd-weather-shell{width:calc(100% - 28px)!important;padding-top:26px!important}
  .fd-weather-hero{
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:18px!important;
  }
  .fd-weather-usage{justify-self:start}
  .fd-weather-form{grid-template-columns:1fr 1fr!important}
  .fd-weather-location-wrap{grid-column:1/-1!important}
  .fd-weather-submit{grid-column:1/-1!important}
  .fd-weather-location-head{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .fd-weather-best{width:100%;min-width:0!important}
  .fd-weather-ai{padding:24px!important}
  .fd-weather-brief-grid{grid-template-columns:1fr}
  .fd-weather-timeline{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important}
}
@media(max-width:680px){
  .fd-weather-shell{
    width:calc(100% - 20px)!important;
    padding-bottom:72px!important;
  }
  .fd-weather-hero{padding:12px 2px 22px!important}
  .fd-weather-hero h1{font-size:clamp(39px,13vw,56px)!important}
  .fd-weather-hero p{font-size:14px!important}
  .fd-weather-usage{
    max-width:100%;
    white-space:normal;
    line-height:1.35;
  }
  .fd-weather-form{
    grid-template-columns:1fr!important;
    padding:16px!important;
    gap:12px!important;
  }
  .fd-weather-form>*{grid-column:1!important}
  .fd-weather-form input,
  .fd-weather-form select{font-size:16px!important}
  .fd-weather-location-head{margin-top:28px!important}
  .fd-weather-location-head h2{font-size:32px!important}
  .fd-weather-quick-grid{grid-template-columns:1fr 1fr}
  .fd-weather-quick-card{min-height:105px;padding:15px!important}
  .fd-weather-quick-card strong{font-size:20px}
  .fd-weather-ai{padding:18px 16px!important;border-radius:19px!important}
  .fd-weather-ai-head{flex-direction:column!important}
  .fd-weather-summary{font-size:15px!important;line-height:1.62!important}
  .fd-weather-day-character{margin-top:15px}
  .fd-weather-brief-grid article{min-height:0;padding:15px}
  .fd-weather-chronology{grid-template-columns:1fr!important}
  .fd-weather-chronology>article{grid-template-columns:54px 1fr}
  .fd-weather-timeline{grid-template-columns:1fr!important}
  .fd-weather-hour-meta{grid-template-columns:1fr 1fr}
  .fd-weather-vertical-note{
    align-items:flex-start;
    flex-direction:column;
  }
  .fd-app-loader-inner{min-width:170px;padding:20px 24px}
  .fd-pg-loader{width:96px;height:76px}
}
@media(max-width:430px){
  .fd-weather-quick-grid{grid-template-columns:1fr}
  .fd-weather-hour-layers,
  .fd-weather-hour-air{grid-template-columns:1fr}
  .fd-weather-hour-meta{grid-template-columns:1fr 1fr}
}


/* =====================================================================
   XCInsight v2.2.1 — secure public flight sharing
   ===================================================================== */
.fd-share-panel{
  position:relative;
  overflow:hidden;
}
.fd-share-panel::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:#607880;
}
.fd-share-panel.is-public::before{background:#c8ff48}
.fd-share-panel .fd-section-title>span{
  font-size:8px;
  letter-spacing:.1em;
}
.fd-share-panel.is-public .fd-section-title>span{color:#c8ff48}
.fd-share-settings{display:grid;gap:14px}
.fd-share-toggle{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:start;
  cursor:pointer;
}
.fd-share-toggle>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.fd-share-toggle-ui{
  position:relative;
  display:block;
  width:38px;
  height:21px;
  margin-top:1px;
  border:1px solid rgba(141,190,201,.24);
  border-radius:999px;
  background:#0d2027;
  transition:.18s ease;
}
.fd-share-toggle-ui::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#82969e;
  transition:.18s ease;
}
.fd-share-toggle>input:checked + .fd-share-toggle-ui{
  border-color:rgba(200,255,72,.38);
  background:rgba(200,255,72,.09);
}
.fd-share-toggle>input:checked + .fd-share-toggle-ui::after{
  transform:translateX(17px);
  background:#c8ff48;
  box-shadow:0 0 12px rgba(200,255,72,.25);
}
.fd-share-toggle b{display:block;font-size:12px;line-height:1.4}
.fd-share-toggle small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.fd-share-visible-note{
  margin:0;
  padding:11px 12px;
  border:1px solid rgba(126,231,248,.1);
  border-radius:11px;
  background:rgba(126,231,248,.025);
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.fd-share-save{justify-self:start}
.fd-share-link-block{
  display:grid;
  gap:9px;
  margin-top:17px;
  padding-top:16px;
  border-top:1px solid var(--border);
}
.fd-share-link-block>span{
  color:#79dff1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.fd-share-link-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.fd-share-link-row input{
  min-width:0;
  height:39px;
  padding:0 11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(5,16,21,.65);
  color:var(--text);
  font:500 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.fd-share-actions{display:flex;flex-wrap:wrap;gap:8px}
.fd-share-rotate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed rgba(150,205,218,.12);
}
.fd-share-rotate>div{min-width:0}
.fd-share-rotate b{display:block;font-size:10px}
.fd-share-rotate small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  line-height:1.45;
}

/* Public replay */
.fd-public-flight-page{padding-top:74px}
.fd-public-flight-topbar{
  position:fixed;
  z-index:1200;
  top:0;
  left:0;
  right:0;
  min-height:74px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  padding:12px 24px;
  border-bottom:1px solid var(--border);
  background:rgba(7,18,24,.92);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.fd-public-flight-topbar-meta{
  display:flex;
  align-items:baseline;
  gap:10px;
  min-width:0;
}
.fd-public-flight-topbar-meta>span{
  color:#c8ff48;
  font-size:8px;
  font-weight:950;
  letter-spacing:.12em;
}
.fd-public-flight-topbar-meta>small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:9px;
}
.fd-public-flight-topbar-actions{display:flex;align-items:center;gap:8px}
.fd-public-flight-layout{min-height:calc(100vh - 74px)}
.fd-public-flight-badge{
  display:inline-flex;
  width:max-content;
  margin-bottom:10px;
  padding:5px 8px;
  border:1px solid rgba(200,255,72,.22);
  border-radius:999px;
  color:#c8ff48;
  background:rgba(200,255,72,.045);
  font-size:7px;
  font-weight:950;
  letter-spacing:.12em;
}
.fd-public-pilot{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:12px 0 2px;
}
.fd-public-pilot span{
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.fd-public-pilot b{font-size:11px}
.fd-public-ai-list{
  display:grid;
  gap:5px;
  margin-top:10px;
}
.fd-public-ai-list p{
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
.fd-public-privacy-note{
  margin:16px 0 0;
  padding:10px 11px;
  border:1px solid rgba(126,231,248,.08);
  border-radius:10px;
  color:var(--muted);
  font-size:8px;
  line-height:1.55;
}
html[data-theme="light"] .fd-share-link-row input{background:#fff}
html[data-theme="light"] .fd-public-flight-topbar{
  background:rgba(250,253,254,.94);
}
html[data-theme="light"] .fd-share-toggle-ui{background:#eaf0f2}

@media(max-width:940px){
  .fd-public-flight-topbar{
    grid-template-columns:auto 1fr;
    gap:10px 14px;
  }
  .fd-public-flight-topbar-meta{justify-self:end}
  .fd-public-flight-topbar-actions{
    grid-column:1/-1;
    justify-content:flex-end;
    display:none;
  }
}
@media(max-width:680px){
  .fd-public-flight-page{padding-top:62px}
  .fd-public-flight-topbar{
    min-height:62px;
    padding:10px 13px;
  }
  .fd-public-flight-topbar-meta small{display:none}
  .fd-share-link-row{grid-template-columns:1fr}
  .fd-share-link-row .fd-button{width:100%}
  .fd-share-actions{display:grid;grid-template-columns:1fr}
  .fd-share-actions .fd-button{width:100%;justify-content:center}
  .fd-share-rotate{
    align-items:stretch;
    flex-direction:column;
  }
  .fd-share-rotate .fd-button{width:100%;justify-content:center}
}


/* =====================================================================
   XCInsight v2.2.2 — sharing modal + clean public replay
   ===================================================================== */

.fd-flight-kicker-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:3px;
}
.fd-flight-kicker-row>.fd-eyebrow{margin:0}

.fd-flight-share-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:30px;
  padding:6px 10px;
  border:1px solid rgba(126,231,248,.16);
  border-radius:10px;
  background:rgba(126,231,248,.035);
  color:#b7cbd1;
  font:850 8px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
}
.fd-flight-share-trigger:hover{
  border-color:rgba(126,231,248,.34);
  color:#eefbff;
}
.fd-flight-share-trigger.is-public{
  color:#c8ff48;
  border-color:rgba(200,255,72,.25);
  background:rgba(200,255,72,.045);
}
.fd-flight-share-trigger>span{font-size:11px}

html.fd-share-modal-open{overflow:hidden}

.fd-share-modal{
  position:fixed;
  inset:0;
  z-index:50000;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  transition:opacity .17s ease;
}
.fd-share-modal.is-open{opacity:1}

.fd-share-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(1,8,11,.70);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

.fd-share-dialog{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:min(820px,calc(100vh - 44px));
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(142,199,211,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(200,255,72,.055),transparent 28%),
    radial-gradient(circle at 0 0,rgba(126,231,248,.045),transparent 28%),
    #09171c;
  box-shadow:0 35px 110px rgba(0,0,0,.48);
  transform:translateY(8px) scale(.988);
  transition:transform .18s ease;
}
.fd-share-modal.is-open .fd-share-dialog{transform:translateY(0) scale(1)}

.fd-share-dialog-head{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px 25px 18px;
  border-bottom:1px solid rgba(142,199,211,.10);
  background:rgba(9,23,28,.94);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.fd-share-dialog-head h2{
  margin:5px 0 0;
  font-size:28px;
  line-height:1;
  letter-spacing:-.035em;
}

.fd-share-modal-close{
  width:34px;
  height:34px;
  border:1px solid rgba(142,199,211,.15);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:#c4d4d9;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}

.fd-share-mode-form{padding:22px 25px 24px}
.fd-share-modal-label{
  margin-bottom:10px;
  color:#76909a;
  font-size:8px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.fd-share-mode-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.fd-share-mode-option{cursor:pointer}
.fd-share-mode-option>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.fd-share-mode-option>span{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  column-gap:10px;
  min-height:128px;
  padding:16px;
  border:1px solid rgba(142,199,211,.13);
  border-radius:16px;
  background:rgba(4,14,18,.55);
  transition:border-color .17s ease,background .17s ease,transform .17s ease;
}
.fd-share-mode-option:hover>span{transform:translateY(-1px)}
.fd-share-mode-option i{
  grid-row:1/3;
  position:relative;
  width:17px;
  height:17px;
  margin-top:1px;
  border:1px solid #5d7780;
  border-radius:50%;
}
.fd-share-mode-option i::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:transparent;
}
.fd-share-mode-option b{font-size:12px;line-height:1.3}
.fd-share-mode-option small{
  display:block;
  margin-top:6px;
  color:#82979f;
  font-size:10px;
  line-height:1.55;
}
.fd-share-mode-option>input:checked+span{
  border-color:rgba(200,255,72,.28);
  background:rgba(200,255,72,.04);
}
.fd-share-mode-option>input:checked+span i{border-color:#c8ff48}
.fd-share-mode-option>input:checked+span i::after{background:#c8ff48}

.fd-share-modal-privacy{
  margin:13px 0 0;
  padding:12px 13px;
  border:1px solid rgba(126,231,248,.08);
  border-radius:12px;
  color:#80969e;
  font-size:9px;
  line-height:1.55;
}
.fd-share-modal-save{
  width:100%;
  min-height:46px;
  margin-top:13px;
  justify-content:center;
}

.fd-share-modal-public{
  display:grid;
  gap:15px;
  padding:22px 25px 25px;
  border-top:1px solid rgba(142,199,211,.10);
}
.fd-share-public-status{
  display:flex;
  align-items:center;
  gap:10px;
}
.fd-share-public-status>span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#c8ff48;
  box-shadow:0 0 16px rgba(200,255,72,.35);
}
.fd-share-public-status b{display:block;font-size:11px}
.fd-share-public-status small{
  display:block;
  margin-top:3px;
  color:#c8ff48;
  font-size:7px;
  font-weight:900;
  letter-spacing:.09em;
}

.fd-share-url-field>span{
  display:block;
  margin-bottom:6px;
  color:#79dff1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.fd-share-url-field>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.fd-share-url-field input{
  min-width:0;
  height:42px;
  padding:0 12px;
  border:1px solid rgba(142,199,211,.14);
  border-radius:11px;
  background:#071318;
  color:#d9e8ec;
  font:500 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.fd-share-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.fd-share-modal-actions>.fd-button{justify-content:center}

.fd-share-modal-rotate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding-top:15px;
  border-top:1px dashed rgba(142,199,211,.11);
}
.fd-share-modal-rotate b{display:block;font-size:10px}
.fd-share-modal-rotate small{
  display:block;
  max-width:390px;
  margin-top:4px;
  color:#768d95;
  font-size:8px;
  line-height:1.5;
}

/* Public view: header participates in layout and never covers map/sidebar. */
.fd-public-flight-page{padding-top:0!important}
.fd-public-flight-topbar{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:1200;
  min-height:74px;
}
.fd-public-flight-layout{
  min-height:calc(100vh - 74px)!important;
}

/* Public sidebar: only title/pilot + primary statistics + pilot setup. */
.fd-public-flight-page .fd-sidebar{padding-top:20px}
.fd-public-flight-page .fd-stat-grid{margin-top:18px}
.fd-public-flight-page .fd-pilot-context-mini{margin-top:18px}
.fd-public-flight-page .fd-public-privacy-note{margin-top:14px}

html[data-theme="light"] .fd-share-dialog{
  background:
    radial-gradient(circle at 100% 0,rgba(157,216,35,.08),transparent 28%),
    radial-gradient(circle at 0 0,rgba(53,172,207,.055),transparent 28%),
    #f9fcfd;
}
html[data-theme="light"] .fd-share-dialog-head{background:rgba(249,252,253,.94)}
html[data-theme="light"] .fd-share-mode-option>span,
html[data-theme="light"] .fd-share-url-field input{background:#fff}
html[data-theme="light"] .fd-share-mode-option small,
html[data-theme="light"] .fd-share-modal-privacy,
html[data-theme="light"] .fd-share-modal-rotate small{color:#5f7781}

@media(max-width:720px){
  .fd-flight-kicker-row{align-items:flex-start}
  .fd-flight-share-trigger{margin-top:-4px}
  .fd-share-modal{padding:10px}
  .fd-share-dialog{
    max-height:calc(100vh - 20px);
    border-radius:19px;
  }
  .fd-share-dialog-head{padding:19px 17px 15px}
  .fd-share-mode-form,
  .fd-share-modal-public{padding-left:17px;padding-right:17px}
  .fd-share-mode-grid{grid-template-columns:1fr}
  .fd-share-mode-option>span{min-height:0}
  .fd-share-url-field>div,
  .fd-share-modal-actions{grid-template-columns:1fr}
  .fd-share-modal-rotate{
    align-items:stretch;
    flex-direction:column;
  }
  .fd-share-modal-rotate>.fd-button{width:100%;justify-content:center}
  .fd-public-flight-topbar{min-height:62px}
  .fd-public-flight-layout{min-height:calc(100vh - 62px)!important}
}


/* =====================================================================
   XCInsight v2.2.3 — emergency modal lock hotfix
   ===================================================================== */

/*
 * HTML's hidden attribute must always win over .fd-share-modal{display:grid}.
 * Without this, the transparent fullscreen modal can intercept every click.
 */
.fd-share-modal[hidden]{
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

/* Closed modal must never intercept the application. */
.fd-share-modal:not(.is-open){
  pointer-events:none;
}
.fd-share-modal.is-open{
  pointer-events:auto;
}

/* The backdrop only participates while the modal is genuinely open. */
.fd-share-modal:not(.is-open) .fd-share-modal-backdrop,
.fd-share-modal:not(.is-open) .fd-share-dialog{
  pointer-events:none!important;
}

/* Fail-safe: only an actually open share modal is allowed to lock scrolling. */
html:not(.fd-share-modal-open){
  overflow-x:hidden;
}

/* Keep the public replay header fix from v2.2.2. */
.fd-public-flight-page{
  padding-top:0!important;
}
.fd-public-flight-topbar{
  position:sticky!important;
  top:0!important;
}


/* =====================================================================
   XCInsight v2.2.4 — sharing modal visual polish
   ===================================================================== */

/* Slightly tighter overall modal */
.fd-share-modal{
  padding:18px!important;
}
.fd-share-dialog{
  width:min(680px,100%)!important;
  max-height:min(780px,calc(100vh - 36px))!important;
  border-radius:22px!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(126,231,248,.22) transparent;
}
.fd-share-dialog::-webkit-scrollbar{width:8px}
.fd-share-dialog::-webkit-scrollbar-track{background:transparent}
.fd-share-dialog::-webkit-scrollbar-thumb{
  background:rgba(126,231,248,.15);
  border-radius:999px;
}

/* Header */
.fd-share-dialog-head{
  padding:21px 23px 16px!important;
}
.fd-share-dialog-head h2{
  margin-top:4px!important;
  font-size:26px!important;
  letter-spacing:-.04em!important;
}
.fd-share-modal-close{
  width:32px!important;
  height:32px!important;
  border-radius:9px!important;
  font-size:20px!important;
  color:#a9bec5!important;
  outline:none!important;
  box-shadow:none!important;
}
.fd-share-modal-close:hover{
  color:#eefbff!important;
  border-color:rgba(126,231,248,.28)!important;
  background:rgba(126,231,248,.05)!important;
}
.fd-share-modal-close:focus-visible{
  border-color:#79dff1!important;
  box-shadow:0 0 0 2px rgba(121,223,241,.13)!important;
}

/* Visibility section */
.fd-share-mode-form{
  padding:18px 23px 20px!important;
}
.fd-share-modal-label{
  margin-bottom:9px!important;
  font-size:7px!important;
}
.fd-share-mode-grid{
  gap:9px!important;
}
.fd-share-mode-option>span{
  min-height:108px!important;
  padding:14px 15px!important;
  border-radius:14px!important;
}
.fd-share-mode-option b{
  font-size:11px!important;
}
.fd-share-mode-option small{
  margin-top:5px!important;
  font-size:9px!important;
  line-height:1.48!important;
}
.fd-share-mode-option i{
  width:16px!important;
  height:16px!important;
}
.fd-share-mode-option i::after{
  inset:3.5px!important;
}
.fd-share-mode-option>input:checked+span{
  border-color:rgba(200,255,72,.34)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(200,255,72,.055),transparent 44%),
    rgba(200,255,72,.028)!important;
  box-shadow:inset 0 0 0 1px rgba(200,255,72,.025)!important;
}

/* Explanation is useful, but it should not dominate the modal */
.fd-share-modal-privacy{
  margin-top:10px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  font-size:8.5px!important;
  line-height:1.5!important;
}

/* Save becomes a normal primary action, not a giant banner */
.fd-share-modal-save{
  min-height:42px!important;
  margin-top:10px!important;
  border-radius:12px!important;
  font-size:12px!important;
}

/* Public area */
.fd-share-modal-public{
  gap:12px!important;
  padding:18px 23px 21px!important;
}
.fd-share-public-status{
  gap:9px!important;
  padding:9px 11px;
  border:1px solid rgba(200,255,72,.10);
  border-radius:12px;
  background:rgba(200,255,72,.025);
}
.fd-share-public-status>span{
  width:8px!important;
  height:8px!important;
}
.fd-share-public-status b{
  font-size:10.5px!important;
}
.fd-share-public-status small{
  margin-top:2px!important;
  font-size:6.5px!important;
}

/* URL field */
.fd-share-url-field>span{
  margin-bottom:5px!important;
  font-size:7px!important;
}
.fd-share-url-field>div{
  gap:7px!important;
}
.fd-share-url-field input{
  height:39px!important;
  border-radius:10px!important;
  padding:0 11px!important;
  font-size:8.5px!important;
  text-overflow:ellipsis;
}
.fd-share-url-field .fd-button{
  min-height:39px!important;
  padding-inline:14px!important;
  border-radius:10px!important;
  font-size:10px!important;
  white-space:nowrap;
}

/* Share / preview actions */
.fd-share-modal-actions{
  gap:7px!important;
}
.fd-share-modal-actions>.fd-button{
  min-height:41px!important;
  border-radius:11px!important;
  font-size:11px!important;
}

/* Rotate is intentionally secondary and visually calmer */
.fd-share-modal-rotate{
  gap:12px!important;
  padding-top:13px!important;
}
.fd-share-modal-rotate>div{
  min-width:0;
}
.fd-share-modal-rotate b{
  font-size:9.5px!important;
}
.fd-share-modal-rotate small{
  max-width:345px!important;
  margin-top:3px!important;
  font-size:7.5px!important;
  line-height:1.45!important;
}
.fd-share-modal-rotate>.fd-button{
  flex:0 0 auto;
  min-height:36px!important;
  padding:8px 13px!important;
  border-radius:10px!important;
  font-size:9px!important;
}

/* Trigger at flight header: slightly more refined */
.fd-flight-share-trigger{
  min-height:28px!important;
  padding:6px 9px!important;
  border-radius:9px!important;
  font-size:7.5px!important;
}
.fd-flight-share-trigger>span{
  font-size:10px!important;
}

/* Focus behavior across modal controls */
.fd-share-dialog button:focus,
.fd-share-dialog a:focus,
.fd-share-dialog input:focus{
  outline:none;
}
.fd-share-dialog button:focus-visible,
.fd-share-dialog a:focus-visible,
.fd-share-dialog input:focus-visible{
  outline:2px solid rgba(121,223,241,.78)!important;
  outline-offset:2px!important;
}

/* Light theme */
html[data-theme="light"] .fd-share-public-status{
  border-color:rgba(120,165,20,.16);
  background:rgba(157,216,35,.055);
}

/* Tablet */
@media(max-width:720px){
  .fd-share-modal{
    padding:8px!important;
  }
  .fd-share-dialog{
    width:100%!important;
    max-height:calc(100vh - 16px)!important;
    border-radius:18px!important;
  }
  .fd-share-dialog-head{
    padding:17px 16px 13px!important;
  }
  .fd-share-dialog-head h2{
    font-size:23px!important;
  }
  .fd-share-mode-form,
  .fd-share-modal-public{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .fd-share-mode-option>span{
    min-height:0!important;
  }
  .fd-share-modal-rotate{
    padding-top:12px!important;
  }
}

/* Small phones */
@media(max-width:430px){
  .fd-share-dialog-head{
    padding:15px 14px 12px!important;
  }
  .fd-share-mode-form{
    padding:15px 14px 17px!important;
  }
  .fd-share-modal-public{
    padding:16px 14px 17px!important;
  }
  .fd-share-mode-option>span{
    padding:13px!important;
  }
  .fd-share-modal-actions{
    grid-template-columns:1fr!important;
  }
  .fd-share-url-field>div{
    grid-template-columns:1fr!important;
  }
  .fd-share-url-field .fd-button{
    width:100%!important;
  }
  .fd-share-modal-rotate{
    align-items:stretch!important;
  }
}


/* =====================================================================
   XCInsight v2.2.5 — sharing modal layout reset
   Final geometry override after v2.2.4
   ===================================================================== */

/* Modal frame */
.fd-share-modal{
  padding:18px!important;
}
.fd-share-dialog{
  width:min(620px,calc(100vw - 36px))!important;
  max-height:calc(100vh - 36px)!important;
  border-radius:20px!important;
  overflow:auto!important;
}

/* Header */
.fd-share-dialog-head{
  padding:20px 22px 15px!important;
}
.fd-share-dialog-head h2{
  font-size:25px!important;
  line-height:1!important;
}

/* Main visibility block */
.fd-share-mode-form{
  padding:17px 22px 18px!important;
}
.fd-share-modal-label{
  margin:0 0 9px!important;
}
.fd-share-mode-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.fd-share-mode-option{
  min-width:0!important;
}
.fd-share-mode-option>span{
  min-height:116px!important;
  padding:14px!important;
  border-radius:14px!important;
}
.fd-share-mode-option b{
  font-size:11px!important;
}
.fd-share-mode-option small{
  font-size:9px!important;
  line-height:1.48!important;
}

/* One short informational note only */
.fd-share-modal-privacy{
  margin:10px 0 0!important;
  padding:10px 11px!important;
  font-size:8.5px!important;
  line-height:1.48!important;
}

/* Primary save */
.fd-share-modal-save{
  width:100%!important;
  min-height:42px!important;
  margin-top:10px!important;
  padding:10px 14px!important;
  border-radius:11px!important;
  font-size:11px!important;
}

/* Public section */
.fd-share-modal-public{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  padding:17px 22px 20px!important;
}

/* Status row */
.fd-share-public-status{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:100%!important;
  padding:9px 11px!important;
  border-radius:11px!important;
}
.fd-share-public-status>span{
  flex:0 0 8px!important;
}
.fd-share-public-status>div{
  min-width:0!important;
}
.fd-share-public-status b{
  font-size:10px!important;
}
.fd-share-public-status small{
  font-size:6.5px!important;
}

/* Link line */
.fd-share-url-field{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.fd-share-url-field>span{
  display:block!important;
  margin:0 0 5px!important;
}
.fd-share-url-field>div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
}
.fd-share-url-field input{
  width:100%!important;
  min-width:0!important;
  height:39px!important;
  padding:0 11px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.fd-share-url-field .fd-button{
  width:auto!important;
  min-width:118px!important;
  min-height:39px!important;
  padding:8px 13px!important;
  font-size:9px!important;
}

/* Main public actions */
.fd-share-modal-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
}
.fd-share-modal-actions>.fd-button{
  width:100%!important;
  min-height:40px!important;
  padding:9px 12px!important;
  font-size:10px!important;
  justify-content:center!important;
}

/*
 * Critical fix:
 * older CSS made the button effectively consume the whole row and squeezed
 * the text into a tiny column. Reset the whole rotate section explicitly.
 */
.fd-share-modal-rotate{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
  padding:13px 0 0!important;
  margin:0!important;
  border-top:1px dashed rgba(142,199,211,.11)!important;
}
.fd-share-modal-rotate>div{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
}
.fd-share-modal-rotate b{
  display:block!important;
  width:auto!important;
  margin:0!important;
  font-size:9.5px!important;
  line-height:1.25!important;
}
.fd-share-modal-rotate small{
  display:block!important;
  width:auto!important;
  max-width:330px!important;
  margin:4px 0 0!important;
  font-size:7.5px!important;
  line-height:1.45!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.fd-share-modal-rotate>.fd-button{
  width:auto!important;
  min-width:164px!important;
  max-width:190px!important;
  min-height:36px!important;
  padding:8px 12px!important;
  margin:0!important;
  flex:none!important;
  font-size:9px!important;
  white-space:nowrap!important;
  justify-content:center!important;
}

/* Close button */
.fd-share-modal-close{
  box-shadow:none!important;
  outline:none!important;
}

/* Desktop spacing cleanup */
@media(min-width:721px){
  .fd-share-dialog{
    scrollbar-gutter:stable;
  }
}

/* Mobile */
@media(max-width:720px){
  .fd-share-modal{
    padding:8px!important;
  }
  .fd-share-dialog{
    width:calc(100vw - 16px)!important;
    max-height:calc(100vh - 16px)!important;
    border-radius:17px!important;
  }
  .fd-share-dialog-head{
    padding:16px 15px 12px!important;
  }
  .fd-share-dialog-head h2{
    font-size:22px!important;
  }
  .fd-share-mode-form{
    padding:14px 15px 16px!important;
  }
  .fd-share-modal-public{
    padding:15px!important;
  }
  .fd-share-mode-grid{
    grid-template-columns:1fr!important;
  }
  .fd-share-mode-option>span{
    min-height:0!important;
  }
  .fd-share-url-field>div{
    grid-template-columns:1fr!important;
  }
  .fd-share-url-field .fd-button{
    width:100%!important;
    max-width:none!important;
  }
  .fd-share-modal-actions{
    grid-template-columns:1fr!important;
  }
  .fd-share-modal-rotate{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .fd-share-modal-rotate small{
    max-width:none!important;
  }
  .fd-share-modal-rotate>.fd-button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}


/* =====================================================================
   XCInsight v2.2.6 — compact public flight header
   ===================================================================== */

/*
 * Match the public replay header to the regular XCInsight app header.
 * The previous CTA wrapped to multiple lines and forced the whole topbar taller.
 */
.fd-public-flight-topbar{
  box-sizing:border-box!important;
  position:sticky!important;
  top:0!important;
  width:100%!important;
  min-height:74px!important;
  height:74px!important;
  padding:10px 28px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:24px!important;
  overflow:hidden!important;
}

.fd-public-flight-topbar .fd-brand{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

.fd-public-flight-topbar-meta{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  overflow:hidden!important;
}

.fd-public-flight-topbar-meta>span,
.fd-public-flight-topbar-meta>small{
  white-space:nowrap!important;
}

.fd-public-flight-topbar-meta>small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Keep both actions compact and on one line. */
.fd-public-flight-topbar-actions{
  display:flex!important;
  grid-column:auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}

.fd-public-flight-topbar-actions .fd-button{
  box-sizing:border-box!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:11px!important;
}

/* Primary conversion CTA: one line, no huge green block. */
.fd-public-flight-topbar-actions .fd-button:last-child{
  min-width:190px!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Public content starts immediately below the normal-sized header. */
.fd-public-flight-layout{
  min-height:calc(100vh - 74px)!important;
}

/* Tablet: keep one-line CTA but reduce spacing. */
@media(max-width:1080px){
  .fd-public-flight-topbar{
    gap:16px!important;
    padding-inline:20px!important;
  }

  .fd-public-flight-topbar-meta>small{
    display:none!important;
  }

  .fd-public-flight-topbar-actions .fd-button{
    padding-inline:14px!important;
  }

  .fd-public-flight-topbar-actions .fd-button:last-child{
    min-width:170px!important;
  }
}

/*
 * Mobile gets the regular compact header rather than a second action row.
 * "Share" can stay compact while the CTA remains a single line.
 */
@media(max-width:720px){
  .fd-public-flight-topbar{
    min-height:62px!important;
    height:62px!important;
    padding:8px 12px!important;
    gap:10px!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }

  .fd-public-flight-topbar-meta{
    justify-self:start!important;
  }

  .fd-public-flight-topbar-meta>small{
    display:none!important;
  }

  .fd-public-flight-topbar-actions{
    display:flex!important;
    gap:6px!important;
  }

  .fd-public-flight-topbar-actions .fd-button{
    min-height:36px!important;
    height:36px!important;
    padding:0 10px!important;
    border-radius:10px!important;
    font-size:9px!important;
  }

  .fd-public-flight-topbar-actions .fd-button:last-child{
    min-width:0!important;
  }

  .fd-public-flight-layout{
    min-height:calc(100vh - 62px)!important;
  }
}

@media(max-width:520px){
  /*
   * On very narrow phones the descriptive public/unlisted text is the least
   * important item. Hide it before ever allowing the CTA to wrap.
   */
  .fd-public-flight-topbar-meta{
    display:none!important;
  }

  .fd-public-flight-topbar{
    grid-template-columns:auto 1fr!important;
  }

  .fd-public-flight-topbar-actions{
    justify-self:end!important;
  }

  .fd-public-flight-topbar-actions .fd-button:first-child{
    display:none!important;
  }

  .fd-public-flight-topbar-actions .fd-button:last-child{
    font-size:8.5px!important;
    padding-inline:11px!important;
  }
}


/* =====================================================================
   XCInsight v2.2.7 — public header language + equal actions
   ===================================================================== */

/*
 * Desktop geometry:
 * brand | public-status copy | language | equal action buttons
 */
.fd-public-flight-topbar{
  grid-template-columns:
    auto
    minmax(180px,1fr)
    auto
    auto!important;
  gap:18px!important;
}

/* Language switch is the same component used by the authenticated app. */
.fd-public-flight-language{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
}
.fd-public-flight-language .fd-language-switcher{
  flex:0 0 auto!important;
  margin:0!important;
}

/* Share and Analyze must look like two equal actions. */
.fd-public-flight-topbar-actions{
  display:grid!important;
  grid-template-columns:180px 180px!important;
  align-items:center!important;
  justify-content:end!important;
  gap:10px!important;
}
.fd-public-flight-topbar-actions .fd-button{
  box-sizing:border-box!important;
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1!important;
  font-size:10.5px!important;
  border-radius:12px!important;
}
.fd-public-flight-topbar-actions .fd-button:last-child{
  min-width:180px!important;
  max-width:180px!important;
}

/* Keep the public meta neat instead of competing with language/actions. */
.fd-public-flight-topbar-meta{
  min-width:0!important;
  overflow:hidden!important;
}
.fd-public-flight-topbar-meta small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Mid-size desktop/tablet: preserve language selector and equal buttons. */
@media(max-width:1280px){
  .fd-public-flight-topbar{
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
    gap:12px!important;
    padding-inline:18px!important;
  }

  .fd-public-flight-topbar-meta small{
    display:none!important;
  }

  .fd-public-flight-topbar-actions{
    grid-template-columns:156px 156px!important;
    gap:8px!important;
  }

  .fd-public-flight-topbar-actions .fd-button,
  .fd-public-flight-topbar-actions .fd-button:last-child{
    width:156px!important;
    min-width:156px!important;
    max-width:156px!important;
    font-size:9.5px!important;
    padding-inline:10px!important;
  }
}

/* At narrower tablet widths, status text can disappear before language does. */
@media(max-width:980px){
  .fd-public-flight-topbar{
    grid-template-columns:auto 1fr auto!important;
  }

  .fd-public-flight-topbar-meta{
    display:none!important;
  }

  .fd-public-flight-language{
    justify-self:center!important;
  }

  .fd-public-flight-topbar-actions{
    grid-template-columns:138px 138px!important;
  }

  .fd-public-flight-topbar-actions .fd-button,
  .fd-public-flight-topbar-actions .fd-button:last-child{
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
    font-size:8.5px!important;
  }
}

/*
 * Mobile: retain the language switch. The conversion CTA stays visible,
 * while Share may be hidden only on very small screens to protect header height.
 */
@media(max-width:720px){
  .fd-public-flight-topbar{
    grid-template-columns:auto 1fr auto!important;
    gap:8px!important;
    padding-inline:10px!important;
  }

  .fd-public-flight-language{
    justify-self:center!important;
  }

  .fd-public-flight-language .fd-language-switcher{
    transform:scale(.92);
    transform-origin:center;
  }

  .fd-public-flight-topbar-actions{
    display:grid!important;
    grid-template-columns:116px!important;
  }

  .fd-public-flight-topbar-actions .fd-button:first-child{
    display:none!important;
  }

  .fd-public-flight-topbar-actions .fd-button,
  .fd-public-flight-topbar-actions .fd-button:last-child{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:8px!important;
    padding-inline:8px!important;
  }
}

@media(max-width:520px){
  .fd-public-flight-topbar{
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }

  .fd-public-flight-language .fd-language-switcher{
    transform:scale(.82);
  }

  .fd-public-flight-topbar-actions{
    grid-template-columns:104px!important;
  }

  .fd-public-flight-topbar-actions .fd-button:last-child{
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    font-size:7.4px!important;
  }
}


/* =====================================================================
   XCInsight v2.3.0 — public cleanup + flight location import UX
   ===================================================================== */

/* PUBLIC HEADER */
.fd-public-flight-topbar{
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
  gap:16px!important;
}
.fd-public-flight-topbar-meta{
  display:none!important;
}
.fd-public-flight-language{
  grid-column:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.fd-public-flight-topbar-actions{
  grid-column:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.fd-public-flight-topbar-actions .fd-button,
.fd-public-flight-topbar-actions .fd-button:first-child,
.fd-public-flight-topbar-actions .fd-button:last-child{
  box-sizing:border-box!important;
  flex:0 0 190px!important;
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:0 12px!important;
  margin:0!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:10px!important;
}
.fd-public-flight-page .fd-public-privacy-note{
  display:none!important;
}

/* IGC upload location finder */
.fd-flight-location-field{
  position:relative;
  display:grid;
  gap:7px;
  width:100%;
}
.fd-flight-location-label{
  display:block;
}
.fd-flight-location-label>span{
  display:block;
}
.fd-flight-location-label small{
  color:var(--muted);
  font-weight:500;
}
.fd-flight-location-combobox{
  position:relative;
}
.fd-flight-location-combobox>input{
  width:100%;
  padding-right:48px!important;
}
.fd-flight-location-mini-loader{
  position:absolute;
  top:50%;
  right:13px;
  width:27px;
  height:20px;
  transform:translateY(-50%);
  pointer-events:none;
}
.fd-flight-location-mini-loader svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.fd-flight-location-mini-loader path{
  fill:none;
  stroke:#79dff1;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fd-flight-location-mini-loader path:first-child{
  stroke:#c8ff48;
  stroke-dasharray:80;
  animation:fd-location-wing 1.15s linear infinite;
}
@keyframes fd-location-wing{
  0%{stroke-dashoffset:80;opacity:.55}
  50%{opacity:1}
  100%{stroke-dashoffset:0;opacity:.55}
}
.fd-flight-location-status{
  min-height:16px;
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
}
.fd-flight-location-status strong{
  color:#c8ff48;
  font-weight:850;
}
.fd-flight-location-field.is-detected .fd-flight-location-combobox>input{
  border-color:rgba(200,255,72,.26)!important;
  box-shadow:0 0 0 1px rgba(200,255,72,.025);
}
.fd-flight-location-results{
  position:absolute;
  z-index:100;
  top:calc(100% - 26px);
  left:0;
  right:0;
  display:grid;
  max-height:300px;
  overflow:auto;
  border:1px solid rgba(126,231,248,.17);
  border-radius:14px;
  background:#07161b;
  box-shadow:0 22px 55px rgba(0,0,0,.42);
}
.fd-flight-location-results[hidden]{
  display:none!important;
}
.fd-flight-location-results button{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  padding:12px 13px;
  border:0;
  border-bottom:1px solid rgba(126,231,248,.075);
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.fd-flight-location-results button:last-child{
  border-bottom:0;
}
.fd-flight-location-results button:hover,
.fd-flight-location-results button:focus-visible{
  background:rgba(126,231,248,.055);
  outline:0;
}
.fd-flight-location-result-main{
  display:block;
  min-width:0;
}
.fd-flight-location-result-main strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.fd-flight-location-result-main small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:8px;
}
.fd-flight-location-result-kind{
  padding:4px 6px;
  border:1px solid rgba(200,255,72,.14);
  border-radius:999px;
  color:#c8ff48;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fd-flight-title-note{
  margin:1px 0 0!important;
  color:#6f8992!important;
  font-size:8px!important;
  line-height:1.4!important;
}
html[data-theme="light"] .fd-flight-location-results{
  background:#fff;
  box-shadow:0 18px 45px rgba(30,55,65,.14);
}

@media(max-width:1260px){
  .fd-public-flight-topbar-actions .fd-button,
  .fd-public-flight-topbar-actions .fd-button:first-child,
  .fd-public-flight-topbar-actions .fd-button:last-child{
    flex-basis:160px!important;
    width:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    font-size:9px!important;
  }
}
@media(max-width:960px){
  .fd-public-flight-topbar{
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }
  .fd-public-flight-language{
    grid-column:2!important;
    justify-self:center!important;
  }
  .fd-public-flight-topbar-actions{
    grid-column:3!important;
  }
  .fd-public-flight-topbar-actions .fd-button:first-child{
    display:none!important;
  }
}
@media(max-width:720px){
  .fd-public-flight-topbar-actions .fd-button:last-child{
    flex-basis:116px!important;
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    font-size:8px!important;
  }
  .fd-flight-location-results{
    max-height:240px;
  }
}


/* =====================================================================
   XCInsight v2.3.2 — three-step IGC upload wizard
   ===================================================================== */

html:has(.fd-upload-wizard){
  overflow:hidden;
}
.fd-upload-wizard-page{
  min-height:calc(100vh - 74px);
  position:relative;
}
.fd-upload-wizard-backdrop{
  position:fixed;
  inset:74px 0 0;
  z-index:2000;
  background:
    radial-gradient(circle at 78% 20%,rgba(126,231,248,.06),transparent 34%),
    radial-gradient(circle at 18% 82%,rgba(200,255,72,.035),transparent 30%),
    rgba(1,8,11,.72);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.fd-upload-wizard{
  position:fixed;
  z-index:2010;
  top:calc(74px + 50%);
  left:50%;
  width:min(720px,calc(100vw - 32px));
  max-height:calc(100vh - 106px);
  overflow:auto;
  transform:translate(-50%,-50%);
  border:1px solid rgba(137,198,211,.19);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(200,255,72,.045),transparent 28%),
    radial-gradient(circle at 0 0,rgba(126,231,248,.045),transparent 27%),
    #09171c;
  box-shadow:0 36px 120px rgba(0,0,0,.52);
  scrollbar-width:thin;
  scrollbar-color:rgba(126,231,248,.16) transparent;
}
.fd-upload-wizard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px 25px 19px;
  border-bottom:1px solid rgba(137,198,211,.10);
}
.fd-upload-wizard-head h1{
  margin:5px 0 7px;
  font-size:31px;
  line-height:1;
  letter-spacing:-.045em;
}
.fd-upload-wizard-head p{
  max-width:580px;
  margin:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.fd-upload-wizard-close{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:1px solid rgba(137,198,211,.15);
  border-radius:10px;
  color:#9fb4bb;
  background:rgba(255,255,255,.025);
  text-decoration:none;
  font-size:22px;
}
.fd-upload-wizard-close:hover{
  color:#eefbff;
  border-color:rgba(126,231,248,.32);
}

/* Stepper */
.fd-upload-wizard-steps{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:14px 25px;
  border-bottom:1px solid rgba(137,198,211,.08);
}
.fd-upload-step{
  display:flex;
  align-items:center;
  gap:7px;
  color:#607780;
}
.fd-upload-step>span{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border:1px solid rgba(137,198,211,.16);
  border-radius:50%;
  font-size:7px;
  font-weight:950;
}
.fd-upload-step>b{
  font-size:7px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.fd-upload-step.is-active{
  color:#c8ff48;
}
.fd-upload-step.is-active>span{
  border-color:rgba(200,255,72,.45);
  background:rgba(200,255,72,.07);
}
.fd-upload-step.is-done{
  color:#79dff1;
}
.fd-upload-step.is-done>span{
  border-color:rgba(121,223,241,.35);
}
.fd-upload-wizard-steps>i{
  height:1px;
  background:rgba(137,198,211,.10);
}

.fd-upload-wizard-errors{
  margin:16px 25px 0;
}

.fd-upload-wizard-form{
  margin:0;
}
.fd-upload-wizard-panel{
  padding:23px 25px 26px;
}
.fd-upload-wizard-panel[hidden]{
  display:none!important;
}
.fd-upload-wizard-copy{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  margin-bottom:17px;
}
.fd-upload-wizard-kicker{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(126,231,248,.14);
  border-radius:10px;
  color:#79dff1;
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
}
.fd-upload-wizard-copy h2,
.fd-upload-analysis-copy h2{
  margin:0 0 5px;
  font-size:19px;
  letter-spacing:-.025em;
}
.fd-upload-wizard-copy p,
.fd-upload-analysis-copy p{
  margin:0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}

/* File step */
.fd-upload-dropzone{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-height:96px;
  padding:16px;
  border:1px dashed rgba(126,231,248,.25);
  border-radius:17px;
  background:rgba(4,15,19,.48);
  cursor:pointer;
  transition:.16s ease;
}
.fd-upload-dropzone:hover{
  border-color:rgba(200,255,72,.38);
  background:rgba(200,255,72,.022);
}
.fd-upload-dropzone>input{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.fd-upload-dropzone-mark{
  position:relative;
  display:block;
  width:52px;
  height:42px;
}
.fd-upload-dropzone-mark::before{
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:46px;
  height:27px;
  border-top:2px solid #79dff1;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  transform:rotate(-1deg);
  filter:drop-shadow(0 0 8px rgba(121,223,241,.16));
}
.fd-upload-dropzone-mark::after{
  content:"";
  position:absolute;
  left:25px;
  top:15px;
  width:1px;
  height:23px;
  background:linear-gradient(#79dff1,transparent);
  transform:rotate(9deg);
  box-shadow:
    -15px -3px 0 -0.4px rgba(121,223,241,.55),
    15px -1px 0 -0.4px rgba(121,223,241,.55);
}
.fd-upload-dropzone-mark>span{
  position:absolute;
  left:24px;
  bottom:0;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#c8ff48;
  box-shadow:0 0 9px rgba(200,255,72,.45);
}
.fd-upload-dropzone-main{
  min-width:0;
}
.fd-upload-dropzone-main>b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}
.fd-upload-dropzone-main>small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.fd-upload-dropzone-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(126,231,248,.16);
  border-radius:10px;
  background:rgba(126,231,248,.04);
  color:var(--text);
  font-size:9px;
  font-weight:850;
}
.fd-upload-file-error{
  margin-top:9px;
  color:#ff9e9e;
  font-size:9px;
}

/* Analysis step */
.fd-upload-analysis{
  display:grid;
  justify-items:center;
  padding:8px 0 5px;
  text-align:center;
}
.fd-upload-paraglider-loader{
  position:relative;
  width:104px;
  height:73px;
  margin:4px 0 16px;
}
.fd-upload-paraglider-loader .wing{
  position:absolute;
  left:7px;
  top:4px;
  width:90px;
  height:43px;
  border-top:2px solid #79dff1;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  animation:fd-wizard-wing 1.7s ease-in-out infinite;
  filter:drop-shadow(0 0 10px rgba(121,223,241,.2));
}
.fd-upload-paraglider-loader .lines::before,
.fd-upload-paraglider-loader .lines::after{
  content:"";
  position:absolute;
  top:29px;
  width:1px;
  height:34px;
  background:linear-gradient(#79dff1,rgba(121,223,241,.08));
}
.fd-upload-paraglider-loader .lines::before{
  left:34px;
  transform:rotate(-11deg);
}
.fd-upload-paraglider-loader .lines::after{
  right:34px;
  transform:rotate(11deg);
}
.fd-upload-paraglider-loader .pilot{
  position:absolute;
  left:50px;
  bottom:5px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#c8ff48;
  box-shadow:0 0 12px rgba(200,255,72,.5);
  animation:fd-wizard-pilot 1.7s ease-in-out infinite;
}
@keyframes fd-wizard-wing{
  0%,100%{transform:translateY(0) scaleX(.97);opacity:.68}
  50%{transform:translateY(-3px) scaleX(1.02);opacity:1}
}
@keyframes fd-wizard-pilot{
  0%,100%{transform:translate(-2px,0)}
  50%{transform:translate(2px,-2px)}
}
.fd-upload-analysis-copy{
  max-width:480px;
}
.fd-upload-analysis-status{
  display:grid;
  width:min(470px,100%);
  margin-top:20px;
  border:1px solid rgba(126,231,248,.10);
  border-radius:14px;
  overflow:hidden;
  background:rgba(4,15,19,.44);
  text-align:left;
}
.fd-upload-analysis-status>div{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:11px 13px;
  border-bottom:1px solid rgba(126,231,248,.07);
}
.fd-upload-analysis-status>div:last-child{
  border-bottom:0;
}
.fd-upload-analysis-status>div>span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid rgba(126,231,248,.13);
  border-radius:50%;
  color:#79dff1;
  font-size:9px;
}
.fd-upload-analysis-status .is-loading>span::before{
  content:"";
  width:9px;
  height:9px;
  border:1.5px solid rgba(121,223,241,.25);
  border-top-color:#c8ff48;
  border-radius:50%;
  animation:fd-wizard-spin .8s linear infinite;
}
@keyframes fd-wizard-spin{to{transform:rotate(360deg)}}
.fd-upload-analysis-status .is-done>span{
  color:#c8ff48;
  border-color:rgba(200,255,72,.24);
}
.fd-upload-analysis-status b{
  display:block;
  font-size:9px;
}
.fd-upload-analysis-status small{
  display:block;
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:7.5px;
}

/* Details */
.fd-upload-detection{
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding:10px 12px;
  border:1px solid rgba(126,231,248,.10);
  border-radius:12px;
  background:rgba(126,231,248,.025);
}
.fd-upload-detection-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#79dff1;
}
.fd-upload-detection.is-success{
  border-color:rgba(200,255,72,.16);
  background:rgba(200,255,72,.025);
}
.fd-upload-detection.is-success .fd-upload-detection-dot{
  background:#c8ff48;
  box-shadow:0 0 10px rgba(200,255,72,.32);
}
.fd-upload-detection.is-warning{
  border-color:rgba(255,188,95,.18);
}
.fd-upload-detection.is-warning .fd-upload-detection-dot{
  background:#ffbc5f;
}
.fd-upload-detection b{
  display:block;
  font-size:9.5px;
}
.fd-upload-detection small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
}
.fd-upload-detail-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:12px;
}
.fd-upload-field{
  position:relative;
  min-width:0;
}
.fd-upload-field>label{
  display:block;
  margin-bottom:6px;
  font-size:9px;
  font-weight:850;
}
.fd-upload-field input{
  box-sizing:border-box;
  width:100%;
  height:44px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:11px;
  background:rgba(4,15,19,.65);
  color:var(--text);
  font:700 10px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.fd-upload-field input:focus{
  outline:none;
  border-color:rgba(121,223,241,.42);
  box-shadow:0 0 0 2px rgba(121,223,241,.055);
}
.fd-upload-combobox{
  position:relative;
}
.fd-upload-search-loader{
  position:absolute;
  top:50%;
  right:12px;
  width:13px;
  height:13px;
  margin-top:-7px;
  border:1.5px solid rgba(121,223,241,.22);
  border-top-color:#c8ff48;
  border-radius:50%;
  animation:fd-wizard-spin .8s linear infinite;
}
.fd-upload-location-results{
  position:absolute;
  z-index:20;
  top:72px;
  left:0;
  right:0;
  max-height:240px;
  overflow:auto;
  border:1px solid rgba(126,231,248,.16);
  border-radius:12px;
  background:#07161b;
  box-shadow:0 20px 50px rgba(0,0,0,.42);
}
.fd-upload-location-results[hidden]{
  display:none!important;
}
.fd-upload-location-results button{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 11px;
  border:0;
  border-bottom:1px solid rgba(126,231,248,.07);
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.fd-upload-location-results button:hover{
  background:rgba(126,231,248,.05);
}
.fd-upload-location-results button>b,
.fd-upload-location-results button span>b{
  display:block;
  font-size:9px;
}
.fd-upload-location-results button small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:7px;
}
.fd-upload-location-results button em{
  color:#c8ff48;
  font-size:6px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
}
.fd-upload-field-help{
  display:block;
  margin-top:6px;
  color:#6f8992;
  font-size:7.5px;
  line-height:1.4;
}
.fd-upload-wizard-actions{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(126,231,248,.08);
}
.fd-upload-wizard-actions>.fd-button{
  min-height:43px;
  justify-content:center;
}
.fd-upload-process{
  width:100%;
}

html[data-theme="light"] .fd-upload-wizard{
  background:#f8fcfd;
}
html[data-theme="light"] .fd-upload-dropzone,
html[data-theme="light"] .fd-upload-analysis-status,
html[data-theme="light"] .fd-upload-field input,
html[data-theme="light"] .fd-upload-location-results{
  background:#fff;
}

/* Prevent all old v2.3.1 picker artwork from leaking into wizard */
.fd-upload-wizard .fd-igc-picker,
.fd-upload-wizard .fd-flight-location-field{
  display:none!important;
}

@media(max-width:720px){
  html:has(.fd-upload-wizard){
    overflow:hidden;
  }
  .fd-upload-wizard-backdrop{
    inset:62px 0 0;
  }
  .fd-upload-wizard{
    top:calc(62px + 50%);
    width:calc(100vw - 16px);
    max-height:calc(100vh - 78px);
    border-radius:18px;
  }
  .fd-upload-wizard-head{
    padding:18px 16px 14px;
  }
  .fd-upload-wizard-head h1{
    font-size:25px;
  }
  .fd-upload-wizard-head p{
    font-size:9px;
  }
  .fd-upload-wizard-steps{
    padding:11px 16px;
    gap:6px;
  }
  .fd-upload-step>b{
    display:none;
  }
  .fd-upload-wizard-panel{
    padding:17px 16px 19px;
  }
  .fd-upload-dropzone{
    grid-template-columns:44px minmax(0,1fr);
  }
  .fd-upload-dropzone-action{
    grid-column:1/-1;
    width:100%;
  }
  .fd-upload-detail-grid{
    grid-template-columns:1fr;
  }
  .fd-upload-wizard-actions{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   XCInsight v2.3.3 — owner-only flight delete UI
   ===================================================================== */

.fd-flight-row-shell{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 54px!important;
  align-items:stretch!important;
  width:100%!important;
  border-bottom:1px solid var(--border);
}
.fd-flight-row-shell:last-child{
  border-bottom:0;
}
.fd-flight-row-shell>.fd-flight-row{
  min-width:0!important;
  width:100%!important;
  border-bottom:0!important;
}

.fd-flight-delete-form{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  margin:0!important;
  padding:8px 8px 8px 0!important;
}

.fd-flight-delete{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(255,112,112,.12)!important;
  border-radius:10px!important;
  background:rgba(255,90,90,.015)!important;
  color:#718891!important;
  cursor:pointer!important;
  transition:
    color .15s ease,
    border-color .15s ease,
    background .15s ease,
    transform .15s ease!important;
}

.fd-flight-delete svg{
  width:15px!important;
  height:15px!important;
  pointer-events:none;
}
.fd-flight-delete svg path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.fd-flight-delete span{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
}

.fd-flight-delete:hover,
.fd-flight-delete:focus-visible{
  color:#ff8989!important;
  border-color:rgba(255,105,105,.34)!important;
  background:rgba(255,80,80,.06)!important;
  outline:none!important;
  transform:translateY(-1px)!important;
}

@media(max-width:720px){
  .fd-flight-row-shell{
    grid-template-columns:minmax(0,1fr) 48px!important;
  }

  .fd-flight-delete-form{
    width:48px!important;
    padding-right:5px!important;
  }

  .fd-flight-delete{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }
}


/* =====================================================================
   XCInsight v2.4.0 — Strava + Garmin activity export
   ===================================================================== */

.fd-share-integrations{
  margin-top:0;
  padding:18px 22px 21px;
  border-top:1px solid rgba(142,199,211,.10);
}
.fd-share-integrations-head span{
  display:block;
  color:#79dff1;
  font-size:7px;
  font-weight:950;
  letter-spacing:.11em;
}
.fd-share-integrations-head h3{
  margin:4px 0 3px;
  font-size:16px;
  letter-spacing:-.025em;
}
.fd-share-integrations-head p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:8px;
}
.fd-share-integration-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.fd-share-integration-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  padding:13px;
  border:1px solid rgba(142,199,211,.11);
  border-radius:14px;
  background:rgba(4,14,18,.45);
}
.fd-share-integration-card>p{
  margin:0;
  color:var(--muted);
  font-size:7.8px;
  line-height:1.5;
}
.fd-share-integration-brand{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.fd-share-integration-logo{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(142,199,211,.14);
  border-radius:10px;
  font-size:14px;
  font-weight:950;
}
.fd-share-integration-strava .fd-share-integration-logo{
  color:#ff7d4d;
  border-color:rgba(255,125,77,.20);
  background:rgba(255,125,77,.04);
}
.fd-share-integration-garmin .fd-share-integration-logo{
  color:#79dff1;
  border-color:rgba(121,223,241,.20);
  background:rgba(121,223,241,.04);
}
.fd-share-integration-brand b{
  display:block;
  font-size:10px;
}
.fd-share-integration-brand small{
  display:block;
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--muted);
  font-size:6.8px;
  line-height:1.35;
}
.fd-share-integration-actions{
  margin-top:auto;
}
.fd-share-integration-actions form{
  margin:0;
}
.fd-share-integration-actions .fd-button{
  width:100%!important;
  min-height:37px!important;
  height:auto!important;
  padding:8px 10px!important;
  justify-content:center!important;
  font-size:8.5px!important;
  white-space:normal!important;
  text-align:center;
}
.fd-share-integration-disconnect{
  margin:0!important;
  text-align:right;
}
.fd-share-integration-disconnect button{
  padding:0;
  border:0;
  background:transparent;
  color:#6e858d;
  font-size:6.8px;
  cursor:pointer;
}
.fd-share-integration-disconnect button:hover{
  color:#ff8f8f;
}

.fd-garmin-export-page{
  min-height:100vh;
}
.fd-garmin-export-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:20px;
}
.fd-garmin-export-card{
  width:min(580px,100%);
  padding:28px;
  border:1px solid rgba(142,199,211,.16);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(121,223,241,.05),transparent 35%),
    #09171c;
  box-shadow:0 28px 90px rgba(0,0,0,.45);
}
.fd-garmin-export-card h1{
  margin:6px 0 8px;
  font-size:28px;
}
.fd-garmin-export-card>p{
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.fd-garmin-export-flight{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:18px 0;
  padding:12px;
  border:1px solid rgba(142,199,211,.10);
  border-radius:12px;
}
.fd-garmin-export-flight b{
  font-size:11px;
}
.fd-garmin-export-flight span{
  color:var(--muted);
  font-size:8px;
}
.fd-garmin-export-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.fd-garmin-export-actions .fd-button{
  justify-content:center;
}
.fd-garmin-export-note{
  margin-top:14px!important;
  padding:10px 11px;
  border:1px solid rgba(255,188,95,.12);
  border-radius:11px;
  color:#8da0a6!important;
  font-size:8px!important;
}
.fd-garmin-export-back{
  display:inline-block;
  margin-top:14px;
  color:#79dff1;
  font-size:8px;
  text-decoration:none;
}

html[data-theme="light"] .fd-share-integration-card,
html[data-theme="light"] .fd-garmin-export-card{
  background:#fff;
}

@media(max-width:720px){
  .fd-share-integration-grid{
    grid-template-columns:1fr;
  }
  .fd-share-integrations{
    padding:16px 15px 18px;
  }
  .fd-garmin-export-card{
    padding:20px 16px;
  }
  .fd-garmin-export-actions{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   XCInsight v2.4.1 — Garmin / GPX activity export only
   ===================================================================== */

.fd-share-integrations{
  padding:17px 22px 20px;
  border-top:1px solid rgba(142,199,211,.10);
}
.fd-share-integrations-head span{
  display:block;
  color:#79dff1;
  font-size:7px;
  font-weight:950;
  letter-spacing:.11em;
}
.fd-share-integrations-head h3{
  margin:4px 0 3px;
  font-size:15px;
  letter-spacing:-.02em;
}
.fd-share-integrations-head p{
  margin:0 0 11px;
  color:var(--muted);
  font-size:8px;
}
.fd-share-export-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.fd-share-export-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:11px;
  border:1px solid rgba(142,199,211,.11);
  border-radius:13px;
  background:rgba(4,14,18,.45);
  color:var(--text);
  text-decoration:none;
  transition:.15s ease;
}
.fd-share-export-card:hover{
  border-color:rgba(126,231,248,.25);
  background:rgba(126,231,248,.035);
  transform:translateY(-1px);
}
.fd-share-export-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(121,223,241,.16);
  border-radius:10px;
  color:#79dff1;
  background:rgba(121,223,241,.035);
  font-size:9px;
  font-weight:950;
}
.fd-share-export-card:nth-child(2) .fd-share-export-icon{
  color:#c8ff48;
  border-color:rgba(200,255,72,.16);
  background:rgba(200,255,72,.03);
  font-size:14px;
}
.fd-share-export-card b{
  display:block;
  font-size:9.5px;
}
.fd-share-export-card small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:6.8px;
}
.fd-share-export-card>i{
  color:#789098;
  font-size:12px;
  font-style:normal;
}
.fd-share-garmin-note{
  margin:10px 0 0;
  color:#708890;
  font-size:7.4px;
  line-height:1.5;
}

.fd-garmin-export-page{
  min-height:100vh;
}
.fd-garmin-export-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:20px;
}
.fd-garmin-export-card{
  width:min(590px,100%);
  padding:28px;
  border:1px solid rgba(142,199,211,.16);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(121,223,241,.05),transparent 35%),
    radial-gradient(circle at 0 100%,rgba(200,255,72,.025),transparent 28%),
    #09171c;
  box-shadow:0 28px 90px rgba(0,0,0,.45);
}
.fd-garmin-export-card h1{
  margin:6px 0 8px;
  font-size:28px;
}
.fd-garmin-export-card>p{
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.fd-garmin-export-flight{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:18px 0;
  padding:12px;
  border:1px solid rgba(142,199,211,.10);
  border-radius:12px;
}
.fd-garmin-export-flight b{
  display:block;
  font-size:11px;
}
.fd-garmin-export-flight small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:7px;
}
.fd-garmin-export-flight>span{
  color:var(--muted);
  font-size:8px;
}
.fd-garmin-export-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.fd-garmin-export-actions .fd-button{
  justify-content:center;
}
.fd-garmin-export-note{
  margin-top:14px!important;
  padding:10px 11px;
  border:1px solid rgba(255,188,95,.12);
  border-radius:11px;
  color:#8da0a6!important;
  font-size:8px!important;
}
.fd-garmin-export-back{
  display:inline-block;
  margin-top:14px;
  color:#79dff1;
  font-size:8px;
  text-decoration:none;
}
html[data-theme="light"] .fd-share-export-card,
html[data-theme="light"] .fd-garmin-export-card{
  background:#fff;
}

@media(max-width:720px){
  .fd-share-export-actions{
    grid-template-columns:1fr;
  }
  .fd-share-integrations{
    padding:15px;
  }
  .fd-garmin-export-card{
    padding:20px 16px;
  }
  .fd-garmin-export-actions{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   XCInsight v2.5.0 — Relive-style progressive flight replay
   ===================================================================== */

.fd-replay-restart{
  box-sizing:border-box;
  display:inline-grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(126,231,248,.13);
  border-radius:10px;
  background:rgba(126,231,248,.025);
  color:#7b949c;
  cursor:pointer;
  font-size:15px;
  line-height:1;
  transition:.16s ease;
}
.fd-replay-restart:hover,
.fd-replay-restart:focus-visible{
  color:#dffaff;
  border-color:rgba(126,231,248,.32);
  background:rgba(126,231,248,.06);
  outline:none;
  transform:rotate(-14deg);
}

.fd-replay-mode-badge{
  --replay-progress:0%;
  position:relative;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  min-height:27px;
  overflow:hidden;
  padding:0 9px;
  border:1px solid rgba(126,231,248,.10);
  border-radius:999px;
  color:#708990;
  background:rgba(5,16,20,.36);
  font-size:6.4px;
  font-weight:950;
  letter-spacing:.10em;
  white-space:nowrap;
}
.fd-replay-mode-badge::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  width:var(--replay-progress);
  height:2px;
  background:linear-gradient(90deg,#79dff1,#c8ff48);
  transition:width .18s linear;
}
.fd-replay-mode-badge>i{
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#688088;
}
.fd-replay-mode-badge.is-active{
  color:#dff9ff;
  border-color:rgba(200,255,72,.22);
  background:rgba(200,255,72,.035);
}
.fd-replay-mode-badge.is-active>i{
  background:#c8ff48;
  box-shadow:0 0 9px rgba(200,255,72,.62);
  animation:fd-relive-pulse 1.1s ease-in-out infinite;
}
@keyframes fd-relive-pulse{
  0%,100%{transform:scale(.75);opacity:.55}
  50%{transform:scale(1.15);opacity:1}
}

.fd-replay-bar.is-relive{
  border-color:rgba(200,255,72,.14);
  box-shadow:
    inset 0 1px rgba(200,255,72,.025),
    0 -8px 30px rgba(0,0,0,.08);
}
.fd-replay-bar.is-relive .fd-play{
  border-color:rgba(200,255,72,.30)!important;
  color:#c8ff48!important;
  background:rgba(200,255,72,.055)!important;
  box-shadow:0 0 16px rgba(200,255,72,.08);
}
.fd-replay-bar.is-relive #replay-slider{
  accent-color:#c8ff48;
}

/* Keep the new controls compact on shared/public replay. */
@media(max-width:820px){
  .fd-replay-mode-badge b{
    display:none;
  }
  .fd-replay-mode-badge{
    min-width:27px;
    width:27px;
    padding:0;
    justify-content:center;
  }
  .fd-replay-restart{
    flex-basis:31px;
    width:31px;
    height:31px;
  }
}

@media(max-width:520px){
  .fd-replay-mode-badge{
    display:none;
  }
}


/* =====================================================================
   XCInsight v2.5.1 — thermal toggle + clean pilot marker
   ===================================================================== */

/* New map preference lives alongside Stopa / Stena / X-ray. */
#thermal-markers-toggle{
  accent-color:#c8ff48;
}

/* Selected thermal in the left panel: subtle, not another loud badge. */
.fd-thermal[data-thermal-number].is-map-selected{
  border-color:rgba(200,255,72,.28)!important;
  background:rgba(200,255,72,.045)!important;
  box-shadow:inset 2px 0 #c8ff48;
}
.fd-thermal[data-thermal-number].is-map-selected>b{
  color:#c8ff48!important;
}

/* On compact maps preserve all toggles without making the toolbar taller. */
@media(max-width:980px){
  .fd-map-toolbar .fd-map-tool-group label{
    white-space:nowrap;
  }
}

/* XCInsight v2.5.2 — thermal toggle hotfix */

/* XCInsight v2.5.2 — thermal toggle hotfix */
#thermal-markers-toggle { cursor:pointer!important; accent-color:#c8ff48!important; }

/* XCInsight v2.5.3 — start/land waypoint pins */
/* XCInsight v2.5.3 — start/land waypoint pins */
.fd-waypoint-pin {
  display: inline-flex;
  width: 24px;
  height: 32px;
  align-items: center;
  justify-content: center;
  transform: translateY(2px);
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.32));
}
.fd-waypoint-pin svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}
.fd-waypoint-pin-start { transform: translateY(2px) scale(.92); }
.fd-waypoint-pin-land { transform: translateY(2px) scale(.92); }

/* XCInsight v2.5.5 — complete removable thermal marker */
/* =====================================================================
   XCInsight v2.5.5 — complete removable thermal marker
   ===================================================================== */
.fd-map-thermal-marker{
  display:flex;
  align-items:flex-start;
  gap:3px;
  transform:translate(-8px,-8px);
  pointer-events:none;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.42));
}
.fd-map-thermal-marker-pin{
  display:block;
  width:20px;
  height:26px;
  flex:0 0 20px;
}
.fd-map-thermal-marker-pin svg{
  display:block;
  width:20px;
  height:26px;
  overflow:visible;
}
.fd-map-thermal-marker-label{
  display:flex;
  align-items:baseline;
  gap:3px;
  margin-top:0;
  padding:2px 5px 3px;
  border:1px solid rgba(126,231,248,.14);
  border-radius:6px;
  background:rgba(4,14,18,.82);
  color:#eefbff;
  white-space:nowrap;
  line-height:1;
  backdrop-filter:blur(5px);
}
.fd-map-thermal-marker-label b{
  color:#c8ff48;
  font-size:8px;
  font-weight:950;
}
.fd-map-thermal-marker-label small{
  color:#d9edf1;
  font-size:7px;
  font-weight:850;
}

/* =====================================================================
   XCInsight v2.6.0 — public capabilities / FREE vs PRO SEO page
   ===================================================================== */
.fd-capabilities-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:54px 0 80px}
.fd-capabilities-hero{max-width:900px;padding:54px 0 42px}
.fd-capabilities-hero h1{max-width:820px;margin:10px 0 16px;font-size:clamp(38px,6vw,72px);line-height:.98;letter-spacing:-.045em}
.fd-capabilities-hero>p{max-width:760px;color:var(--muted);font-size:18px;line-height:1.65}
.fd-capabilities-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.fd-capabilities-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 22px}
.fd-capabilities-summary>div{padding:24px;border:1px solid rgba(126,231,248,.13);border-radius:18px;background:rgba(8,20,25,.72)}
.fd-capabilities-summary>div.is-pro{border-color:rgba(200,255,72,.22);background:linear-gradient(145deg,rgba(200,255,72,.05),rgba(8,20,25,.78))}
.fd-capabilities-summary span{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.14em}
.fd-capabilities-summary strong{display:block;margin:7px 0 8px;font-size:30px;color:#f4fbfd}
.fd-capabilities-summary .is-pro strong{color:var(--thermal)}
.fd-capabilities-summary p{margin:0;color:var(--muted);line-height:1.55}
.fd-capabilities-table-card{overflow:hidden;border:1px solid rgba(126,231,248,.13);border-radius:20px;background:rgba(7,17,22,.78);box-shadow:0 24px 80px rgba(0,0,0,.16)}
.fd-capabilities-table-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:26px 28px;border-bottom:1px solid rgba(126,231,248,.11)}
.fd-capabilities-table-head h2{margin:6px 0 7px;font-size:28px}
.fd-capabilities-table-head p{margin:0;color:var(--muted);max-width:720px}
.fd-capabilities-legend{display:flex;gap:7px;flex-wrap:wrap}.fd-capabilities-legend span,.fd-capability-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:950;letter-spacing:.1em}
.fd-capabilities-legend .is-live,.fd-capability-status.is-live{color:#dfff8a;background:rgba(200,255,72,.08);border:1px solid rgba(200,255,72,.18)}
.fd-capabilities-legend .is-beta,.fd-capability-status.is-beta{color:#ffd68a;background:rgba(255,190,72,.08);border:1px solid rgba(255,190,72,.2)}
.fd-capabilities-legend .is-planned,.fd-capability-status.is-planned{color:#a9c4cb;background:rgba(126,231,248,.06);border:1px solid rgba(126,231,248,.13)}
.fd-capabilities-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 112px;align-items:stretch;border-bottom:1px solid rgba(126,231,248,.07)}
.fd-capabilities-row>div{padding:16px 20px}.fd-capabilities-row>div+div{border-left:1px solid rgba(126,231,248,.07)}
.fd-capabilities-header{position:sticky;top:0;z-index:2;background:#09161c;color:#8da3aa;font-size:10px;font-weight:900;letter-spacing:.12em}
.fd-capabilities-group{padding:11px 20px;background:rgba(126,231,248,.035);border-bottom:1px solid rgba(126,231,248,.08);color:#c8ff48;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.fd-capability-copy>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.fd-capability-copy strong{font-size:14px}.fd-capability-copy p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.fd-capability-plan{display:grid;place-items:center;text-align:center;color:#c8d9de;font-size:12px;font-weight:800}.fd-capability-plan .yes{font-size:19px;color:var(--thermal)}.fd-capability-plan .no{color:#61747b}.fd-capabilities-seo-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;padding:54px 6px}.fd-capabilities-seo-copy h2{font-size:clamp(26px,4vw,42px);line-height:1.08}.fd-capabilities-seo-copy p{margin:26px 0 0;color:var(--muted);font-size:16px;line-height:1.75}
@media(max-width:720px){.fd-capabilities-shell{width:min(100% - 20px,1180px);padding-top:18px}.fd-capabilities-hero{padding-top:34px}.fd-capabilities-summary{grid-template-columns:1fr}.fd-capabilities-table-head{display:grid;padding:20px}.fd-capabilities-row{grid-template-columns:minmax(0,1fr) 62px 62px}.fd-capabilities-row>div{padding:14px 12px}.fd-capability-copy p{font-size:11px}.fd-capabilities-seo-copy{grid-template-columns:1fr;gap:4px;padding:38px 4px}.fd-capabilities-nav-link{display:none}}
html[data-theme="light"] .fd-capabilities-summary>div,html[data-theme="light"] .fd-capabilities-table-card{background:#fff;border-color:rgba(13,74,89,.13)}html[data-theme="light"] .fd-capabilities-header{background:#eef6f7}html[data-theme="light"] .fd-capabilities-summary strong{color:#10262c}html[data-theme="light"] .fd-capabilities-summary .is-pro strong{color:#6e9800}

/* =====================================================================
   XCInsight v2.7.0 — Flight Media + localized capabilities
   ===================================================================== */
.fd-share-media-panel{
  margin:0 22px 22px;
  padding:18px;
  border:1px solid rgba(142,199,211,.13);
  border-radius:16px;
  background:rgba(7,19,24,.58);
}
.fd-share-media-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.fd-share-media-head p{
  max-width:520px;
  margin:5px 0 0;
  color:#768d95;
  font-size:9px;
  line-height:1.55;
}
.fd-share-media-head>span{
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid rgba(200,255,72,.16);
  border-radius:999px;
  color:#c8ff48;
  background:rgba(200,255,72,.035);
  font-size:8px;
  font-weight:900;
}
.fd-share-media-form{display:grid;gap:13px}
.fd-share-media-form label{display:grid;gap:6px}
.fd-share-media-form label>span{
  color:#9eb3ba;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fd-share-media-form textarea,
.fd-share-media-form input[type="url"],
.fd-share-media-form input[type="file"]{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(142,199,211,.17);
  border-radius:11px;
  background:#08161b;
  color:#edf8fa;
  font:inherit;
  outline:none;
}
.fd-share-media-form textarea,
.fd-share-media-form input[type="url"]{padding:11px 12px}
.fd-share-media-form textarea{resize:vertical;min-height:92px;line-height:1.5}
.fd-share-media-form input[type="file"]{padding:8px 10px;font-size:10px}
.fd-share-media-form textarea:focus,
.fd-share-media-form input:focus{border-color:rgba(200,255,72,.48);box-shadow:0 0 0 3px rgba(200,255,72,.05)}
.fd-share-media-form small{color:#6f858d;font-size:8px;line-height:1.5}
.fd-share-media-save{justify-self:start}
.fd-share-media-errors{
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid rgba(255,91,91,.24);
  border-radius:10px;
  background:rgba(255,91,91,.065);
}
.fd-share-media-errors p{margin:2px 0;color:#ffb0b0;font-size:9px;line-height:1.4}
.fd-share-media-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:15px;
}
.fd-share-media-item{
  position:relative;
  overflow:hidden;
  aspect-ratio:1.35;
  border:1px solid rgba(142,199,211,.13);
  border-radius:10px;
  background:#061015;
}
.fd-share-media-item img{display:block;width:100%;height:100%;object-fit:cover}
.fd-share-media-item form{position:absolute;top:6px;right:6px}
.fd-share-media-item button{
  width:25px;height:25px;border:1px solid rgba(255,255,255,.18);border-radius:999px;
  background:rgba(4,8,10,.78);color:#fff;font-size:16px;line-height:1;cursor:pointer;
  backdrop-filter:blur(8px);
}
.fd-share-media-item button:hover{background:rgba(170,35,45,.88)}

.fd-public-media-shell{
  position:relative;
  border-top:1px solid rgba(142,199,211,.12);
  background:
    radial-gradient(circle at 85% 0,rgba(200,255,72,.055),transparent 30%),
    linear-gradient(180deg,#071116,#050c10 72%);
}
.fd-public-media-inner{max-width:1240px;margin:0 auto;padding:58px 28px 80px}
.fd-public-media-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.fd-public-media-heading h2{margin:5px 0 0;font-size:clamp(28px,4vw,48px);letter-spacing:-.035em}
.fd-public-story-card{
  max-width:900px;
  padding:22px 24px;
  border:1px solid rgba(142,199,211,.13);
  border-left:3px solid #c8ff48;
  border-radius:14px;
  background:rgba(9,23,29,.62);
}
.fd-public-story-card>span{
  display:block;margin-bottom:9px;color:#c8ff48;font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;
}
.fd-public-story-card p{margin:0;color:#c4d3d8;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
.fd-public-gallery-block,.fd-public-video-block{margin-top:34px}
.fd-public-media-subhead{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.fd-public-media-subhead h3{margin:0;font-size:17px;letter-spacing:-.01em}
.fd-public-media-subhead span{
  display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;
  background:rgba(200,255,72,.07);color:#c8ff48;font-size:9px;font-weight:900;
}
.fd-public-media-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fd-public-media-photo{
  position:relative;overflow:hidden;aspect-ratio:4/3;padding:0;border:1px solid rgba(142,199,211,.12);
  border-radius:14px;background:#071116;cursor:zoom-in;
}
.fd-public-media-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease,filter .2s ease}
.fd-public-media-photo:hover img{transform:scale(1.025);filter:brightness(1.06)}
.fd-public-video-frame{
  overflow:hidden;width:min(100%,960px);aspect-ratio:16/9;border:1px solid rgba(142,199,211,.13);
  border-radius:16px;background:#020507;box-shadow:0 24px 60px rgba(0,0,0,.22);
}
.fd-public-video-frame iframe{display:block;width:100%;height:100%;border:0}
.fd-public-media-lightbox{
  width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:28px;border:0;
  background:rgba(2,5,7,.94);cursor:zoom-out;
}
.fd-public-media-lightbox::backdrop{background:rgba(0,0,0,.82)}
.fd-public-media-lightbox[open]{display:grid;place-items:center}
.fd-public-media-lightbox img{max-width:min(92vw,1500px);max-height:88vh;border-radius:12px;box-shadow:0 25px 90px rgba(0,0,0,.55);object-fit:contain}
.fd-public-media-lightbox-close{
  position:fixed;top:20px;right:22px;z-index:2;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);
  border-radius:999px;background:rgba(5,10,13,.78);color:#fff;font-size:25px;cursor:pointer;
}

html[data-theme="light"] .fd-share-media-panel{background:#f7fbfc}
html[data-theme="light"] .fd-share-media-head p,
html[data-theme="light"] .fd-share-media-form small{color:#617780}
html[data-theme="light"] .fd-share-media-form textarea,
html[data-theme="light"] .fd-share-media-form input[type="url"],
html[data-theme="light"] .fd-share-media-form input[type="file"]{background:#fff;color:#14232a}
html[data-theme="light"] .fd-public-media-shell{background:linear-gradient(180deg,#f7fbfc,#eef5f7)}
html[data-theme="light"] .fd-public-story-card{background:#fff}
html[data-theme="light"] .fd-public-story-card p{color:#30454d}
html[data-theme="light"] .fd-public-media-photo{background:#eaf1f3}

@media(max-width:900px){
  .fd-public-media-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .fd-share-media-panel{margin-left:17px;margin-right:17px;padding:15px}
  .fd-share-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fd-public-media-inner{padding:42px 15px 58px}
  .fd-public-media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .fd-public-story-card{padding:17px 18px}
  .fd-public-story-card p{font-size:14px}
  .fd-public-media-lightbox{padding:12px}
}
@media(max-width:480px){
  .fd-share-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* =====================================================================
   XCInsight v2.7.1 — public replay containment + Flight Media polish
   ===================================================================== */

/*
 * Desktop replay has eight controls. Older grid definitions exposed only
 * six explicit columns, so speed/follow were auto-placed into an implicit
 * second row and could bleed into the section below. Keep everything in a
 * single, contained row and give the timeline the flexible space.
 */
@media (min-width:1181px){
  .fd-replay-bar{
    box-sizing:border-box!important;
    grid-template-columns:
      38px
      48px
      minmax(150px,240px)
      46px
      minmax(180px,1fr)
      48px
      62px
      max-content!important;
    grid-template-rows:68px!important;
    gap:10px!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .fd-replay-bar>*{min-width:0}
  .fd-replay-restart{justify-self:center}
  .fd-replay-mode-badge{
    width:100%;
    max-width:240px;
    justify-self:stretch;
  }
  #replay-slider{min-width:120px!important}
  #replay-speed{
    width:62px!important;
    min-width:62px!important;
    padding-inline:7px!important;
  }
  .fd-follow{
    box-sizing:border-box;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    height:34px;
    max-width:126px;
    padding:0 10px;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(142,199,211,.12);
    border-radius:999px;
    background:rgba(126,231,248,.025);
    color:#8da3ab;
    font-size:9px;
    font-weight:800;
    letter-spacing:.015em;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .fd-follow input{
    flex:0 0 auto;
    width:13px;
    height:13px;
    margin:0;
  }
}

/* Mid-size desktop/tablet: retain replay controls but hide follow before it
 * has any chance to wrap. Follow is still available on wide desktop and the
 * cinematic replay keeps its automatic follow behaviour. */
@media (min-width:901px) and (max-width:1180px){
  .fd-replay-bar{
    box-sizing:border-box!important;
    grid-template-columns:38px 46px minmax(115px,180px) 42px minmax(120px,1fr) 44px 58px!important;
    grid-template-rows:68px!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  .fd-replay-bar>*{min-width:0}
  .fd-follow{display:none!important}
  .fd-replay-mode-badge{width:100%;max-width:180px}
  #replay-speed{width:58px!important;min-width:58px!important}
}

/* Flight Media should read as a polished continuation of the flight detail,
 * not as a second landing-page hero. */
.fd-public-media-shell{
  position:relative;
  isolation:isolate;
  border-top:1px solid rgba(142,199,211,.13);
  background:
    radial-gradient(circle at 82% -18%,rgba(200,255,72,.055),transparent 34%),
    radial-gradient(circle at 10% 0,rgba(126,231,248,.035),transparent 30%),
    linear-gradient(180deg,#061014 0%,#050c10 100%);
}
.fd-public-media-shell::before{
  content:"";
  position:absolute;
  z-index:1;
  top:-1px;
  left:50%;
  width:min(1180px,calc(100% - 56px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(126,231,248,.18),rgba(200,255,72,.20),transparent);
  pointer-events:none;
}
.fd-public-media-inner{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
  padding:34px 28px 52px;
}
.fd-public-media-heading{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:start!important;
  justify-content:start!important;
  gap:4px!important;
  margin:0 0 18px!important;
  padding:0 0 15px;
  border-bottom:1px solid rgba(142,199,211,.10);
}
.fd-public-media-heading .fd-eyebrow{
  color:#7edff3;
  font-size:8px;
  letter-spacing:.17em;
}
.fd-public-media-heading h2{
  margin:0!important;
  max-width:760px;
  color:#eef7f9;
  font-size:clamp(22px,2.15vw,30px)!important;
  line-height:1.08;
  letter-spacing:-.025em!important;
}
.fd-public-story-card{
  position:relative;
  box-sizing:border-box;
  width:100%;
  max-width:none!important;
  padding:18px 20px 19px!important;
  overflow:hidden;
  border:1px solid rgba(142,199,211,.12)!important;
  border-left:2px solid #c8ff48!important;
  border-radius:12px!important;
  background:
    linear-gradient(100deg,rgba(200,255,72,.025),transparent 34%),
    rgba(8,21,26,.62)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.012);
}
.fd-public-story-card::after{
  content:"";
  position:absolute;
  top:-58px;
  right:-38px;
  width:170px;
  height:120px;
  border-radius:50%;
  background:rgba(126,231,248,.025);
  filter:blur(10px);
  pointer-events:none;
}
.fd-public-story-card>span{
  position:relative;
  z-index:1;
  margin-bottom:7px!important;
  color:#c8ff48!important;
  font-size:8px!important;
  letter-spacing:.14em!important;
}
.fd-public-story-card p{
  position:relative;
  z-index:1;
  max-width:960px;
  margin:0!important;
  color:#c4d2d7!important;
  font-size:14.5px!important;
  line-height:1.62!important;
}
.fd-public-gallery-block,
.fd-public-video-block{
  margin-top:24px!important;
  padding-top:20px;
  border-top:1px solid rgba(142,199,211,.09);
}
.fd-public-media-subhead{
  margin-bottom:11px!important;
}
.fd-public-media-subhead h3{
  color:#e9f3f5;
  font-size:14px!important;
  font-weight:850;
  letter-spacing:-.005em!important;
}
.fd-public-media-subhead span{
  min-width:22px!important;
  height:22px!important;
  border:1px solid rgba(200,255,72,.10);
  background:rgba(200,255,72,.045)!important;
}
.fd-public-media-gallery{
  gap:9px!important;
}
.fd-public-media-photo{
  border-radius:11px!important;
  border-color:rgba(142,199,211,.11)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.09);
}
.fd-public-video-frame{
  width:min(100%,900px)!important;
  border-radius:13px!important;
  border-color:rgba(142,199,211,.11)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.18)!important;
}

html[data-theme="light"] .fd-public-media-shell{
  background:
    radial-gradient(circle at 82% -18%,rgba(157,216,35,.07),transparent 34%),
    linear-gradient(180deg,#f7fbfc,#f1f6f8)!important;
}
html[data-theme="light"] .fd-public-media-heading h2{color:#14252c}
html[data-theme="light"] .fd-public-media-heading{border-bottom-color:rgba(31,73,88,.10)}
html[data-theme="light"] .fd-public-story-card{
  background:linear-gradient(100deg,rgba(157,216,35,.035),transparent 36%),#fff!important;
  border-color:rgba(31,73,88,.10)!important;
}
html[data-theme="light"] .fd-public-story-card p{color:#344b54!important}

@media(max-width:720px){
  .fd-public-media-shell::before{width:calc(100% - 30px)}
  .fd-public-media-inner{padding:28px 15px 42px!important}
  .fd-public-media-heading{margin-bottom:14px!important;padding-bottom:12px}
  .fd-public-media-heading h2{font-size:23px!important}
  .fd-public-story-card{padding:15px 16px 16px!important}
  .fd-public-story-card p{font-size:13.5px!important;line-height:1.58!important}
  .fd-public-gallery-block,.fd-public-video-block{margin-top:20px!important;padding-top:17px}
}

/* =====================================================================
   XCInsight v2.7.2 — public flight viewport composition
   ===================================================================== */

/*
 * On desktop the public flight viewer is one deliberate first-screen unit:
 * header + map + synchronized profile + replay = exactly one viewport.
 * Flight Media therefore starts on the next scroll instead of leaking into
 * the viewer or appearing at an arbitrary vertical position.
 */
@media (min-width:901px){
  .fd-public-flight-page .fd-public-flight-layout{
    box-sizing:border-box!important;
    height:calc(100vh - 74px)!important;
    height:calc(100dvh - 74px)!important;
    min-height:0!important;
    grid-template-rows:minmax(300px,1fr) 152px 60px!important;
    overflow:hidden!important;
  }

  .fd-public-flight-page .fd-sidebar{
    grid-row:1 / 4!important;
    min-height:0!important;
    overscroll-behavior:contain;
  }

  .fd-public-flight-page .fd-map-stage{
    grid-row:1!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .fd-public-flight-page .fd-flight-chart{
    grid-row:2!important;
    box-sizing:border-box!important;
    height:auto!important;
    min-height:0!important;
    padding:8px 14px 6px!important;
  }

  .fd-public-flight-page .fd-chart-head{
    height:24px!important;
  }

  .fd-public-flight-page #flight-profile-canvas{
    height:94px!important;
  }

  .fd-public-flight-page .fd-chart-legend{
    height:16px!important;
  }

  .fd-public-flight-page .fd-replay-bar{
    grid-row:3!important;
    box-sizing:border-box!important;
    height:60px!important;
    grid-template-rows:60px!important;
    border-bottom:1px solid rgba(142,199,211,.08);
  }

  .fd-public-media-shell{
    scroll-margin-top:74px;
  }
}

/* Compact-height laptops still preserve a useful 3D map rather than letting
 * the profile controls consume too much of the first screen. */
@media (min-width:901px) and (max-height:720px){
  .fd-public-flight-page .fd-public-flight-layout{
    grid-template-rows:minmax(270px,1fr) 132px 56px!important;
  }

  .fd-public-flight-page .fd-flight-chart{
    padding-top:6px!important;
    padding-bottom:4px!important;
  }

  .fd-public-flight-page .fd-chart-head{
    height:22px!important;
  }

  .fd-public-flight-page #flight-profile-canvas{
    height:78px!important;
  }

  .fd-public-flight-page .fd-chart-legend{
    height:15px!important;
  }

  .fd-public-flight-page .fd-replay-bar{
    height:56px!important;
    grid-template-rows:56px!important;
  }
}

/* Mobile/tablet keeps natural document flow. Locking the viewer to a viewport
 * on touch devices would make the sidebar and map unnecessarily cramped. */
@media (max-width:900px){
  .fd-public-flight-page .fd-public-flight-layout{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .fd-public-flight-page .fd-public-media-shell{
    scroll-margin-top:62px;
  }
}

/* =====================================================================
   XCInsight v2.7.3 — public track legend + GPS quality indicator
   ===================================================================== */
.fd-public-flight-page .fd-track-color-legend{
  position:absolute;
  top:91px;
  left:14px;
  z-index:7;
  width:min(430px,calc(100% - 28px));
  padding:10px 11px 9px;
  border:1px solid rgba(146,207,219,.14);
  border-radius:12px;
  background:rgba(5,14,18,.76);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 32px rgba(0,0,0,.20);
  pointer-events:none;
}
.fd-public-flight-page .fd-track-color-legend:empty{display:none}
.fd-track-color-legend-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.fd-track-color-legend-head span{
  color:#7f969f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.fd-track-color-legend-head b{
  color:#e8f3f5;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.fd-track-color-legend-items{
  display:flex;
  flex-wrap:wrap;
  gap:5px 10px;
}
.fd-track-color-legend-item{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#c0d0d5;
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}
.fd-track-color-legend-item>i{
  width:16px;
  height:3px;
  flex:0 0 auto;
  border-radius:99px;
  background:var(--legend-color,#fff);
  box-shadow:0 0 9px color-mix(in srgb,var(--legend-color,#fff) 45%,transparent);
}
.fd-track-legend-quality{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:8px;
  padding-top:7px;
  border-top:1px solid rgba(146,207,219,.09);
  color:#8fa4ab;
  font-size:8px;
  font-weight:800;
  letter-spacing:.04em;
}
.fd-track-legend-quality>i{
  width:18px;
  height:0;
  border-top:2px dashed #83959b;
  opacity:.8;
}
html[data-theme="light"] .fd-public-flight-page .fd-track-color-legend{
  background:rgba(250,253,254,.90);
  border-color:rgba(31,73,88,.14);
  box-shadow:0 12px 32px rgba(20,48,60,.12);
}
html[data-theme="light"] .fd-track-color-legend-head b{color:#17313b}
html[data-theme="light"] .fd-track-color-legend-item{color:#415c66}
html[data-theme="light"] .fd-track-legend-quality{color:#617983;border-top-color:rgba(31,73,88,.10)}

@media(max-width:1100px){
  .fd-public-flight-page .fd-track-color-legend{top:89px;width:min(360px,calc(100% - 28px))}
}
@media(max-width:700px){
  .fd-public-flight-page .fd-track-color-legend{
    top:55px;
    left:10px;
    right:10px;
    width:auto;
    padding:8px 9px 7px;
    border-radius:10px;
  }
  .fd-track-color-legend-head{margin-bottom:5px}
  .fd-track-color-legend-items{gap:4px 8px;overflow:hidden}
  .fd-track-color-legend-item{font-size:8px}
  .fd-track-color-legend-item>i{width:13px}
  .fd-track-legend-quality{margin-top:6px;padding-top:5px}
}


/* =====================================================================
   XCInsight v2.7.4 — public track legend lives in the flight sidebar
   ===================================================================== */
.fd-public-flight-page .fd-sidebar > .fd-track-color-legend{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  z-index:auto!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
  margin:18px 0 0!important;
  padding:12px 13px 11px!important;
  border:1px solid rgba(146,207,219,.13);
  border-radius:14px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(127,231,255,.045),transparent 36%),
    rgba(6,18,23,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  pointer-events:none;
}
.fd-public-flight-page .fd-sidebar > .fd-track-color-legend:empty{display:none!important}
.fd-public-flight-page .fd-sidebar .fd-track-color-legend-head{
  margin-bottom:9px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(146,207,219,.08);
}
.fd-public-flight-page .fd-sidebar .fd-track-color-legend-head span{
  font-size:8px;
  color:#738c95;
}
.fd-public-flight-page .fd-sidebar .fd-track-color-legend-head b{
  font-size:9px;
  color:#dfecef;
}
.fd-public-flight-page .fd-sidebar .fd-track-color-legend-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 10px;
}
.fd-public-flight-page .fd-sidebar .fd-track-color-legend-item{
  min-width:0;
  font-size:8.5px;
  line-height:1.25;
  color:#aebfc4;
  white-space:nowrap;
}
.fd-public-flight-page .fd-sidebar .fd-track-color-legend-item>i{
  width:15px;
  height:3px;
}
.fd-public-flight-page .fd-sidebar .fd-track-legend-quality{
  margin-top:9px;
  padding-top:8px;
  font-size:8px;
}
.fd-public-flight-page .fd-sidebar .fd-pilot-context-mini{
  margin-top:16px!important;
}
html[data-theme="light"] .fd-public-flight-page .fd-sidebar > .fd-track-color-legend{
  background:rgba(247,251,252,.80)!important;
  border-color:rgba(31,73,88,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
html[data-theme="light"] .fd-public-flight-page .fd-sidebar .fd-track-color-legend-head{
  border-bottom-color:rgba(31,73,88,.08);
}

@media(max-width:900px){
  .fd-public-flight-page .fd-sidebar > .fd-track-color-legend{
    margin-top:16px!important;
  }
}
@media(max-width:520px){
  .fd-public-flight-page .fd-sidebar .fd-track-color-legend-items{
    grid-template-columns:1fr 1fr;
    gap:7px 8px;
  }
  .fd-public-flight-page .fd-sidebar .fd-track-color-legend-item{
    font-size:8px;
  }
}

/* =====================================================================
   XCInsight v2.8.0 — monetization + Developer Platform
   ===================================================================== */
.fd-plan-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.fd-preview-card,.fd-api-usage-card,.fd-api-plan-card,.fd-founding-card,.fd-pro-gate-card{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fd-preview-card.has-credit{border-color:rgba(190,255,57,.28);background:linear-gradient(135deg,rgba(184,255,47,.065),rgba(7,18,24,.92) 55%)}
.fd-preview-count,.fd-api-usage-number{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.fd-preview-count strong,.fd-api-usage-number strong{font-size:44px;line-height:1;color:#c8ff48}.fd-preview-count span,.fd-api-usage-number span{font-size:18px;color:#80969e}
.fd-plan-grid-v28{align-items:stretch}.fd-plan-grid-v28 .fd-plan-card{display:flex;flex-direction:column;gap:12px}.fd-plan-grid-v28 .fd-plan-card h2 small{font-size:13px;color:#7f949b;font-weight:700}.fd-plan-feature-list{list-style:none;padding:0;margin:8px 0 4px;display:grid;gap:8px}.fd-plan-feature-list li{font-size:13px;color:#b8c9ce}
.fd-founding-card{margin:18px 0;border-color:rgba(200,255,72,.3);background:radial-gradient(circle at 88% 30%,rgba(200,255,72,.13),transparent 34%),linear-gradient(135deg,rgba(9,28,30,.98),rgba(5,15,20,.98))}.fd-founding-card h2{font-size:32px;margin:5px 0}.fd-founding-card>div>span{display:inline-flex;margin-top:8px;font-size:11px;font-weight:900;letter-spacing:.08em;color:#c8ff48}.fd-founding-form{min-width:310px;display:grid;gap:9px}
.fd-api-plan-card{margin-top:18px}.fd-pro-preview-flight-card{border:1px solid rgba(200,255,72,.28)!important;background:linear-gradient(135deg,rgba(200,255,72,.07),rgba(6,20,25,.75));padding:15px!important;display:grid;gap:12px}.fd-pro-preview-flight-card h2{margin:3px 0;font-size:17px}.fd-pro-preview-flight-card p{margin:0;color:#a9bdc2;font-size:12px}.fd-pro-preview-active{margin:14px 0;padding:9px 11px;border:1px solid rgba(200,255,72,.23);border-radius:12px;display:flex;justify-content:space-between;gap:10px;background:rgba(200,255,72,.045)}.fd-pro-preview-active span{font-size:10px;letter-spacing:.12em;color:#c8ff48;font-weight:900}.fd-pro-preview-active b{font-size:10px;color:#9fb3b9}
.fd-inline-pro-lock{display:grid;gap:7px;margin-top:10px;padding:13px;border:1px solid rgba(200,255,72,.16);border-radius:13px;background:rgba(4,15,19,.52)}.fd-inline-pro-lock>b{color:#c8ff48;font-size:10px;letter-spacing:.13em}.fd-inline-pro-lock span{font-size:11px;color:#94aab1;line-height:1.45}.fd-inline-pro-lock a{font-size:11px;font-weight:900;color:#c8ff48;text-decoration:none}.fd-thermal-map-card-grid .is-pro-locked{opacity:.72}.fd-thermal-map-card-grid .is-pro-locked strong{color:#c8ff48!important;font-size:10px!important;letter-spacing:.1em}
.fd-developer-shell{max-width:1180px}.fd-api-token-reveal{padding:22px;margin-bottom:18px;border-color:rgba(200,255,72,.32)}.fd-api-token-reveal h2{font-size:18px}.fd-api-token-reveal code{display:block;margin-top:12px;padding:14px;border-radius:12px;background:#02090c;color:#c8ff48;overflow:auto;user-select:all}.fd-api-usage-card{margin-bottom:18px}.fd-api-create-card,.fd-api-token-list{padding:24px;margin-top:18px}.fd-api-key-form{display:grid;grid-template-columns:1fr 220px;gap:16px}.fd-api-key-form>label{display:grid;gap:7px}.fd-api-key-form input,.fd-api-key-form select{width:100%}.fd-api-key-form fieldset{grid-column:1/-1;border:1px solid rgba(130,190,200,.15);border-radius:14px;padding:14px}.fd-api-key-form legend{padding:0 7px;color:#80969e;font-size:10px;font-weight:900;letter-spacing:.1em}.fd-api-scopes{display:flex;flex-wrap:wrap;gap:9px}.fd-api-scopes label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(130,190,200,.13);border-radius:10px;font-size:11px}.fd-api-token-row{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:18px;align-items:center;padding:15px 0;border-top:1px solid rgba(130,190,200,.09)}.fd-api-token-row>div{display:grid;gap:4px}.fd-api-token-row code{font-size:11px;color:#7fe7ff}.fd-api-token-row small{color:#728a92}.fd-api-token-row.is-revoked{opacity:.48}
.fd-docs-shell{max-width:1180px}.fd-docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.fd-docs-grid>.fd-card,.fd-api-endpoints,.fd-docs-shell>.fd-card{padding:24px}.fd-docs-grid code,.fd-docs-shell pre{background:#02090c;border:1px solid rgba(130,190,200,.12);border-radius:10px;padding:11px;color:#7fe7ff;overflow:auto}.fd-api-endpoint{display:grid;grid-template-columns:70px 1fr 150px;align-items:center;gap:14px;padding:11px 0;border-top:1px solid rgba(130,190,200,.08)}.fd-api-endpoint>b{color:#c8ff48;font-size:11px}.fd-api-endpoint code{color:#d7e4e8}.fd-api-endpoint span{color:#718990;font-size:11px;text-align:right}
html[data-theme="light"] .fd-preview-card.has-credit,html[data-theme="light"] .fd-founding-card{background:linear-gradient(135deg,rgba(204,255,74,.13),rgba(255,255,255,.95))}html[data-theme="light"] .fd-inline-pro-lock,html[data-theme="light"] .fd-api-token-reveal code,html[data-theme="light"] .fd-docs-grid code,html[data-theme="light"] .fd-docs-shell pre{background:#f1f7f8;color:#174d5b}
@media(max-width:900px){.fd-plan-overview-grid,.fd-docs-grid{grid-template-columns:1fr}.fd-founding-card,.fd-api-plan-card,.fd-preview-card,.fd-api-usage-card{align-items:flex-start;flex-direction:column}.fd-founding-form{min-width:0;width:100%}.fd-api-key-form{grid-template-columns:1fr}.fd-api-token-row{grid-template-columns:1fr}.fd-api-endpoint{grid-template-columns:55px 1fr}.fd-api-endpoint span{grid-column:2;text-align:left}}

/* XCInsight v2.8.0 · Pilot Progress */
.fd-progress-shell{display:grid;gap:22px;padding-bottom:48px}.fd-pro-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(183,255,42,.45);background:rgba(183,255,42,.08);color:#b7ff2a;border-radius:999px;font-weight:900;letter-spacing:.14em;padding:9px 14px}.fd-progress-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.fd-progress-kpis article{padding:18px;border:1px solid rgba(136,211,225,.15);border-radius:18px;background:rgba(7,23,28,.76)}.fd-progress-kpis span{display:block;color:#83a1aa;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem}.fd-progress-kpis strong{display:block;margin-top:7px;font-size:1.48rem;color:#f4fafb}.fd-progress-deltas{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fd-progress-deltas>div{padding:18px;border-radius:16px;background:rgba(111,213,231,.055);border:1px solid rgba(111,213,231,.12)}.fd-progress-deltas span,.fd-progress-deltas small{display:block}.fd-progress-deltas span{color:#8da9b1;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.fd-progress-deltas strong{display:block;margin:8px 0 4px;font-size:1.7rem}.fd-progress-deltas small{color:#8da9b1}.fd-progress-deltas small.is-up{color:#b7ff2a}.fd-progress-deltas small.is-down{color:#ff8a65}.fd-progress-best-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fd-progress-best-flight{display:grid;gap:4px;text-decoration:none;color:inherit}.fd-progress-best-flight strong{font-size:2rem;color:#6fe5ff}.fd-progress-best-flight span{font-weight:800;color:#edf7f8}.fd-progress-best-flight small{color:#7f9aa2}.fd-progress-table{display:grid;overflow:auto}.fd-progress-table>div{display:grid;grid-template-columns:1.3fr repeat(5,minmax(90px,1fr));align-items:center;min-width:720px;border-top:1px solid rgba(136,211,225,.1);padding:12px 6px;gap:10px}.fd-progress-table .head{border-top:0;color:#78949d;text-transform:uppercase;letter-spacing:.07em;font-size:.7rem}.fd-progress-table>div:not(.head):hover{background:rgba(111,213,231,.035)}
html[data-theme="light"] .fd-progress-kpis article,html[data-theme="light"] .fd-progress-deltas>div{background:#fff;border-color:rgba(18,63,72,.12)}html[data-theme="light"] .fd-progress-kpis strong{color:#10262d}
@media(max-width:1100px){.fd-progress-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.fd-progress-kpis{grid-template-columns:repeat(2,1fr)}.fd-progress-deltas,.fd-progress-best-grid{grid-template-columns:1fr}}

/* v2.8.0 Developer Platform webhooks */
.fd-api-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fd-api-row-actions form{margin:0}.fd-api-create-card .fd-muted{margin:0 0 16px}.fd-api-token-row small{overflow-wrap:anywhere}.fd-api-token-reveal code{display:block;overflow:auto;white-space:nowrap}

/* =====================================================================
   XCInsight v2.8.1 — Resources navigation + Support
   ===================================================================== */
.fd-footer-resources-layout{align-items:flex-start!important}.fd-footer-link-groups{display:flex;align-items:flex-start;justify-content:flex-end;gap:42px;min-width:0}.fd-footer-link-group{display:grid!important;justify-content:initial!important;gap:7px!important;min-width:130px}.fd-footer-link-group>strong{margin-bottom:3px;color:#9db3ba;font-size:9px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.fd-footer-link-group>a{font-size:10px!important;color:#6f8992!important;text-decoration:none;font-weight:750}.fd-footer-link-group>a:hover{color:#dff5fa!important}
.fd-support-page{min-height:100vh}.fd-support-nav{position:sticky;top:0;z-index:40;background:rgba(5,15,20,.88);backdrop-filter:blur(18px)}.fd-support-shell{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:76px 0 88px}.fd-support-hero{max-width:800px;padding-bottom:38px}.fd-support-hero h1{margin:10px 0 18px;font-size:clamp(46px,7vw,78px);line-height:.98;letter-spacing:-.05em;color:#eff9fc}.fd-support-hero p{max-width:760px;margin:0;color:#8fa6ad;font-size:17px;line-height:1.68}.fd-support-contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;padding:28px 30px;border:1px solid rgba(200,255,72,.22);border-radius:22px;background:radial-gradient(circle at 90% 18%,rgba(200,255,72,.11),transparent 32%),linear-gradient(145deg,rgba(8,25,29,.96),rgba(5,16,21,.96));box-shadow:0 26px 72px rgba(0,0,0,.16)}.fd-support-contact-card h2{margin:7px 0 8px;font-size:28px}.fd-support-contact-card p{max-width:610px;margin:0;color:#8099a1;line-height:1.6}.fd-support-email-block{display:grid;justify-items:end;gap:13px}.fd-support-email{color:#c8ff48;text-decoration:none;font-size:clamp(18px,2.4vw,28px);font-weight:900;letter-spacing:-.025em}.fd-support-email:hover{text-decoration:underline}.fd-support-section{margin-top:42px}.fd-support-section>.fd-section-title{margin-bottom:16px}.fd-support-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fd-support-topic{min-height:205px;padding:22px;border:1px solid rgba(132,184,196,.12);border-radius:18px;background:rgba(7,20,25,.72)}.fd-support-topic>span{display:block;margin-bottom:30px;color:#5e7a83;font-size:10px;font-weight:950;letter-spacing:.14em}.fd-support-topic h3{margin:0 0 9px;font-size:17px;color:#e6f3f6}.fd-support-topic p{margin:0;color:#7e979f;font-size:12px;line-height:1.65}.fd-support-info-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;margin-top:16px}.fd-support-checklist,.fd-support-safety{padding:28px;border:1px solid rgba(132,184,196,.12);border-radius:20px;background:rgba(7,20,25,.68)}.fd-support-checklist h2,.fd-support-safety h2{margin:7px 0 11px;font-size:23px}.fd-support-checklist>p,.fd-support-safety>p{color:#8098a0;line-height:1.65}.fd-support-checklist ul{display:grid;gap:10px;margin:20px 0;padding:0;list-style:none}.fd-support-checklist li{position:relative;padding-left:24px;color:#a8bcc2;font-size:12px;line-height:1.55}.fd-support-checklist li::before{content:"✓";position:absolute;left:0;top:0;color:#c8ff48;font-weight:950}.fd-support-security-note{margin-top:20px;padding:13px 14px;border:1px solid rgba(255,186,92,.18);border-radius:12px;background:rgba(255,169,63,.045);color:#c7a57a;font-size:11px;line-height:1.55}.fd-support-safety{border-color:rgba(255,129,97,.15);background:linear-gradient(145deg,rgba(255,91,69,.035),rgba(7,20,25,.72))}.fd-support-resource-links{display:grid;gap:7px;margin-top:28px}.fd-support-resource-links a{padding:10px 0;border-top:1px solid rgba(132,184,196,.09);color:#a8bdc3;text-decoration:none;font-size:11px;font-weight:850}.fd-support-resource-links a:hover{color:#c8ff48}
html[data-theme="light"] .fd-support-nav{background:rgba(255,255,255,.9)}html[data-theme="light"] .fd-support-hero h1{color:#10262d}html[data-theme="light"] .fd-support-hero p{color:#607985}html[data-theme="light"] .fd-support-contact-card{background:radial-gradient(circle at 90% 18%,rgba(183,238,49,.16),transparent 34%),#fff;border-color:rgba(157,216,35,.27);box-shadow:0 22px 64px rgba(31,70,89,.08)}html[data-theme="light"] .fd-support-contact-card h2,html[data-theme="light"] .fd-support-topic h3,html[data-theme="light"] .fd-support-checklist h2,html[data-theme="light"] .fd-support-safety h2{color:#172d36}html[data-theme="light"] .fd-support-contact-card p,html[data-theme="light"] .fd-support-topic p,html[data-theme="light"] .fd-support-checklist>p,html[data-theme="light"] .fd-support-safety>p{color:#607985}html[data-theme="light"] .fd-support-email{color:#638f00}html[data-theme="light"] .fd-support-topic,html[data-theme="light"] .fd-support-checklist,html[data-theme="light"] .fd-support-safety{background:#fff;border-color:#dce7eb}html[data-theme="light"] .fd-support-checklist li{color:#516d78}html[data-theme="light"] .fd-footer-link-group>strong{color:#536e79}html[data-theme="light"] .fd-footer-link-group>a{color:#6a818b!important}html[data-theme="light"] .fd-footer-link-group>a:hover{color:#172d36!important}
@media(max-width:900px){.fd-footer-link-groups{justify-content:flex-start;gap:28px;flex-wrap:wrap}.fd-support-shell{width:min(100% - 32px,1120px);padding-top:48px}.fd-support-contact-card{grid-template-columns:1fr}.fd-support-email-block{justify-items:start}.fd-support-topic-grid{grid-template-columns:1fr 1fr}.fd-support-info-grid{grid-template-columns:1fr}}
@media(max-width:600px){.fd-support-shell{width:min(100% - 28px,1120px);padding-top:36px}.fd-support-hero h1{font-size:43px}.fd-support-contact-card,.fd-support-checklist,.fd-support-safety{padding:22px}.fd-support-topic-grid{grid-template-columns:1fr}.fd-support-topic{min-height:0}.fd-support-topic>span{margin-bottom:18px}.fd-footer-link-groups{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:24px}.fd-footer-link-group{min-width:0}}
.fd-resource-page-nav{display:flex;align-items:center;gap:16px}.fd-resource-page-nav a{color:#8199a1;text-decoration:none;font-size:11px;font-weight:850}.fd-resource-page-nav a:hover{color:#eefcff}html[data-theme="light"] .fd-resource-page-nav a{color:#617985}html[data-theme="light"] .fd-resource-page-nav a:hover{color:#172d36}@media(max-width:680px){.fd-resource-page-nav a:first-child{display:none}.fd-resource-page-nav{gap:10px}}

/* =====================================================================
   XCInsight v2.8.2 — mobile map controls, iOS fullscreen, weather form,
   and mobile navigation alignment
   ===================================================================== */
.fd-track-color-legend-mobile{display:none}
.fd-map-mobile-actions{display:none}
.fd-mobile-map-settings{display:none}
.fd-weather-form input,.fd-weather-form select{box-sizing:border-box;max-width:100%;min-width:0}
.fd-weather-date{min-width:0;max-width:100%;overflow:hidden}
.fd-weather-date input[type="date"]{display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0;box-sizing:border-box}

html.fd-map-pseudo-fullscreen-active,
body.fd-map-pseudo-fullscreen-active{overflow:hidden!important;overscroll-behavior:none!important}
.fd-map-stage.fd-map-pseudo-fullscreen{
  position:fixed!important;inset:0!important;z-index:5000!important;
  width:100vw!important;height:100dvh!important;min-height:0!important;max-height:none!important;
  margin:0!important;border:0!important;border-radius:0!important;background:#04090c!important
}
.fd-map-stage.fd-map-pseudo-fullscreen #flight-map{width:100%!important;height:100%!important}
.fd-map-stage.fd-map-pseudo-fullscreen [data-map-fullscreen].is-active{color:#c8ff48!important;border-color:rgba(200,255,72,.28)!important}

@media (max-width:900px), (hover:none) and (pointer:coarse){
  /* A compact dynamic legend sits above the live HUD on the map. */
  .fd-track-color-legend-mobile{
    display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;
    position:absolute!important;top:8px!important;left:8px!important;right:8px!important;z-index:14!important;
    width:auto!important;max-width:none!important;margin:0!important;padding:6px 8px!important;
    border:1px solid rgba(146,207,219,.14)!important;border-radius:11px!important;
    background:rgba(5,14,18,.78)!important;box-shadow:0 10px 26px rgba(0,0,0,.20)!important;
    -webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;
    pointer-events:none!important
  }
  .fd-track-color-legend-mobile:empty{display:none!important}
  .fd-track-color-legend-mobile .fd-track-color-legend-head{display:block!important;margin:0!important;padding:0!important;border:0!important}
  .fd-track-color-legend-mobile .fd-track-color-legend-head span{display:none!important}
  .fd-track-color-legend-mobile .fd-track-color-legend-head b{display:block!important;font-size:8px!important;letter-spacing:.08em!important;white-space:nowrap!important;color:#e8f3f5!important}
  .fd-track-color-legend-mobile .fd-track-color-legend-items{
    display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:7px!important;
    min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important
  }
  .fd-track-color-legend-mobile .fd-track-color-legend-items::-webkit-scrollbar{display:none!important}
  .fd-track-color-legend-mobile .fd-track-color-legend-item{flex:0 0 auto!important;gap:4px!important;font-size:7.5px!important;line-height:1!important;white-space:nowrap!important;color:#bacbd0!important}
  .fd-track-color-legend-mobile .fd-track-color-legend-item>i{width:12px!important;height:3px!important}
  .fd-track-color-legend-mobile .fd-track-legend-quality{display:none!important}
  html[data-theme="light"] .fd-track-color-legend-mobile{background:rgba(250,253,254,.91)!important;border-color:rgba(31,73,88,.14)!important}
  html[data-theme="light"] .fd-track-color-legend-mobile .fd-track-color-legend-head b{color:#17313b!important}
  html[data-theme="light"] .fd-track-color-legend-mobile .fd-track-color-legend-item{color:#415c66!important}

  /* The public sidebar keeps the full legend on desktop; mobile gets the map legend instead. */
  .fd-public-flight-page .fd-sidebar > .fd-track-color-legend-sidebar{display:none!important}

  /* Make room for the legend: legend -> HUD -> two compact action icons. */
  .fd-map-hud{top:49px!important;bottom:auto!important}
  .fd-map-toolbar{
    top:99px!important;left:auto!important;right:8px!important;width:auto!important;
    padding:0!important;overflow:visible!important;display:block!important;pointer-events:none!important
  }
  .fd-map-toolbar>.fd-camera-presets,
  .fd-map-toolbar>.fd-track-mode-group,
  .fd-map-toolbar>.fd-map-layer-group{display:none!important}
  .fd-map-mobile-actions{display:flex!important;align-items:center;gap:7px;pointer-events:auto!important}
  .fd-map-mobile-icon-button{
    width:40px;height:40px;min-width:40px!important;min-height:40px!important;padding:0!important;
    display:grid!important;place-items:center!important;border:1px solid rgba(151,207,219,.18)!important;
    border-radius:12px!important;background:rgba(5,15,19,.82)!important;color:#d9e8ec!important;
    box-shadow:0 10px 24px rgba(0,0,0,.22)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)
  }
  .fd-map-mobile-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .fd-map-mobile-icon-button.is-active,.fd-map-mobile-icon-button[aria-pressed="true"]{color:#c8ff48!important;border-color:rgba(200,255,72,.30)!important;background:rgba(10,25,21,.9)!important}
  html[data-theme="light"] .fd-map-mobile-icon-button{background:rgba(255,255,255,.92)!important;color:#314b57!important;border-color:#d6e3e8!important}

  /* Map settings is an in-map bottom sheet; it owns the mobile track/layer controls. */
  .fd-mobile-map-settings{
    display:block;position:absolute;inset:0;z-index:60;pointer-events:none;opacity:0;transition:opacity .18s ease
  }
  .fd-mobile-map-settings[hidden]{display:none!important}
  .fd-mobile-map-settings.is-open{pointer-events:auto;opacity:1}
  .fd-mobile-map-settings-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(1,7,10,.52);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .fd-mobile-map-settings-panel{
    position:absolute;left:10px;right:10px;bottom:10px;padding:15px;
    border:1px solid rgba(149,207,220,.18);border-radius:18px;background:rgba(5,16,21,.97);
    box-shadow:0 22px 58px rgba(0,0,0,.42);transform:translateY(14px);transition:transform .18s ease
  }
  .fd-mobile-map-settings.is-open .fd-mobile-map-settings-panel{transform:translateY(0)}
  .fd-mobile-map-settings-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
  .fd-mobile-map-settings-panel>header span{display:block;color:#718b94;font-size:8px;font-weight:950;letter-spacing:.14em}
  .fd-mobile-map-settings-panel>header h2{margin:3px 0 0;color:#eff9fb;font-size:17px;line-height:1.1}
  .fd-mobile-map-settings-close{width:36px;height:36px;min-height:36px!important;padding:0;border:1px solid rgba(147,201,213,.14);border-radius:11px;background:#0a1a20;color:#a9bec4;font-size:23px;line-height:1}
  .fd-mobile-map-settings-field{display:grid;gap:7px;margin-bottom:10px}
  .fd-mobile-map-settings-field>span,.fd-mobile-map-settings-mapmode>span{color:#78919a;font-size:8px;font-weight:950;letter-spacing:.12em}
  .fd-mobile-map-settings-field select{width:100%;height:46px;box-sizing:border-box;border:1px solid #28404a;border-radius:12px;background:#07161b;color:#eef8fa;padding:0 12px;font-size:16px}
  .fd-mobile-map-settings-mapmode{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px 11px;border:1px solid rgba(143,195,207,.11);border-radius:12px;background:rgba(126,231,255,.025)}
  .fd-mobile-map-settings-mapmode button{min-width:88px;height:38px;border:1px solid rgba(143,195,207,.14);border-radius:10px;background:#0a1b21;color:#b7cbd0;font-weight:850}
  .fd-mobile-map-settings-mapmode button.is-active{background:rgba(200,255,72,.10);border-color:rgba(200,255,72,.25);color:#c8ff48}
  .fd-mobile-map-settings-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .fd-mobile-map-settings-toggles label{min-width:0;min-height:58px;padding:9px 7px;display:grid;place-items:center;align-content:center;gap:6px;border:1px solid rgba(143,195,207,.12);border-radius:12px;background:rgba(126,231,255,.025);color:#a9bec4;text-align:center;font-size:9px;font-weight:850;line-height:1.15}
  .fd-mobile-map-settings-toggles input{width:17px;height:17px;margin:0;accent-color:#c8ff48}
  html[data-theme="light"] .fd-mobile-map-settings-panel{background:rgba(250,253,254,.98);border-color:#d5e2e7;box-shadow:0 22px 58px rgba(25,55,71,.18)}
  html[data-theme="light"] .fd-mobile-map-settings-panel>header h2{color:#142b35}
  html[data-theme="light"] .fd-mobile-map-settings-field select,html[data-theme="light"] .fd-mobile-map-settings-mapmode button{background:#fff;color:#29434f;border-color:#d3e1e6}
  html[data-theme="light"] .fd-mobile-map-settings-mapmode,html[data-theme="light"] .fd-mobile-map-settings-toggles label{background:#f7fafb;border-color:#dce7eb;color:#58717c}

  /* iOS date inputs have an intrinsic width unless box sizing/min-width are explicit. */
  .fd-weather-form{min-width:0!important}
  .fd-weather-form>*{min-width:0!important;max-width:100%!important}
  .fd-weather-date,.fd-weather-date input[type="date"]{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}

  /* Consistent icon column in the mobile menu. */
  .fd-mobile-menu-nav a{
    display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;
    column-gap:10px!important;text-align:left!important;padding:0 13px!important;line-height:1.2!important
  }
  .fd-mobile-menu-nav a::before{
    display:grid!important;place-items:center!important;width:22px!important;height:22px!important;margin:0!important;
    color:#78929a!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
    font-size:13px!important;font-weight:800!important;line-height:1!important;opacity:.9!important
  }
  .fd-mobile-menu-nav a.is-active::before{color:#c8ff48!important}
  .fd-mobile-menu-nav .fd-nav-dashboard::before{content:"▦"!important}
  .fd-mobile-menu-nav .fd-nav-flights::before{content:"⌁"!important}
  .fd-mobile-menu-nav .fd-nav-weather::before{content:"◌"!important}
  .fd-mobile-menu-nav .fd-nav-compare::before{content:"⇄"!important}
  .fd-mobile-menu-nav .fd-nav-progress::before{content:"↗"!important}
  .fd-mobile-menu-nav .fd-nav-teams::before{content:"◇"!important}
  .fd-mobile-menu-nav .fd-nav-pilot::before{content:"⌖"!important}
  .fd-mobile-menu-nav .fd-nav-plan::before{content:"◒"!important}
  .fd-mobile-menu-nav .fd-nav-users::before{content:"◎"!important}
  .fd-mobile-menu-nav .fd-nav-system::before{content:"⚙︎"!important}
  .fd-mobile-resources-grid a{display:flex!important;align-items:center!important;min-height:42px!important;box-sizing:border-box!important;line-height:1.25!important}
}

@media(max-width:560px){
  .fd-track-color-legend-mobile{left:7px!important;right:7px!important;padding-left:7px!important;padding-right:7px!important;gap:6px!important}
  .fd-track-color-legend-mobile .fd-track-color-legend-item{font-size:7px!important}
  .fd-map-hud{top:47px!important}
  .fd-map-toolbar{top:96px!important;right:7px!important}
  .fd-map-mobile-icon-button{width:38px;height:38px;min-width:38px!important;min-height:38px!important}
  .fd-mobile-map-settings-panel{left:8px;right:8px;bottom:8px;padding:13px}
}
@media (max-width:900px), (hover:none) and (pointer:coarse){
  .fd-mobile-menu-nav{gap:4px!important}
  .fd-mobile-menu-nav a{min-height:44px!important}
  .fd-mobile-menu[open] .fd-mobile-menu-icon{position:relative!important;display:block!important;height:18px!important}
  .fd-mobile-menu[open] .fd-mobile-menu-icon i{position:absolute!important;left:0!important;top:8px!important;width:100%!important;transform-origin:center!important}
  .fd-mobile-menu[open] .fd-mobile-menu-icon i:nth-child(1){transform:rotate(45deg)!important}
  .fd-mobile-menu[open] .fd-mobile-menu-icon i:nth-child(2){opacity:0!important}
  .fd-mobile-menu[open] .fd-mobile-menu-icon i:nth-child(3){transform:rotate(-45deg)!important}
}
.fd-map-stage:fullscreen,
.fd-map-stage:-webkit-full-screen{
  width:100vw!important;height:100vh!important;height:100dvh!important;
  min-height:0!important;max-height:none!important;border:0!important;background:#04090c!important
}
.fd-map-stage:fullscreen #flight-map,
.fd-map-stage:-webkit-full-screen #flight-map{width:100%!important;height:100%!important}


/* =====================================================================
   XCInsight v2.8.3 — touch landscape / iOS fullscreen polish
   ===================================================================== */
@media (hover:none) and (pointer:coarse) {
  /* Phones such as iPhone Pro Max can exceed 900 CSS px in landscape.
     Keep the compact map UI selected by input capability, not width alone. */
  .fd-track-color-legend-mobile{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important
  }
  .fd-map-hud{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important
  }
  .fd-map-toolbar{
    right:max(8px,env(safe-area-inset-right))!important
  }
  .fd-mobile-map-settings-panel{
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important
  }
}

@media (orientation:landscape) and (hover:none) and (pointer:coarse) {
  /* Compact vertical rhythm for a short landscape viewport. */
  .fd-track-color-legend-mobile{top:6px!important;padding-top:5px!important;padding-bottom:5px!important}
  .fd-map-hud{top:43px!important}
  .fd-map-toolbar{top:88px!important}
  .fd-map-mobile-icon-button{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important
  }
  .fd-mobile-map-settings-panel{
    width:min(500px,calc(100% - max(20px,env(safe-area-inset-left)) - max(20px,env(safe-area-inset-right))))!important;
    left:auto!important;
    max-height:calc(100dvh - 20px)!important;
    overflow:auto!important
  }
}

/* Full-bleed iOS fallback, while interactive UI respects the safe areas. */
.fd-map-stage.fd-map-pseudo-fullscreen{
  padding-left:0!important;padding-right:0!important;
  box-sizing:border-box!important
}

/* XCInsight v2.8.4 — email verification admin status */
.fd-admin-verification-status{display:grid;gap:7px;align-content:start}
.fd-admin-verification-status>span{font-size:11px;font-weight:900;color:#839aa2;text-transform:uppercase;letter-spacing:.11em}
.fd-admin-verification-status .fd-status-pill{justify-self:start}
.fd-admin-verification-status small{color:#789198;line-height:1.45}
html[data-theme="light"] .fd-admin-verification-status>span{color:#657a82}
html[data-theme="light"] .fd-admin-verification-status small{color:#6e7d82}


/* =====================================================================
   XCInsight v2.8.5 — Progress / Teams card spacing symmetry
   ===================================================================== */
/* Progress cards use an explicit content inset. Generic .fd-card intentionally
   has no padding in some viewers, so analytics cards must own their spacing. */
.fd-progress-shell > .fd-card,
.fd-progress-best-grid > .fd-card{
  padding:26px 28px!important;
}
.fd-progress-shell .fd-section-title{
  margin:0 0 18px!important;
  gap:18px;
  min-width:0;
}
.fd-progress-shell .fd-section-title > div{
  min-width:0;
}
.fd-progress-shell .fd-section-title h2{
  line-height:1.28;
  overflow-wrap:anywhere;
}
.fd-progress-shell .fd-section-title p{
  margin:8px 0 0;
  line-height:1.55;
}
.fd-progress-best-flight{
  padding:2px 0 0;
  gap:6px!important;
}
.fd-progress-best-flight strong{
  line-height:1.05;
}
.fd-progress-best-flight span,
.fd-progress-best-flight small{
  line-height:1.35;
  overflow-wrap:anywhere;
}
.fd-progress-history .fd-progress-table{
  margin-top:4px;
}

/* Empty team state gets the same visual breathing room as the page heading
   and the normal team cards. */
.fd-team-grid > .fd-empty-state{
  box-sizing:border-box;
  padding:28px 30px!important;
  min-height:134px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.fd-team-grid > .fd-empty-state h2,
.fd-team-grid > .fd-empty-state p{
  margin:0!important;
  overflow-wrap:anywhere;
}
.fd-team-grid > .fd-empty-state h2{
  line-height:1.2;
}
.fd-team-grid > .fd-empty-state p{
  line-height:1.55;
  max-width:70ch;
}

@media(max-width:720px){
  .fd-progress-shell{
    gap:14px!important;
  }
  .fd-progress-shell > .fd-card,
  .fd-progress-best-grid > .fd-card{
    padding:18px!important;
  }
  .fd-progress-shell .fd-section-title{
    margin-bottom:14px!important;
    gap:10px;
    align-items:flex-start;
  }
  .fd-progress-shell .fd-section-title h2{
    font-size:12px!important;
    letter-spacing:.045em!important;
  }
  .fd-progress-shell .fd-section-title p{
    margin-top:6px;
    font-size:12px;
  }
  .fd-progress-best-flight strong{
    font-size:1.7rem!important;
  }
  .fd-progress-best-flight span{
    font-size:15px;
  }
  .fd-progress-table>div{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .fd-team-grid > .fd-empty-state{
    min-height:0;
    padding:20px!important;
    gap:8px;
  }
  .fd-team-grid > .fd-empty-state h2{
    font-size:23px!important;
  }
  .fd-team-grid > .fd-empty-state p{
    font-size:14px;
  }
}

/* XCInsight v2.9.0 — public flight community + social share card */
.sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.fd-share-card-button{white-space:nowrap}
.fd-share-card-button:disabled{opacity:.62;cursor:wait}

.fd-share-reactions-option{
  margin:14px 0 2px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border:1px solid rgba(130,166,177,.22);
  border-radius:16px;
  background:rgba(6,23,30,.56);
  cursor:pointer;
}
.fd-share-reactions-option input{margin-top:4px;accent-color:#baff35}
.fd-share-reactions-option span{display:flex;flex-direction:column;gap:4px}
.fd-share-reactions-option b{font-size:14px;color:#eef8fb}
.fd-share-reactions-option small{font-size:12px;line-height:1.45;color:#8fa8b1}

.fd-public-community-shell{
  border-top:1px solid rgba(111,149,160,.18);
  background:
    radial-gradient(circle at 82% 10%,rgba(186,255,53,.055),transparent 27rem),
    linear-gradient(180deg,#07151b 0%,#061116 100%);
}
.fd-public-community-inner{
  width:min(1440px,calc(100% - 64px));
  margin:0 auto;
  padding:64px 0 70px;
}
.fd-public-community-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:28px;
}
.fd-public-community-heading h2{
  margin:8px 0 8px;
  font-size:clamp(30px,3vw,46px);
  line-height:1;
  letter-spacing:-.035em;
}
.fd-public-community-heading p{
  margin:0;
  max-width:720px;
  color:#8fa8b1;
  line-height:1.55;
}
.fd-community-counts{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}
.fd-community-counts span{
  min-width:108px;
  padding:12px 16px;
  border:1px solid rgba(125,162,173,.22);
  border-radius:16px;
  background:rgba(10,30,38,.72);
  color:#819aa4;
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.fd-community-counts b{
  display:block;
  margin-bottom:2px;
  color:#f5fbfd;
  font-size:22px;
  letter-spacing:0;
}
.fd-community-status,.fd-community-errors{
  margin:0 0 18px;
  padding:12px 15px;
  border-radius:14px;
  border:1px solid rgba(186,255,53,.25);
  background:rgba(62,92,21,.18);
  color:#dfffa1;
  font-size:13px;
}
.fd-community-errors{border-color:rgba(255,73,107,.28);background:rgba(94,23,39,.22);color:#ffc3cf}
.fd-community-errors p{margin:0}
.fd-community-actions{
  display:grid;
  grid-template-columns:minmax(190px,240px) 1fr;
  gap:16px;
  align-items:stretch;
  margin-bottom:26px;
}
.fd-community-actions>form:first-child{height:100%}
.fd-community-like{
  width:100%;height:100%;min-height:118px;
  border:1px solid rgba(129,164,174,.23);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(13,36,44,.92),rgba(8,25,31,.92));
  color:#e9f4f7;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  padding:22px;
  cursor:pointer;
  transition:.16s ease;
}
.fd-community-like:hover{transform:translateY(-1px);border-color:rgba(186,255,53,.38)}
.fd-community-like>span{font-size:30px;line-height:1;color:#78909a}
.fd-community-like>b{text-align:left;font-size:16px}
.fd-community-like>em{
  min-width:34px;height:34px;border-radius:17px;
  display:grid;place-items:center;
  background:#102831;color:#b7cad1;
  font-style:normal;font-weight:800;
}
.fd-community-like.is-liked{border-color:rgba(186,255,53,.46);background:linear-gradient(145deg,rgba(45,71,19,.44),rgba(8,28,31,.95))}
.fd-community-like.is-liked>span{color:#baff35;text-shadow:0 0 22px rgba(186,255,53,.38)}
.fd-community-like.is-liked>em{background:#203717;color:#baff35}
.fd-community-comment-form{
  border:1px solid rgba(129,164,174,.23);
  border-radius:22px;
  background:rgba(10,28,35,.82);
  padding:15px;
}
.fd-community-comment-form textarea{
  width:100%;min-height:74px;resize:vertical;
  box-sizing:border-box;
  border:0;outline:0;
  background:transparent;
  color:#f3fafc;
  font:inherit;
  line-height:1.5;
}
.fd-community-comment-form textarea::placeholder{color:#6f8892}
.fd-community-comment-form>div{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:8px}
.fd-community-comment-form>div>span{font-size:11px;color:#6f8993;letter-spacing:.05em}
.fd-community-auth-cta{
  grid-column:1/-1;
  display:flex;align-items:center;justify-content:center;
  min-height:66px;
  padding:15px 22px;
  border:1px solid rgba(186,255,53,.27);
  border-radius:18px;
  background:rgba(42,69,18,.18);
  color:#dfff9d;
  font-weight:800;
  text-decoration:none;
}
.fd-community-comments{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fd-community-comment{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:13px;
  padding:17px 18px;
  border:1px solid rgba(125,160,170,.17);
  border-radius:18px;
  background:rgba(10,27,34,.58);
}
.fd-community-avatar{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#12313a,#0b2027);
  border:1px solid rgba(102,230,255,.25);
  color:#66e6ff;
  font-size:18px;
}
.fd-community-comment-body{min-width:0}
.fd-community-comment-body header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:7px}
.fd-community-comment-body header>div{display:flex;align-items:center;gap:8px;min-width:0}
.fd-community-comment-body header b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-community-comment-body header span{
  padding:3px 7px;border-radius:999px;
  border:1px solid rgba(186,255,53,.25);
  color:#baff35;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.fd-community-comment-body time{color:#708892;font-size:11px;white-space:nowrap}
.fd-community-comment-body p{margin:0;color:#c5d4d9;line-height:1.55;overflow-wrap:anywhere}
.fd-community-comment-body form{margin-top:8px}
.fd-community-comment-body form button{
  padding:0;border:0;background:none;color:#748d97;font-size:11px;cursor:pointer
}
.fd-community-comment-body form button:hover{color:#ff7891}
.fd-community-empty{
  padding:22px;
  border:1px dashed rgba(127,159,170,.2);
  border-radius:18px;
  color:#78909a;
  text-align:center;
}

@media(max-width:760px){
  .fd-public-community-inner{width:calc(100% - 28px);padding:38px 0 44px}
  .fd-public-community-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:20px}
  .fd-public-community-heading h2{font-size:30px}
  .fd-community-counts{width:100%}
  .fd-community-counts span{flex:1;min-width:0;padding:10px 13px}
  .fd-community-actions{grid-template-columns:1fr;gap:10px}
  .fd-community-like{min-height:68px;padding:14px 16px;border-radius:17px}
  .fd-community-like>span{font-size:24px}
  .fd-community-comment-form{border-radius:17px;padding:13px}
  .fd-community-comment-form textarea{min-height:66px}
  .fd-community-comment{grid-template-columns:36px minmax(0,1fr);padding:14px;gap:11px;border-radius:16px}
  .fd-community-avatar{width:36px;height:36px;font-size:15px}
  .fd-community-comment-body header{align-items:flex-start;gap:8px}
  .fd-public-flight-topbar-actions .fd-share-card-button{display:none}
  .fd-share-reactions-option{padding:13px}
}
@media(max-width:760px){
  .fd-public-flight-topbar-actions .fd-share-card-button{
    display:inline-flex!important;
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    font-size:0!important;
  }
  .fd-public-flight-topbar-actions .fd-share-card-button::before{
    content:'▣';font-size:15px;line-height:1;color:#baff35;
  }
}
.fd-community-comment-body p{white-space:pre-wrap}


/*
 * XCINSIGHT_WEATHER_LOADING_V2
 */

#xci-weather-loading[hidden]{
    display:none!important;
}

#xci-weather-loading{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    padding:24px;
    background:rgba(3,11,15,.76);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.xci-weather-loading-card{
    width:min(320px,calc(100vw - 36px));
    box-sizing:border-box;
    display:grid;
    justify-items:center;
    gap:13px;
    padding:25px 22px;
    border:1px solid rgba(126,231,255,.16);
    border-radius:20px;
    background:rgba(7,20,25,.97);
    box-shadow:0 24px 80px rgba(0,0,0,.38);
    color:#eefbff;
    text-align:center;
}

.xci-weather-spinner{
    width:38px;
    height:38px;
    box-sizing:border-box;
    border-radius:50%;
    border:3px solid rgba(126,231,255,.14);
    border-top-color:#c8ff48;
    animation:xci-weather-spin .72s linear infinite;
}

.xci-weather-loading-card strong{
    font-size:15px;
}

.xci-weather-loading-card span{
    color:#789099;
    font-size:11px;
    line-height:1.45;
}

.fd-weather-submit[aria-busy="true"]{
    opacity:.72;
    cursor:wait;
}

@keyframes xci-weather-spin{
    to{
        transform:rotate(360deg);
    }
}

@media(max-width:560px){
    .xci-weather-loading-card{
        border-radius:18px;
        padding:22px 18px;
    }
}


/* ============================================================
   XCINSIGHT SINGLE TOPBAR LOGO V1
   ============================================================ */

/* kill old logo decorations from legacy brand class if any */
.fd-brand-app::before,
.fd-brand-app::after{
    content:none !important;
    display:none !important;
    background:none !important;
}

/* if some old nested legacy icon exists, hide it */
.fd-brand-app .fd-brand-mark,
.fd-brand-app .fd-brand-icon,
.fd-brand-app .fd-brand-logo{
    display:none !important;
}

.fd-brand-app{
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
    text-decoration:none !important;
}

.fd-brand-app-icon{
    display:block !important;
    width:32px !important;
    height:32px !important;
    object-fit:contain !important;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.fd-brand-app .fd-brand-app-name{
    display:inline !important;
    color:#edf7fa !important;
    font-size:inherit;
    font-weight:900;
    letter-spacing:-.025em;
    white-space:nowrap;
}

.fd-brand-app .fd-brand-app-name strong{
    color:#c8ff48 !important;
    font:inherit;
    font-weight:900;
}

@media(max-width:560px){
    .fd-brand-app{
        gap:9px !important;
    }

    .fd-brand-app-icon{
        width:28px !important;
        height:28px !important;
    }
}

/* XCInsight Google SSO */
.fd-auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#748a92;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.fd-auth-divider::before,.fd-auth-divider::after{content:"";height:1px;flex:1;background:rgba(126,231,248,.1)}
.fd-google-auth-button{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;text-decoration:none;background:#fff!important;color:#14272e!important;border-color:rgba(255,255,255,.3)!important}
.fd-google-g{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#4285f4;background:#fff;font-size:15px;font-weight:950}
.fd-auth-google-note{margin:9px 0 0;color:#788f97;font-size:10px;line-height:1.5;text-align:center}
