.mil-gps{--gps-line:var(--line,#bcc4b5);max-width:1050px;margin:auto}.gps-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.gps-header h1{margin-bottom:0}.gps-header>span{font-size:.8rem;font-variant-numeric:tabular-nums}.mil-gps #gps-message{min-height:1.6em;font-weight:600;overflow-wrap:anywhere}.gps-fix{border:1px solid var(--gps-line);border-radius:12px;padding:20px;background:var(--panel,var(--surface,transparent))}.gps-fix>span{font-size:.85rem}.gps-fix>output{display:block;font-family:ui-monospace,monospace;font-size:clamp(1.3rem,4.8vw,2.7rem);font-weight:700;letter-spacing:.02em;margin:10px 0;overflow-wrap:anywhere}.gps-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;font-size:.8rem}.gps-stats strong{display:block;font-size:1.05rem;margin-top:4px;overflow-wrap:anywhere}.gps-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:12px 0}.mil-gps button{min-height:44px;padding:10px 14px;cursor:pointer;border-radius:7px;border:1px solid var(--gps-line);font:inherit;background:var(--panel,var(--surface,transparent));color:var(--ink,inherit)}.mil-gps button:active{opacity:.7}.mil-gps button:focus-visible,.mil-gps input:focus-visible,.mil-gps select:focus-visible{outline:3px solid #bc893b;outline-offset:2px}.gps-tabs{display:flex;overflow-x:auto;gap:4px;border-bottom:1px solid var(--gps-line);margin:20px 0;padding:0 0 8px;scrollbar-width:thin}.gps-tabs button{flex-shrink:0;white-space:nowrap;border-color:transparent}.gps-tabs button[aria-current=page]{background:var(--ink,#16392e);color:var(--paper,#fff);border-color:var(--ink,#16392e)}.mil-gps label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem;margin:12px 0}.mil-gps input:not([type=checkbox]):not([type=color]),.mil-gps select,.mil-gps textarea{width:100%;min-width:0;min-height:46px;border:1px solid var(--gps-line);border-radius:6px;padding:10px;background:var(--panel,var(--surface,transparent));color:inherit;font:inherit;box-sizing:border-box}.mil-gps input[type=color]{width:100%;min-height:46px}.mil-gps textarea{min-height:90px}.mil-gps input[type=file]{max-width:100%;font-size:.8rem}.gps-actions label{flex:1;min-width:150px;margin:0}.gps-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mil-gps .gps-check{display:flex;flex-direction:row;align-items:center;min-height:44px;gap:12px;margin:4px 0}.gps-check input{width:22px;height:22px;flex-shrink:0}.mil-gps pre,.mil-gps output{white-space:pre-wrap;overflow-wrap:anywhere}.mil-gps output:not(#gps-grid){display:block;margin:16px 0}.mil-gps details{border-bottom:1px solid var(--gps-line);padding:14px 0}.mil-gps summary{cursor:pointer;min-height:44px;font-weight:600}.mil-gps fieldset{border:1px solid var(--gps-line);border-radius:6px}.gps-note{font-size:.82rem;line-height:1.5;opacity:.85}.gps-item{display:flex;gap:12px;border-bottom:1px solid var(--gps-line);padding:18px 0;overflow-wrap:anywhere}.gps-item>div{flex:1;min-width:0}.gps-item h3{margin:0 0 6px}.gps-item p{font-size:.85rem;margin:6px 0}.gps-dot{width:10px;height:10px;border-radius:50%;margin-top:7px;flex-shrink:0}#gps-map{height:480px;width:100%;border:1px solid var(--gps-line);border-radius:8px;background:#e1e5dc;z-index:0;box-sizing:border-box}.gps-grid-label{font:10px ui-monospace,monospace;white-space:nowrap;color:#17432b;background:#fff9;padding:1px 3px;width:max-content!important}.mil-gps .leaflet-control-attribution{font-size:9px;color:#222;background:#ffffffe8}.mil-gps .leaflet-control-attribution a{color:#16442d}.mil-gps .leaflet-control-zoom a{color:#222;background:#fff}.gps-compass{width:160px;height:160px;border:1px solid var(--gps-line);border-radius:50%;display:flex;flex-direction:column;align-items:center;margin:20px auto}.gps-compass>span{font-weight:700;margin-top:8px}#gps-arrow{font-size:80px;line-height:100px;transform-origin:50% 50%;color:#b76d31}#gps-nav-distance{font-size:2.5rem;font-weight:700}.mil-gps dialog{width:min(480px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--gps-line);border-radius:12px;padding:22px;box-sizing:border-box;background:var(--paper,#f4f2e9);color:var(--ink,#16392e)}.mil-gps dialog::backdrop{background:#0008}.mil-gps [hidden]{display:none!important}@media(max-width:600px){.gps-stats{grid-template-columns:1fr 1fr}.gps-two{grid-template-columns:1fr}.gps-fix{padding:16px}.gps-header>span{font-size:.75rem}#gps-map{height:55dvh;min-height:320px;max-height:520px}.gps-actions button{flex:1}.gps-item .gps-actions button{flex:initial}.mil-gps button{font-size:.9rem}.gps-tabs{margin-right:-8px}} 

/* Map gestures remain inside the map; page controls avoid double-tap zoom. */
.mil-gps{touch-action:pan-y}.mil-gps button,.mil-gps input,.mil-gps select{touch-action:manipulation}#gps-map{touch-action:none}#gps-map-note{display:none}

.gps-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px}.gps-modes [aria-pressed=true]{background:var(--ink);color:var(--paper)}.gps-compass{position:relative;width:220px;height:220px}.gps-compass #gps-north-ring{position:absolute;inset:8px;border:1px solid var(--line);border-radius:50%}.gps-compass #gps-north-ring span{position:absolute;font-weight:700}.gps-compass .north{top:6px;left:50%;transform:translateX(-50%)}.gps-compass .south{bottom:6px;left:50%;transform:translateX(-50%)}.gps-compass .east{right:8px;top:50%;transform:translateY(-50%)}.gps-compass .west{left:8px;top:50%;transform:translateY(-50%)}.gps-compass #gps-arrow{position:absolute;inset:60px;line-height:100px;text-align:center}.gps-modes button{padding:10px 5px}#gps-north-status{text-align:center}

.mil-gps .gps-grid-label{font:700 11px/16px ui-monospace,monospace;color:#ffe36b;background:#111827;border:1px solid #ffe36b;border-radius:3px;padding:2px 5px;box-shadow:0 1px 3px #0008}.mil-gps [data-action="toggle-grid"][aria-pressed="true"]{background:var(--ink);color:var(--paper);font-weight:700}
