/* Globale Icon-Klasse via CSS-Mask – nimmt currentColor an */
.ic { display: inline-block; background-color: currentColor;
      width: 1em; height: 1em; vertical-align: -.18em; flex-shrink: 0;
      -webkit-mask-size: contain; mask-size: contain;
      -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
      -webkit-mask-position: center; mask-position: center; }

/* User-Icons (Magnific) */
.ic-calendar { -webkit-mask-image: url(Assets/calendar.svg);     mask-image: url(Assets/calendar.svg); }
.ic-pin      { -webkit-mask-image: url(Assets/map-pin.svg);      mask-image: url(Assets/map-pin.svg); }
.ic-arrow    { -webkit-mask-image: url(Assets/arrow-right.svg);  mask-image: url(Assets/arrow-right.svg); }
.ic-spark    { -webkit-mask-image: url(Assets/sparkles.svg);     mask-image: url(Assets/sparkles.svg); }
.ic-tools    { -webkit-mask-image: url(Assets/settings.svg);     mask-image: url(Assets/settings.svg); }
.ic-check    { -webkit-mask-image: url(Assets/check.svg);        mask-image: url(Assets/check.svg); }
.ic-mail     { -webkit-mask-image: url(Assets/mail.svg);         mask-image: url(Assets/mail.svg); }
.ic-edit     { -webkit-mask-image: url(Assets/edit.svg);         mask-image: url(Assets/edit.svg); }
.ic-logout   { -webkit-mask-image: url(Assets/logout.svg);       mask-image: url(Assets/logout.svg); }
.ic-padel    { -webkit-mask-image: url(Assets/padel-racket.svg); mask-image: url(Assets/padel-racket.svg); }

/* Bier-Pong Icon (lokal aus Assets/) */
.ic-beerpong { -webkit-mask-image: url(Assets/beer-pong.svg?v=3); mask-image: url(Assets/beer-pong.svg?v=3); }

/* Bestehende Icons aus dem Icons/-Ordner */
.ic-tennis     { -webkit-mask-image: url(Icons/racket.svg);       mask-image: url(Icons/racket.svg); }
.ic-tennis-ball{ -webkit-mask-image: url(Icons/tennis-ball.svg);  mask-image: url(Icons/tennis-ball.svg); }
.ic-trophy     { -webkit-mask-image: url(Icons/trophy.svg);       mask-image: url(Icons/trophy.svg); }
.ic-winner     { -webkit-mask-image: url(Icons/winner.svg);       mask-image: url(Icons/winner.svg); }
.ic-medal      { -webkit-mask-image: url(Icons/medal.svg);        mask-image: url(Icons/medal.svg); }
.ic-camera     { -webkit-mask-image: url(Icons/camera.svg);       mask-image: url(Icons/camera.svg); }
.ic-qr         { -webkit-mask-image: url(Icons/qr.svg);           mask-image: url(Icons/qr.svg); }
.ic-user       { -webkit-mask-image: url(Icons/person.svg);       mask-image: url(Icons/person.svg); }
.ic-users      { -webkit-mask-image: url(Icons/users.svg);        mask-image: url(Icons/users.svg); }
.ic-history    { -webkit-mask-image: url(Icons/history.svg);      mask-image: url(Icons/history.svg); }
.ic-lock       { -webkit-mask-image: url(Icons/lock.svg);         mask-image: url(Icons/lock.svg); }
.ic-key        { -webkit-mask-image: url(Icons/key.svg);          mask-image: url(Icons/key.svg); }
.ic-clock      { -webkit-mask-image: url(Icons/hourglass.svg);    mask-image: url(Icons/hourglass.svg); }
.ic-print      { -webkit-mask-image: url(Icons/print.svg);        mask-image: url(Icons/print.svg); }
.ic-undo       { -webkit-mask-image: url(Icons/undo.svg);         mask-image: url(Icons/undo.svg); }
.ic-reset      { -webkit-mask-image: url(Icons/reset.svg);        mask-image: url(Icons/reset.svg); }
.ic-refresh    { -webkit-mask-image: url(Icons/refresh.svg);      mask-image: url(Icons/refresh.svg); }
.ic-dice       { -webkit-mask-image: url(Icons/dice.svg);         mask-image: url(Icons/dice.svg); }
.ic-play       { -webkit-mask-image: url(Icons/play.svg);         mask-image: url(Icons/play.svg); }
.ic-players    { -webkit-mask-image: url(Icons/players.svg);      mask-image: url(Icons/players.svg); }
.ic-home       { -webkit-mask-image: url(Icons/home.svg);         mask-image: url(Icons/home.svg); }
.ic-flag       { -webkit-mask-image: url(Icons/flag.svg);         mask-image: url(Icons/flag.svg); }
.ic-flame      { -webkit-mask-image: url(Icons/flame.svg);        mask-image: url(Icons/flame.svg); }
.ic-bolt       { -webkit-mask-image: url(Icons/bolt.svg);         mask-image: url(Icons/bolt.svg); }
.ic-bell       { -webkit-mask-image: url(Icons/bell.svg);         mask-image: url(Icons/bell.svg); }
.ic-ban        { -webkit-mask-image: url(Icons/ban.svg);          mask-image: url(Icons/ban.svg); }
.ic-warning    { -webkit-mask-image: url(Icons/warning.svg);      mask-image: url(Icons/warning.svg); }
.ic-trash      { -webkit-mask-image: url(Icons/trash.svg);        mask-image: url(Icons/trash.svg); }
.ic-chart      { -webkit-mask-image: url(Icons/chart.svg);        mask-image: url(Icons/chart.svg); }
.ic-trend-up   { -webkit-mask-image: url(Icons/trend-up.svg);     mask-image: url(Icons/trend-up.svg); }
.ic-clipboard  { -webkit-mask-image: url(Icons/clipboard.svg);    mask-image: url(Icons/clipboard.svg); }
.ic-stack      { -webkit-mask-image: url(Icons/stack.svg);        mask-image: url(Icons/stack.svg); }
.ic-swords     { -webkit-mask-image: url(Icons/swords.svg);       mask-image: url(Icons/swords.svg); }
.ic-target     { -webkit-mask-image: url(Icons/target.svg);       mask-image: url(Icons/target.svg); }
.ic-food       { -webkit-mask-image: url(Icons/food.svg);         mask-image: url(Icons/food.svg); }
.ic-help       { -webkit-mask-image: url(Icons/help.svg);         mask-image: url(Icons/help.svg); }
.ic-link       { -webkit-mask-image: url(Icons/link.svg);         mask-image: url(Icons/link.svg); }

/* Neu für Emoji-Ersatz (Icons/, Lucide-Stil, monochrom über CSS-Mask) */
.ic-close      { -webkit-mask-image: url(Icons/close.svg);        mask-image: url(Icons/close.svg); }
.ic-sword      { -webkit-mask-image: url(Icons/sword.svg);        mask-image: url(Icons/sword.svg); }
.ic-brick      { -webkit-mask-image: url(Icons/brick.svg);        mask-image: url(Icons/brick.svg); }
.ic-burst      { -webkit-mask-image: url(Icons/burst.svg);        mask-image: url(Icons/burst.svg); }
.ic-hearts     { -webkit-mask-image: url(Icons/hearts.svg);       mask-image: url(Icons/hearts.svg); }
.ic-scale      { -webkit-mask-image: url(Icons/scale.svg);        mask-image: url(Icons/scale.svg); }
.ic-menu       { -webkit-mask-image: url(Icons/menu.svg);         mask-image: url(Icons/menu.svg); }
.ic-shield     { -webkit-mask-image: url(Icons/shield.svg);       mask-image: url(Icons/shield.svg); }
.ic-sign       { -webkit-mask-image: url(Icons/sign.svg);         mask-image: url(Icons/sign.svg); }
.ic-muscle     { -webkit-mask-image: url(Icons/muscle.svg);       mask-image: url(Icons/muscle.svg); }
.ic-party      { -webkit-mask-image: url(Icons/party.svg);        mask-image: url(Icons/party.svg); }
.ic-bulb       { -webkit-mask-image: url(Icons/bulb.svg);         mask-image: url(Icons/bulb.svg); }
.ic-rocket     { -webkit-mask-image: url(Icons/rocket.svg);       mask-image: url(Icons/rocket.svg); }
.ic-mailbox    { -webkit-mask-image: url(Icons/mailbox.svg);      mask-image: url(Icons/mailbox.svg); }
.ic-euro       { -webkit-mask-image: url(Icons/euro.svg);         mask-image: url(Icons/euro.svg); }
.ic-ticket     { -webkit-mask-image: url(Icons/ticket.svg);       mask-image: url(Icons/ticket.svg); }
.ic-phone-send { -webkit-mask-image: url(Icons/phone-send.svg);   mask-image: url(Icons/phone-send.svg); }
.ic-phone-off  { -webkit-mask-image: url(Icons/phone-off.svg);    mask-image: url(Icons/phone-off.svg); }
.ic-eyes       { -webkit-mask-image: url(Icons/eyes.svg);         mask-image: url(Icons/eyes.svg); }
.ic-toolset    { -webkit-mask-image: url(Icons/tools.svg);        mask-image: url(Icons/tools.svg); }
.ic-scroll     { -webkit-mask-image: url(Icons/scroll.svg);       mask-image: url(Icons/scroll.svg); }
.ic-chat       { -webkit-mask-image: url(Icons/chat.svg);         mask-image: url(Icons/chat.svg); }
.ic-handshake  { -webkit-mask-image: url(Icons/handshake.svg);    mask-image: url(Icons/handshake.svg); }
.ic-monitor    { -webkit-mask-image: url(Icons/monitor.svg);      mask-image: url(Icons/monitor.svg); }
.ic-speaker    { -webkit-mask-image: url(Icons/speaker.svg);      mask-image: url(Icons/speaker.svg); }
.ic-phone      { -webkit-mask-image: url(Icons/phone.svg);        mask-image: url(Icons/phone.svg); }
.ic-memo       { -webkit-mask-image: url(Icons/memo.svg);         mask-image: url(Icons/memo.svg); }

/* Farbige Icons (werden NICHT maskiert — eigene Farben bleiben erhalten).
   Verwendung: <img src="Icons/medal-gold.svg" class="ic-img" alt=""> */
.ic-img        { display: inline-block; width: 1em; height: 1em;
                 vertical-align: -.18em; flex-shrink: 0; }

/* Größen-Modifier */
.ic-sm { width: .85em; height: .85em; }
.ic-lg { width: 1.4em; height: 1.4em; }
.ic-2x { width: 2em;   height: 2em; }
.ic-3x { width: 3em;   height: 3em; }
