{# Chrome strip defs — badge-parity material for mobile crispness.
   v0.2.4 rewrite: removed feSpecularLighting (rasterizes + resamples → mobile blur)
   and text-shadow filter (degrades glyph edges). Typography aligned to badge:
   JetBrains Mono labels + Orbitron upright values, no Impact, no skew.
   Guard on data presence (envelope_stops), not profile identity. #}

{# Chrome env-map gradient (11-stop HDRI simulation, animated y1/y2) #}
<linearGradient id="{{ uid }}-envelope" x1="0" x2="0" y1="{{ gradient_y_neg_010 }}" y2="{{ gradient_y_090 }}">
{% for stop in envelope_stops %}
  <stop offset="{{ stop.offset }}" stop-color="{{ stop.color }}"/>
{% endfor %}
  <animateTransform attributeName="gradientTransform" type="translate"
    values="0 -0.2; 0 0.2; 0 -0.2" dur="{{ chrome_rhythm | default('6s') }}"
    repeatCount="indefinite" calcMode="spline"
    keySplines="0.4 0 0.2 1;0.4 0 0.2 1"/>
</linearGradient>

{# Separator gradient — matches badge's signal-blue profile (not warm tones).
   Provides continuity of material language between badge and strip. #}
<linearGradient id="{{ uid }}-sep" x1="0" y1="0" x2="0" y2="1">
  <stop offset="0%"   stop-color="var(--dna-signal)" stop-opacity="0"/>
  <stop offset="30%"  stop-color="var(--dna-signal)" stop-opacity="0.35"/>
  <stop offset="50%"  stop-color="{{ specular_light }}" stop-opacity="0.45"/>
  <stop offset="70%"  stop-color="var(--dna-signal)" stop-opacity="0.35"/>
  <stop offset="100%" stop-color="var(--dna-signal)" stop-opacity="0"/>
</linearGradient>

{# Well gradient — genome-declared (required for chrome paradigm). #}
<linearGradient id="{{ uid }}-well" x1="0" x2="0" y1="0" y2="1">
  <stop offset="0%"   stop-color="{{ well_top }}"/>
  <stop offset="100%" stop-color="{{ well_bottom }}"/>
</linearGradient>

{# Product-weight shadow — badge parity (drop-shadow only, no specular).
   Specular was rasterized at filter evaluation, then resampled by the
   browser on small viewports; dropping it is what makes strip text sharp
   on mobile. Frame still reads as recessed via shadow alone. #}
<filter id="{{ uid }}-bevel" x="-3%" y="-4%" width="106%" height="112%">
  <feDropShadow dx="0" dy="1.5" stdDeviation="2"
                flood-color="var(--dna-shadow-color, black)"
                flood-opacity="{{ bevel_shadow_opacity | default('0.35') }}"/>
</filter>

{# Typography (class-based, badge-parity discipline).
   Badge uses JetBrains Mono 8px for label + Orbitron 11px 900 for value
   on a 22px canvas. Strip scales proportionally for 52px height:
   identity 11px 700 (Mono), metric-label 9px 600 (Mono), metric-value 17px 900
   (Orbitron, upright). Impact 22px italic removed — it was a shields.io-era
   treatment that no longer matches the genome's geometric vocabulary. #}
<style>
{{ font_faces | safe }}
.{{ uid }}-identity {
  font-family: var(--dna-font-display, 'Orbitron', 'Space Grotesk', sans-serif);
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em;
  fill: var(--dna-signal);
}
.{{ uid }}-metric-label {
  font-family: var(--dna-font-display, 'Orbitron', 'Space Grotesk', sans-serif);
  font-size: 9px; font-weight: 700; letter-spacing: 0.1em;
  fill: var(--dna-signal);
}
.{{ uid }}-metric-value {
  font-family: var(--dna-font-display, 'Orbitron', 'Space Grotesk', sans-serif);
  font-size: 17px; font-weight: 900; letter-spacing: 0.02em;
  fill: {{ glyph_fill }};
}
</style>
