        html, body {
            margin: 0;
            padding: 0;
            height: 100%;
            width: 100%;
        }

        body {
            display: flex;
            justify-content: center;
            align-items: flex-start;  /* Align to top */
            box-sizing: border-box;
        }

        .tooltip {
            position: absolute;
            background-color: black;
            color: white;
            padding: 5px 10px;
            border-radius: 5px;
            font-size: 12px;
            white-space: nowrap;
            display: none;
            box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
            z-index: 200;
        }

        .container {
          display: grid;
          width: 100vw;
          grid-template-areas:
            "top top top"
            "left face right"
            "bottom bottom bottom";
          grid-template-columns: 1fr auto 1fr;
          grid-template-rows: auto auto auto;
          gap: 0;
        }
        #top {
          grid-area: top;
          background-color: lightblue;
          text-align: center;
          padding: 10px;
        }
        #left {
          grid-area: left;
          background-color: lightgreen;
          text-align: center;
          padding: 10px;
          min-width: 50px;
        }
        #face {
          grid-area: face;
          background-color: lightcoral;
          display: flex;
          justify-content: center;
          align-items: center;
          aspect-ratio: 140 / 80;
          height: calc(100vh - 100px);
          max-height: calc(100vh - 100px);
          width: auto;
    	  position: relative;
        }
        #right {
          grid-area: right;
          background-color: lightgoldenrodyellow;
          text-align: center;
          padding: 0px;
          min-width: 50px;
        }
        
        #right-container {
            background: white;
            padding: 5px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            display: right;
        }
        #question-input {
            display: none;
            width: 100%; /* Volle Breite für bessere Anpassung */
            text-align: right; /* Eingabetext rechtsbündig */
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box; /* Verhindert Überlauf */
            margin-bottom: 10px; /* Abstand zu den Buttons */
        }
        .question-container {
            margin-bottom: 15px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            display: block;
        }
        .button-container {
            display: flex;
            gap: 10px;
            justify-content: flex-end; /* Buttons rechts ausrichten */
            flex-wrap: wrap; /* Erlaubt Umbruch, wenn nötig */
        }
        button {
            padding: 8px 16px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
        }
        .allow-btn {
            background: #4CAF50;
            color: white;
        }
        .postpone-btn {
            background: #f0f0f0;
            color: #333;
        }
        button:hover {
            opacity: 0.9;
        }        
        
        #bottom {
          grid-area: bottom;
          background-color: lightpink;
          text-align: center;
          padding: 10px;
        }
        #bottom img {
          width: 2rem;
          height: 2rem;
          margin-right: 10px;
        }
                
        @media (max-aspect-ratio: 140/80) {
          .container {
            display: grid;
            width: 100vw;
            grid-template-areas:
              "top"
              "face"
              "left"
              "right"
              "bottom";
              grid-template-columns: 1fr auto 1fr;
              grid-template-rows: auto auto auto;
              gap: 0;
            /*grid-template-columns: 100%;*/
            /*grid-template-rows: auto auto auto auto auto;*/
          }
          #face {
            width: min(100vw, calc((100vh - 200px) * 140 / 80));
            height: min(calc((100vw * 80) / 140), calc(100vh - 200px));
            margin: 0 auto;
    		position: relative;
          }
          #left, #right, #top, #bottom {
            width: 100vw;
          }
        }

        .eyes-container {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 80vmin;
            height: 40vmin;
            z-index: 20;
        }

        .eye {
            background-color: white;
            width: 40%; 
            height: 0; /* Höhe auf 0 setzen */
            padding-bottom: 40%; /* Padding erzeugt die Höhe proportional zur Breite */
            border-radius: 50%;
            border: 3px solid black;
            position: relative;
            margin: 0 5%;
            overflow: hidden;
            animation: breathe 8s infinite ease-in-out;
			transform: scaleY(0);
        }

        .pupil-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .pupil {
            width: 35%;
            height: 35%;
            background-color: black;
            border-radius: 50%;
            position: relative;
        }

        .aura {
            content: '';
            position: absolute;
            width: 40%;
            height: 40%;
            background: radial-gradient(circle, #ff7f50, #ff69b4, #1e90ff);
            background-size: 200%; 
            border-radius: 50%;
            filter: blur(5px); 
            animation: marble 5s infinite alternate;
            display: none;
        }
        
        .eyeHighlight {
            position: absolute;
            top: 20%;
            left: 20%;
            width: 20%;
            height: 20%;
            background-color: rgba(255,255,255,0.7);
            border-radius: 50%;
            animation: highlightShine 59s infinite ease-in-out;
            z-index: 5;
        }
        .eyeHighlight.moon {
            overflow: hidden;
        }
        .eyeHighlight.moon::before {
            content: '';
            position: absolute;
            top: -25%;
            left: -25%;
            width: 110%;
            height: 110%;
            background-color: #000;
            border-radius: 50%;
            box-shadow: 25% -25% 0 0 rgba(255,255,255,0.7);
        }
        .eyeHighlight.hidden {
          display: none;
        }
                
        .eyelid {
            position: absolute;
            left: 0;
            width: 100%;
            height: 50%;
            background-color: #cccccc;
            opacity: 98%;
            z-index: 100;
            /* transform: translateZ(0) scaleY(0); */
			transform: scaleY(0);
            transition: transform 0.2s ease;
        }
        .top-lid {
            top: 0;
            transform-origin: top;
        }
        .bottom-lid {
            bottom: 0;
            transform-origin: bottom;
        }

        .eye.blink .top-lid {
            transform: translateZ(0) scaleY(1);
        }
        .eye.blink .bottom-lid {
            transform: translateZ(0) scaleY(1);
        }

		.heart {
            position: relative;
			width: 25%;
			height: 25%;
			background-color: red;
			transform: rotate(-45deg);
			top: 45%;
			left: 38%;
			transform: translate(-50%, -50%) rotate(-45deg);
			animation: heartbeat 2s linear infinite;
            display: none;
		}
		.heart::before,
		.heart::after {
			content: "";
			width: 100%;
			height: 100%;
			background-color: red;
			border-radius: 50%;
			position: absolute;
		}
		.heart::before {
			top: -50%;
			left: 0;
		}
		.heart::after {
			top: 0;
			right: -50%;
		}

        .cloud {
          --cloud-width: 40px; /* Breite der Wolke */
          --cloud-height: 20px; /* Höhe der Wolke */
          --cloud-color: #ddd; /* Farbe der Wolke */

          position: relative;
		  top: 40%;
		  left: 25%;
          width: var(--cloud-width);
          height: var(--cloud-height);
          background: var(--cloud-color);
          border-radius: 50%;
          box-shadow: 
            calc(var(--cloud-width) * 0.2)  calc(var(--cloud-height) * 0.25)  0 calc(-0.1 * var(--cloud-height)) var(--cloud-color),
            calc(var(--cloud-width) * 0.5)  calc(var(--cloud-height) * 0.375) 0 calc(-0.1 * var(--cloud-height)) var(--cloud-color),
            calc(var(--cloud-width) * 0.75) calc(var(--cloud-height) * 0.25)  0 calc(-0.1 * var(--cloud-height)) var(--cloud-color),
            calc(var(--cloud-width) * 0.6)  calc(var(--cloud-height) * -0.25) 0 calc(-0.1 * var(--cloud-height)) var(--cloud-color);
          display: none;
        }

        .raindrop {
          position: absolute;
          bottom: 0;
          left: 50%;
          width: 4px;
          height: 15px;
          background: #00f;
          border-radius: 50%;
          animation: fall 1.5s linear infinite;
          transform: translateX(-50%);
        }
        .raindrop:nth-child(1) {
          left: 70%;
          animation-delay: 0s;
        }
        .raindrop:nth-child(2) {
          left: 90%;
          animation-delay: 0.3s;
        }
        
        .star {
            position: relative;
		    width: 25%;
		    height: 25%;
			top: 38%;
			left: 38%;
            transform: translate(-50%, -50%);
            background: radial-gradient(circle, white 0%, transparent 70%);
            border-radius: 50%;
            animation: twinkle 2s infinite;
            display: none;
        }

        .star::before, .star::after {
          content: '';
          position: absolute;
          background: white;
          border-radius: 50%;
        }

        .star::before {
          width: 2px;
          height: 10px;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%) rotate(45deg);
        }

        .star::after {
          width: 10px;
          height: 2px;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%) rotate(45deg);
        }

        .aura2 {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 70%; /* Aura-Größe relativ zum Auge */
            height: 70%;
            background: radial-gradient(circle, #ff7f50, #ff69b4, #1e90ff);
            /* background: radial-gradient(circle, rgba(255, 127, 80, 0.6), rgba(255, 69, 0, 0)); Einfarbiger Verlauf */
            border-radius: 50%;
            animation: marble 5s infinite alternate;
            opacity: 0.3;
            filter: blur(5px); /* Weiche Ränder */
            display: none;
        }
    
        .nose {
          position: absolute;
          top: 70%;
          left: 45%;
          width: 100px;
          height: 100px;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='360 380 60 60'%3E%3Cpath d='M380 400 C380 420, 420 420, 420 400 Q400 430, 380 400 Z' fill='%23FF9494' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain;
          display: none;
        }

        .denkblase {
            position: absolute;
            top: 3%;
            right: 3%;
            padding: 10px;
            cursor: grab;
            background: white;
            border-radius: 50%;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            text-align: center;
            font-size: 5vmin;
            animation: pulse 1.5s infinite alternate;
            min-width: 7%;
            min-height: 5%;
            display: none;
        }
        .denkblase::after {
            content: '';
            position: absolute;
            bottom: -7%;
            left: 20%;
            width: 15%;
            height: 15%;
            background: white;
            border-radius: 50%;
            z-index: 2; /* Sicherstellen, dass es über dem Canvas liegt */
            transform: translateX(-50%);
        }
        /* Canvas-Container innerhalb der Denkblase */
        #fractal-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: 50%;  /* Hier jetzt der overflow */
            overflow: hidden;    /* Nur der Container hat clipping */
            z-index: 1;
        }
        .gray-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            backdrop-filter: grayscale(100%); /* Backdrop-Filter mit Präfixen; Andere Browser */
            -webkit-backdrop-filter: grayscale(100%); /* Safari */
            background: rgba(0, 0, 0, 0.01); /* Fallback für ältere Safari-Versionen; Leichtes Alpha für "Stacking Context" */
            pointer-events: none;
            opacity: 0; /* Unsichtbar starten */
            transition: opacity 10s ease-in-out; /* Sanfte Einblendung */
            z-index: 150;
            mask: none; /* Statische Maske entfernen */
            -webkit-mask: none; /* Für Safari */
        }
        .gray-overlay.visible {
            opacity: 1; /* Voll sichtbar */
        }
        .gray-overlay-fallback {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: rgba(128, 128, 128, 0.5); /* Grauer Overlay */
            mix-blend-mode: multiply; /* Farbwirkung */
            pointer-events: none;
            display: none;
            z-index: 149; /* Unter der eigentlichen Maske */
        }
        
        .weatherIcon {
            position: absolute;
            top: 3%;
            left: 3%;
            padding: 0px;
            background-color: lightblue;
            border-radius: 10%;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            text-align: center;
            animation: pulse 5s infinite alternate;
            overflow: hidden;
            width: 6%;
            height: auto;
            display: none;
            animation: einblenden 10s;
            -webkit-animation: einblenden 10s; /* Für Safari und Chrome */
        }
        img {
            position: relative;
            max-width: 100%;
            height: auto;
            width: auto\9; /* ie8 */
        }

        .marquee-container {
            width: 100%;
            overflow: hidden;
            position: relative;
            user-select: none;
            cursor: grab;
            display: flex;
            justify-content: center;
            align-items: center; /* Zentriert das Icon und den Text vertikal */
        }
        .marquee-klammer {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center; /* Zentriert das Icon und den Text vertikal */
        }
        .buchIcon {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-right: 10px; /* Abstand zwischen Icon und Text */
        }
        .marquee {
            /* display: inline-block; */
            display: flex;
            justify-content: center;
            align-items: center;
            white-space: nowrap;
            will-change: transform;
            position: relative;
            /* padding-right: 100%; */
        }
        .material-symbols-outlined {
            cursor: pointer; /* Zeigt an, dass das Icon anklickbar ist */
            font-size: 24px;
        }
        
        @keyframes pulse {
            from { transform: scale(1); }
            to { transform: scale(1.1); }
        }

        @keyframes marble { 0% { background-position: 0% 50%; } /* Animation für den Marmoreffekt */
            100% { background-position: 100% 50%; }
        }
    
        @keyframes fall {
          0% { opacity: 1; transform: translateX(-50%) translateY(0); }
          100% { opacity: 0; transform: translateX(-50%) translateY(50px); }
        }
        
        @keyframes twinkle { 
          0% { opacity: 0.3; transform: scale(0.8); }
          50% { opacity: 1; transform: scale(1.2); }
          100% { opacity: 0.3; transform: scale(0.8); }
        }

		@keyframes heartbeat {
			0% { transform: rotate(-45deg) scale(1); }
			50% { transform: rotate(-45deg) scale(1.2); }
			100% { transform: rotate(-45deg) scale(1); }
		}

        @keyframes marble { 0% { background-position: 0% 50%; } /* Animation für den Marmoreffekt */
            100% { background-position: 100% 50%; }
        }
    
        @keyframes breathe { /* augen werden kleiner und größer */
          0%, 100% { transform: scale(1); }
          50% { transform: scale(1.05); }
        }
	
        @keyframes highlightShine {
          0%, 100% { transform: scale(1); opacity: 0.9; } /* augen werden kleiner und größer, und weisser */
          50% { transform: scale(0.8); opacity: 0; }
        }

        @keyframes einblenden {
            from { opacity:0; }
            to { opacity:1; }
        }

        /* Neue Müdigkeits-Styles */
        .eye.tired-1 .top-lid,
        .eye.tired-1 .bottom-lid {
            transform: scaleY(0.2);
        }

        .eye.tired-2 .top-lid,
        .eye.tired-2 .bottom-lid {
            transform: scaleY(0.4);
        }

        .eye.tired-3 .top-lid,
        .eye.tired-3 .bottom-lid {
            transform: scaleY(0.6);
        }

        .eye.sleeping .top-lid,
        .eye.sleeping .bottom-lid {
            transform: scaleY(1);
        }

        /* Blinzeln */
        .eye.blink .top-lid {
            transform: scaleY(1);
        }

        .eye.blink .bottom-lid {
            transform: scaleY(1);
        }