      a {
        color: white; /* Definiert die Textfarbe der Links als Weiß */
      }

      body {
        background: #547980;
        color: #fff;
        font-family: system-ui, sans-serif;
        margin: 0;
        padding: 0;
        padding-top: 70px;
      }

      /* Navigation Bar Styles - Fixed */
      .navbar {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: linear-gradient(135deg, #000 0%, #333 100%);
        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
        z-index: 1000;
        backdrop-filter: blur(10px);
        min-height: 60px;
      }

      .nav-container {
        max-width: 1400px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        padding: 0 20px;
        height: 60px;
      }

      .nav-menu {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
        align-items: center;
        width: 100%;
        justify-content: flex-start;
        gap: 10px;
      }

      .nav-item {
        position: relative;
        margin: 0;
        flex-shrink: 0;
      }

      .nav-link {
        display: block;
        color: #fff;
        text-decoration: none;
        padding: 18px 20px;
        font-weight: 500;
        font-size: 14px;
        position: relative;
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        overflow: hidden;
        white-space: nowrap;
        min-width: max-content;
      }

      /* Smooth hover animation with sliding background */
      .nav-link::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
        transition: left 0.5s ease;
      }

      .nav-link:hover::before {
        left: 100%;
      }

      .nav-link::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 3px;
        background: linear-gradient(90deg, #4CAF50, #45a049);
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transform: translateX(-50%);
        border-radius: 2px;
      }

      .nav-link:hover {
        background: rgba(255, 255, 255, 0.95);
        color: #000;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
      }

      .nav-link:hover::after {
        width: 80%;
      }

      /* Dropdown Styles */
      .dropdown {
        position: relative;
      }

      .dropdown-toggle::after {
        content: ' ▾';
        font-size: 12px;
        margin-left: 8px;
        transition: transform 0.3s ease;
      }

      .dropdown:hover .dropdown-toggle::after {
        transform: rotate(180deg);
      }

      .dropdown-menu {
        position: absolute;
        top: 100%;
		width: max-content;
        left: 0;
        background: linear-gradient(135deg, #222 0%, #444 100%);
        min-width: 280px;
        border-radius: 8px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px) scale(0.95);
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        border: 1px solid rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(10px);
        overflow: hidden;
      }

      .dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
      }

      .dropdown-item {
        display: block;
        color: #fff;
        text-decoration: none;
        white-space: nowrap;		
        padding: 15px 20px;
        transition: all 0.3s ease;
        position: relative;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      }

      .dropdown-item:last-child {
        border-bottom: none;
      }

      .dropdown-item::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 0;
        height: 100%;
        background: linear-gradient(90deg, #4CAF50, #45a049);
        transition: width 0.3s ease;
      }

      .dropdown-item:hover {
        background: rgba(255, 255, 255, 0.9);
        color: #000;
        transform: translateX(5px);
		width: max-content;
      }

      .dropdown-item:hover::before {
        width: 4px;
      }

      /* Puzzle Styles */
      g {
        --s: 70px; /* Variable hier wiederhergestellt */
        --r: 12px;
        display: grid;
        width: fit-content;
        border: 1px solid;
        margin: auto;
        grid: auto-flow var(--s)/repeat(5, var(--s));
      }
      
      /* Original Image Preview Box */
      .original-image-container {
        position: fixed;
        top: 80px;
        right: 10px;
        width: 420px; /* Feste Breite basierend auf 5 * 70px * 1.2 */
        aspect-ratio: 1;
        background-color: rgba(255, 255, 255, 0.7);
        border: 3px dashed #333;
        border-radius: 15px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 10;
        cursor: pointer;
        transition: background 0.3s ease-in-out, border-color 0.3s ease-in-out;
      }

      .original-image-container .question-mark {
        font-size: 10rem;
        font-weight: 700;
        color: #333;
        line-height: 1;
        transition: opacity 0.3s ease-in-out;
        user-select: none;
      }

      .original-image-container .image-label {
        margin: 20px 0 0 0;
        font-size: 1.2rem;
        font-weight: bold;
        color: #333;
        transition: opacity 0.3s ease-in-out;
        user-select: none;
      }

      /* Hover effect */
      .original-image-container:hover {
        background-image: var(--i);
        background-size: cover;
        background-position: center;
        border-color: #fff;
		width: 840px; /* Doppelte Breite */
        height: 840px; /* Doppelte Höhe, da aspect-ratio 1:1 */
      }

      .original-image-container:hover .question-mark,
      .original-image-container:hover .image-label {
        opacity: 0;
      }

      .author-box {
        position: fixed;
        top: 80px;
        left: 10px;
        width: calc(5*var(--s)*0.6);
        background: rgba(0, 0, 0, 0.8);
        color: #fff;
        padding: 10px;
        border-radius: 8px;
        font-size: 14px;
        line-height: 1.4;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
        z-index: 10;
		text-align: left; 
      }

      .author-box h3 {
        margin: 0 0 8px 0;
        font-size: 14px;
        color: #4CAF50;
      }

      .author-box p {
        margin: 4px 0;
        font-size: 14px;
      }
	  
	  .author-box h3,
	  .author-box p {
	  text-align: left;
	  }

      .puzzle-pieces-area {
        width: calc(15 * var(--s));
        height: calc(4 * var(--s));
        border: 2px dashed #fff;
        border-radius: 8px;
        margin: 30px auto;
        position: relative;
        background: rgba(255, 255, 255, 0.1);
      }

      .puzzle-pieces-area:before {
        content: "🧩 Puzzle-Teile Bereich";
        position: absolute;
        top: -25px;
        left: 50%;
        transform: translateX(-50%);
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        background: #547980;
        padding: 5px 15px;
        border-radius: 15px;
      }

      z {
        display: grid;
        position: relative;
        pointer-events: none;
        outline: 1px dashed;
      }

      a {
        grid-area: 1/1;
        width: 0;
        transition: 0s 0.2s;
        pointer-events: initial;
      }

      b {
        grid-area: 1/1;
        z-index: 2;
        display: grid;
        filter: drop-shadow(0 0 2px red) drop-shadow(0 0 2px red);
        cursor: grab;
        pointer-events: initial;
        height: calc(100% + var(--r));
        width: calc(100% + var(--r));
        place-self: start end;
        --m:
          radial-gradient(var(--r) at calc(50% - var(--r)/2) 0,#0000 98%,#000) var(--r) 0/100% var(--r) no-repeat,
          radial-gradient(var(--r) at calc(100% - var(--r)) calc(50% - var(--r)/2),#0000 98%,#000) var(--r) 50%/100% calc(100% - 2*var(--r)) no-repeat,
          radial-gradient(var(--r) at var(--r) calc(50% - var(--r)/2),#000 98%,#0000),
          radial-gradient(var(--r) at calc(50% + var(--r)/2) calc(100% - var(--r)),#000 98%,#0000);
      }

      b:before {
        content: "";
        background: var(--i) 0/calc(5*var(--s)) calc(5*var(--s));
        -webkit-mask: var(--m);
        mask: var(--m);
      }

      z:first-child b {
        height: calc(100% + var(--r));
        width: 100%;
        --m:
          radial-gradient(var(--r) at 100% calc(50% + var(--r)/2),#0000 98%,#000)
           0 calc(-1*var(--r)) no-repeat,
          radial-gradient(var(--r) at 50% calc(100% - var(--r)),#000 98%,#0000) ;
      }

      z:nth-child(-n+4):not(:first-child) b {
        place-self: start end;
        height: calc(100% + var(--r));
        width: calc(100% + var(--r));
        --m:
          radial-gradient(var(--r) at calc(100% - var(--r)) calc(50% + var(--r)/2),#0000 98%,#000)
           var(--r) calc(-1*var(--r)) no-repeat,
          radial-gradient(var(--r) at var(--r) calc(50% - var(--r)/2),#000 98%,#0000),
          radial-gradient(var(--r) at calc(50% + var(--r)/2) calc(100% - var(--r)),#000 98%,#0000) ;
      }

      z:nth-child(5) b {
        place-self: start end;
        height: calc(100% + var(--r));
        width: calc(100% + var(--r));
        --m:
          linear-gradient(#000 0 0) var(--r) calc(-1*var(--r)) no-repeat,
          radial-gradient(var(--r) at var(--r) calc(50% - var(--r)/2),#000 98%,#0000),
          radial-gradient(var(--r) at calc(50% + var(--r)/2) calc(100% - var(--r)),#000 98%,#0000) ;
      }

      z:nth-child(5n+1):not(:first-child):not(:nth-last-child(5)) b {
        height: calc(100% + var(--r));
        width: 100%;
        --m:
          radial-gradient(var(--r) at 100% calc(50% - var(--r)/2),#0000 98%,#000) 50%/ 100% calc(100% - 2*var(--r)) no-repeat,
          radial-gradient(var(--r) at 50% 0,#0000 98%,#000) 0 0/ 100% var(--r) no-repeat,
          radial-gradient(var(--r) at 50% calc(100% - var(--r)),#000 98%,#0000) ;
      }

      z:nth-last-child(5) b {
        height: 100%;
        width: 100%;
        --m:
          radial-gradient(var(--r) at 100% calc(50% - var(--r)),#0000 98%,#000) 0 var(--r) no-repeat,
          radial-gradient(var(--r) at 50% 0,#0000 98%,#000) 0 0/ 100% var(--r) no-repeat;
      }

      z:nth-child(5n):not(:nth-child(5)):not(:last-child) b {
        place-self: start end;
        height: calc(100% + var(--r));
        width: calc(100% + var(--r));
        --m:
          radial-gradient(var(--r) at calc(50% - var(--r)/2) var(--r),#0000 98%,#000) var(--r) calc(-1*var(--r)) no-repeat,
          radial-gradient(var(--r) at var(--r) calc(50% - var(--r)/2),#000 98%,#0000),
          radial-gradient(var(--r) at calc(50% + var(--r)/2) calc(100% - var(--r)),#000 98%,#0000) ;
      }

      z:last-child b {
        place-self: end;
        height: 100%;
        width: calc(100% + var(--r));
        --m:
          radial-gradient(var(--r) at calc(50% - var(--r)/2) 0,#0000 98%,#000) var(--r) 0 no-repeat,
          radial-gradient(var(--r) at var(--r) 50%,#000 98%,#0000) ;
      }

      z:nth-last-child(-n+4):not(:last-child) b {
        place-self: end;
        height: 100%;
        width: calc(100% + var(--r));
        --m:
          radial-gradient(var(--r) at calc(50% - var(--r)/2) 0,#0000 98%,#000) var(--r) 0/100% var(--r) no-repeat,
          radial-gradient(var(--r) at calc(100% - var(--r)) calc(50% - var(--r)/2),#0000 98%,#000) var(--r) 100%/100% calc(100% - var(--r)) no-repeat,
          radial-gradient(var(--r) at var(--r) 50%,#000 98%,#0000) ;
      }

      /* Puzzleteile in den Puzzle-Teile-Bereich positioniert */
      z:nth-of-type(1) b {
        transform: translate(-600%, 500%) rotate(45deg);
      }
      z:nth-of-type(1) b:before {
        background-position: 0% 0%;
      }

      z:nth-of-type(2) b {
        transform: translate(-200%, 550%) rotate(135deg);
      }
      z:nth-of-type(2) b:before {
        background-position: 25% 0%;
      }

      z:nth-of-type(3) b {
        transform: translate(200%, 570%) rotate(270deg);
      }
      z:nth-of-type(3) b:before {
        background-position: 50% 0%;
      }

      z:nth-of-type(4) b {
        transform: translate(600%, 530%) rotate(180deg);
      }
      z:nth-of-type(4) b:before {
        background-position: 75% 0%;
      }

      z:nth-of-type(5) b {
        transform: translate(1000%, 590%) rotate(90deg);
      }
      z:nth-of-type(5) b:before {
        background-position: 100% 0%;
      }

      z:nth-of-type(6) b {
        transform: translate(-700%, 650%) rotate(315deg);
      }
      z:nth-of-type(6) b:before {
        background-position: 0% 25%;
      }

      z:nth-of-type(7) b {
        transform: translate(-300%, 610%) rotate(225deg);
      }
      z:nth-of-type(7) b:before {
        background-position: 25% 25%;
      }

      z:nth-of-type(8) b {
        transform: translate(100%, 670%) rotate(60deg);
      }
      z:nth-of-type(8) b:before {
        background-position: 50% 25%;
      }

      z:nth-of-type(9) b {
        transform: translate(500%, 630%) rotate(120deg);
      }
      z:nth-of-type(9) b:before {
        background-position: 75% 25%;
      }

      z:nth-of-type(10) b {
        transform: translate(900%, 690%) rotate(300deg);
      }
      z:nth-of-type(10) b:before {
        background-position: 100% 25%;
      }

      z:nth-of-type(11) b {
        transform: translate(-800%, 750%) rotate(15deg);
      }
      z:nth-of-type(11) b:before {
        background-position: 0% 50%;
      }

      z:nth-of-type(12) b {
        transform: translate(-400%, 710%) rotate(195deg);
      }
      z:nth-of-type(12) b:before {
        background-position: 25% 50%;
      }

      z:nth-of-type(13) b {
        transform: translate(0%, 770%) rotate(105deg);
      }
      z:nth-of-type(13) b:before {
        background-position: 50% 50%;
      }

      z:nth-of-type(14) b {
        transform: translate(400%, 730%) rotate(285deg);
      }
      z:nth-of-type(14) b:before {
        background-position: 75% 50%;
      }

      z:nth-of-type(15) b {
        transform: translate(800%, 790%) rotate(165deg);
      }
      z:nth-of-type(15) b:before {
        background-position: 100% 50%;
      }

      z:nth-of-type(16) b {
        transform: translate(-600%, 850%) rotate(75deg);
      }
      z:nth-of-type(16) b:before {
        background-position: 0% 75%;
      }

      z:nth-of-type(17) b {
        transform: translate(-200%, 810%) rotate(255deg);
      }
      z:nth-of-type(17) b:before {
        background-position: 25% 75%;
      }

      z:nth-of-type(18) b {
        transform: translate(200%, 870%) rotate(345deg);
      }
      z:nth-of-type(18) b:before {
        background-position: 50% 75%;
      }

      z:nth-of-type(19) b {
        transform: translate(600%, 830%) rotate(30deg);
      }
      z:nth-of-type(19) b:before {
        background-position: 75% 75%;
      }

      z:nth-of-type(20) b {
        transform: translate(1000%, 890%) rotate(210deg);
      }
      z:nth-of-type(20) b:before {
        background-position: 100% 75%;
      }

      z:nth-of-type(21) b {
        transform: translate(-700%, 950%) rotate(150deg);
      }
      z:nth-of-type(21) b:before {
        background-position: 0% 100%;
      }

      z:nth-of-type(22) b {
        transform: translate(-300%, 910%) rotate(330deg);
      }
      z:nth-of-type(22) b:before {
        background-position: 25% 100%;
      }

      z:nth-of-type(23) b {
        transform: translate(100%, 970%) rotate(240deg);
      }
      z:nth-of-type(23) b:before {
        background-position: 50% 100%;
      }

      z:nth-of-type(24) b {
        transform: translate(500%, 930%) rotate(12deg);
      }
      z:nth-of-type(24) b:before {
        background-position: 75% 100%;
      }

      z:nth-of-type(25) b {
        transform: translate(900%, 990%) rotate(96deg);
      }
      z:nth-of-type(25) b:before {
        background-position: 100% 100%;
      }

      z b {
        transition: 9999s 9999s;
      }

      z:active a {
        width: 100%;
        transition: 0s;
      }

      z a:hover ~ b {
        transform: translate(0);
        filter: none;
        transition: 0s;
      }

      h1 {
        font-size: 2rem;
        margin: 0;
        text-align: center;
        margin-bottom: 10px;
      }

      p {
        font-size: 0.8rem;
        text-align: center;
        margin-bottom: 20px;
      }

      .info {
        text-align: center;
        margin-top: 20px;
        font-size: 0.7rem;
        opacity: 0.8;
      }

      /* Mobile Responsive */
      @media (max-width: 1200px) {
        .nav-link {
          padding: 18px 15px;
          font-size: 13px;
        }
      }

      @media (max-width: 768px) {
        body {
          padding-top: 300px;
        }

        .navbar {
          min-height: auto;
        }

        .nav-container {
          flex-direction: column;
          padding: 10px;
          height: auto;
        }

        .nav-menu {
          flex-direction: column;
          width: 100%;
          gap: 0;
        }

        .nav-item {
          width: 100%;
        }

        .nav-link {
          padding: 15px 20px;
          text-align: center;
          border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .dropdown-menu {
          position: static;
          opacity: 1;
          visibility: visible;
          transform: none;
          box-shadow: none;
          background: rgba(0, 0, 0, 0.3);
          border-radius: 0;
          max-height: 0;
          overflow: hidden;
          transition: max-height 0.3s ease;
        }

        .dropdown:hover .dropdown-menu {
          max-height: 300px;
        }

        .original-image-container, .author-box {
          position: relative;
          margin: 0 auto 20px;
          top: 0;
          left: 0;
          right: auto;
        }
        
        .original-image-container {
            width: 90%;
            max-width: 300px;
        }

        .author-box {
          width: 100%;
          max-width: 300px;
        }

        .puzzle-pieces-area {
          width: calc(10 * var(--s));
          margin: 20px auto;
        }
      }
