﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

/* Fonts */
@font-face {
    font-family: 'immortal';
    src: url('/css/immortal/IMMORTAL.ttf');
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    font-size: 14px;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}

.content {
    /*max-width: 960px;*/
    margin: auto;
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

.btn-game {
    border: 2px outset #5e5e5e;
    border-radius: 8px;
}

a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus {
    background-color: #67717b !important;
}

.bg-primary {
    background-color: #303b7c73 !important;
}

.bg-secondary {
    background-color: #323e47d1 !important;
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */

app {
    height: 100vh;
    display: flex;
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;
}

.footer {
    width: 100%;
    white-space: nowrap;
    margin: 0;
    padding: 0;
    overflow-y: scroll;
    text-align: center;
}

.blazor-modal {
    display: none;
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.blazor-modal-active {
    display: flex;
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    -webkit-animation-duration: 250ms;
    animation-duration: 250ms;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
    -webkit-animation-duration: 250ms;
    animation-duration: 250ms;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.btn {
    background-color: #4E5D6C6B;
}

.message-text {
    color: #DEFFFFFF;
}

.btn-outline-primary {
    background-color: #4E5D6C6B;
    color: #68F0F7;
    border-color: #68F0F7;
}

@media all and (orientation: portrait) {
    .background-image {
        background: url('../WebGameBackgroundMobile_MQ.jpg') no-repeat;
        background-size: 100%;
        background-color: #2b3e4f;
    }
}

@media all and (orientation: landscape) {
    .background-image {
        background: url('../WebGameBackground_MQ.jpg') no-repeat;
        background-size: 100%;
        background-color: #2b3e4f;
    }
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes furryBurstGradient {
    0% {
        transform: translate(-50%, -50%) scale(0.5);
        opacity: 0;
    }

    50% {
        transform: translate(-50%, -50%) scale(2.5);
        opacity: 0.8;
    }

    100% {
        transform: translate(-50%, -50%) scale(3);
        opacity: 0;
    }
}

@keyframes furryBurstPaw {
    0% {
        transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
        opacity: 0;
    }

    30% {
        transform: translate(-50%, -50%) scale(1.5) rotate(20deg);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, -50%) scale(2) rotate(40deg);
        opacity: 0;
    }
}

.fantasy-button {
    position: relative;
    overflow: hidden;
}

    /* Gradient fur surge */
    .fantasy-button::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 200%;
        height: 200%;
        background: radial-gradient(circle, rgba(200, 140, 80, 0.9) 0%, transparent 75%);
        transform: translate(-50%, -50%) scale(0.5);
        opacity: 0;
        pointer-events: none;
    }

    /* Paw print overlay */
    .fantasy-button::after {
        content: '🐾';
        position: absolute;
        top: 50%;
        left: 50%;
        font-size: 3rem;
        color: rgba(255, 200, 100, 0.9);
        transform: translate(-50%, -50%) scale(0.5);
        opacity: 0;
        pointer-events: none;
    }

    /* Class-based animation trigger */
    .fantasy-button.animate::before {
        animation: furryBurstGradient 0.8s ease-out;
    }

    .fantasy-button.animate::after {
        animation: furryBurstPaw 0.8s ease-out;
    }

    /* Reset animations when not animating */
    .fantasy-button::before,
    .fantasy-button::after {
        animation-fill-mode: forwards;
    }

    /* Optional: Prevent rapid re-triggering */
    .fantasy-button.animate {
        pointer-events: none;
    }
