New post "why-signals-bend" with ten hand-rolled canvas scenes (LOS, Earth curvature, Fresnel, knife-edge and rounded diffraction, refractivity profile, ray tracing, duct trapping, duct types, and the real 65 km QTH-to-W5HN/B path with 4/3-Earth bulge). Also drop QSO/em-dash conventions from prop1 and the "written by humans" footer line.
131 lines
2.4 KiB
CSS
131 lines
2.4 KiB
CSS
/* Styles scoped to the NLOS propagation post. Only loaded when the post's
|
|
<link> tag is on the page. */
|
|
|
|
.nlos {
|
|
--nlos-bg: #1f232b;
|
|
--nlos-panel: #242932;
|
|
--nlos-fg: #d4d8df;
|
|
--nlos-dim: #7d8594;
|
|
--nlos-grid: #323844;
|
|
--nlos-blue: #61afef;
|
|
--nlos-cyan: #56b6c2;
|
|
--nlos-green: #98c379;
|
|
--nlos-orange: #d19a66;
|
|
--nlos-red: #e06c75;
|
|
--nlos-yellow: #e5c07b;
|
|
--nlos-magenta: #c678dd;
|
|
}
|
|
|
|
.nlos-scene {
|
|
margin: 2.5rem 0;
|
|
background: var(--nlos-bg);
|
|
border: 1px solid var(--nlos-grid);
|
|
border-radius: 6px;
|
|
padding: 0.75rem 0.75rem 1rem;
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
|
|
}
|
|
|
|
.nlos-scene canvas {
|
|
display: block;
|
|
width: 100%;
|
|
height: auto;
|
|
touch-action: none;
|
|
cursor: grab;
|
|
background: transparent;
|
|
}
|
|
|
|
.nlos-scene canvas:active {
|
|
cursor: grabbing;
|
|
}
|
|
|
|
.nlos-controls {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: 0.5rem;
|
|
margin-top: 0.75rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.nlos-controls {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
.nlos-controls.nlos-controls--three {
|
|
grid-template-columns: repeat(3, 1fr);
|
|
}
|
|
}
|
|
|
|
.nlos-control {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.2rem;
|
|
}
|
|
|
|
.nlos-control label {
|
|
color: var(--nlos-dim);
|
|
font-size: 0.8rem;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.nlos-control label .nlos-value {
|
|
color: var(--nlos-fg);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.nlos-control input[type="range"] {
|
|
width: 100%;
|
|
accent-color: var(--nlos-cyan);
|
|
}
|
|
|
|
.nlos-scene .nlos-caption {
|
|
margin-top: 0.5rem;
|
|
font-size: 0.85rem;
|
|
color: var(--nlos-dim);
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.nlos-scene .nlos-readout {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.75rem 1.5rem;
|
|
padding: 0.5rem 0;
|
|
margin-top: 0.25rem;
|
|
color: var(--nlos-fg);
|
|
font-size: 0.85rem;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.nlos-scene .nlos-readout .nlos-readout-item span:first-child {
|
|
color: var(--nlos-dim);
|
|
margin-right: 0.35rem;
|
|
}
|
|
|
|
.nlos-buttons {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.nlos-buttons button {
|
|
background: var(--nlos-panel);
|
|
color: var(--nlos-fg);
|
|
border: 1px solid var(--nlos-grid);
|
|
border-radius: 4px;
|
|
padding: 0.35rem 0.65rem;
|
|
font-size: 0.85rem;
|
|
cursor: pointer;
|
|
font-family: inherit;
|
|
}
|
|
|
|
.nlos-buttons button:hover {
|
|
border-color: var(--nlos-cyan);
|
|
}
|
|
|
|
.nlos-buttons button[aria-pressed="true"] {
|
|
background: var(--nlos-cyan);
|
|
color: #111;
|
|
border-color: var(--nlos-cyan);
|
|
}
|