/* Theming-friendly icon helper for MkDocs pages
   Usage in Markdown/HTML:
   <span class="icon icon-print-icon"></span>

   Do NOT pass the URL inline as style="--icon: url('../images/icons/x.svg')". MkDocs does not
   rewrite URLs inside a style attribute, and `../` is only correct for languages built into a
   subdirectory (en/, fr/) — for the default language, whose pages sit at the site root, it
   points outside the site and the icon silently disappears. The --icon declarations below live
   in this stylesheet, so their relative URLs resolve against styles/, the same place in every
   language build.
   - The icon inherits the current text color (currentColor), so it adapts to light/dark schemes.
   - Size scales with font-size (1.2em by default). Override with .icon-sm/.icon-lg or inline style.
*/
.icon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: -0.15em; /* align with text baseline */
  background-color: currentColor; /* adopt foreground color */
  -webkit-mask: var(--icon) no-repeat center / contain;
  mask: var(--icon) no-repeat center / contain;
}

/* Optional size variants */
.icon-sm { width: 0.95em; height: 0.95em; }
.icon-lg { width: 1.4em; height: 1.4em; }
.icon-xl { width: 1.6em; height: 1.6em; }

/* Per-icon masks. Generated from the icons the manual references;
   add a line here when a page needs a new icon. */
.icon-align-center { --icon: url('../images/icons/align-center.svg'); }
.icon-angle-from-x { --icon: url('../images/icons/angle-from-x.svg'); }
.icon-annotation-block { --icon: url('../images/icons/annotation-block.svg'); }
.icon-annotation-highlight2d { --icon: url('../images/icons/annotation-highlight2d.svg'); }
.icon-annotation-speed-limit { --icon: url('../images/icons/annotation-speed-limit.svg'); }
.icon-annotation-tunnel { --icon: url('../images/icons/annotation-tunnel.svg'); }
.icon-annotation-vcut { --icon: url('../images/icons/annotation-vcut.svg'); }
.icon-arrow-down { --icon: url('../images/icons/arrow-down.svg'); }
.icon-arrow-up { --icon: url('../images/icons/arrow-up.svg'); }
.icon-aspect-ratio { --icon: url('../images/icons/aspect-ratio.svg'); }
.icon-axis-x { --icon: url('../images/icons/axis-x.svg'); }
.icon-axis-y { --icon: url('../images/icons/axis-y.svg'); }
.icon-barrier { --icon: url('../images/icons/barrier.svg'); }
.icon-blinds { --icon: url('../images/icons/blinds.svg'); }
.icon-checked-checkbox { --icon: url('../images/icons/checked-checkbox.svg'); }
.icon-classic-save { --icon: url('../images/icons/classic-save.svg'); }
.icon-cockpit { --icon: url('../images/icons/cockpit.svg'); }
.icon-door { --icon: url('../images/icons/door.svg'); }
.icon-element-link { --icon: url('../images/icons/element-link.svg'); }
.icon-external { --icon: url('../images/icons/external.svg'); }
.icon-eye-off { --icon: url('../images/icons/eye-off-icon.svg'); }
.icon-fill { --icon: url('../images/icons/fill.svg'); }
.icon-filter { --icon: url('../images/icons/filter.svg'); }
.icon-horizontal-plane { --icon: url('../images/icons/horizontal-plane.svg'); }
.icon-house { --icon: url('../images/icons/house.svg'); }
.icon-import { --icon: url('../images/icons/import.svg'); }
.icon-length-angle { --icon: url('../images/icons/length-angle.svg'); }
.icon-light { --icon: url('../images/icons/light.svg'); }
.icon-locked { --icon: url('../images/icons/locked.svg'); }
.icon-magnet { --icon: url('../images/icons/magnet.svg'); }
.icon-measure { --icon: url('../images/icons/measure.svg'); }
.icon-mode-3d { --icon: url('../images/icons/mode-3d.svg'); }
.icon-multiselect { --icon: url('../images/icons/multiselect.svg'); }
.icon-new-circle-segment { --icon: url('../images/icons/new-circle-segment.svg'); }
.icon-new-polyline { --icon: url('../images/icons/new-polyline.svg'); }
.icon-new-rectangle { --icon: url('../images/icons/new-rectangle.svg'); }
.icon-no-color { --icon: url('../images/icons/no-color.svg'); }
.icon-object-coordinates { --icon: url('../images/icons/object-coordinates.svg'); }
.icon-open { --icon: url('../images/icons/open.svg'); }
.icon-path-split-point { --icon: url('../images/icons/path-split-point.svg'); }
.icon-pencil { --icon: url('../images/icons/pencil.svg'); }
.icon-plan-properties { --icon: url('../images/icons/plan-properties.svg'); }
.icon-play { --icon: url('../images/icons/play.svg'); }
.icon-plus { --icon: url('../images/icons/plus.svg'); }
.icon-pole { --icon: url('../images/icons/pole.svg'); }
.icon-print-icon { --icon: url('../images/icons/print-icon.svg'); }
.icon-rail-flex { --icon: url('../images/icons/rail-flex.svg'); }
.icon-rotate { --icon: url('../images/icons/rotate.svg'); }
.icon-rotate-individual { --icon: url('../images/icons/rotate-individual.svg'); }
.icon-rotate-reset { --icon: url('../images/icons/rotate-reset.svg'); }
.icon-rotate-selection { --icon: url('../images/icons/rotate-selection.svg'); }
.icon-rotate-y-z-axis { --icon: url('../images/icons/rotate-y-z-axis.svg'); }
.icon-select-all { --icon: url('../images/icons/select-all.svg'); }
.icon-settings { --icon: url('../images/icons/settings.svg'); }
.icon-show-all { --icon: url('../images/icons/show-all.svg'); }
.icon-signal { --icon: url('../images/icons/signal.svg'); }
.icon-star { --icon: url('../images/icons/star.svg'); }
.icon-terrain-flatten { --icon: url('../images/icons/terrain-flatten.svg'); }
.icon-terrain-lower { --icon: url('../images/icons/terrain-lower.svg'); }
.icon-terrain-raise { --icon: url('../images/icons/terrain-raise.svg'); }
.icon-terrain-select-bottom { --icon: url('../images/icons/terrain-select-bottom.svg'); }
.icon-terrain-select-top { --icon: url('../images/icons/terrain-select-top.svg'); }
.icon-terrain-smoothen { --icon: url('../images/icons/terrain-smoothen.svg'); }
.icon-text { --icon: url('../images/icons/text.svg'); }
.icon-text-color-foreground { --icon: url('../images/icons/text-color-foreground.svg'); }
.icon-translation-mode { --icon: url('../images/icons/translation-mode.svg'); }
.icon-trash { --icon: url('../images/icons/trash.svg'); }
.icon-tree { --icon: url('../images/icons/tree.svg'); }
.icon-unlocked { --icon: url('../images/icons/unlocked.svg'); }
.icon-warning { --icon: url('../images/icons/warning.svg'); }
.icon-window { --icon: url('../images/icons/window.svg'); }
.icon-world { --icon: url('../images/icons/world.svg'); }
.icon-awning { --icon: url('../images/icons/awning.svg'); }
.icon-balcony { --icon: url('../images/icons/balcony.svg'); }
.icon-bridge { --icon: url('../images/icons/bridge.svg'); }
.icon-platform { --icon: url('../images/icons/platform.svg'); }
.icon-station { --icon: url('../images/icons/station.svg'); }
.icon-train-hall { --icon: url('../images/icons/train-hall.svg'); }
.icon-water-tower { --icon: url('../images/icons/water-tower.svg'); }
.icon-engine-shed { --icon: url('../images/icons/engine-shed.svg'); }
.icon-canopy { --icon: url('../images/icons/canopy.svg'); }
.icon-tower { --icon: url('../images/icons/tower.svg'); }
.icon-chimney { --icon: url('../images/icons/chimney.svg'); }
.icon-camera { --icon: url('../images/icons/camera.svg'); }
.icon-clock { --icon: url('../images/icons/clock.svg'); }
.icon-compass { --icon: url('../images/icons/compass.svg'); }
.icon-primitives { --icon: url('../images/icons/primitives.svg'); }
.icon-stairs { --icon: url('../images/icons/stairs.svg'); }
.icon-walk { --icon: url('../images/icons/walk.svg'); }
.icon-pin { --icon: url('../images/icons/pin.svg'); }
.icon-eye { --icon: url('../images/icons/eye-icon.svg'); }
.icon-drone { --icon: url('../images/icons/drone.svg'); }
.icon-carousel { --icon: url('../images/icons/carousel.svg'); }
.icon-slider { --icon: url('../images/icons/slider.svg'); }
.icon-wind-turbine { --icon: url('../images/icons/wind-turbine.svg'); }
.icon-watertreatment-plant-round { --icon: url('../images/icons/watertreatment-plant-round.svg'); }
.icon-watertreatment-plant-rectangular { --icon: url('../images/icons/watertreatment-plant-rectangular.svg'); }
.icon-action-button { --icon: url('../images/icons/action-button.svg'); }
.icon-respawn-all { --icon: url('../images/icons/respawn-all.svg'); }
.icon-respawn-one { --icon: url('../images/icons/respawn-one.svg'); }
.icon-avatar-login { --icon: url('../images/icons/avatar-login.svg'); }
.icon-download { --icon: url('../images/icons/download.svg'); }
.icon-login { --icon: url('../images/icons/login.svg'); }
.icon-logout { --icon: url('../images/icons/logout.svg'); }
.icon-minus { --icon: url('../images/icons/minus.svg'); }
.icon-open-cloud { --icon: url('../images/icons/open-cloud.svg'); }
.icon-open-folder { --icon: url('../images/icons/open-folder.svg'); }
.icon-share { --icon: url('../images/icons/share.svg'); }
.icon-store-to-cloud { --icon: url('../images/icons/store-to-cloud.svg'); }
.icon-tiles { --icon: url('../images/icons/tiles.svg'); }
.icon-upload { --icon: url('../images/icons/upload.svg'); }
