/* ==========================================================================
   ISOMETRIC TERRAIN CHROME

   The gateway tower, its beacon and label, and the tile outline on the iso
   terrain mesh. flask_app/iso/render.py builds this SVG server-side and the
   template inlines it, so a class resolves here exactly as it would on any
   other element — the renderer no longer has to know a colour to draw a tower.

   The same scene is also painted to a canvas by terrain-canvas.js, which
   cannot read a class; it takes the same tokens through PatiturTokens instead.
   One definition, two consumers.
   ========================================================================== */

.iso-tower__mast,
.iso-tower__crossbar {
    stroke: var(--iso-tower);
}

.iso-tower__beacon {
    fill: var(--iso-beacon);
}

.iso-tower__label {
    fill: var(--iso-ink);
}

/* The hairline between tiles. Carries its own alpha: the mesh reads as a
   surface rather than a grid of outlined cells. */
.iso-tile {
    stroke: var(--iso-tile-stroke);
}

/* The elevation key's gradient. Its two stops were computed in Python as
   _lerp(lo, hi, 0.0) and _lerp(lo, hi, 1.0) — which is just the endpoints, a
   lookup wearing arithmetic. CSS owns both now. */
.swatch--ramp-elevation {
    --swatch-ramp: linear-gradient(
        to right,
        var(--iso-elev-lo),
        var(--iso-elev-hi)
    );
}
