@font-face {
	font-family: "tiny";
	src: url("../fonts/TinyGrotesk-NarrowMedium.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "rounded";
	src: url("../fonts/ABCCameraRoundedPlusVariable.ttf") format("truetype");
	font-weight: 100 900; /* ← WICHTIG */
	font-style: normal;
	font-display: swap;
}

/* html,
body {
	height: auto; 
	min-height: 100%; 
	width: 100vw;
	margin: 0;
	padding: 0;
	overflow-y: auto; 
	position: relative; 
} */

html,
body {
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;

	width: 100vw;
	margin: 0;
	padding: 0;

	overflow: hidden; /* default */
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body:not(.endpage) {
	overflow: hidden;
	height: 100vh;
}

body.endpage {
	overflow-y: auto; /* Scrollen nur vertikal */
	overflow-x: hidden;
	/* height: auto; Body kann wachsen */
	/* NEU Start! */
	height: 100vh;
	/* NEU End! */
	position: relative; /* nicht fixed, damit Seite scrollt */
}

html {
	background: #b3b3b3;
}

@keyframes floatUp {
	0% {
		transform: translate(0, 0) scale(1);
		opacity: 1;
	}
	100% {
		transform: translate(var(--x), var(--y)) scale(0.5);
		opacity: 0;
	}
}

.start {
	pointer-events: none;
}

.start .textbox,
.start .textbox * {
	pointer-events: auto;
}

.start button {
	pointer-events: auto;
}

.frage {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	text-align: center;
	color: #808080;
	min-width: 13ch; /* ← DAS ist der Schlüssel */
	font-size: 32px;
	padding: 40px;
	line-height: 1;
	word-wrap: break-word;
	overflow-wrap: break-word;
	white-space: normal;
	display: block; /* wichtig */
}
.flying-element {
	position: absolute;
	right: -400px; /* Start rechts außerhalb des Bildschirms */
	bottom: -100px; /* Start unterhalb */
	width: 200px; /* Größe anpassen */
	height: auto;
	animation: fly-diagonal 12s linear forwards;
	pointer-events: none; /* nicht klickbar */
	z-index: 10; /* über dem Hintergrund */
}
@keyframes fly-diagonal {
	0% {
		right: -400px; /* Start rechts unten */
		bottom: -100px;
	}
	100% {
		right: 180%; /* Ende links oben (relative Verschiebung) */
		bottom: 180%; /* Ende oben */
	}
}

.lovestory {
	font-size: 30px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: white;
	position: fixed;
	top: 20px;
	padding: 20px;
	max-height: 500px;
	overflow-y: auto;
}

@keyframes shake {
	0% {
		transform: translateX(0);
	}
	20% {
		transform: translateX(-2px);
	}
	40% {
		transform: translateX(2px);
	}
	60% {
		transform: translateX(-2px);
	}
	80% {
		transform: translateX(2px);
	}
	100% {
		transform: translateX(0);
	}
}

.shake-wrap {
	display: inline-block; /* nötig für absolute Position */
	position: relative; /* Anker für Badge */

	/* Animation auf Wrapper */
	animation: shake 0.4s infinite;
}

.shake-text {
	font-family: "rounded";
	font-size: 32px;
	text-decoration: underline;
	color: rgb(0, 0, 255);
	cursor: pointer;
	display: inline-block; /* Transform nötig */
}

.click {
	position: absolute;
	top: -0.8rem;
	left: 50%;
	transform: translateX(-50%) rotate(-5deg);
	pointer-events: none;
}

.click img {
	display: block;
	width: 4rem;
}

.shake-all {
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(0, 0, 255);
	font-size: 32px;
	text-decoration: underline;
	display: inline-block; /* wichtig für transform */
	animation: shake 0.4s infinite;
	animation-delay: 1s; /* Start nach 2 Sekunden */
	cursor: pointer;
}

.shakezwei {
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(0, 0, 255);
	font-size: 21px;
	text-decoration: underline;
	display: inline-block; /* wichtig für transform */
	animation: shake 0.4s infinite;
	animation-delay: 2s; /* Start nach 2 Sekunden */
}

.shakedrei {
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(0, 0, 255);
	font-size: 21px;
	text-decoration: underline;
	display: inline-block; /* wichtig für transform */
	animation: shake 0.4s infinite;
	animation-delay: 2s; /* Start nach 2 Sekunden */
}

.when {
	position: fixed;
	top: 10px;
	max-width: 95%;
	height: auto;
}

.will {
	position: fixed;
	top: 70px;
	left: 20px;
	max-width: 95%;
	height: auto;
}

.fall {
	position: fixed;
	top: 200px;
	left: 20px;
	max-width: 95%;
	height: auto;
}

.love {
	position: fixed;
	top: 220px;
	left: 10px;
	max-width: 95%;
	height: auto;
}

.with {
	position: fixed;
	top: 390px;
	left: 10px;
	max-width: 95%;
	height: auto;
}

.ai {
	position: fixed;
	top: 450px;
	left: 20px;
	max-width: 95%;
	height: auto;
}

.datum {
	position: absolute;
	top: 170px;
	left: 50%;
	transform: translate(-50%);
	width: 90%;
	height: auto;
}

.datumzwei {
	position: absolute;
	top: 320px;
	left: 50%;
	transform: translate(-50%);
	width: 110%;
	height: auto;
	z-index: 4;
}

.twenty {
	position: absolute;
	top: 120px;
	left: 50%;
	transform: translate(-50%);
	width: 80%;
	height: auto;
	z-index: 1;
}

.eigth {
	position: absolute;
	top: 120px;
	left: 2%;
	width: 80%;
	height: auto;
	z-index: 1;
}

.of {
	position: absolute;
	top: 180px;
	right: 15px;
	width: 40%;
	height: auto;
	z-index: 2;
}
.ofzwei {
	position: absolute;
	top: 160px;
	right: 10px;
	width: 40%;
	height: auto;
	z-index: 2;
}
.july {
	position: absolute;
	top: 240px;
	left: 10px;
	width: 80%;
	height: auto;
	z-index: 3;
}

.april {
	position: absolute;
	top: 240px;
	left: 10px;
	width: 80%;
	height: auto;
	z-index: 3;
}

.august {
	position: absolute;
	top: 220px;
	left: 5px;
	width: 100%;
	height: auto;
	z-index: 3;
}

.march {
	position: absolute;
	top: 230px;
	left: 1%;
	width: 100%;
	height: auto;
	z-index: 3;
}
.forty {
	position: absolute;
	top: 290px;
	left: 50%;
	transform: translate(-50%);
	width: 110%;
	height: auto;
	z-index: 4;
}

.day {
	position: absolute;
	top: 180px;
	left: 50%;
	transform: translate(-50%);
	width: 60%;
	height: auto;
	z-index: 4;
}

.after {
	position: absolute;
	top: 250px;
	left: 50%;
	transform: translate(-50%);
	width: 80%;
	height: auto;
	z-index: 4;
}

.tomorrow {
	position: absolute;
	top: 330px;
	left: 50%;
	transform: translate(-50%);
	width: 90%;
	height: auto;
	z-index: 4;
}

.zweiunddrei {
	position: absolute;
	top: 310px;
	left: 50%;
	transform: translate(-50%);
	width: 110%;
	height: auto;
	z-index: 4;
}

.thirty {
	position: absolute;
	top: 300px;
	left: 50%;
	transform: translate(-50%);
	width: 110%;
	height: auto;
	z-index: 4;
}
.theday {
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translate(-50%);
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	text-align: center;
	color: rgb(0, 0, 255);
	line-height: 1;
	min-width: 13ch; /* ← DAS ist der Schlüssel */
	font-size: 32px;
}

.wolke {
	position: fixed;
	top: 70px;
	left: 0;
	max-width: 40%;
	height: auto;
}

.wolkezwei {
	position: fixed;
	transform: scaleX(-1);
	top: 260px;
	right: 0;
	max-width: 40%;
	height: auto;
}

.wolkedrei {
	position: absolute;
	transform: scaleX(-1);
	top: 400px;
	right: 0;
	max-width: 50%;
	height: auto;
	z-index: 6;
}

.wolkevier {
	position: absolute;
	top: 60px;
	left: 0;
	max-width: 40%;
	height: auto;
	z-index: 0;
}

.sterne {
	position: fixed;
	top: 70px;
	left: 50px;
	max-width: 18%;
	height: auto;
	animation: sparkle 1.2s infinite ease-in-out;
}

.sternezwei {
	position: fixed;
	top: 430px;
	right: 30px;
	max-width: 18%;
	height: auto;
	animation: sparkle 1.2s infinite ease-in-out;
}

@keyframes sparkle {
	0% {
		transform: scale(1);
		filter: brightness(1);
		opacity: 0.8;
	}
	50% {
		transform: scale(1.2);
		filter: brightness(1.6);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		filter: brightness(1);
		opacity: 0.8;
	}
}

@keyframes float-left {
	0% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-8px, -4px);
	}
	100% {
		transform: translate(0, 0);
	}
}

@keyframes float-right {
	0% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(8px, -4px);
	}
	100% {
		transform: translate(0, 0);
	}
}

@keyframes float-up {
	0% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(0, -10px);
	}
	100% {
		transform: translate(0, 0);
	}
}

@keyframes float-diagonal {
	0% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(6px, -6px);
	}
	100% {
		transform: translate(0, 0);
	}
}

.float-left {
	animation: float-left 12s ease-in-out infinite;
}

.float-right {
	animation: float-right 10s ease-in-out infinite;
}

.float-up {
	animation: float-up 14s ease-in-out infinite;
}

.float-diagonal {
	animation: float-diagonal 11s ease-in-out infinite;
}

.banner {
	position: absolute; /* über allem, optional: z-index */
	top: 460px; /* Höhe auf dem Bildschirm */
	left: 0;
	width: 100%;
	overflow: hidden; /* Text verschwindet, wenn er rausläuft */
	pointer-events: none;
	font-family: "rounded";
	font-variation-settings: "wght" 300, "MONO" 0, "BULL" 0;
	text-align: center; /* damit man nichts anklickt */
	z-index: -1;
}

.banner span {
	display: inline-block;
	white-space: nowrap; /* damit der Text nicht umbricht */
	font-size: 1.6rem; /* Schriftgröße */
	font-weight: bold;
	color: rgb(0, 0, 255);

	animation: scrollBanner 10s linear infinite;
}

@keyframes scrollBanner {
	0% {
		transform: translateX(100%); /* Start rechts außerhalb */
	}
	100% {
		transform: translateX(-100%); /* Ende links außerhalb */
	}
}

/* Animation */
@keyframes invertOnce {
	0% {
		filter: invert(0);
	}
	30% {
		filter: invert(0);
	}

	40% {
		filter: invert(1);
	}
	50% {
		filter: invert(0);
	}
	60% {
		filter: invert(1);
	}
	70% {
		filter: invert(0.9);
	}

	100% {
		filter: invert(1);
	}
}

.angel {
	position: relative;
	top: 60px;
	margin-left: 10px; /* Abstand vom linken Rand */
	margin-right: auto;
	width: 160px; /* anpassen */
	z-index: 8;
}

.angel img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.eyes-open {
	opacity: 1;
	animation: eyesOpen 2s infinite steps(1);
}

/* Augen zu */
.eyes-closed {
	opacity: 0;
	animation: eyesClosed 2s infinite steps(1);
}

@keyframes eyesOpen {
	0%,
	90%,
	100% {
		opacity: 1;
	}
	91%,
	96% {
		opacity: 0;
	}
}

@keyframes eyesClosed {
	0%,
	90%,
	100% {
		opacity: 0;
	}
	91%,
	96% {
		opacity: 1;
	}
}

.money-wrapper {
	/* NEU Start! */
	position: fixed;
	/* NEU End! */
	bottom: 0; /* ganz unten in der Endpage */
	left: 0;
	width: 100%;
	pointer-events: none; /* blockiert keine Klicks */
	z-index: 5;
}

.money {
	width: 70%;
	animation: crabWalk 6s ease-in-out infinite alternate;
}

.money img {
	width: 100%;
	display: block;
	animation: crabShake 0.8s steps(2, end) infinite;
	transform-origin: center center;
}

@keyframes crabWalk {
	0% {
		transform: translateX(-120px);
	}
	100% {
		transform: translateX(calc(100vw - 100px));
	}
}

@keyframes crabShake {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(-12deg);
	}
	50% {
		transform: rotate(12deg);
	}
	75% {
		transform: rotate(-12deg);
	}
	100% {
		transform: rotate(0deg);
	}
}

.bottom-space {
	position: relative;
	height: 200px; /* wie viel Platz du unten willst */
	width: 100%;
}

#popup {
	display: none; /* zuerst ausblenden */
	position: fixed;
	top: 150px;
	left: 50%;
	transform: translate(-50%);
	max-width: 80%;
	max-height: 80%;
	rotate: 10deg;
	z-index: 1000;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	cursor: pointer;
}

#popup.show {
	display: block;
}

.nextshow .card {
	filter: blur(5px);
	width: 100vw;
	height: 100dvh;
	left: 0;
	top: 0;
	position: fixed;
}

.card.woggle {
	animation: woggleHint 1.8s ease-in-out 1;
	transform-origin: center center;
}

@keyframes woggleHint {
	0% {
		transform: translateX(0) rotate(0deg);
	}
	20% {
		transform: translateX(-6px) rotate(-2deg);
	}
	40% {
		transform: translateX(6px) rotate(2deg);
	}
	60% {
		transform: translateX(-4px) rotate(-1.5deg);
	}
	80% {
		transform: translateX(4px) rotate(1.5deg);
	}
	100% {
		transform: translateX(0) rotate(0deg);
	}
}

.Findnow {
	position: fixed;
	bottom: 30px; /* Abstand vom unteren Rand */
	right: 30px;
	width: 70px;
	height: 70px;
	background-color: #ffffff;
	box-shadow: 1px 1px 10px #5586ff;
	font-family: "rounded";
	font-variation-settings: "wght" 900, "MONO" 0, "BULL" 0;
	font-style: plain;
	color: rgb(0, 0, 255);
	font-size: 70px;
	border-radius: 60px;
	display: flex; /* ← KEY */
	align-items: center; /* vertikal */
	justify-content: center; /* horizontal */
	white-space: nowrap; /* ← WICHTIG */
	line-height: 1; /* ← verhindert optisches Absacken */
	cursor: pointer;
	text-decoration: none;
}

#info-button {
	position: fixed;
	bottom: 30px; /* Abstand vom unteren Rand */
	left: 30px;
	padding: 3px 0px; /* oben/unten 15px, links/rechts 40px */
	width: 70px;
	height: 70px;
	background-color: #ffffff;
	box-shadow: 1px 1px 10px #5586ff;
	color: #ff0000;
	border-radius: 60px;
	font-family: "rounded";
	font-size: 70px;
	font-variation-settings: "wght" 900, "MONO" 0, "BULL" 0;
	display: flex; /* ← KEY */
	align-items: center; /* vertikal */
	justify-content: center; /* horizontal */
	cursor: pointer;
	text-decoration: none;
}

.buy {
	position: fixed;
	bottom: 45px; /* Abstand vom unteren Rand */
	left: 50%; /* horizontal zentrieren */
	transform: translateX(-50%);
	width: 230px;
	height: 50px;
	background-color: #ffffff;
	opacity: 80%;
	box-shadow: 1px 1px 10px #5586ff;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	font-style: plain;
	color: rgb(0, 0, 255);
	font-size: 30px;
	border-radius: 60px;
	display: flex; /* ← KEY */
	align-items: center; /* vertikal */
	justify-content: center; /* horizontal */
	white-space: nowrap; /* ← WICHTIG */
	line-height: 1; /* ← verhindert optisches Absacken */
	cursor: pointer;
	text-decoration: none;
}

.menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px; /* Abstand zwischen allen Elementen */
	margin-top: 800px;
	z-index: 10;
}

/* Buttons */
.yourstory {
	margin-top: 210px;
	width: 210px;
	height: 50px;
	background-color: #ffffff;
	opacity: 0.8;
	box-shadow: 1px 1px 10px #5586ff;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(0, 0, 255);
	font-size: 30px;
	border-radius: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	text-decoration: none;
	position: relative;
	z-index: 11;
}

.moreinfo {
	margin-top: 2px;
	width: 210px;
	height: 50px;
	background-color: #ffffff;
	opacity: 0.8;
	box-shadow: 1px 1px 10px #5586ff;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(0, 0, 255);
	font-size: 30px;
	border-radius: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	text-decoration: none;
	position: relative;
	z-index: 11;
}

.tryagain {
	margin-top: 4px;
	width: 210px;
	height: 50px;
	background-color: #ffffff;
	opacity: 0.8;
	box-shadow: 1px 1px 10px #5586ff;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(0, 0, 255);
	font-size: 30px;
	border-radius: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	text-decoration: none;
	position: relative;
	z-index: 11;
}

.yes {
	position: fixed;
	bottom: 60px; /* Abstand vom unteren Rand */
	right: 80px;
	padding: 3px 0px; /* oben/unten 15px, links/rechts 40px */
	width: 70px;
	height: 70px;
	background-color: #ffffff;
	opacity: 80%;
	box-shadow: 1px 1px 10px #5586ff;
	color: #b3b3b3;
	border-radius: 60px;
	font-family: "rounded";
	font-weight: 900;
	font-size: 80px;
	font-variation-settings: "wght" 900, "MONO" 0, "BULL" 0;
	display: flex; /* ← KEY */
	align-items: center; /* vertikal */
	justify-content: center; /* horizontal */
	cursor: pointer;
	text-decoration: none;
	z-index: 10;
}

.yes .drehen {
	display: inline-block; /* MUSS sein, sonst rotate funzt nicht */
	transform: rotate(-230deg); /* z. B. 45° drehen */
	transform-origin: center; /* Drehpunkt = Mitte */
	line-height: 1;
	margin-left: 10px;
}

.no {
	position: fixed;
	bottom: 60px; /* Abstand vom unteren Rand */
	left: 80px;
	width: 70px;
	height: 70px;
	background-color: #ffffff;
	opacity: 80%;
	box-shadow: 1px 1px 10px #5586ff;
	color: #b3b3b3;
	border-radius: 60px;
	font-family: "rounded";
	font-weight: 900;
	font-size: 80px;
	font-variation-settings: "wght" 900, "MONO" 0, "BULL" 0;
	display: flex; /* ← KEY */
	align-items: center; /* vertikal */
	justify-content: center; /* horizontal */
	cursor: pointer;
	text-decoration: none;
	z-index: 10;
}

.choice.active {
	background-color: rgb(0, 0, 255);
}

.music {
	position: fixed;
	top: 110px; /* Abstand vom unteren Rand */
	right: 50%;
	left: 50%;
	transform: translateX(-50%);
	padding: 3px 0px; /* oben/unten 15px, links/rechts 40px */
	width: 300px;
	background-color: #ffffff;
	color: rgb(0, 0, 0);
	border: 3px solid black;
	border-radius: 35px;
	font-size: 40px;
	text-align: center;
	display: block;
	cursor: pointer;
	text-decoration: none;
}

.cover {
	position: fixed;
	top: 60px; /* Abstand von oben */
	left: 50%; /* horizontaler Mittelpunkt */
	transform: translateX(-50%); /* genau zentrieren */
	width: 90%; /* automatisch proportional skalieren */
	height: auto; /* optional, je nach Bild */
	max-width: 90%; /* damit es nicht zu groß wird */
}
.info {
	font-size: 30px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: grey;
	background-color: white;
	position: fixed;
	top: 20px;
	padding: 20px;
	max-height: 500px;

	overflow-y: auto;
}

.textbox {
	position: fixed;
	top: 90px;
	left: 50%;
	margin-left: -170px; /* Hälfte von 340px */
	width: 340px;
	height: 460px;

	padding: 20px;
	box-sizing: border-box;

	background: white;
	border-radius: 80px;
	z-index: 3;
	box-shadow: 1px 1px 10px #5586ff;
	overflow: hidden;
}

.text {
	font-size: 21px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(128, 128, 128);
	max-height: 100%; /* passt sich der Box an */
	overflow-y: auto; /* Scrollbar, wenn zu viel Text */
	min-width: 22ch;
	position: absolute; /* fixiert den Textbereich innerhalb Container */
	top: 80px; /* Abstand vom Container-Top */
	bottom: 80px; /* Abstand vom Container-Bottom */
	left: 30px;
	right: 80px;
	/* position: fixed; <- entfernt! */
}
.text p {
	margin-bottom: 1.2em;
}

.red {
	font-size: 21px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: red;
}

.blue {
	font-size: 21px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: blue;
}

.score {
	font-size: 21px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: red;
	min-width: 13ch;
	text-align: center;
}
/* .score {
	position: fixed;
	top: 350px; 
	left: 50%; 
	transform: translateX(-50%);
	width: 210px;
	height: 50px;
	background-color: #ffffff;
	opacity: 80%;
	box-shadow: 1px 1px 10px #5586ff;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	font-style: plain;
	color: rgb(0, 0, 255);
	font-size: 30px;
	border-radius: 60px;
	display: flex; 
	align-items: center; 
	justify-content: center; 
	white-space: nowrap; 
	line-height: 1; 
	cursor: pointer;
	text-decoration: none;
} */

a,
button,
input,
label *,
*:after,
*:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

ul,
li {
	list-style: none;
	margin: 0;
	padding: 0;
}

img {
	width: 100%;
	height: auto;
}

#questionLeft,
#questionRight {
	position: fixed;
	/* top: 90px;
	left: 28px; */
	/* NEU Start! */
	top: calc(50vh - 290px);
	left: calc(50vw - 170px);
	/* NEU End! */
	height: 420px;
	width: 340px;
	padding: 0;
	margin: 0;
	background: white;
	border-radius: 80px;
	box-shadow: 1px 1px 10px #5586ff;
	transform-style: preserve-3d;
	transform: rotateY(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transition: transform 0.5s ease-in-out;
}

#questionLeft.hide,
#questionRight.hide {
	transform: rotateY(180deg);
}

#questionLeft.popout.left,
#questionRight.popout.left {
	animation: popinLeft 1s;
}

#questionLeft.popout.right,
#questionRight.popout.right {
	animation: popinRight 1s;
}

#questionLeft:not(#yesPage #questionLeft),
#questionRight:not(#noPage #questionRight) {
	z-index: 3;
}

#yesPage,
#noPage {
	width: 100vw;
	height: 100dvh;
	position: fixed;
	left: 0;
	top: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 1s;
}

@keyframes popinLeft {
	0% {
		transform: translateY(0vh) translateX(0) rotate(0);
	}
	100% {
		transform: translateY(-100vh) translateX(100vw) rotate(45deg);
	}
}

@keyframes popinRight {
	0% {
		transform: translateY(0vh) translateX(0) rotate(0);
	}
	100% {
		transform: translateY(100vh) translateX(-100vw) rotate(-45deg);
	}
}

/* .zeigi {
	position: fixed;
	top: 430px;
	left: 28px;
	max-width: 75%;
	height: auto;
	animation: fly-in-out 8s ease-in-out infinite;
} */

.zeigi {
	position: fixed; /* bezieht sich auf Viewport */
	top: 65%; /* vertikale Position */
	right: -300px; /* Start außerhalb */
	width: 75%; /* anpassen an dein PNG */
	z-index: 10;

	animation: fly-in-out 8s ease-in-out infinite;
	animation-delay: 2s;
}
@keyframes fly-in-out {
	0% {
		transform: translateX(0) translateY(0);
		opacity: 0;
	}

	40% {
		transform: translateX(-98vw) translateY(-5px);
		opacity: 1;
	}

	60% {
		transform: translateX(-98vw) translateY(5px);
	}

	100% {
		transform: translateX(100vw) translateY(0);
		opacity: 0;
	}
}

#help {
	position: fixed;
	top: calc(50vh - 290px);
	left: calc(50vw - 170px);
	width: 340px;
	height: 500px;
	max-height: 420px;
	background-color: white;
	box-shadow: 1px 1px 10px #5586ff;
	border-radius: 80px;

	/* KEIN PADDING hier */
	opacity: 1;
	overflow: hidden;
	z-index: 10;
	display: flex;
	flex-direction: column;

	transform-origin: middle; /* skaliert nur nach unten */
	transform: rotateY(180deg);
	transform-style: preserve-3d;
	transition: transform 0.5s ease-in-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.content {
	position: absolute; /* fixiert den Textbereich innerhalb Container */
	top: 80px; /* Abstand vom Container-Top */
	bottom: 80px; /* Abstand vom Container-Bottom */
	left: 30px;
	right: 80px;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	font-size: 21px;
	line-height: 1;
	color: #666666;
	min-width: 22ch;

	overflow-y: auto; /* Scrollbar nur bei zu langem Text */
}

#help.show {
	transform: rotateY(360deg);
}

#toggleHelp {
	position: fixed;
	bottom: 60px;
	left: 50%;
	transform: translateX(-50%);
	padding: 3px 0px; /* oben/unten 15px, links/rechts 40px */
	width: 70px;
	height: 70px;
	background-color: white;
	box-shadow: 1px 1px 10px #5586ff;
	border-radius: 35px;
	opacity: 80%;
	color: #b3b3b3;
	font-family: "rounded";
	font-weight: 900;
	font-size: 60px;
	font-variation-settings: "wght" 900, "MONO" 0, "BULL" 0;
	display: flex; /* ← KEY */
	align-items: center; /* vertikal */
	justify-content: center; /* horizontal */
	cursor: pointer;
	text-decoration: none;
	z-index: 10;
}

@keyframes shake-nervous {
	0% {
		transform: translateX(0);
	}
	5% {
		transform: translateX(-2px);
	}
	10% {
		transform: translateX(2px);
	}
	15% {
		transform: translateX(-2px);
	}
	20% {
		transform: translateX(2px);
	}
	25% {
		transform: translateX(-2px);
	}
	30% {
		transform: translateX(2px);
	}
	35% {
		transform: translateX(-2px);
	}
	40% {
		transform: translateX(2px);
	}
	45% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(0);
	}
}

.attention {
	display: inline-block;
	animation: shake-nervous 1.2s linear;
	animation-delay: 2s;
}

@keyframes wiggle {
	0% {
		transform: translateX(-50%) rotate(0deg);
	}
	10% {
		transform: translateX(-50%) rotate(-15deg);
	}
	20% {
		transform: translateX(-50%) rotate(15deg);
	}
	30% {
		transform: translateX(-50%) rotate(-12deg);
	}
	40% {
		transform: translateX(-50%) rotate(12deg);
	}
	50% {
		transform: translateX(-50%) rotate(-8deg);
	}
	60% {
		transform: translateX(-50%) rotate(8deg);
	}
	70% {
		transform: translateX(-50%) rotate(-5deg);
	}
	80% {
		transform: translateX(-50%) rotate(5deg);
	}
	90% {
		transform: translateX(-50%) rotate(-2deg);
	}
	100% {
		transform: translateX(-50%) rotate(0deg);
	}
}

.wiggle {
	animation: wiggle 1s ease-in-out 4s 1; /* nach 3s starten, 1x */
}

/* dekstop anzeige! */
@media (min-width: 768px) {
	body {
		.frage {
			font-size: 80px;
		}

		.highlight {
			font-size: 140px;
		}
	}
}

.hidden {
	display: none;
}

.story-box {
	position: relative;
	z-index: 11;
	max-height: 0; /* zusammengeklappt */
	overflow-y: hidden; /* scrollbar nur innerhalb der Box */
	width: 85%;
	padding: 0 10px;
	transition: max-height 0.5s ease, padding 0.5s ease;
	z-index: 20;
}

.info-box {
	position: relative;
	z-index: 11;
	max-height: 0; /* zusammengeklappt */
	overflow-y: hidden; /* scrollbar nur innerhalb der Box */
	width: 85%;
	padding: 0 10px;
	transition: max-height 0.5s ease, padding 0.5s ease;
	z-index: 20;
}

.story-text {
	font-size: 21px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: white;
	min-width: 13ch;
}

.points {
	font-size: 21px;
	line-height: 1;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: white;
	min-width: 13ch;
	text-align: center;
}

.story-box.open {
	max-height: fit-content; /* ausgeklappt */
	padding: 10px;
}

.info-box.open {
	max-height: fit-content; /* ausgeklappt */
	padding: 10px;
}

.menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 350px; /* Abstand vom oberen Rand */
}

.page {
	display: none;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

.page.nextshow {
	display: block;
	pointer-events: none;
}

.page.show {
	display: block;
}

.animation1 {
	position: fixed;
	top: 4vw;
	opacity: 0%;
	right: -60vw;
	width: 60%;
	height: auto;
	display: block;
	transition: all 2s ease;
	z-index: 10;
}

body:has(#b1 .card.popout) .animation1 {
	right: 20vw;
	opacity: 100%;
}
body:has(#b2 .card.popout) .animation1 {
	top: -30vw;
	transition: all 0.2s ease;
}

.animation3 {
	position: fixed;
	top: 5vw;
	opacity: 0%;
	left: -60vw;
	width: 40%;
	height: auto;
	display: block;
	transition: all 2s ease;
	z-index: 10;
}

body:has(#b7 .card.popout) .animation3 {
	left: 30vw;
	opacity: 100%;
}
body:has(#b8 .card.popout) .animation3 {
	top: -40vw;
	transition: all 0.2s ease;
}

.animation-left {
	position: fixed;
	top: 4vw;
	opacity: 0%;
	left: -22vw;
	width: 30%;
	transition: all 2s ease;
	z-index: 10;
}

.animation-right {
	position: fixed;
	top: 4vw;
	opacity: 0%;
	right: -22vw;
	width: 30%;
	transition: all 2s ease;
	z-index: 10;
}

body:has(#b11 .card.popout) .animation-left {
	left: 22.3vw;
	opacity: 100%;
}
body:has(#b12 .card.popout) .animation-left {
	top: -40vw;
	transition: all 0.2s ease;
}

body:has(#b11 .card.popout) .animation-right {
	right: 22.3vw;
	opacity: 100%;
}
body:has(#b12 .card.popout) .animation-right {
	top: -40vw;
	transition: all 0.2s ease;
}

.animation-fly {
	position: fixed;
	top: 1vh;
	left: 30vw; /* ZIELPOSITION (Mitte!) */
	width: 40%;
	opacity: 0;
	z-index: 10;
	transform-origin: center center;
	transform: translateX(-60vw) rotate(0deg);
	will-change: transform, opacity;
}

.animation-fly-zwei {
	position: fixed;
	top: 2vh;
	left: 10vw;
	width: 80%;
	opacity: 0;
	z-index: 10;
	transform-origin: center center;
	transform: translateX(-60vw) rotate(0deg);
	will-change: transform, opacity;
}
@keyframes flyInRotate {
	0% {
		transform: translateX(-60vw) rotate(0deg);
		opacity: 0;
	}
	15% {
		opacity: 1;
	}
	100% {
		transform: translateX(0) rotate(360deg);
		opacity: 1;
	}
}
body:has(#b16 .card.popout) .animation-fly {
	animation: flyInRotate 2.2s cubic-bezier(0.55, 0.1, 0.25, 1) forwards;
}
@keyframes flyOutUp {
	from {
		transform: translateX(0) translateY(0) rotate(360deg);
		opacity: 1;
	}
	to {
		transform: translateX(0) translateY(-80vh) rotate(360deg);
		opacity: 0;
	}
}
body:has(#b17 .card.popout) .animation-fly {
	animation: flyOutUp 0.5s ease-in forwards;
}

body:has(#b25 .card.popout) .animation-fly-zwei {
	animation: flyInRotate 2.2s cubic-bezier(0.55, 0.1, 0.25, 1) forwards;
}

body:has(#b26 .card.popout) .animation-fly-zwei {
	animation: flyOutUp 0.5s ease-in forwards;
}

.animation4 {
	position: fixed;
	top: 4vw;
	opacity: 0%;
	left: -60vw;
	width: 30%;
	height: auto;
	display: block;
	transition: all 2s ease;
	z-index: 10;
}

body:has(#b22 .card.popout) .animation4 {
	left: 35vw;
	opacity: 100%;
}
body:has(#b23 .card.popout) .animation4 {
	top: -40vw;
	transition: all 0.2s ease;
}

.animation2 {
	position: absolute;
	top: 4vw;
	right: 10px;
	width: 55%;
	display: inline-block; /* wichtig für rotate */
	animation: swing 1s ease-in-out infinite; /* Animation aktivieren */
	transform-origin: center; /* Rotation um die Mitte */
	z-index: 11;
}

@keyframes swing {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(5deg);
	} /* leicht nach rechts */
	50% {
		transform: rotate(0deg);
	}
	75% {
		transform: rotate(-5deg);
	} /* leicht nach links */
	100% {
		transform: rotate(0deg);
	}
}

.ad {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.4); /* halbtransparent */
	display: flex;
	justify-content: center;
	align-items: flex-start; /* Top-Abstand funktioniert */
	z-index: 100; /* sauber über allem */
	opacity: 0;
	transition: opacity 0.5s ease;
	pointer-events: none; /* WICHTIG: Klicks gehen durch, solange Ad versteckt */
}

/* Ad sichtbar */
.ad.show {
	opacity: 1;
	pointer-events: auto; /* Ad blockiert alles nur, wenn sichtbar */
}

/* ===== Das Popup selbst ===== */
.ad-content {
	background: white;
	width: 340px;
	height: 450px;
	margin-top: 90px; /* Abstand vom oberen Rand */
	padding: 20px; /* Innenabstand */
	border-radius: 80px;
	box-shadow: 1px 1px 10px #5586ff;
	position: relative;
	overflow: hidden;
	text-align: center;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	line-height: 1;
	color: rgb(0, 0, 255);
	font-size: 21px;
}

/* ===== Close Button ===== */
.close {
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 45px;
	cursor: pointer;
}

.ad.ad-no {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.4);
	display: flex;
	justify-content: center;
	align-items: flex-start;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s;
	z-index: 100;
}

.ad.ad-no.show {
	opacity: 1;
	pointer-events: auto;
}

.ad-content-zwei {
	background: white;
	width: 340px;
	height: 450px;
	padding: 30px;
	border-radius: 80px;
	box-shadow: 1px 1px 10px #5586ff;
	text-align: center;
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: rgb(0, 0, 255);
	font-size: 25px;
	margin-top: 90px;
	line-height: 1;
}

.close-no {
	position: absolute;
	top: 22px;
	right: 26px;
	font-size: 50px;
	cursor: pointer;
	z-index: 10;
	pointer-events: auto;
}
.small {
	width: 50%;
	display: block; /* verhindert extra Inline-Abstand */
	margin: 0 auto; /* optional, zentriert das Bild */
}

.tasse {
	width: 50%;
}
.sterne,
.banner,
.datum,
.wolkevier {
	pointer-events: none;
}

.impressum {
	position: absolute;
	bottom: 10px; /* Abstand vom unteren Rand */
	width: 100%;
	text-align: center; /* zentriert */
	font-size: 1.2rem; /* kleiner Text */
}

.impressum a {
	font-family: "rounded";
	font-variation-settings: "wght" 500, "MONO" 0, "BULL" 0;
	color: white;
	text-decoration: underline;
}
/* ===== Desktop: Mobile-Box zentrieren ===== */
