/* Neumorphism Design */
:root {
    --neumorphic-bg: #e0e0e0;
    --neumorphic-shadow-light: #ffffff;
    --neumorphic-shadow-dark: #bebebe;
    --neumorphic-text-color: #5a6474;
    
    --dark-neumorphic-bg: #2c3038;
    --dark-neumorphic-shadow-light: #363b44;
    --dark-neumorphic-shadow-dark: #22252c;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--neumorphic-bg);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    overflow: hidden;
    padding: 1rem;
}

.card-container {
    width: 90vw;
    max-width: 400px;
    height: 80vh;
    max-height: 600px;
    position: relative;
    perspective: 2000px;
    -webkit-perspective: 2000px;
}

.page {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 2rem; /* Softer corners for Neumorphism */
    transition: transform 1s cubic-bezier(0.68, -0.55, 0.27, 1.55), opacity 0.8s ease-in-out;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.cover {
    background-color: var(--neumorphic-bg);
    box-shadow: 12px 12px 24px var(--neumorphic-shadow-dark), -12px -12px 24px var(--neumorphic-shadow-light);
    z-index: 10;
    transform-origin: center;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    padding: 2rem;
    text-align: center;
}

.content {
    background-color: var(--dark-neumorphic-bg);
    color: #d1d5db;
    box-shadow: 12px 12px 24px var(--dark-neumorphic-shadow-dark), -12px -12px 24px var(--dark-neumorphic-shadow-light);
    z-index: 5;
    transform: rotateY(180deg);
    opacity: 0;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
}

/* Animation states */
.card-container.open .cover {
    transform: rotateY(-180deg);
    opacity: 0;
    pointer-events: none;
}

.card-container.open .content {
    transform: rotateY(0deg);
    opacity: 1;
    pointer-events: auto;
}

/* Neumorphic Elements */
.profile-image {
    border-radius: 50%;
    padding: 0.5rem;
    box-shadow: inset 6px 6px 12px var(--neumorphic-shadow-dark), inset -6px -6px 12px var(--neumorphic-shadow-light);
}

.neumorphic-button {
    border-radius: 1rem;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    color: var(--neumorphic-text-color);
    box-shadow: 6px 6px 12px var(--neumorphic-shadow-dark), -6px -6px 12px var(--neumorphic-shadow-light);
    transition: all 0.2s ease-in-out;
}
.neumorphic-button:active {
    box-shadow: inset 6px 6px 12px var(--neumorphic-shadow-dark), inset -6px -6px 12px var(--neumorphic-shadow-light);
}

.skill-tag {
    border-radius: 0.75rem;
    padding: 0.5rem 1rem;
    margin: 0.25rem;
    font-size: 0.875rem;
    color: #d1d5db;
    background-color: var(--dark-neumorphic-bg);
    box-shadow: 5px 5px 10px var(--dark-neumorphic-shadow-dark), -5px -5px 10px var(--dark-neumorphic-shadow-light);
    transition: all 0.2s ease-in-out;
    text-decoration: none;
}
.skill-tag:hover {
     box-shadow: inset 5px 5px 10px var(--dark-neumorphic-shadow-dark), inset -5px -5px 10px var(--dark-neumorphic-shadow-light);
}

.social-icon {
    color: #d1d5db;
    font-size: 1.5rem;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 5px 5px 10px var(--dark-neumorphic-shadow-dark), -5px -5px 10px var(--dark-neumorphic-shadow-light);
    transition: all 0.2s ease-in-out;
}
.social-icon:hover {
    box-shadow: inset 5px 5px 10px var(--dark-neumorphic-shadow-dark), inset -5px -5px 10px var(--dark-neumorphic-shadow-light);
}
