@font-face {
    font-family: 'Audiowide';
    src: url('../fonty/Audiowide.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    src: url('../fonty/Inter-300.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonty/Inter-400.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonty/Inter-600.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonty/Inter-800.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Fira Code';
    src: url('../fonty/FiraCode-400.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Fira Code';
    src: url('../fonty/FiraCode-500.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

body { font-family: 'Inter', sans-serif; background-color: #0f172a; color: #f8fafc; }
.code-font { font-family: 'Fira Code', monospace; }
.audiowide-font { font-family: 'Audiowide', sans-serif; }
.glass { background: rgba(30, 41, 59, 0.7); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); }
.gradient-text {
    font-family: 'Inter';
    background: linear-gradient(90deg, #38bdf8, #818cf8, #c084fc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.glow {
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.4);
}

/* Typewriter Cursor */
.typewriter-cursor::after {
    content: ' ';
    display: inline-block;
    width: 8px;
    height: 1.2em;
    background-color: #7dd3fc; /* sky-300 */
    margin-left: 4px;
    vertical-align: middle;
    animation: blink 1s step-end infinite;
}

@keyframes blink {
    from, to { opacity: 1; }
    50% { opacity: 0; }
}

/* Analog Glitch Effect */
.analog-glitch { }

.analog-glitch.glitch-active {
    filter: url(#glitch);
}

.analog-glitch.glitch-pixelate {
    image-rendering: pixelated;
}

.analog-glitch.glitch-rbg-shift h1,
.analog-glitch.glitch-rbg-shift p,
.analog-glitch.glitch-rbg-shift small {
    text-shadow: 
        2px 0 #00ff00, 
        -2px 0 #ff0000,
        0 2px #0000ff;
}

/* Hamburger animation */
#hamburgerBtn.active .hamburger-line:nth-child(1) {
    transform: translateY(11px) rotate(45deg);
}

#hamburgerBtn.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

#hamburgerBtn.active .hamburger-line:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
}

/* 3D Icon Spin Animation */
.icon-spin-container {
    perspective: 1000px;
    width: 48px;
    height: 48px;
}

.icon-spin {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: spinAndPause 6s ease-in-out infinite;
    transition: all 0.3s ease;
}

@keyframes spinAndPause {
    0% { transform: rotateY(0deg); }
    33% { transform: rotateY(1080deg); } /* 3 otáčky za první třetinu času */
    100% { transform: rotateY(1080deg); } /* Pauza do konce cyklu */
}

/* Zastavení animace a reset rotace při hoveru */
.group:hover .icon-spin {
    animation: none;
    transform: rotateY(0deg);
}

