/* Pixel Art Style Overrides */

* {
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

:root {
    --shadow-sm: 2px 2px 0px rgba(0, 0, 0, 0.8);
    --shadow-md: 4px 4px 0px rgba(0, 0, 0, 0.8);
    --shadow-lg: 6px 6px 0px rgba(0, 0, 0, 0.8);
    --shadow-glow: 0 0 0 2px var(--accent-primary);
    --radius-sm: 0px;
    --radius-md: 0px;
    --radius-lg: 0px;
    --radius-xl: 0px;
    --transition-fast: 0.15s steps(4, end);
    --transition-normal: 0.3s steps(8, end);
    --transition-slow: 0.5s steps(10, end);
}

[data-theme="light"] {
    --shadow-sm: 2px 2px 0px rgba(0, 0, 0, 0.3);
    --shadow-md: 4px 4px 0px rgba(0, 0, 0, 0.3);
    --shadow-lg: 6px 6px 0px rgba(0, 0, 0, 0.3);
    --shadow-glow: 0 0 0 2px var(--accent-primary);
}

body {
    font-family: 'VT323', monospace !important;
    line-height: 1.4;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
    text-rendering: optimizeSpeed;
}

.profile-name {
    font-size: 40px !important;
    font-weight: 400 !important;
}

.profile-title {
    font-size: 24px !important;
    font-weight: 400 !important;
}

.profile-bio {
    font-size: 20px !important;
    line-height: 1.4 !important;
}

.section-title {
    font-size: 28px !important;
    font-weight: 400 !important;
}

.job-title {
    font-size: 22px !important;
    font-weight: 400 !important;
}

.project-title {
    font-size: 22px !important;
    font-weight: 400 !important;
}

.project-company {
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.project-role {
    font-size: 18px !important;
    line-height: 1.3 !important;
}

.job-period {
    font-size: 20px !important;
    font-weight: 400 !important;
}

.company-name {
    font-size: 20px !important;
    font-weight: 400 !important;
}

.job-description {
    font-size: 18px !important;
    line-height: 1.4 !important;
}

.nav-label {
    font-size: 18px !important;
    font-weight: 400 !important;
    font-family: 'VT323', monospace !important;
}

.modal-title {
    font-size: 24px !important;
    font-weight: 400 !important;
}

.setting-label {
    font-size: 20px !important;
    font-weight: 400 !important;
}

.setting-select {
    font-size: 22px !important;
    font-family: 'VT323', monospace !important;
    border: 2px solid var(--border-color) !important;
}

.contact-pill {
    font-size: 18px !important;
    font-weight: 400 !important;
    border: 2px solid var(--border-color) !important;
}

.avatar-image:hover {
    transform: scale(1.05) !important;
    box-shadow: var(--shadow-lg), 0 0 0 3px var(--accent-primary) !important;
}

.loading-text {
    font-size: 32px !important;
    font-weight: 400 !important;
    font-family: 'VT323', monospace !important;
}

.hint-text {
    font-size: 22px !important;
    font-family: 'VT323', monospace !important;
    line-height: 1.4 !important;
}

/* Pixelated hover effects */
.hover-lift:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--shadow-lg), var(--shadow-glow) !important;
}

.contact-pill:hover::before {
    background: var(--accent-primary) !important;
}

/* Remove smooth curves */
* {
    border-radius: 0 !important;
}

.profile-card {
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
}

.profile-card:focus-within {
    outline: 2px solid var(--accent-primary) !important;
    outline-offset: 2px !important;
}

/* Pixelated images */
.avatar-image,
.project-thumbnail,
img {
    image-rendering: pixelated !important;
    image-rendering: -moz-crisp-edges !important;
    image-rendering: crisp-edges !important;
}