/* Gliding Traffic - Simon Hay / Claude. Everything is scoped to .gt-app so themes are left alone. */
.gt-app{--gt-ink:#13212f;--gt-muted:#5b6b7a;--gt-panel:#f6f8fa;--gt-card:#fff;--gt-line:#d6dde4;
  --gt-club:#ff5a00;--gt-other:#2f4858;--gt-ground:#8a96a3;--gt-cct:#facc15;--gt-focus:#1d4ed8;
  display:block;width:100%;min-height:420px;overflow:hidden;
  font:15px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--gt-ink);
  background:var(--gt-panel);border:1px solid var(--gt-line);border-radius:6px;box-sizing:border-box}
.gt-app *,.gt-app *::before,.gt-app *::after{box-sizing:border-box}
.gt-app [hidden]{display:none !important}   /* layout rules below must not un-hide controls */
.gt-map{position:relative;min-height:0;min-width:0;height:100%;background:#dfe6ec;overflow:hidden}
.gt-map .cesium-viewer{width:100%;height:100%}
.gt-panel{display:flex;flex-direction:column;min-height:0;min-width:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  border-left:1px solid var(--gt-line);background:var(--gt-panel)}

/* Layout follows the plugin's own box (container queries), so it works full screen and in a page column.
   Taller than wide (phones upright, narrow columns): a full-width square map on top, the panel below.
   Wider than tall (desktops, tablets and phones on their side): the panel at a fixed 400 px, the map
   takes the rest, wider than square on a big screen. */
.gt-shell{display:grid;height:100%;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:minmax(0,1fr)}
@supports (container-type:size){
  .gt-app{container:gt / size}
  @container gt (orientation:portrait){
    .gt-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
    .gt-map{width:min(100cqw,100cqh - 200px);height:min(100cqw,100cqh - 200px);justify-self:center}
    .gt-panel{border-left:0;border-top:1px solid var(--gt-line)}
  }
  @container gt (orientation:landscape){
    .gt-shell{grid-template-columns:minmax(0,1fr) 400px}
    .gt-map{width:auto;height:100%}
  }
}
@supports not (container-type:size){   /* older browsers: the previous split */
  @media (max-width:760px){
    .gt-shell{grid-template-columns:1fr;grid-template-rows:minmax(0,55fr) minmax(0,45fr)}
    .gt-panel{border-left:0;border-top:1px solid var(--gt-line)}
  }
}

/* Header and controls */
.gt-hdr{padding:10px 14px 9px;border-bottom:1px solid var(--gt-line)}
.gt-top{display:flex;align-items:center;gap:8px}
.gt-app .gt-title{flex:1;margin:0;padding:0;font-size:20px;line-height:1.15;font-weight:700;color:var(--gt-ink);border:0}
.gt-app a{color:var(--gt-ink)}
.gt-full-link{font-size:14px;font-weight:600;white-space:nowrap}
.gt-app select.gt-site{flex:1;min-width:0;margin:0;padding:3px 6px;font:inherit;font-size:18px;font-weight:700;color:var(--gt-ink);
  background:var(--gt-card);border:1px solid var(--gt-line);border-radius:6px;max-width:none;height:auto;line-height:1.2}
.gt-app select.gt-day,.gt-app select.gt-speed{flex:none;margin:0;padding:3px 6px;font:inherit;font-size:14px;color:var(--gt-ink);
  background:var(--gt-card);border:1px solid var(--gt-line);border-radius:6px;height:auto;max-width:12em}
.gt-status{color:var(--gt-muted);font-size:13px;margin-top:2px}
.gt-status.gt-err{color:#b91c1c;font-weight:600}
.gt-ctl{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.gt-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gt-row>span{font-size:13px;color:var(--gt-muted);width:42px;flex:none}
.gt-seg{display:flex;flex:1;border:1px solid var(--gt-line);border-radius:7px;overflow:hidden;background:var(--gt-card)}
.gt-viewseg{flex:none}
.gt-camrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}
.gt-camrow>span{font-size:13px;color:var(--gt-muted);width:52px;flex:none}
.gt-camrow .gt-gcam{flex:1 1 260px}
/* the camera buttons: a grid that wraps to a second row when the panel is narrow, the gaps drawing the dividers, so
   no button is ever squeezed or cut off (nine cameras no longer fit on one line) */
.gt-app .gt-seg.gt-gcam{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:0;background:var(--gt-card)}
/* lines drawn by each button (an outline, painted over its neighbours), so cells left empty at the end of the last row stay plain white */
.gt-app .gt-seg.gt-gcam button{background:var(--gt-card);border-left:0;padding:5px 2px;line-height:1.15;outline:1px solid var(--gt-line);outline-offset:0;white-space:nowrap}
.gt-app .gt-seg.gt-gcam button.gt-on{background:var(--gt-ink)}
.gt-app .gt-seg.gt-gcam button:focus-visible{outline:2px solid var(--gt-focus);outline-offset:-2px}
.gt-speedseg{flex:none}
.gt-app .gt-speedseg button{padding:4px 7px;font-size:13px}
.gt-camrow .gt-wside{flex:1 1 100%;margin-left:60px}
.gt-camrow .gt-wstyle{flex:1 1 100%;margin-left:60px}
.gt-camrow .gt-cbank{flex:1 1 100%;margin-left:60px}
.gt-app .gt-camrow .gt-seg button{padding:5px 4px;font-size:13px}
.gt-app .gt-seg label,.gt-app .gt-seg button{flex:1;margin:0;padding:5px 8px;border:0;border-radius:0;background:none;color:var(--gt-ink);
  font:inherit;font-size:14px;font-weight:500;text-align:center;line-height:1.2;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;white-space:nowrap}
.gt-app .gt-seg label+label,.gt-app .gt-seg button+button{border-left:1px solid var(--gt-line)}
.gt-seg input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.gt-app .gt-seg label:has(input:checked),.gt-app .gt-seg button.gt-on{background:var(--gt-ink);color:#fff}
.gt-app .gt-seg label:has(input:disabled){color:var(--gt-muted);cursor:default}
.gt-toggles{gap:6px 14px;flex-wrap:nowrap;align-items:flex-start}
.gt-tgl{display:flex;flex-wrap:wrap;gap:6px 14px;flex:1;min-width:0}
.gt-toggles>span{padding-top:1px}
.gt-chk{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;cursor:pointer;margin:0}
.gt-chk input{accent-color:var(--gt-ink);margin:0}
.gt-app .gt-btn{font:inherit;font-size:14px;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid var(--gt-line);
  background:var(--gt-panel);color:var(--gt-ink);cursor:pointer;box-shadow:none;text-transform:none;line-height:1.3}

/* Selected glider */
.gt-sel{display:none;padding:10px 14px 12px;background:var(--gt-card);border-bottom:1px solid var(--gt-line)}
.gt-sel.gt-on{display:block}
.gt-selhead{display:flex;align-items:baseline;gap:8px}
.gt-selname{font-size:30px;font-weight:700;line-height:1}
.gt-selsub{flex:1;min-width:0;color:var(--gt-muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-selhead .gt-btn{align-self:center;padding:2px 8px;font-size:13px}
.gt-app .gt-close{border:0;background:none;padding:0 2px;font:inherit;font-size:24px;line-height:1;color:var(--gt-muted);cursor:pointer;box-shadow:none}
.gt-read{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 10px;margin-top:8px}
.gt-read b{display:block;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.gt-read b{white-space:nowrap}
@container gt (max-width:480px){.gt-read b{font-size:18px}}
.gt-read span{font-size:12px;color:var(--gt-muted)}
.gt-baro{margin-top:10px}
.gt-baro-c{display:block;width:100%;height:110px;touch-action:pan-y;cursor:crosshair}
.gt-baro-read{min-height:17px;margin-top:2px;font-size:12px;color:var(--gt-muted);font-variant-numeric:tabular-nums;white-space:pre}
.gt-play{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.gt-seen{flex:1 1 100%;font-size:13px;color:var(--gt-muted)}
.gt-igc{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.gt-igc>span{font-size:13px;color:var(--gt-muted);min-width:52px;flex:none;white-space:nowrap}
.gt-app .gt-igc .gt-btn{padding:3px 8px;font-size:13px;font-variant-numeric:tabular-nums}
.gt-curtain-hint{margin:0;padding:8px 14px;font-size:13px;color:var(--gt-muted);background:var(--gt-card)}
.gt-sel:not(.gt-on) .gt-curtain-hint{display:block}
.gt-sel:not(.gt-on):has(.gt-curtain-hint:not([hidden])){display:block;padding:0}
.gt-sel:not(.gt-on) > :not(.gt-curtain-hint){display:none}

/* Lists */
.gt-list{flex:none}
.gt-group{font-size:13px;color:var(--gt-muted);padding:8px 14px 3px;font-weight:600}
.gt-group.gt-cct{color:var(--gt-ink);background:#fef9c3}
.gt-group .gt-btn{margin-left:8px;padding:1px 8px;font-size:12px}
.gt-app .gt-item{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;margin:0;padding:6px 14px;
  border:0;border-bottom:1px solid var(--gt-line);border-radius:0;background:none;text-align:left;font:inherit;color:inherit;
  cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
.gt-app .gt-item:hover{background:#eef2f6}
.gt-app .gt-item.gt-cct{background:#fefce8}
.gt-app .gt-item.gt-sel-row{background:#fff3eb}
.gt-item .gt-dot{width:7px;height:28px;border-radius:2px;background:var(--gt-other)}
.gt-item small{font-size:11px;font-weight:600;color:var(--gt-muted)}
.gt-item.gt-live .gt-n small{color:#15803d}
.gt-item.gt-gnd .gt-dot{background:var(--gt-ground)}
.gt-item.gt-faded{color:var(--gt-muted)}
.gt-item .gt-n{font-weight:700;font-size:16px;line-height:1.1}
.gt-item .gt-s{font-size:12px;color:var(--gt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-item .gt-v{text-align:right;font-variant-numeric:tabular-nums;font-size:15px;line-height:1.2}
.gt-empty{padding:16px 14px;color:var(--gt-muted)}
.gt-empty .gt-btn{display:block;margin-top:10px}
.gt-foot{margin-top:auto;padding:7px 14px;font-size:11px;color:var(--gt-muted);border-top:1px solid var(--gt-line)}
.gt-app button:focus-visible,.gt-seg label:focus-within,.gt-chk:focus-within,.gt-baro-c:focus-visible{outline:2px solid var(--gt-focus);outline-offset:2px}

/* 2D aircraft: symbol plus a two-line data block (ident, then height and ground speed) */
.gt-ac{background:none;border:0}
.gt-ac-i{position:absolute;left:0;top:0;width:34px;height:22px;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer}
.gt-ac-i svg{display:block;overflow:visible}
.gt-ac-l{position:absolute;left:44px;top:-6px;white-space:nowrap;line-height:1.1;pointer-events:none;
  color:var(--gt-ink);text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 2px #fff,0 0 2px #fff}
.gt-ac-l b{display:block;font-size:12px;font-weight:700}
.gt-ac-l i{display:block;font-size:11px;font-weight:600;font-style:normal;font-variant-numeric:tabular-nums}
.gt-ac-l i:empty{display:none}
.gt-ac-i.gt-selected .gt-ac-l{left:52px}
.gt-ac-i.gt-faded{opacity:.5}
.gt-ac-i.gt-cct svg{filter:drop-shadow(0 0 3px #facc15) drop-shadow(0 0 7px rgba(250,204,21,.95)) drop-shadow(0 0 12px rgba(250,204,21,.6))}   /* low and close: a soft glow */
.gt-play-i{pointer-events:none}
.gt-play-i path{fill:#fff;stroke:var(--gt-ink);stroke-width:1.5}
.gt-ring{background:none;border:0;font-size:12px;font-weight:600;color:var(--gt-ink);white-space:nowrap;
  text-shadow:0 0 3px #fff,0 0 2px #fff;transform:translate(-50%,-50%)}

/* Colour key down the left of the map: tap an ident to select it */
.gt-key{position:absolute;left:10px;top:84px;z-index:900;display:flex;flex-direction:column;gap:1px;max-height:calc(100% - 120px);
  overflow-y:auto;padding:4px;border-radius:6px;background:rgba(255,255,255,.88);box-shadow:0 1px 4px rgba(0,0,0,.25)}
.gt-app.gt-3d .gt-key{top:10px;max-height:calc(100% - 60px)}
.gt-app .gt-key button{display:flex;align-items:center;gap:6px;margin:0;padding:3px 6px;border:0;border-radius:4px;background:none;
  font:600 12px/1.15 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--gt-ink);cursor:pointer;text-align:left;white-space:nowrap;
  box-shadow:none;text-transform:none;letter-spacing:0;min-height:0}
.gt-app .gt-key button:hover{background:rgba(19,33,47,.08)}
.gt-key i{display:block;width:11px;height:11px;border-radius:2px;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.gt-app .gt-key button.gt-on{background:var(--gt-ink);color:#fff}
.gt-app .gt-key button.gt-dim{opacity:.45}
.gt-app.gt-dark .gt-key,.gt-app.gt-3d .gt-key{background:rgba(19,33,47,.8)}
.gt-app.gt-dark .gt-key button,.gt-app.gt-3d .gt-key button{color:#fff}
.gt-app.gt-dark .gt-key button.gt-on,.gt-app.gt-3d .gt-key button.gt-on{background:#fff;color:var(--gt-ink)}

/* Plugin version, bottom left of the map */
.gt-ver{position:absolute;left:8px;bottom:6px;z-index:900;font:11px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;color:#13212f;
  background:rgba(255,255,255,.7);padding:1px 6px;border-radius:3px;pointer-events:none}
.gt-app.gt-dark .gt-ver,.gt-app.gt-3d .gt-ver{color:#fff;background:rgba(19,33,47,.6)}
.gt-app.gt-3d .gt-ver{bottom:34px}   /* above Cesium's logo */
/* Wind: one arrow (pointing downwind) and its figure, top right under the layer button */
.gt-wind{position:absolute;right:10px;top:62px;z-index:900;display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border-radius:6px;
  background:rgba(255,255,255,.88);box-shadow:0 1px 4px rgba(0,0,0,.25);font:600 13px/1 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--gt-ink);pointer-events:none}
.gt-wind svg{display:block;transition:transform .8s ease}
.gt-wind path{fill:var(--gt-ink)}
.gt-app.gt-3d .gt-wind{top:10px}
.gt-app.gt-dark .gt-wind,.gt-app.gt-3d .gt-wind{background:rgba(19,33,47,.8);color:#fff}
.gt-app.gt-dark .gt-wind path,.gt-app.gt-3d .gt-wind path{fill:#fff}
/* Graphs: speed below height, then the day overview */
.gt-spd-c,.gt-ovw-c{display:block;width:100%;touch-action:pan-y}
.gt-spd-c{height:64px;cursor:crosshair;margin-top:2px}
.gt-ovw-c{height:26px;cursor:ew-resize;margin-top:4px}
.gt-baro-foot{display:flex;align-items:center;gap:8px}
.gt-baro-foot .gt-baro-read{flex:1}
.gt-app .gt-baro-foot .gt-btn{padding:1px 8px;font-size:12px}

/* Map notices and the layer button */
.gt-maplnote{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:800;max-width:90%;
  padding:6px 10px;border-radius:6px;background:rgba(19,33,47,.88);color:#fff;font-size:12px;text-align:center;pointer-events:none}
.gt-app .leaflet-control-layers{font:inherit;font-size:14px;color:var(--gt-ink)}
.gt-app .leaflet-control-layers label{margin:3px 0;font-weight:500}
.gt-app .leaflet-control-layers-expanded{padding:8px 12px 8px 8px}
.gt-app .gt-lidarop{display:flex;flex-direction:column;gap:2px;margin:6px 0 2px;padding-top:6px;border-top:1px solid #ddd;font-size:13px;font-weight:500}
.gt-app .gt-lidarop[hidden]{display:none}
.gt-app .gt-lidarop input{width:100%;margin:0;accent-color:var(--gt-ink)}
.gt-app .leaflet-popup-content{font-size:13px;line-height:1.35}

/* Satellite: light labels with a dark halo */
.gt-app.gt-dark .gt-ring,.gt-app.gt-dark .gt-ac-l{color:#fff;text-shadow:0 0 3px #000,0 0 3px #000,0 0 2px #000}

/* Full-screen page */
body.gt-full{margin:0;background:#f6f8fa}
body.gt-full .gt-app{height:100vh;height:100dvh;min-height:0;border:0;border-radius:0}
body.gt-full .gt-panel{padding-bottom:env(safe-area-inset-bottom,0px)}

/* 3D: compass band across the top of the view */
.gt-compass3d{position:absolute;left:0;right:0;top:12px;height:46px;z-index:890;pointer-events:none;overflow:hidden}   /* below the key and wind box where they overlap */
.gt-compass3d[hidden]{display:none}
.gt-cb-l{position:absolute;top:8px;transform:translateX(-50%);font:700 30px/1 system-ui,-apple-system,"Segoe UI",sans-serif;color:rgba(255,255,255,.85);
  text-shadow:0 0 2px rgba(0,0,0,.3),0 0 5px rgba(0,0,0,.12);white-space:nowrap}
/* Compass rose on the 1-mile ring */
.gt-rose{pointer-events:none}
.gt-rose span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font:700 30px/1 system-ui,-apple-system,"Segoe UI",sans-serif;color:rgba(255,255,255,.85);
  white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.3),0 0 5px rgba(0,0,0,.12)}

/* ---------------------------------------------------------------- Launch point display (tablet, landscape): all map */
.gt-app.gt-lv{height:100dvh}
.gt-app.gt-lv .gt-shell{display:block;height:100%}
.gt-app.gt-lv .gt-panel,.gt-app.gt-lv .gt-key,.gt-app.gt-lv .leaflet-control-layers{display:none!important}
.gt-app.gt-lv .gt-map{height:100%;width:100%}
.gt-lvzoom{position:absolute;right:12px;bottom:28px;z-index:950;display:flex;align-items:center;gap:10px}
.gt-lvmapbar{position:absolute;left:12px;bottom:28px;z-index:950;display:flex}
.gt-lvmapbar:empty{display:none}
.gt-lvzg{display:flex;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.gt-lvzg button{font:600 20px/1 system-ui,-apple-system,sans-serif;padding:16px 18px;border:0;background:#fff;color:#13212f;cursor:pointer;white-space:nowrap}
.gt-lvzg button+button{border-left:1px solid #d6dde4}
.gt-lvzg button.gt-on{background:#13212f;color:#fff}
.gt-lvspeak{position:absolute;right:12px;top:12px;z-index:950;width:44px;height:44px;border-radius:50%;border:0;padding:0;font-size:20px;line-height:44px;text-align:center;background:#fff;color:#8a97a3;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.gt-lvspeak.gt-on{background:#1a7f3c;color:#fff}
.gt-lvmaps button{font-size:16px;padding:12px 14px}
/* aircraft as a column of small overlay boxes down the left */
.gt-lvcol{position:absolute;left:10px;top:10px;bottom:92px;z-index:940;width:272px;display:flex;flex-direction:column;gap:6px;pointer-events:none}
.gt-lvhead{position:absolute;left:10px;bottom:28px;z-index:950;padding:5px 10px;border-radius:6px;background:rgba(19,33,47,.82);color:#fff;font:600 15px/1.2 system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none}   /* club and time, bottom left */
.gt-app.gt-lvnoclock .gt-lvhead{display:none}
.gt-lvrows{display:flex;flex-direction:column;gap:5px;overflow-y:auto;pointer-events:auto;scrollbar-width:none;padding:4px;margin:-4px}   /* room for the outlines */
.gt-lvr{display:flex;align-items:center;gap:8px;padding:6px 9px 6px 6px;border-radius:7px;background:rgba(255,255,255,.88);box-shadow:0 1px 4px rgba(0,0,0,.25);
  font:15px/1.15 system-ui,-apple-system,sans-serif;color:#13212f}
.gt-lvr>i{width:6px;align-self:stretch;border-radius:3px;flex:none}
.gt-lvn{font-weight:700;font-size:17px;min-width:2.8em}
.gt-lvv{margin-left:auto;display:grid;grid-template-columns:auto auto auto auto auto auto;align-items:baseline;gap:0 3px;font-variant-numeric:tabular-nums;text-align:right}
.gt-lvv b{font-size:16px}.gt-lvv small{color:#5b6b7a;font-size:11px;margin-right:5px}
.gt-lvv .gt-up{color:#15803d}.gt-lvv .gt-dn{color:#dc2626}   /* green climbing, red sinking */
.gt-lvcct{background:rgba(254,249,195,.95);box-shadow:0 0 0 2px #facc15,0 1px 4px rgba(0,0,0,.25)}
.gt-lvland{background:rgba(255,255,255,.6);color:#8a96a3;padding-top:3px;padding-bottom:3px}.gt-lvland .gt-lvn{font-weight:600;font-size:15px}
.gt-lvr{cursor:pointer}
.gt-lvlaunch{background:rgba(254,226,226,.95);box-shadow:0 0 0 2px #ef4444,0 1px 4px rgba(0,0,0,.25)}
.gt-lvout{background:rgba(255,237,213,.95);box-shadow:0 0 0 2px #f97316,0 1px 4px rgba(0,0,0,.25)}
.gt-lvtagl{display:block;font-style:normal;font-weight:700;font-size:11px;color:#b91c1c;letter-spacing:.02em;text-transform:uppercase}
.gt-lvtagout{background:#fed7aa;color:#9a3412}
.gt-ac-i.gt-launching svg{filter:drop-shadow(0 0 3px #ef4444) drop-shadow(0 0 7px rgba(239,68,68,.95)) drop-shadow(0 0 12px rgba(239,68,68,.6))}   /* launching: red glow */
.gt-ac-i.gt-spit svg{filter:drop-shadow(0 0 3px #2563eb) drop-shadow(0 0 7px rgba(37,99,235,.95)) drop-shadow(0 0 12px rgba(37,99,235,.6))}   /* a Spitfire: RAF blue glow */
.gt-lvspit{background:rgba(219,234,254,.95);box-shadow:0 0 0 2px #1d4ed8,0 0 0 4px #dc2626,0 1px 4px rgba(0,0,0,.25)}   /* roundel colours */
.gt-lvspit .gt-lvtagl{color:#1d4ed8}
.gt-lvspit.gt-lvsel{box-shadow:0 0 0 3px #13212f,0 1px 4px rgba(0,0,0,.25)}
.gt-lvsel{box-shadow:0 0 0 3px #13212f,0 1px 4px rgba(0,0,0,.25)}
/* the wind box matches the zoom buttons */
/* the wind: plain white straight over the map; under the speaker in the top right corner */
.gt-app.gt-lv .gt-wind{right:12px;top:64px;padding:0;border-radius:0;background:none;box-shadow:none;color:#fff;font:700 20px/1 system-ui,-apple-system,sans-serif;gap:8px}
.gt-app.gt-lv .gt-wind path{fill:#fff}
.gt-rain{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:960;padding:9px 16px;border:0;border-radius:20px;background:#1d4ed8;color:#fff;
  font:700 15px/1 system-ui,-apple-system,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35);white-space:nowrap}
.gt-rain[hidden]{display:none}
.gt-rain::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#93c5fd;margin-right:8px;vertical-align:1px}
.gt-rain.gt-on{background:#fff;color:#1d4ed8;box-shadow:0 0 0 2px #1d4ed8,0 2px 8px rgba(0,0,0,.35)}
.gt-rain.gt-on::before{background:#1d4ed8}
.gt-app.gt-lv .gt-rain{top:60px;font-size:18px;padding:11px 20px;border-radius:24px}   /* under the club name */
@media (max-width:1000px){.gt-app.gt-lv .gt-rain{top:12px;left:max(296px,calc(50% - 90px));transform:none}}   /* no club name: top, clear of the rows */
.gt-app.gt-lv .gt-wind{text-shadow:0 0 2px rgba(0,0,0,.2),0 0 4px rgba(0,0,0,.08)}   /* a fainter halo than the compass labels: low priority */
.gt-app.gt-lv .gt-wind svg{filter:drop-shadow(0 0 1px rgba(0,0,0,.2))}
.gt-app.gt-lv .gt-wind svg{width:36px;height:36px}
.gt-lvtime{position:absolute;right:12px;top:104px;z-index:900;color:#fff;font:700 20px/1 system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:0 0 2px rgba(0,0,0,.2),0 0 4px rgba(0,0,0,.08)}   /* white over the map with the wind's faint halo */
.gt-lvtime:empty,.gt-app.gt-lvnoclock .gt-lvtime{display:none}
.gt-lvclub{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:900;font:700 34px/1.1 system-ui,-apple-system,sans-serif;color:#13212f;text-shadow:0 0 6px #fff,0 0 14px #fff,0 1px 2px #fff;white-space:nowrap;pointer-events:none}
.gt-app.gt-lvnoclock .gt-lvclub,.gt-lvclub:empty{display:none}
/* the notice (Settings, tablets only): big faint text in the bottom right corner above the zoom buttons, outside the
   1-mile ring at every zoom (the ring is inscribed in the shorter side; the corner is clear of it) */
.gt-lvnotice{position:absolute;left:12px;bottom:92px;z-index:890;max-width:300px;font:800 34px/1.05 system-ui,-apple-system,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:rgba(185,28,28,.45);text-align:left;pointer-events:none;display:none}
@media (min-width:700px) and (max-width:1366px) and (pointer:coarse){.gt-lvnotice{display:block}}
@media (max-width:1000px){.gt-lvclub{display:none}}
.gt-app.gt-lv .gt-lvhead{display:none}
.gt-lvtag{font-weight:600;font-size:12px;padding:2px 7px;border-radius:5px;background:#e3e8ed;color:#5b6b7a}
.gt-app.gt-lv .gt-ac-i:not(.gt-cct) path[stroke="#13212f"]{fill:#b8c0c8}   /* landed and stationary: grey */
.gt-app.gt-lv .gt-ver{left:12px;right:auto;bottom:6px}
.gt-lvright{position:absolute;right:12px;bottom:90px;z-index:950;display:flex;flex-direction:column;align-items:flex-end;gap:8px}   /* days hidden: the trail button drops into their place */
.gt-lvtrail{font:600 15px/1 system-ui,-apple-system,sans-serif;padding:10px 12px;border:0;border-radius:8px;background:#fff;color:#13212f;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);white-space:nowrap}
.gt-app.gt-lvnoclock .gt-lvcol{bottom:92px}
.gt-lvdays{display:flex;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.gt-lvdays[hidden]{display:none}
.gt-lvdays button{font:600 15px/1 system-ui,-apple-system,sans-serif;padding:10px 12px;border:0;background:#fff;color:#13212f;cursor:pointer}
.gt-lvdays button+button{border-left:1px solid #d6dde4}
.gt-lvdays button.gt-on{background:#13212f;color:#fff}

.gt-chk.gt-off{opacity:.45}   /* not available in this mode */

.gt-app .gt-trails .gt-seg label{padding:5px 3px;min-width:0;white-space:nowrap;font-size:13px}   /* eight trail buttons fit the panel */
.gt-app .gt-showseg label{padding:5px 4px;min-width:0;white-space:nowrap}

.gt-igcbox{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1;min-width:0}
.gt-igcname{font-weight:600;margin-right:4px;font-size:14px;flex:1 1 100%}
.gt-igcbox .gt-btn{padding:2px 10px;font-size:13px}

.gt-sel>.gt-video{display:block;margin:10px 0 0;padding:3px 10px;font-size:13px}
.gt-sel>.gt-video[hidden]{display:none}
.gt-vidbox{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:6px 0 10px;font-size:14px}
.gt-vidbox select{font:inherit;padding:2px 4px}
.gt-vrow{display:flex;gap:8px;align-items:center;flex:1 1 100%}
.gt-vmsg{color:var(--gt-muted, #6b7280)}
.gt-reccover{position:absolute;inset:0;z-index:2000;background:rgba(17,24,39,.82);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
.gt-reccover>div{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.gt-reccover b{font-size:20px}
.gt-skybtn{position:absolute;right:12px;bottom:40px;z-index:950;padding:8px 14px !important;font-size:15px !important;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.gt-sky{position:fixed;inset:0;z-index:100000;background:#000;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}
.gt-sky video,.gt-sky canvas{position:absolute;inset:0;width:100%;height:100%}
.gt-sky video{object-fit:cover}
.gt-skytop{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,0));color:#fff;font:600 14px system-ui,sans-serif}
.gt-skyx{font:600 20px system-ui,sans-serif;color:#fff;background:rgba(0,0,0,.45);border:0;border-radius:50%;width:40px;height:40px}
.gt-skyhint{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);text-align:center;color:rgba(255,255,255,.8);font:12px system-ui,sans-serif;text-shadow:0 1px 2px #000;pointer-events:none}
.gt-skyinfo{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 30px);padding:10px 12px;border-radius:10px;background:rgba(17,24,39,.85);color:#fff;font:14px system-ui,sans-serif}
.gt-cycle{display:inline-flex;align-items:center;gap:5px;margin:6px 0 0 60px;font-size:14px;flex:1 1 100%}
.gt-camrow .gt-oside{flex:1 1 100%;margin-left:60px}
.gt-camrow .gt-cutseg{flex:1 1 100%;margin-left:60px}
@media (max-width:699px){   /* phones: the aircraft rows keep the top, the speaker the top right corner. Bottom left,
                              upwards: map buttons, wind, time; bottom right, upwards: zoom, days, trails */
  .gt-app.gt-lv .gt-wind{top:auto;right:auto;left:12px;bottom:74px;font-size:14px;gap:6px}
  .gt-app.gt-lv .gt-wind svg{width:30px;height:30px}
  .gt-lvcol,.gt-app.gt-lvnoclock .gt-lvcol{width:min(272px,calc(100% - 20px));bottom:162px}
  .gt-lvtime{top:auto;right:auto;left:12px;bottom:116px;font-size:14px}
  .gt-lvspeak{width:36px;height:36px;line-height:36px;font-size:16px}
  .gt-lvzoom{bottom:28px}
  .gt-lvzg button{font-size:15px;padding:11px 8px}
  .gt-lvmaps button{font-size:14px;padding:12px 7px}
  .gt-lvright{bottom:74px;gap:8px}
  .gt-lvdays button,.gt-lvtrail{font-size:14px;padding:9px 11px}
  .gt-app.gt-lv .gt-rain{left:auto;right:12px;top:58px;transform:none;width:80px;white-space:normal;text-align:center;font-size:14px;line-height:1.15;padding:7px 6px;border-radius:12px}   /* under the speaker, two lines, clear of the rows */
  .gt-app.gt-lv .gt-rain::before{display:none}
}
