@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;800&display=swap');

:root {
    --bg-color: #0A0A0A;
    --card-color: #141414;
    --border-color: #242424;
    --text-color: #F5F5F5;
    --text-muted: #7A7A7A;
    --accent-color: #ffc6c6;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: 'Inter', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
}

#background-video {
    position: fixed; top: 50%; left: 50%;
    min-width: 100%; min-height: 100%;
    width: auto; height: auto;
    z-index: -1;
    transform: translateX(-50%) translateY(-50%);
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
body.video-active #background-video { opacity: 0.1; }

.preloader {
    position: fixed; top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: var(--bg-color);
    z-index: 1000;
    transition: opacity 0.8s ease, visibility 0.8s ease;
    opacity: 1; visibility: visible;
}
.preloader.fade-out { opacity: 0; visibility: hidden; }
.hidden { display: none !important; }

.view { display: none; width: 100%; animation: fadeIn 0.5s ease; }
.view.active { display: flex; justify-content: center; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

#home-view { max-width: 600px; flex-direction: column; align-items: center; text-align: center; }
.avatar { width: 80px; height: 80px; border-radius: 50%; border: 2px solid var(--border-color); cursor: pointer; transition: transform 0.2s ease; margin-bottom: 20px; }
.avatar:hover { transform: scale(1.1); }
.info h1 { font-size: 2.2rem; font-weight: 800; margin: 0; }
.highlight { color: var(--accent-color); }
#age { color: var(--text-muted); font-size: 1rem; margin: 8px 0 20px; }
.bio { color: #A3A3A3; max-width: 450px; line-height: 1.7; margin: 0 auto 30px; }

.links { width: 100%; display: grid; grid-template-columns: 1fr; gap: 12px; }
.link-card { background-color: transparent; border: 1px solid var(--border-color); border-radius: 10px; padding: 15px; display: flex; align-items: center; text-align: left; transition: background-color 0.2s ease, border-color 0.2s ease; cursor: pointer; }
.link-card:hover { background-color: var(--card-color); border-color: var(--accent-color); }
.card-icon { font-size: 1.2rem; color: var(--text-muted); margin-right: 15px; }
.card-text h3 { margin: 0 0 4px; font-size: 1rem; color: var(--text-color); font-weight: 500; }
.card-text p { margin: 0; font-size: 0.9rem; color: var(--text-muted); }

.page-container { width: 100%; max-width: 960px; padding: 20px 0; }
.back-link { display: inline-flex; align-items: center; color: var(--text-muted); font-size: 0.9rem; margin-bottom: 25px; transition: color 0.2s ease; cursor: pointer; }
.back-link:hover { color: var(--text-color); }
.back-link i { margin-right: 8px; font-size: 1.1rem; }
.content-wrapper { background-color: var(--card-color); border: 1px solid var(--border-color); border-radius: 12px; padding: 20px; }
.file-header { display: flex; align-items: center; font-size: 0.9rem; color: var(--text-muted); padding-bottom: 15px; border-bottom: 1px solid var(--border-color); margin-bottom: 20px; }
.file-header i { font-size: 1.2rem; margin-right: 8px; }

.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px;
}
.project-card-v2 { background-color: transparent; border: 1px solid var(--border-color); border-radius: 10px; padding: 20px; display: flex; flex-direction: column; gap: 10px; transition: border-color 0.2s ease; }
.project-card-v2.link { cursor: pointer; text-decoration: none; }
.project-card-v2.link:hover { border-color: var(--accent-color); }
.p-card-header { display: flex; justify-content: space-between; align-items: center; }
.p-card-title { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.p-card-title h3 { margin: 0; font-size: 1.1rem; color: var(--text-color); }
.p-card-icon { font-size: 1.5rem; color: var(--accent-color); }
.p-card-tag { background-color: #222; color: var(--text-muted); padding: 4px 8px; border-radius: 6px; font-size: 0.8rem; }
.p-card-description { color: var(--text-muted); line-height: 1.6; margin: 0; }
.p-card-description.address { font-family: monospace; word-break: break-all; }
.copyright { text-align: center; color: var(--text-muted); font-size: 0.8rem; margin-top: 30px; }

@media (min-width: 600px) {
    .links { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
    .links { grid-template-columns: 1fr 1fr 1fr; }
}