* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "PT Serif", Georgia, ui-serif, Cambria, "Times New Roman", Times, serif;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 2.3s ease;
    position: relative;
    overflow-x: hidden;
}

body.light {
    background-color: #f5f3f8;
    color: #2a2438;
}

body.dark {
    background-color: #2a2438;
    color: #f5f3f8;
}

.content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 2rem;
    max-width: 600px;
}

h1 {
    font-size: 3.5rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.subtitle {
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: 0.15em;
    opacity: 0.7;
    margin-bottom: 3rem;
}

.bio {
    font-size: 1.1rem;
    line-height: 1.8;
    font-weight: 300;
    margin-bottom: 2rem;
    opacity: 0.85;
}

.links {
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
}

.links a {
    text-decoration: none;
    font-size: 0.95rem;
    letter-spacing: 0.1em;
    padding: 0.5rem 0;
    position: relative;
    transition: opacity 2.3s ease;
}

body.light .links a {
    color: #2a2438;
}

body.dark .links a {
    color: #f5f3f8;
}

.links a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #d4af37;
    transition: width 2.3s ease;
}

.links a:hover::after {
    width: 100%;
}

.links a:hover {
    opacity: 0.7;
}

.content img {
    width: 400px;
    max-width: 100%;
    height: auto;
    margin-bottom: 2rem;
}

.theme-toggle {
    position: fixed;
    top: 2rem;
    right: 2rem;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 3;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.theme-toggle:hover {
    opacity: 1;
}

@media (max-width: 768px) {
    h1 {
        font-size: 2.5rem;
    }
    
    .subtitle {
        font-size: 1rem;
    }

    .bio {
        font-size: 1rem;
    }
}

/* Kintsugi crack effect */
.kintsugi {
    position: fixed;
    top: 4;
    left: 40;
    width: 80%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.crack {
    position: absolute;
    background: linear-gradient(90deg, 
        transparent 0%, 
        transparent 48%, 
        #d4af37 48%, 
        #d4af37 52%, 
        transparent 52%, 
        transparent 100%);
    transform-origin: top left;
}

.crack-main {
    width: 50%;
    height: 1px;
    top: 20%;
    left: -10%;
    transform: rotate(-17deg);
}

.crack-branch1 {
    width: 80%;
    height: 1px;
    top: 28%;
    left: 50%;
    transform: rotate(25deg);
    opacity: 0.7;
}

.crack-branch2 {
    width: 35%;
    height: 1px;
    top: 40%;
    left: 25%;
    transform: rotate(-35deg);
    opacity: 0.6;
}

.crack-branch3 {
    width: 15%;
    height: 1px;
    top: 75%;
    left: 15%;
    transform: rotate(18deg);
    opacity: 0.5;
}

