
:root{--ink:#19221f;--muted:#66706c;--paper:#f4f1e8;--surface:#fffefa;--line:#ccd1cd;--ocean:#e5efef;--land:#c9c4ad;--ram:#087b78;--draught:#e87243;--lite:#3e6fa5;--sphere:#8c60a2;--ainslie:#6f7c55;--focus:#0867d9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;line-height:1.52}a{color:var(--ram)}.mast{position:sticky;top:0;z-index:8;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem max(4vw,1rem);border-bottom:1px solid var(--line);background:rgba(244,241,232,.96)}.mast a{text-decoration:none;color:var(--ink)}.mast nav{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem}.hero,.section{max-width:1180px;margin:auto;padding:4rem max(4vw,1rem)}.hero{padding-bottom:2.2rem}.hero h1,.section h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-.035em;line-height:1.02}.hero h1{font-size:clamp(2.6rem,6vw,5rem);max-width:1040px;margin:.5rem 0}.section h2{font-size:clamp(2rem,4vw,3.4rem);margin:.4rem 0 1rem}.kicker{color:var(--ram);font:700 .72rem/1.2 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.inspector{border:1px solid var(--line);background:var(--surface)}.case-map{border:0;margin:0;padding:1rem}.case-map legend{font:500 1.5rem Georgia,serif;padding:0}.map-note{color:var(--muted);font-size:.78rem;margin:.15rem 0 .8rem}.map-canvas{position:relative;min-height:330px;aspect-ratio:16/7;border:1px solid var(--line);background:var(--ocean);overflow:hidden}.map-art{position:absolute;inset:0;width:100%;height:100%}.map-grid{stroke:#fff;stroke-width:.35;vector-effect:non-scaling-stroke}.coast{fill:var(--land);stroke:#817c6d;stroke-width:.55;vector-effect:non-scaling-stroke}.source-guide{stroke:var(--orange);stroke-width:1.6;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.source-halo{fill:none;stroke:var(--orange);stroke-width:2;vector-effect:non-scaling-stroke}.map-choice{height:1px;opacity:0;position:absolute;width:1px}.case-marker{align-items:center;background:var(--surface);border:2px solid var(--ram);border-radius:50%;color:var(--ram);cursor:pointer;display:flex;font:700 .62rem ui-monospace,monospace;height:25px;justify-content:center;position:absolute;transform:translate(-50%,-50%);width:25px;z-index:3}.map-choice:checked+.case-marker{background:var(--orange);border-color:var(--surface);box-shadow:0 0 0 3px var(--orange);color:#fff;z-index:5}.map-choice:focus-visible+.case-marker{outline:3px solid var(--focus);outline-offset:3px}.receiver-marker{align-items:center;background:var(--ink);color:#fff;display:flex;font:700 .62rem ui-monospace,monospace;height:18px;justify-content:center;position:absolute;transform:translate(-50%,-50%) rotate(45deg);width:18px;z-index:4}.receiver-marker span{transform:rotate(-45deg);white-space:nowrap;position:absolute;left:18px;color:var(--ink);font-size:.7rem}.map-legend{align-items:center;display:flex;gap:1.2rem;flex-wrap:wrap;color:var(--muted);font-size:.72rem;margin:.7rem 0 0}.map-legend i{display:inline-block;height:10px;margin-right:.35rem;width:10px}.map-legend .source{background:var(--orange);border-radius:50%}.map-legend .receiver{background:var(--ink);transform:rotate(45deg)}.meta{display:grid;grid-template-columns:1.2fr .8fr 1.25fr .75fr 1.2fr;gap:1px;background:var(--line);border-block:1px solid var(--line)}.meta div{background:var(--paper);padding:.8rem}.meta span{display:block;color:var(--muted);font-size:.7rem}.meta strong{font:700 .78rem ui-monospace,monospace;overflow-wrap:anywhere}.chart{padding:1rem;overflow:hidden}.chart h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:.2rem 0 .8rem}.chart svg{display:block;width:100%;min-height:470px}.frame{fill:none;stroke:var(--line)}.grid{stroke:#e1e3df}.axis{font:12px ui-monospace,monospace;fill:var(--muted)}.axisTitle{font:13px ui-monospace,monospace;fill:var(--ink)}.contextLine{fill:none;stroke-width:2.2}.tlLite{stroke:var(--lite)}.spherical{stroke:var(--sphere)}.ainslie{stroke:var(--ainslie)}.ramPoint{stroke:var(--surface);stroke-width:1.5}.ram6{fill:var(--ram)}.ramDraught{fill:var(--draught)}.frequencyGuide{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.pointHalo{fill:none;stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke}.hit{fill:transparent;cursor:pointer}.hit:focus{outline:none}.legend{display:flex;gap:1rem;flex-wrap:wrap;padding:0 1rem 1rem;font-size:.8rem}.legend i{display:inline-block;margin-right:.35rem}.legend .point{border-radius:50%;height:.65rem;width:.65rem}.legend .line{width:1.2rem;border-top:3px solid;vertical-align:middle}.detail{border-top:1px solid var(--line);padding:1rem;min-height:4rem;font:.78rem/1.55 ui-monospace,monospace}.table{overflow:auto;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:.76rem}th,td{padding:.55rem .65rem;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}.boundary{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.boundary article{background:var(--surface);padding:1.2rem}.boundary h3{font:500 1.25rem Georgia,serif;margin:.2rem 0}.footer{max-width:1180px;margin:auto;padding:2rem max(4vw,1rem);border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}code{overflow-wrap:anywhere}@media(max-width:760px){.mast{align-items:flex-start;flex-direction:column}.hero,.section{padding-block:2.6rem}.meta,.boundary{grid-template-columns:1fr 1fr}.map-canvas{aspect-ratio:4/3;min-height:390px}.chart{padding:.4rem}.chart svg{min-height:390px}}@media(max-width:440px){.meta,.boundary{grid-template-columns:1fr}.mast nav{gap:.6rem}.map-canvas{min-height:430px}.chart svg{min-height:350px}.case-marker{height:23px;width:23px}}
