*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
}

@font-face {
    font-family: 'rye';
    src: url('../assets/img/5.Font/rye-regular.ttf');
}

body{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-image: url(../assets/img/3.Background/sharkie-bg2.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
    font-family: 'rye', Arial, Helvetica, sans-serif;
}

body h1 {
    font-size: 4rem;
    letter-spacing: 5px;
    text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
    font-weight: 600;
    line-height: normal;
    margin: 0;
}

/* ================================= */
/* Startbildschirm */
/* ================================= */

#start-screen {
    position: absolute;
    width: min(720px, 92vw, calc(96vh * 3 / 2));
    max-height: 92vh;
    overflow-y: auto;

    padding: clamp(12px, 3vw, 20px);

    border-radius: 1rem;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);

    box-shadow: 0 10px 20px rgba(0,0,0,.8);
}

#logo{
    text-align:center;
    color:white;
    margin-bottom:clamp(16px, 4vw, 40px);
}

#logo h1{
    font-size:clamp(1.8rem, 8vw, 4rem);
    margin:0;
}

#logo p{
    font-size:clamp(1rem, 2.5vw, 1.2rem);
    margin-top:10px;
}

/* ================================= */
/* Menü */
/* ================================= */

#menu{
    display:flex;
    flex-direction:column;
    gap:clamp(10px, 2.5vw, 18px);
    width:100%;
    align-items:center;
}

.menu-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;

    width:min(260px, 100%);
    padding:clamp(10px, 2.5vw, 14px);

    border:none;
    border-radius:50px;

    font-family:'rye', Arial;
    font-size:clamp(1rem, 3vw, 1.2rem);

    cursor:pointer;

    background:#0d9dd8;
    color:white;

    transition:.25s;
}

.menu-btn:hover{

    transform:scale(1.05);

    background:#12b4f0;

    box-shadow:0 0 15px rgba(255,255,255,.5);

}

.btn-icon{
    width:1.3rem;
    height:1.3rem;
    vertical-align:middle;
    margin-right:8px;
    object-fit:contain;
}

/* ========================= */
/* Blasen */
/* ========================= */

.bubbles{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

.bubbles span{

    position:absolute;

    bottom:-80px;

    width:25px;
    height:25px;

    border-radius:50%;

    background:rgba(255,255,255,.35);

    animation:bubble 12s linear infinite;
}

.bubbles span:nth-child(1){left:10%;animation-duration:10s;}
.bubbles span:nth-child(2){left:25%;animation-duration:14s;}
.bubbles span:nth-child(3){left:40%;animation-duration:12s;}
.bubbles span:nth-child(4){left:60%;animation-duration:15s;}
.bubbles span:nth-child(5){left:75%;animation-duration:11s;}
.bubbles span:nth-child(6){left:90%;animation-duration:13s;}

@keyframes bubble{

    from{
        transform:translateY(0) scale(.5);
        opacity:0;
    }

    20%{
        opacity:.6;
    }

    to{
        transform:translateY(-620px) scale(1.3);
        opacity:0;
    }

}

#start-screen.fade-out{
    animation:fadeOut .8s forwards;
}

@keyframes fadeOut{

    to{
        opacity:0;
        transform:scale(.95);
    }

}

/* ================================= */
/* Popup */
/* ================================= */

.hidden{
    display:none !important;
}

#popup{

    position:fixed;
    inset:0;
    z-index: 20;

    display:flex;

    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.7);

}

.popup-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width:min(450px, 90vw);
    max-height:88vh;
    overflow-y:auto;
    background:rgb(124 124 211);
    border-radius:20px;
    padding:clamp(16px, 4vw, 30px);
    text-align:center;
}

.popup-content div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
}

.popup-content button{

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;

    width:min(180px, 100%);
    padding:clamp(6px, 2.5vw, 10px);
    margin-top: 1.25rem;
    border:none;
    border-radius:50px;

    font-family:'rye', Arial;
    font-size:clamp(1rem, 3vw, 1.2rem);

    cursor:pointer;

    background:#0d9dd8;
    color:white;

    transition:.25s;
}

.popup-icon{
    width:1.4rem;
    height:1.4rem;
    vertical-align:middle;
    object-fit:contain;
}

.volume-row{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    margin-top:16px;
    text-align:left;
}

.volume-row label{
    font-size:.9rem;
}

.volume-row input[type="range"]{
    width:100%;
    accent-color:#7FFFE0;
}

/* ================================= */
/* Shop */
/* ================================= */

#shop-balance{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:1.1rem;
}

#popup-shop .shop-item{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:clamp(8px, 3vw, 14px);
    width:100%;
    margin-top:1rem;
    padding:10px 14px;
    background:rgba(0, 0, 0, 0.15);
    border-radius:14px;
    text-align:left;
}

.shop-item-icon{
    width:clamp(36px, 10vw, 48px);
    height:clamp(36px, 10vw, 48px);
    object-fit:contain;
    flex-shrink:0;
}

#popup-shop .shop-item-info{
    align-items:flex-start;
    flex-grow:1;
}

.shop-item-title{
    font-size:1rem;
}

.shop-item-desc{
    font-size:.8rem;
    opacity:.85;
}

.shop-buy-btn{
    margin-top:0 !important;
    width:auto !important;
    min-width:80px;
    flex-shrink:0;
}

.shop-buy-btn:disabled{
    background:#5a5a5a;
    cursor:not-allowed;
    opacity:.6;
}

.shop-buy-btn:disabled:hover{
    transform:none;
    box-shadow:none;
}