/* Ported from Bangels Ballistics bb-v23b-20261018-25yd by tools/port_rangecard.py. Do not edit; rerun the script. */
.bx{--bg:#14170f;--card:#1f241a;--fg:#e8ecdf;--mut:#a3ab94;--acc:#e07b24;font:16px/1.4 system-ui,sans-serif;color:var(--fg);background:var(--bg);padding:12px;max-width:900px;margin:0 auto;box-sizing:border-box}
.bx *{box-sizing:border-box}.bx h1{margin:0;font-size:1.6rem}.bx h2{margin:0 0 8px;font-size:1.1rem}.bx-sub,.bx-note{color:var(--mut);margin:2px 0 10px}
.bx-card{background:var(--card);border:1px solid #333b2a;border-radius:12px;padding:12px;margin:0 0 12px}
.bx fieldset legend{font-weight:600;color:var(--acc);padding:0 4px}
.bx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bx-f{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--mut)}
.bx input,.bx select{min-height:48px;font-size:1.1rem;padding:8px 10px;border-radius:8px;border:1px solid #47513a;background:#0f120b;color:var(--fg);width:100%}
.bx-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.bx-btn{flex:1;min-height:48px;font-size:1rem;border-radius:8px;border:0;background:var(--acc);color:#111;font-weight:600}
.bx-del{background:#4a5240;color:var(--fg)}
.bx-big{font-size:2.2rem;font-weight:700;color:var(--acc);margin:0}
.bx-scroll{overflow-x:auto}.bx-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.bx-table th,.bx-table td{padding:10px 8px;text-align:right;border-bottom:1px solid #333b2a;white-space:nowrap}
.bx-table th{color:var(--mut);font-weight:600;position:sticky;top:0;background:var(--card)}
.bx-hold td{font-size:1.15rem}
@media(min-width:760px){.bx-form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}}
.bx [hidden]{display:none!important}
/* ---- Range Card ---- */
.rc-row{display:flex;gap:8px;margin:6px 0;flex-wrap:wrap}.rc-row>*{flex:1 1 0;min-width:0}
.rc-name{min-height:48px;font-size:1.05rem}
.rc-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 12px}
.rc-mode button,.rc-tool{min-height:48px;border-radius:10px;border:1px solid #47513a;background:var(--card);color:var(--fg);font-weight:600}
.rc-mode button.on,.rc-tool.on{background:var(--acc);color:#111;border-color:var(--acc)}
.rc-map{position:relative;z-index:0;height:min(62vh,560px);min-height:320px;border-radius:10px;margin:8px 0;background:#222}
.rc-set{align-items:end}.rc-set .bx-btn{min-height:48px}.rc-span2{grid-column:span 2}
.rc-set input[type=range]{min-height:48px;padding:0;background:none;border:0}
.rc-ringlab{color:#ffd23f;font:700 12px system-ui;text-shadow:0 0 3px #000,0 0 3px #000;white-space:nowrap}
.rc-clock{color:#fff;font:700 16px system-ui;text-align:center;line-height:26px;text-shadow:0 0 4px #000,0 0 4px #000}
.rc-sector{color:rgba(255,210,63,.75);font:800 34px system-ui;text-align:center;line-height:40px;text-shadow:0 0 6px #000}
.rc-north{color:#ff3b3b;font:800 16px system-ui;text-align:center;line-height:22px;text-shadow:0 0 3px #fff}
.rc-me{color:#ffd23f;font-size:30px;line-height:34px;text-align:center;text-shadow:0 0 4px #000}
.rc-handle{background:rgba(224,123,36,.9);color:#111;border-radius:50%;font:700 22px/40px system-ui;text-align:center;border:2px solid #fff}
.rc-pin{display:flex;align-items:center;gap:4px;white-space:nowrap;margin:-14px 0 0 -14px}
.rc-pin b{display:inline-block;width:28px;height:28px;border-radius:50%;background:#d01818;color:#fff;text-align:center;line-height:28px;border:2px solid #fff;font:700 13px/24px system-ui}
.rc-pin span{background:rgba(0,0,0,.72);color:#fff;font:600 12px system-ui;padding:2px 5px;border-radius:4px}
.rc-item{border-bottom:1px solid #333b2a;padding:8px 0}.rc-item-h{display:flex;gap:8px;align-items:center}.rc-item-h b{min-width:28px;height:28px;border-radius:50%;background:#d01818;color:#fff;display:inline-flex;align-items:center;justify-content:center}
.rc-item-h input{flex:1;min-height:44px}.rc-x{min-width:44px;min-height:44px;border-radius:8px;border:1px solid #47513a;background:none;color:var(--fg);font-size:1.1rem}
.rc-item-b{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px;color:var(--mut)}.rc-item-b label{display:flex;gap:6px;align-items:center}.rc-item-b input{width:90px;min-height:44px}
.rc-dope{margin-top:4px;font-weight:700;color:var(--acc);font-variant-numeric:tabular-nums}
.rc-cn{font-weight:600}
.rc-file{display:flex;align-items:center;justify-content:center;cursor:pointer}
.rc-ph{position:relative;margin:8px 0;touch-action:manipulation}.rc-ph img{width:100%;display:block;border-radius:8px}
.rc-mk{position:absolute;transform:translate(-14px,-14px);display:flex;gap:4px;align-items:flex-start;pointer-events:none}
.rc-mk b{width:28px;height:28px;border-radius:50%;background:#d01818;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff;flex:none}
.rc-mk span{background:rgba(0,0,0,.75);color:#fff;font:700 12px/1.3 system-ui;padding:2px 6px;border-radius:4px;white-space:nowrap}
.rc-png{width:100%;margin:8px 0;border-radius:6px;background:#fff}.rc-dl{display:flex;align-items:center;justify-content:center;text-decoration:none}
.rc-strip td:first-child{text-align:left;max-width:110px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:400px){.bx-table th,.bx-table td{padding:8px 5px}.rc-span2{grid-column:span 1}}
.rc-mk-l{flex-direction:row-reverse;transform:translate(calc(-100% + 14px),-14px)}
/* ---- Range Card help sheet ---- */
.rc-helprow{margin:0 0 10px}
.rc-mapnote{font-size:.85rem;margin:8px 0 4px}
.rc-help{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.6);display:flex;align-items:stretch;justify-content:center;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);max-width:none!important;margin:0!important}
.rc-help-in{background:var(--bg);color:var(--fg);width:100%;max-width:640px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 14px 16px;box-sizing:border-box}
.rc-help-top{position:sticky;top:0;background:var(--bg);display:flex;gap:8px;align-items:center;padding:10px 0;z-index:1}
.rc-help-tabs{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rc-help-tabs button{min-height:48px;border-radius:10px;border:1px solid #47513a;background:var(--card);color:var(--fg);font-weight:600;font-size:.9rem}
.rc-help-tabs button.on{background:var(--acc);color:#111;border-color:var(--acc)}
.rc-help-x{min-width:48px;min-height:48px;border-radius:10px;border:1px solid #47513a;background:none;color:var(--fg);font-size:1.2rem}
.rc-help-body h3{color:var(--acc);font-size:1rem;margin:16px 0 4px}.rc-help-body p,.rc-help-body li{line-height:1.45}
.rc-help-body ul{padding-left:20px;margin:4px 0}.rc-help-body li{margin:4px 0}
.rc-notes li{margin:10px 0}.rc-notes a{word-break:break-all}
.rc-help-ok{width:100%;margin-top:14px}
/* ---- Range Card: rotation (Facing-up) + live location ---- */
.bx .rc-map{overflow:hidden;background:#222;touch-action:none}
.rc-mapin{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.rc-up{transform:rotate(var(--rc-unrot,0deg));width:100%;height:100%}
.rc-pin .rc-up{display:flex;align-items:center;gap:4px;transform-origin:15px 14px;width:auto;height:auto}
.rc-ringlab .rc-up{width:auto;height:auto;transform-origin:0 0}
.rc-orient{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0}
.rc-orient button{min-height:44px;border-radius:10px;border:1px solid #47513a;background:var(--card);color:var(--fg);font-weight:600}
.rc-orient button.on{background:#2a7fff;color:#fff;border-color:#2a7fff}
.rc-mapctl{position:absolute;right:10px;top:10px;z-index:1001;display:flex;flex-direction:column;gap:8px}
.rc-mapctl button{width:44px;height:44px;border-radius:10px;border:2px solid rgba(0,0,0,.25);background:#fff;color:#222;font:700 22px/1 system-ui;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.rc-map:not(.rc-facing) .rc-rotl,.rc-map:not(.rc-facing) .rc-rotr,.rc-map:not(.rc-facing) .rc-resetview{display:none}
.rc-mapctl .rc-resetview{font-size:14px;background:#ffd23f}.rc-mapctl .rc-resetview[hidden]{display:none}
.rc-narrow{display:flex;flex-direction:column;align-items:center;line-height:.9;color:#d01818;font-size:16px;transition:transform .15s linear}.rc-narrow b{color:#222;font-size:11px}
.rc-loc.on{color:#2a7fff}.rc-loc .rc-loc-c{opacity:0}.rc-loc.on .rc-loc-c{opacity:1}.rc-loc.follow{background:#2a7fff;color:#fff}
.rc-live{position:relative}
.rc-live-dot{position:absolute;inset:2px;border-radius:50%;background:#1a73e8;border:3px solid #fff;box-shadow:0 0 4px rgba(0,0,0,.6)}
.rc-live-pulse{position:absolute;inset:-6px;border-radius:50%;background:rgba(26,115,232,.35);animation:rc-pulse 2s ease-out infinite}
@keyframes rc-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.rc-live-pulse{animation:none;opacity:.4}}
.rc-live-cone{position:absolute;left:-29px;top:-29px;width:80px;height:80px;transform-origin:50% 50%;
  background:conic-gradient(from -30deg at 50% 50%,rgba(26,115,232,.55) 0deg,rgba(26,115,232,.55) 60deg,transparent 60deg);
  -webkit-mask:radial-gradient(circle at 50% 50%,#000 0,#000 30%,transparent 50%);mask:radial-gradient(circle at 50% 50%,#000 0,#000 30%,transparent 50%)}
.rc-live-cone[hidden]{display:none}
.rc-livebox{background:#0f1a2b;border:1px solid #2a7fff;border-radius:10px;padding:8px 10px;margin:0 0 8px}
.rc-livetxt{margin:0 0 4px;font-variant-numeric:tabular-nums}.rc-livetxt small{color:var(--mut)}
/* v17: sector-coded pins (B T2), range chart, highlight */
.rc-pin b,.rc-mk b{width:auto!important;min-width:30px;padding:0 4px;border-radius:15px!important;font:800 12px/24px system-ui!important}
.rc-pin-A b{background:#1f6fd1!important}.rc-pin-B b{background:#d01818!important}.rc-pin-C b{background:#7a2bd1!important}.rc-pin-R b{background:#555!important}
.rc-pin.hl b,.rc-mk.hl b{box-shadow:0 0 0 4px #ffd23f,0 0 12px 4px rgba(255,210,63,.9)}.rc-pin.hl span,.rc-mk.hl span{background:#ffd23f;color:#111}
.rc-mk b{pointer-events:auto;cursor:pointer}
.rc-code{min-width:52px!important;padding:0 6px;border-radius:14px!important;font-size:.85rem}
.rc-item.hl{background:rgba(255,210,63,.12);outline:2px solid #ffd23f;outline-offset:-2px}
.rc-item select{min-height:44px}.rc-item-b small{color:#ffd23f}
.rc-chart-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.rc-chart-h h2{margin:0}.rc-sort{min-height:44px}
.rc-chart{font-size:.88rem}.rc-chart td,.rc-chart th{padding:8px 3px}.rc-chart th:first-child,.rc-chart td.rc-cl{text-align:left;white-space:normal;min-width:64px;max-width:120px}.rc-chart td.rc-cl span{display:block;font-size:.85rem;color:var(--fg);overflow-wrap:anywhere}
.rc-chart td small{display:block;color:#ffd23f;font-size:.75rem}
.rc-chart .rc-sech th{text-align:left;color:var(--fg);background:#2b3223;position:static;font-weight:800}
.rc-chart tr[data-id]{cursor:pointer}.rc-chart tr.hl td{background:rgba(255,210,63,.22)}
.rc-chart .rc-sortr{cursor:pointer;text-decoration:underline dotted}
.rc-chart td.rc-cl b{white-space:nowrap}.rc-sec-A td:first-child b{color:#6aa8ff}.rc-sec-B td:first-child b{color:#ff6b6b}.rc-sec-C td:first-child b{color:#c08bff}.rc-sec-R td:first-child b{color:#bbb}
/* the marker box of a rotated pin keeps its un-rotated footprint; only the visible badge + label take taps */
.rc-pin{pointer-events:none!important}.rc-pin b,.rc-pin span{pointer-events:auto}
/* centre the wider sector badge (e.g. "B2") exactly on the pin point */
.rc-pin{margin:-14px 0 0 -20px!important}.rc-pin b,.rc-mk b{width:40px!important;min-width:40px;padding:0!important}.rc-pin .rc-up{transform-origin:20px 14px!important}
.rc-mk{transform:translate(-20px,-14px)}.rc-mk-l{transform:translate(calc(-100% + 20px),-14px)}
/* v22: Clear pins / remove mode */
.bx .rc-clear{border:2px solid #d01818;color:#ff8a8a;background:var(--card);font-weight:700}
.bx .rc-clear.on{background:#ffd23f;color:#111;border-color:#ffd23f;box-shadow:0 0 0 3px rgba(255,210,63,.35)}
.bx .rc-rmbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;border:2px dashed #ffd23f;border-radius:10px;background:rgba(255,210,63,.12)}
.bx .rc-rmbar[hidden]{display:none}
.bx .rc-rmhint{flex:1 1 100%;font-weight:700;color:#ffd23f}
.bx .rc-rmbar .bx-btn{flex:1;min-height:44px}
.bx .rc-rmbar .rc-clearall{border-color:#d01818;color:#ff8a8a}
.bx.rc-removing .rc-map,.bx .rc-removing .rc-map,.rc-removing .rc-ph{outline:3px dashed #ffd23f;outline-offset:2px}
.rc-removing .rc-pin b,.rc-removing .rc-mk b{outline:3px dashed #ffd23f;outline-offset:1px;cursor:pointer}

