@font-face{font-family:Saira Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(./saira-condensed-400-BrqFk_DA.woff2) format("woff2")}@font-face{font-family:Saira Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(./saira-condensed-600-0taFJMb7.woff2) format("woff2")}@font-face{font-family:Saira;font-style:normal;font-weight:400;font-display:swap;src:url(./saira-400-C4OLzBX3.woff2) format("woff2")}:root{--bg: #0b0d0e;--panel: rgba(23, 26, 28, .78);--panel-2: rgba(33, 37, 40, .72);--line: rgba(255, 255, 255, .14);--line-hot: rgba(255, 255, 255, .32);--text: #e9ecee;--text-dim: rgba(233, 236, 238, .62);--text-faint: rgba(233, 236, 238, .34);--blue: #7ec8f0;--red: #f0655a;--green: #7fd97f;--amber: #e8b34a;--chip-light: #dfe3e5;--ink: #14181a;--radius: 2px;--font: "Saira Condensed", "Barlow Condensed", "Arial Narrow", sans-serif;--font-num: "Saira", "Saira Condensed", ui-monospace, Consolas, monospace;--tap: 52px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;color:var(--text);font-family:var(--font);overscroll-behavior-y:contain}html{background:var(--bg)}body{background-color:transparent;min-height:100dvh}#root{min-height:100dvh}input,button,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.num,.big .v,.mid .v,.hist .s,.kv dd,table.cal td,.field input,.turn .deg{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.lz{color:var(--text-faint)}.app{max-width:1180px;margin:0 auto;padding:0 14px calc(28px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:stretch;gap:6px;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:linear-gradient(var(--bg) 70%,transparent)}.brand{display:flex;flex-direction:column;justify-content:center;line-height:1.05;margin-right:auto;min-width:0;padding-left:9px;border-left:2px solid var(--blue)}.brand b,.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand b{font-size:17px;font-weight:600;letter-spacing:.14em;color:var(--text)}.brand span{font-size:10px;letter-spacing:.2em;color:var(--text-faint)}@media (max-width: 440px){.brand b{font-size:13px;letter-spacing:.06em}.brand span{font-size:8.5px;letter-spacing:.08em}.navbtn{padding:0 9px;font-size:11px}}.navbtn{min-height:44px;padding:0 14px;white-space:nowrap;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text-dim);letter-spacing:.16em;font-size:12px;cursor:pointer}.navbtn[aria-pressed=true]{background:var(--chip-light);border-color:var(--chip-light);color:var(--ink);font-weight:600}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px 14px;margin-bottom:10px}.panel-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.panel-title{font-size:12px;letter-spacing:.22em;color:var(--text-dim)}.panel-head .spacer{margin-left:auto}.hr{height:1px;background:var(--line);border:0;margin:14px 0}.coordrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>label{font-size:11px;letter-spacing:.2em;color:var(--text-faint)}.field input{width:100%;min-height:var(--tap);padding:0 12px;border-radius:var(--radius);border:1px solid var(--line);background:#0a0c0db8;color:var(--text);font-size:26px;letter-spacing:.04em;outline:none}.field input:focus{border-color:var(--blue);box-shadow:inset 0 -2px 0 var(--blue)}.field input.bad{border-color:var(--red);box-shadow:inset 0 -2px 0 var(--red)}.field .err{font-size:11px;color:var(--red);letter-spacing:.08em;min-height:13px;text-transform:uppercase}.field.small input{font-size:18px;min-height:44px}.btn{min-height:var(--tap);padding:0 16px;white-space:nowrap;border-radius:var(--radius);border:1px solid var(--line-hot);background:var(--panel-2);color:var(--text);letter-spacing:.18em;font-size:13px;cursor:pointer;transition:background .1s ease}.btn:hover{background:#3c4246b8}.btn:active{background:var(--chip-light);color:var(--ink)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.primary{width:100%;min-height:62px;font-size:19px;letter-spacing:.24em;font-weight:600;color:var(--ink);background:var(--chip-light);border-color:var(--chip-light)}.btn.primary:hover{background:#fff}.btn.ghost{background:transparent;border-color:var(--line);color:var(--text-dim);min-height:44px;font-size:12px}.btn.danger{border-color:#f0655a80;color:var(--red);background:transparent;min-height:44px;font-size:12px}.btn.danger:active{background:var(--red);color:var(--ink)}.btn.tiny{min-height:38px;padding:0 10px;font-size:11px;letter-spacing:.12em}.btnrow{display:flex;gap:6px;flex-wrap:wrap}.btnrow>*{flex:1 1 130px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius);border:1px solid var(--line);font-size:11px;letter-spacing:.16em;color:var(--text-dim);background:#0a0c0d80;white-space:nowrap}.badge.q-VERIFIED{color:var(--ink);background:var(--green);border-color:var(--green)}.badge.q-CALIBRATED{color:var(--ink);background:#b6e08a;border-color:#b6e08a}.badge.q-ESTIMATED,.badge.q-EXTRAPOLATED{color:var(--ink);background:var(--amber);border-color:var(--amber)}.badge.q-OUT_OF_RANGE,.badge.q-NO_DATA{color:var(--ink);background:var(--red);border-color:var(--red)}.solution{border:1px solid var(--line);border-left:2px solid var(--green);border-radius:var(--radius);background:var(--panel);padding:13px 14px 14px;margin-bottom:10px;scroll-margin-top:70px}.solution.warn{border-left-color:var(--amber)}.solution.bad{border-left-color:var(--red)}.sol-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.sol-head h2{margin:0;font-size:12px;letter-spacing:.24em;color:var(--text-dim);font-weight:400}.sol-label{font-size:14px;letter-spacing:.14em;margin-left:auto;text-transform:uppercase;background:var(--chip-light);color:var(--ink);padding:2px 9px;border-radius:var(--radius);font-weight:600}.bigrow{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.big{background:#0a0c0d8c;padding:9px 12px 11px;text-align:center;min-width:0}.big .k{font-size:11px;letter-spacing:.26em;color:var(--text-faint)}.big .v{font-size:clamp(2.8rem,14vw,4.6rem);line-height:1.02;font-weight:400;color:var(--text);letter-spacing:.01em}.big.blue .v{color:var(--blue)}.big .u{font-size:11px;letter-spacing:.22em;color:var(--text-dim)}.midrow{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}.mid{background:#0a0c0d8c;padding:8px 11px 10px;text-align:center;min-width:0}.mid .k{font-size:10.5px;letter-spacing:.24em;color:var(--text-faint)}.mid .v{font-size:clamp(1.6rem,8vw,2.4rem);font-weight:400;line-height:1.15}.mid .v.calib{font-size:22px;letter-spacing:.22em;color:var(--text-faint);line-height:1;padding:9px 4px;border:1px dashed var(--line-hot);border-radius:var(--radius);margin:3px 0 4px;font-family:var(--font-num)}.mid .sub{font-size:10.5px;color:var(--text-faint);letter-spacing:.14em}.status{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px;border-radius:var(--radius);font-size:14px;letter-spacing:.22em;font-weight:600;color:var(--ink)}.status.ready{background:var(--green)}.status.caution{background:var(--amber)}.status.nogo{background:var(--red)}.warnlist{margin:9px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.warnlist li{font-size:12px;line-height:1.45;letter-spacing:.04em;color:var(--amber);background:#e8b34a14;border-left:2px solid var(--amber);padding:6px 9px}.sight{position:relative;padding:16px 10px 12px}.sight .c{position:absolute;width:16px;height:16px;border:2px solid var(--text-dim);pointer-events:none}.sight .tl{top:0;left:0;border-right:0;border-bottom:0}.sight .tr{top:0;right:0;border-left:0;border-bottom:0}.sight .bl{bottom:0;left:0;border-right:0;border-top:0}.sight .br{bottom:0;right:0;border-left:0;border-top:0}.sightsvg{width:100%;height:auto;display:block;font-family:var(--font-num)}.tape{width:100%;height:auto;display:block}.tape-wrap{padding:2px 0 6px}.compass-wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.compass{width:min(260px,68vw);height:auto;flex:0 0 auto}.turn{text-align:center;min-width:130px}.turn .k{font-size:11px;letter-spacing:.24em;color:var(--text-faint)}.turn .v{font-size:clamp(1.5rem,7.5vw,2.4rem);font-weight:600;line-height:1.1;color:var(--text);letter-spacing:.06em}.turn .deg{font-size:clamp(1.9rem,9vw,2.9rem);font-weight:400;color:var(--blue)}.turn.ontarget .v{color:var(--green)}.gridmap{width:100%;height:auto;display:block;border-radius:var(--radius);background:#0a0c0d8c;border:1px solid var(--line)}.hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}.hist li button{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:8px 11px;min-height:50px;border:0;border-left:2px solid transparent;background:#0a0c0d8c;cursor:pointer}.hist li button:hover{background:#2d323699;border-left-color:var(--blue)}.hist .n{color:var(--text-faint);font-size:12px;width:24px;flex:0 0 auto;letter-spacing:.06em}.hist .body{min-width:0;flex:1}.hist .t{display:block;font-size:14px;letter-spacing:.08em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hist .s{display:block;font-size:12px;color:var(--text-dim);letter-spacing:.04em}.hist .s em{font-style:normal;color:var(--blue)}table.cal{width:100%;border-collapse:collapse}table.cal th{text-align:left;font-size:10.5px;letter-spacing:.2em;color:var(--text-faint);font-weight:400;padding:0 6px 7px}table.cal td{padding:6px;border-top:1px solid var(--line);font-size:16px}table.cal input{width:100%;min-height:42px;padding:0 8px;border-radius:var(--radius);border:1px solid var(--line-hot);background:#0a0c0db8;font-size:15px}.empty{padding:18px 12px;text-align:center;color:var(--text-faint);font-size:13px;line-height:1.7;letter-spacing:.06em;border:1px dashed var(--line-hot);border-radius:var(--radius)}.note{font-size:12.5px;line-height:1.55;color:var(--text-dim);letter-spacing:.03em}.note strong{color:var(--text);font-weight:600}.note.danger{color:var(--red)}.curve{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:var(--radius);background:#0a0c0d8c}textarea.io{width:100%;min-height:118px;border-radius:var(--radius);border:1px solid var(--line);background:#0a0c0db8;padding:10px;font-family:var(--font-num);font-size:12px;line-height:1.5;resize:vertical}.toggle{display:flex;align-items:center;gap:11px;min-height:52px;padding:6px 0;cursor:pointer}.toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;flex:0 0 auto;border:1px solid var(--line-hot);border-radius:var(--radius);background:#0a0c0db8;display:grid;place-content:center;cursor:pointer}.toggle input[type=checkbox]:checked{background:var(--chip-light);border-color:var(--chip-light)}.toggle input[type=checkbox]:checked:after{content:"";width:10px;height:6px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg) translate(1px,-2px)}.toggle input[type=checkbox]:focus-visible{outline:1px solid var(--blue);outline-offset:2px}.toggle .lab{font-size:13px;letter-spacing:.1em}.toggle .sub{font-size:11.5px;color:var(--text-faint);letter-spacing:.02em}.seg{display:flex;gap:1px;flex-wrap:wrap;background:var(--line);border:1px solid var(--line)}.seg button{flex:1 1 130px;min-height:46px;border:0;border-bottom:2px solid transparent;background:#0a0c0d8c;color:var(--text-dim);font-size:12px;letter-spacing:.14em;cursor:pointer;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.seg button[aria-pressed=true]{border-bottom-color:var(--blue);color:var(--text);background:#3c424699}select.sel{width:100%;min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:#0a0c0db8;padding:0 10px;font-size:15px;letter-spacing:.08em}details.adv{border:1px solid var(--line);border-radius:var(--radius);background:#0a0c0d66;padding:0 12px;margin-bottom:10px}details.adv>summary{cursor:pointer;list-style:none;padding:13px 0;font-size:12px;letter-spacing:.2em;color:var(--text-dim)}details.adv>summary::-webkit-details-marker{display:none}details.adv>summary:before{content:"+ ";color:var(--blue)}details.adv[open]>summary:before{content:"- "}details.adv>div{padding-bottom:13px}.kv{display:grid;grid-template-columns:1fr auto;gap:3px 12px;font-size:13px}.kv dt{color:var(--text-faint);letter-spacing:.12em}.kv dd{margin:0;text-align:right;color:var(--text)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(18px + env(safe-area-inset-bottom));z-index:80;background:var(--chip-light);color:var(--ink);padding:10px 18px;border-radius:var(--radius);font-size:12.5px;letter-spacing:.14em;font-weight:600;pointer-events:none;max-width:90vw;text-align:center}.toast.bad{background:var(--red)}.bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none}.bg-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,#080a0b1a,#080a0b80 75%),linear-gradient(180deg,#080a0b57,#080a0b75 55%,#080a0b9e)}.has-bg .panel,.has-bg .solution{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.has-bg .topbar{background:linear-gradient(#0b0d0eeb 70%,#0b0d0e00)}.wicon{color:var(--text);flex:0 0 auto;vertical-align:middle}.wicon.dim{color:var(--text-dim)}.profile-head{display:flex;align-items:center;gap:11px;margin-bottom:10px}.profile-head .pname{font-size:19px;letter-spacing:.12em;color:var(--text);font-weight:600}.profile-head .pkind{font-size:10.5px;letter-spacing:.2em;color:var(--text-faint)}.bg-preview{width:100%;height:118px;border-radius:var(--radius);border:1px solid var(--line);background-size:cover;background-position:center;background-color:#0a0c0d8c;margin-bottom:10px}input[type=range]{width:100%;accent-color:var(--blue);height:40px}@media (min-width: 720px){.app{padding:0 20px 40px}.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.big .v{font-size:clamp(3.4rem,6.5vw,5.4rem)}}@media (orientation: landscape) and (max-height: 560px){.topbar{padding-top:6px;padding-bottom:6px}.brand b{font-size:13px}.brand span{display:none}.land{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:8px;align-items:start}.panel,.solution{padding:9px 10px 10px;margin-bottom:7px}.panel-head{margin-bottom:8px;padding-bottom:6px}.coordrow{gap:7px}.field input{min-height:44px;font-size:21px}.field .err:empty{min-height:0}.field>label{font-size:9.5px}.btn.ghost,.btn.danger{min-height:40px}.btn.primary{min-height:50px;font-size:16px}.big .v{font-size:clamp(2.2rem,7.2vh,3.6rem)}.mid .v{font-size:clamp(1.2rem,4.6vh,1.9rem)}.compass{width:min(180px,28vw)}:root{--tap: 44px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.mapwrap{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#0a0c0d8c;cursor:crosshair;line-height:0}.mapwrap.calibrating{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.mapwrap img{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mapoverlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.mapwrap .mk{position:absolute;width:0;height:0;pointer-events:none}.mapwrap .mk:before{content:"";position:absolute;left:-8px;top:-8px;width:16px;height:16px;border:2px solid currentColor;border-radius:50%}.mapwrap .mk:after{content:"";position:absolute;left:-1px;top:-1px;width:2px;height:2px;background:currentColor;box-shadow:0 0 0 2px currentColor}.mapwrap .mk i{position:absolute;left:12px;top:-8px;font-style:normal;font-size:10px;letter-spacing:.14em;color:currentColor;background:#0a0c0db8;padding:1px 4px;white-space:nowrap}.mapwrap .mk.gun{color:var(--blue)}.mapwrap .mk.tgt{color:var(--red)}.mapwrap .mk.pending{color:var(--amber)}.maplive{display:flex;gap:8px;margin-bottom:10px}.maplive span{flex:1;text-align:center;padding:8px;border:1px solid var(--line);background:#0a0c0d8c;font-size:11px;letter-spacing:.18em;color:var(--text-faint)}.maplive b{display:block;margin-top:3px;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:24px;font-weight:400;color:var(--text);letter-spacing:.02em}.mapwrap .mapx,.mapwrap .mapy{position:absolute;background:#e9eceed9;pointer-events:none}.mapwrap .mapx{left:0;right:0;height:1px}.mapwrap .mapy{top:0;bottom:0;width:1px}.mapwrap .maptag{position:absolute;pointer-events:none;background:#0a0c0dd1;border:1px solid var(--line);padding:4px 7px;line-height:1.25;white-space:nowrap}.mapwrap .maptag b{display:block;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:400;font-size:13px;color:var(--text);letter-spacing:.04em}.mapwrap .maptag i{display:block;margin-top:2px;font-style:normal;font-size:11px;letter-spacing:.08em;color:var(--blue)}.dropzone.dragover{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.dropzone.dragover .empty{border-color:var(--blue);color:var(--blue)}.wpos{font-size:clamp(1.4rem,6vw,2rem);font-weight:600;letter-spacing:.04em;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--blue);margin-bottom:10px;line-height:1.1}@media (orientation: landscape) and (max-height: 560px){.wpos{font-size:1.2rem;margin-bottom:6px}.navbtn{min-height:38px}.topbar{padding-top:5px;padding-bottom:5px}.panel-head{margin-bottom:6px;padding-bottom:5px}}.orders{list-style:none;margin:10px 0 0;padding:0;display:flex;gap:1px;background:var(--line);border:1px solid var(--line)}.orders li{flex:1;background:#0a0c0d8c;padding:9px 8px;text-align:center;font-size:11px;letter-spacing:.14em;color:var(--text-dim);min-width:0}.orders li i{display:inline-block;font-style:normal;width:15px;height:15px;line-height:15px;margin-right:5px;border-radius:50%;background:var(--chip-light);color:var(--ink);font-size:10px;font-weight:600}.orders li b{display:block;margin-top:3px;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:19px;font-weight:400;letter-spacing:.02em;color:var(--text)}.mid .v.usesight{font-size:11px;letter-spacing:.14em;color:var(--text-dim);line-height:1.3;font-family:var(--font);padding:4px 0 2px}.mid .v.usesight b{display:block;margin-top:3px;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:26px;font-weight:400;color:var(--green);letter-spacing:.02em}
