/* ==========================================================================
   01b-icons.css — textures et icônes, en masques (data URI). Colorés par currentColor / tokens.
   Aucune image externe : ni requête réseau, ni problème de CORS en ouverture locale.
   ========================================================================== */
:root {
  --texture-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .11  0 0 0 0 .12  0 0 0 0 .15  .5 0 0 0 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23n%29'/%3E%3C/svg%3E");
  --texture-grain-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .96  0 0 0 0 .97  0 0 0 0 .96  .5 0 0 0 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23n%29'/%3E%3C/svg%3E");
  --mask-rule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 8'%3E%3Cpath d='M0,4 Q9,5.3 18,4 T36,4' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E");
  --mask-rule-vertical: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 36'%3E%3Cpath d='M4,0 Q5.3,9 4,18 T4,36' fill='none' stroke='black' stroke-width='0.75' stroke-linecap='round'/%3E%3C/svg%3E");   /* même tracé que --mask-rule, à la verticale */
  --mask-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 20'%3E%3Cpath d='M6.5,0 L7.9,3 L7.3,3.1 L9,6 L7.7,6.1 L9.7,9 L8.1,9.1 L10.2,12 L8.3,12.1 L11.5,15 L9.3,15.1 L13.4,18 L8.2,18 L8.2,20 L5.8,20 L5.8,18 L1.6,18 L4.7,15.1 L1.6,15 L5.5,12.1 L3,12 L5.3,9.1 L3.9,9 L6.2,6.1 L5.2,6 L6.6,3.1 L6,3 Z' fill='black'/%3E%3C/svg%3E");
  --mask-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h17M13 5l7 7-7 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --mask-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.4,4.4 C7,9.1 7.2,14.7 7.9,19.7 C11.7,17.7 15.7,15.2 19.5,12.3 C15.5,9.6 11.6,7 7.4,4.4 Z' fill='black' stroke='black' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E");   /* triangle de lecture tracé à la main */
  --mask-pause: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.2,4.6 Q7,12 7.4,19.4 M16.8,4.4 Q17.1,12 16.7,19.6' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E");
  --mask-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  --mask-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M9 4.5v5.5M9 12.2v1.3' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  --mask-flake-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,12 L12.0,1.9 M11.9,5.9 L9.3,3.3 M11.9,5.9 L14.1,3.5 M12,12 L20.3,7.1 M17.2,8.8 L17.5,5.8 M17.2,8.8 L20.7,9.8 M12,12 L20.5,17.0 M17.1,15.2 L19.9,14.2 M17.1,15.2 L17.5,18.8 M12,12 L11.9,21.8 M11.9,18.2 L14.0,20.5 M11.9,18.2 L9.3,20.5 M12,12 L3.6,17.2 M6.6,15.1 L6.0,18.3 M6.6,15.1 L3.4,13.9 M12,12 L3.6,7.0 M6.8,8.8 L3.8,9.3 M6.8,8.8 L6.4,5.4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --mask-flake-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,12 L12.4,2.1 M12.1,7.5 L10.2,6.6 M12.1,7.5 L14.2,6.5 M12.2,4.5 L9.9,3.1 M12.2,4.5 L15.2,2.8 M12,12 L20.6,6.7 M16.0,9.6 L15.7,7.3 M16.0,9.6 L17.8,10.6 M18.7,8.1 L18.9,4.8 M18.7,8.1 L21.3,9.8 M12,12 L20.9,17.4 M16.1,14.5 L18.2,13.8 M16.1,14.5 L15.8,16.3 M18.8,16.1 L21.3,14.8 M18.8,16.1 L18.4,19.0 M12,12 L12.4,22.4 M12.0,16.6 L14.0,17.8 M12.0,16.6 L10.6,17.8 M12.1,19.7 L15.0,21.2 M12.1,19.7 L9.2,21.3 M12,12 L3.5,16.9 M8.3,14.3 L8.0,16.1 M8.3,14.3 L6.2,13.2 M5.8,15.9 L6.1,18.7 M5.8,15.9 L3.1,14.4 M12,12 L3.7,7.5 M8.2,9.8 L6.3,10.6 M8.2,9.8 L8.0,7.6 M5.6,8.4 L2.7,9.6 M5.6,8.4 L5.6,4.9' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --mask-flake-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,12 L12.0,2.6 M12.0,5.2 L9.7,5.3 M12.0,5.2 L14.5,5.1 M12.0,2.3 L13.2,4.4 M12.0,2.3 L10.7,4.4 M12,12 L20.8,7.3 M18.0,8.5 L16.9,6.4 M18.0,8.5 L19.5,10.9 M20.5,6.9 L19.4,9.1 M20.5,6.9 L18.0,6.4 M12,12 L20.6,16.8 M18.2,15.3 L19.7,13.0 M18.2,15.3 L17.2,17.9 M20.8,16.7 L18.7,16.9 M20.8,16.7 L19.5,14.4 M12,12 L12.3,22.2 M12.1,18.9 L15.0,18.9 M12.1,18.9 L9.7,19.2 M12.2,21.9 L10.5,20.1 M12.2,21.9 L13.8,20.1 M12,12 L2.9,17.1 M5.8,15.5 L6.9,17.9 M5.8,15.5 L4.8,13.1 M3.1,16.9 L4.1,15.1 M3.1,16.9 L5.6,17.0 M12,12 L3.6,7.5 M5.9,8.7 L4.5,11.2 M5.9,8.7 L7.5,6.5 M3.3,7.3 L5.6,7.1 M3.3,7.3 L4.2,9.1' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --mask-burger-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3,6.3 Q9,5 14,6.2 T21,5.8 M3.5,12.2 Q10,13.2 15,11.9 T20.5,12.3 M3,17.8 Q8,16.8 13,18.1 T19.5,17.6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
  --mask-close-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5,5.5 Q12,12.5 19,18.8 M18.7,5.2 Q12,11.5 5.3,18.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}
