:root {
    font-family: 'Roboto', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color-scheme: light;
}

body {
    margin: 0;
    min-height: 100vh;
    background:
            radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.95) 0, rgba(255, 255, 255, 0) 55%),
            radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.9) 0, rgba(255, 255, 255, 0) 55%),
            radial-gradient(circle at 10% 90%, rgba(255, 255, 255, 0.9) 0, rgba(255, 255, 255, 0) 55%),
            radial-gradient(circle at 90% 95%, rgba(255, 255, 255, 0.85) 0, rgba(255, 255, 255, 0) 55%),
            radial-gradient(circle at 30% 30%, rgba(255, 254, 249, 0.9), rgba(244, 230, 204, 0.9));
}

#app {
    min-height: 100vh;
}

.page-bg {
    position: relative;
    min-height: 100vh;
    padding: 32px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(to right, #bd1766, #2438bd);
}

/* Peldošie baloni / svētku ikonas fonā */
.float-emoji {
    position: absolute;
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background:
            radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.05)),
            radial-gradient(circle at 70% 70%, rgba(255, 210, 170, 0.45), transparent 60%);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: float-emoji 22s linear infinite;
    opacity: 0;
    z-index: 0;
}

.float-emoji::before {
    content: '🎈';
    font-size: 32px;
}

.float-emoji.cake::before {
    content: '🎂';
}
.float-emoji.music::before {
    content: '🎵';
}
.float-emoji.sparkles::before {
    content: '✨';
}
.float-emoji.confetti::before {
    content: '🎉';
}

.float-emoji.emoji-1 {
    left: 8%;
    top: 16%;
    animation-delay: 0s;
}
.float-emoji.emoji-2 {
    left: 12%;
    bottom: 10%;
    animation-delay: 5s;
}
.float-emoji.emoji-3 {
    right: 10%;
    top: 18%;
    animation-delay: 10s;
}
.float-emoji.emoji-4 {
    right: 6%;
    bottom: 18%;
    animation-delay: 15s;
}
.float-emoji.emoji-5 {
    left: 50%;
    bottom: 6%;
    animation-delay: 7s;
}

@keyframes float-emoji {
    0% {
        transform: translate3d(0, 0, 0) scale(0.8);
        opacity: 0;
    }
    15% {
        opacity: 1;
    }
    60% {
        transform: translate3d(0, -180px, 0) scale(1.05);
        opacity: 1;
    }
    100% {
        transform: translate3d(0, -280px, 0) scale(1.08);
        opacity: 0;
    }
}

/* Apsveikuma “plakāts” */
.birthday-board {
    position: relative;
    max-width: 1100px;
    width: 100%;
    border-radius: 36px;
    background:
            radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.95) 0, rgba(255, 255, 255, 0) 55%),
            radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.9) 0, rgba(255, 255, 255, 0) 55%),
            linear-gradient(145deg, #ffffff 0%, #fbe4ff 30%, #ffeccd 65%, #e5f7ff 100%);
    box-shadow:
            0 40px 80px rgba(0, 0, 0, 0.2),
            0 0 0 1px rgba(255, 255, 255, 0.95);
    padding: 32px 32px 26px;
    z-index: 1;
    overflow: hidden;
}

.birthday-board::before {
    content: '';
    position: absolute;
    inset: 18px;
    border-radius: 26px;
    border: 1px dashed rgba(255, 190, 150, 0.7);
    pointer-events: none;
}

.board-ribbon {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 16px;
    border-radius: 999px;
    background: linear-gradient(to right, #ff9fb5, #ffd46b);
    color: #5a1330;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(255, 160, 180, 0.7);
    z-index: 2;
}

.board-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
}

.board-left {
    flex: 1 1 280px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 10px;
}

.board-heading-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #b45a7d;
    font-size: 12px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
    margin-bottom: 12px;
}

.board-title {
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    margin-bottom: 6px;
    color: #4d2743;
}

.board-subtitle {
    font-size: 14px;
    max-width: 360px;
    color: #7c5872;
    margin-bottom: 12px;
}

.board-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    font-size: 11px;
}

.board-pill {
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: #87506b;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 6px 16px rgba(255, 200, 150, 0.55);
}

.board-note {
    margin-top: 16px;
    font-size: 11px;
    color: #a47891;
}

.board-right {
    flex: 1.3 1 380px;
    min-width: 0;
}

.playlist-card {
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.93) !important;
    box-shadow:
            0 16px 36px rgba(0, 0, 0, 0.16),
            0 0 0 1px rgba(255, 255, 255, 0.9);
}

.playlist-avatar {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 20% 20%, #ffffff, #ffe0f0);
    font-size: 22px;
}

.spotify-embed {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.25);
}

.playlist-button {
    border-radius: 999px;
    text-transform: none;
    letter-spacing: 0.03em;
    font-weight: 600;
}

.secondary-link {
    font-size: 11px;
    color: #a06d8e;
    margin-top: 4px;
}

.logo{
    max-width:200px;
    position:absolute;
    left:35px;
    top:35px;
}


@media (max-width: 900px) {
    .birthday-board {
        padding: 30px 18px 26px;
    }
    .board-content {
        flex-direction: column;
    }
    .board-left {
        padding-right: 0;
    }

    .logo-holder{
        text-align:center;
    }

    .logo{
        position:static !important;
        margin-left:25px;
        margin-bottom:5px;
        width:100px;
    }
}
