:root {    --main-color: #ff3b6b;    --dark-color: #12070b;    --card-color: rgba(255, 255, 255, 0.10);    --text-color: #ffffff;}* {    box-sizing: border-box;}html {    scroll-behavior: smooth;}body {    margin: 0;    min-height: 100vh;    font-family:        Arial,        Helvetica,        sans-serif;    background:        radial-gradient(            circle at top,            var(--main-color),            #14070c 55%        );    color: var(--text-color);    transition:        background 0.6s ease;    overflow-x: hidden;}/* =========================   ALLGEMEIN========================= */button {    border: none;    padding: 15px 25px;    border-radius: 999px;    background: var(--main-color);    color: white;    font-size: 16px;    font-weight: bold;    cursor: pointer;    transition:        transform 0.2s ease,        box-shadow 0.2s ease,        filter 0.2s ease;}button:hover {    transform: scale(1.05);    filter: brightness(1.15);    box-shadow:        0 0 25px        var(--main-color);}button:active {    transform: scale(0.96);}/* =========================   SCREENS========================= */.screen {    position: fixed;    inset: 0;    display: none;    justify-content: center;    align-items: center;    padding: 20px;    background:        radial-gradient(            circle,            var(--main-color),            #090306 70%        );    z-index: 100;}.screen.active {    display: flex;}/* =========================   CARDS========================= */.card,.gameCard {    width: min(600px, 95vw);    padding: 40px;    text-align: center;    border-radius: 30px;    background:        rgba(255, 255, 255, 0.10);    border:        1px solid        rgba(255,255,255,0.20);    backdrop-filter: blur(20px);    box-shadow:        0 30px 80px        rgba(0,0,0,0.5);    animation:        cardAppear 0.7s ease;}@keyframes cardAppear {    from {        opacity: 0;        transform:            translateY(30px)            scale(0.95);    }    to {        opacity: 1;        transform:            translateY(0)            scale(1);    }}.heart {    font-size: 70px;    animation:        heartbeat 1.5s infinite;}@keyframes heartbeat {    0%, 100% {        transform: scale(1);    }    50% {        transform: scale(1.15);    }}h1 {    font-size: clamp(30px, 7vw, 55px);    margin:        15px        0;}p {    font-size: 18px;    line-height: 1.6;}.smallText {    opacity: 0.7;    font-size: 14px;}/* =========================   PIN========================= */#pinInput {    display: block;    width: 180px;    margin:        25px auto;    padding: 15px;    border-radius: 15px;    border:        2px solid        rgba(255,255,255,0.3);    background:        rgba(0,0,0,0.3);    color: white;    text-align: center;    font-size: 30px;    letter-spacing: 8px;    outline: none;    transition:        border 0.3s ease,        box-shadow 0.3s ease;}#pinInput:focus {    border-color:        var(--main-color);    box-shadow:        0 0 20px        var(--main-color);}#pinMessage {    min-height: 25px;    font-weight: bold;}/* =========================   FARBAUSWAHL========================= */.colorPickerContainer {    display: flex;    justify-content: center;    align-items: center;    gap: 25px;    margin: 30px 0;}#colorPicker {    width: 100px;    height: 100px;    border: none;    border-radius: 50%;    cursor: pointer;    background: transparent;}#colorPreview {    width: 70px;    height: 70px;    border-radius: 50%;    background:        var(--main-color);    box-shadow:        0 0 30px        var(--main-color);    transition:        background 0.3s ease;}.colorCode {    font-family: monospace;    opacity: 0.8;}/* =========================   HAUPTSEITE========================= */#mainSite {    display: none;}header {    position: sticky;    top: 0;    z-index: 20;    display: flex;    justify-content: space-between;    align-items: center;    padding: 20px 30px;    background:        rgba(0,0,0,0.25);    backdrop-filter: blur(15px);}.logo {    font-size: 22px;    font-weight: bold;}.menuButton {    padding: 10px 15px;    font-size: 22px;}.menu {    position: fixed;    top: 80px;    right: 20px;    z-index: 50;    display: none;    flex-direction: column;    gap: 10px;    padding: 15px;    border-radius: 20px;    background:        rgba(0,0,0,0.85);    backdrop-filter: blur(20px);}.menu.open {    display: flex;}.menu button {    width: 220px;}/* =========================   SEITEN========================= */.page {    display: none;    min-height:        calc(100vh - 80px);    padding:        60px 20px;}.activePage {    display: block;}/* =========================   HERO========================= */.hero {    max-width: 900px;    margin:        80px auto;    text-align: center;    animation:        cardAppear 1s ease;}.hero h1 {    font-size:        clamp(40px, 10vw, 85px);    text-shadow:        0 0 30px        var(--main-color);}.heroText {    font-size: 28px;}.floatingHeart {    font-size: 70px;    animation:        floating 3s infinite ease-in-out;}@keyframes floating {    0%, 100% {        transform:            translateY(0)            rotate(-5deg);    }    50% {        transform:            translateY(-20px)            rotate(5deg);    }}.bigButton {    margin-top: 25px;    font-size: 18px;    padding:        18px 35px;}/* =========================   INFO CARDS========================= */.infoCards {    display: grid;    grid-template-columns:        repeat(            auto-fit,            minmax(220px, 1fr)        );    gap: 20px;    max-width: 1000px;    margin:        50px auto;}.infoCard {    padding: 30px;    text-align: center;    border-radius: 25px;    background:        rgba(255,255,255,0.08);    backdrop-filter: blur(10px);    transition:        transform 0.3s ease;}.infoCard:hover {    transform:        translateY(-8px);}.infoCard span {    font-size: 45px;}/* =========================   GLÜCKSRAD========================= */.gameCard {    margin:        40px auto;    max-width: 800px;}.gameIcon {    font-size: 60px;}.wheelWrapper {    position: relative;    width: 310px;    height: 310px;    margin:        40px auto;}.wheel {    width: 310px;    height: 310px;    border-radius: 50%;    background:        conic-gradient(            #ff4d6d 0deg 45deg,            #ff8fab 45deg 90deg,            #ff4d6d 90deg 135deg,            #ff8fab 135deg 180deg,            #ff4d6d 180deg 225deg,            #ff8fab 225deg 270deg,            #ff4d6d 270deg 315deg,            #ff8fab 315deg 360deg        );    border:        8px solid white;    box-shadow:        0 0 40px        rgba(255,255,255,0.3);    transition:        transform 4s        cubic-bezier(0.12, 0.8, 0.15, 1);    display: flex;    justify-content: center;    align-items: center;}.wheelText {    width: 80px;    height: 80px;    display: flex;    align-items: center;    justify-content: center;    border-radius: 50%;    background:        rgba(0,0,0,0.5);    font-size: 35px;}.pointer {    position: absolute;    top: -25px;    left: 50%;    transform:        translateX(-50%);    z-index: 5;    font-size: 35px;    color: white;    text-shadow:        0 0 10px black;}#complimentResult {    margin-top: 30px;    padding: 25px;    min-height: 50px;    border-radius: 20px;    background:        rgba(255,255,255,0.08);    font-size: 20px;    font-weight: bold;}/* =========================   MOBILE========================= */@media (max-width: 600px) {    .card,    .gameCard {        padding: 25px;    }    .wheel,    .wheelWrapper {        width: 260px;        height: 260px;    }    .infoCards {        grid-template-columns: 1fr;    }}