


@media screen and (max-width: 767px) {
    
    * {
        font-variant-emoji: text !important;
        -webkit-font-feature-settings: "liga" 0 !important;
        font-feature-settings: "liga" 0 !important;
    }
    
    body {
        overflow-y: auto !important;  
        overflow-x: hidden !important; 
        -webkit-overflow-scrolling: touch; 
    }
    
    .desktop {
        min-height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
    }
    
    
    .menubar {
        height: 36px !important; 
        padding: 0 8px !important;
        font-size: 14px !important;
        z-index: 1000 !important; 
    }
    
    .apple-logo {
        width: 32px !important;
        height: 32px !important;
    }
    
    .apple-logo img {
        width: 20px !important;
        height: 20px !important;
    }
    
    .menu-items {
        gap: 12px !important;
    }
    
    .menu-item {
        padding: 8px 10px !important;
        min-height: 32px !important;
        font-size: 13px !important;
    }
    
    .clock {
        font-size: 12px !important;
        padding: 8px !important;
        min-width: 60px !important;
    }
    
    
    .desktop-icons {
        position: static !important;
        transform: none !important;
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
        padding: 60px 20px 40px 20px !important;
        width: 100% !important;
        max-width: 400px !important;
        margin: 0 auto !important;
        z-index: 1 !important; 
    }
    
    .desktop-icon {
        min-width: 80px !important;
        min-height: 90px !important;
        padding: 12px !important;
        margin: 0 !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }
    
    .desktop-icon .icon-image {
        width: 80px !important;
        height: 80px !important;
        margin: 0 auto 8px auto !important;
    }
    
    .desktop-icon .icon-image img {
        width: 48px !important;
        height: 48px !important;
    }
    
    .desktop-icon .icon-label {
        font-size: 13px !important;
        line-height: 1.3 !important;
        padding: 4px 6px !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
    }
    
    
    .window {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        height: auto !important;
        max-height: calc(100vh - 60px) !important;
        min-height: 300px !important;
        
        position: fixed !important;
        top: 50px !important;
        left: 10px !important;
        right: 10px !important;
        
        margin: 0 !important;
        transform: none !important;
        z-index: 100 !important; 
    }
    
    .window.active {
        z-index: 200 !important; 
    }
    
    .window.hidden {
        display: none !important;
    }
    
    
    .window-header {
        height: 40px !important;
        padding: 0 12px !important;
        touch-action: none; 
    }
    
    .window-title {
        font-size: 14px !important;
        line-height: 40px !important;
    }
    
    
    .window-controls {
        gap: 8px !important;
    }
    
    .window-close,
    .window-minimize, 
    .window-maximize {
        min-width: 36px !important;
        min-height: 36px !important;
        width: 36px !important;
        height: 36px !important;
        font-size: 20px !important;
        line-height: 36px !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }
    
    
    .window-content {
        height: calc(100% - 40px) !important;
        max-height: calc(100vh - 100px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        padding: 16px !important;
    }
    
    
    .gallery-categories {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-bottom: 15px !important;
        padding: 0 !important;
    }
    
    .category-btn {
        flex: 1 1 auto !important;
        min-width: 70px !important;
        padding: 10px 8px !important;
        font-size: 11px !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        background: white !important;
        border: 1px solid black !important;
        font-family: 'Chicago', 'Courier New', monospace !important;
        cursor: pointer !important;
        transition: all 0.1s ease !important;
    }
    
    .category-btn:active {
        background: #f0f0f0 !important;
    }
    
    .category-btn.active {
        background: black !important;
        color: white !important;
    }
    
    
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
        padding: 15px !important;
        background: #e6e6e6 !important;
        border: 2px inset #ccc !important;
        max-height: none !important;
    }
    
    .gallery-item {
        aspect-ratio: auto !important;
        min-height: 130px !important;
        max-height: none !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        border: 2px outset #ccc !important;
        padding: 12px !important;
        background-color: #e6e6e6 !important;
        position: relative !important;
        text-align: center !important;
    }
    
    .gallery-item:active {
        border: 2px inset #ccc !important;
        background: #d0d0d0 !important;
    }
    
    .gallery-item.hidden {
        display: none !important;
    }
    
    .gallery-item img {
        width: 64px !important;
        height: 64px !important;
        max-width: 64px !important;
        max-height: 64px !important;
        object-fit: cover !important;
        display: block !important;
        margin-bottom: 8px !important;
        border: 1px solid black !important;
    }
    
    .gallery-item img.pdf-thumbnail-img {
        width: auto !important;
        height: auto !important;
        max-width: 100px !important;
        max-height: 130px !important;
        object-fit: contain !important;
        border: 1px solid #ccc !important;
    }
    
    .gallery-overlay {
        position: static !important;
        opacity: 1 !important;
        background: transparent !important;
        display: block !important;
    }
    
    .gallery-info {
        text-align: center !important;
        padding: 0 !important;
    }
    
    .gallery-info h4 {
        font-size: 12px !important;
        margin: 0 !important;
        font-weight: bold !important;
        color: black !important;
        font-family: 'Chicago', 'Courier New', monospace !important;
    }
    
    .gallery-info p {
        font-size: 8px !important;
        margin: 0 !important;
        color: #666 !important;
        display: none !important;
    }
    
    
    .lightbox-overlay {
        padding: 0 !important;
        z-index: 9999 !important; 
    }
    
    .lightbox-container {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        z-index: 10000 !important;
        display: flex !important;
        flex-direction: column !important;
        padding-top: 36px !important; 
    }
    
    .lightbox-header {
        height: 50px !important;
        padding: 0 12px !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-top: 0 !important;
    }
    
    .lightbox-title {
        font-size: 13px !important;
        flex: 1 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding-right: 10px !important;
    }
    
    .lightbox-close {
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 32px !important;
        touch-action: manipulation;
        flex-shrink: 0 !important;
    }
    
    .lightbox-content {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        height: auto !important;
        padding-bottom: 0 !important;
    }
    
    .lightbox-content::after {
        display: none !important;
    }
    
    
    .lightbox-pdf-container {
        flex: 1 !important;
        width: 100% !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        background-color: #f5f5f5 !important;
        padding: 10px !important;
    }
    
    #pdf-canvas {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        background: white !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
    }
    
    
    .lightbox-pdf-controls {
        display: grid !important;
        grid-template-columns: 60px 1fr 60px !important;
        grid-template-rows: auto auto auto !important;
        gap: 0 !important;
        padding: 14px 12px !important;
        background-color: white !important;
        border-top: 2px solid black !important;
        margin-top: 0 !important;
        flex-shrink: 0 !important;
        justify-content: stretch !important;
        align-items: stretch !important;
    }
    
    
    .pdf-prev {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        height: 50px !important;
        font-size: 24px !important;
        font-weight: bold !important;
        touch-action: manipulation;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .pdf-info {
        grid-column: 2 !important;
        grid-row: 1 !important;
        height: 50px !important;
        font-size: 15px !important;
        padding: 0 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #f0f0f0 !important;
        border: 1px solid black !important;
        font-weight: bold !important;
        text-align: center !important;
        margin: 0 8px !important;
    }
    
    .pdf-next {
        grid-column: 3 !important;
        grid-row: 1 !important;
        width: 100% !important;
        height: 50px !important;
        font-size: 24px !important;
        font-weight: bold !important;
        touch-action: manipulation;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    
    .pdf-zoom-controls {
        grid-column: 1 / 4 !important;
        grid-row: 2 !important;
        display: flex !important;
        gap: 10px !important;
        justify-content: center !important;
        align-items: center !important;
        margin-top: 14px !important;
        padding-top: 0 !important;
        border-top: none !important;
    }
    
    .pdf-zoom-out,
    .pdf-zoom-in {
        min-width: 60px !important;
        min-height: 50px !important;
        font-size: 28px !important;
        font-weight: bold !important;
        touch-action: manipulation;
    }
    
    .pdf-zoom-level {
        min-width: 90px !important;
        min-height: 50px !important;
        font-size: 16px !important;
        font-weight: bold !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #f0f0f0 !important;
        border: 1px solid black !important;
    }
    
    
    .pdf-action-buttons {
        grid-column: 1 / 4 !important;
        grid-row: 3 !important;
        display: flex !important;
        gap: 12px !important;
        justify-content: center !important;
        align-items: center !important;
        margin-top: 14px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        border-top: none !important;
        border: none !important;
        border-left: none !important;
        border-right: none !important;
        background: transparent !important;
        width: 100% !important;
    }
    
    .pdf-open-new-btn,
    .pdf-download-btn {
        flex: 0 0 auto !important;
        width: 100px !important;
        min-height: 50px !important;
        font-size: 16px !important;
        touch-action: manipulation;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-weight: bold !important;
        border: 1px solid black !important;
        background-color: white !important;
        box-shadow: none !important;
        outline: none !important;
    }
    
    
    .image-lightbox-overlay {
        padding: 0 !important;
        z-index: 9999 !important; 
    }
    
    .image-lightbox-container {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
        z-index: 10000 !important;
    }
    
    .lightbox-controls button {
        min-width: 40px !important;
        min-height: 40px !important;
        font-size: 18px !important;
        padding: 8px !important;
        touch-action: manipulation;
    }
    
    .lightbox-image-container {
        touch-action: pan-x pan-y pinch-zoom;
    }
    
    .lightbox-footer {
        flex-direction: column !important;
        gap: 8px !important;
        padding: 12px !important;
    }
    
    .image-counter {
        font-size: 12px !important;
    }
    
    .image-info {
        width: 100% !important;
        text-align: center !important;
    }
    
    
    .skills-section {
        margin-bottom: 20px !important;
    }
    
    .skills-section h3 {
        font-size: 14px !important;
        margin-bottom: 10px !important;
    }
    
    .skills-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    
    .skill-item {
        padding: 10px 8px !important;
        font-size: 11px !important;
    }
    
    
    .window-content h2 {
        font-size: 16px !important;
        margin-bottom: 12px !important;
    }
    
    .window-content h3 {
        font-size: 14px !important;
        margin-top: 16px !important;
        margin-bottom: 10px !important;
    }
    
    .window-content p,
    .window-content li {
        font-size: 13px !important;
        line-height: 1.5 !important;
        margin-bottom: 10px !important;
    }
    
    .product-section {
        margin-bottom: 20px !important;
    }
    
    
    .contact-section {
        margin-bottom: 20px !important;
    }
    
    .contact-info {
        font-size: 13px !important;
    }
    
    .contact-item {
        margin-bottom: 10px !important;
        word-break: break-word !important;
    }
    
    .social-links {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    .social-link {
        display: block !important;
        padding: 12px 16px !important;
        font-size: 13px !important;
        text-align: center !important;
        touch-action: manipulation;
    }
    
    
    .menu-dialog-overlay {
        z-index: 10001 !important; 
    }
    
    .menu-dialog {
        width: calc(100% - 40px) !important;
        max-width: 320px !important;
        margin: 20px !important;
        z-index: 10002 !important;
    }
    
    .menu-dialog-message {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    
    .menu-dialog-buttons {
        gap: 10px !important;
        flex-direction: column !important;
    }
    
    .menu-dialog-button {
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 13px !important;
        min-height: 44px !important;
        touch-action: manipulation;
    }
    
    
    .dropdown-menu {
        min-width: 180px !important;
        font-size: 13px !important;
    }
    
    .dropdown-menu-item {
        padding: 10px 16px !important;
        min-height: 40px !important;
        touch-action: manipulation;
    }
}


@media screen and (min-width: 768px) and (max-width: 1024px) {
    
    
    .desktop-icons {
        position: static !important;
        transform: none !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 30px !important;
        padding: 80px 40px 60px 40px !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }
    
    .desktop-icon {
        min-width: 100px !important;
        min-height: 110px !important;
    }
    
    
    .window {
        width: 90% !important;
        max-width: 700px !important;
        max-height: 80vh !important;
    }
    
    
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 16px !important;
    }
    
    .gallery-item {
        min-height: 160px !important;
    }
}


@media screen and (max-width: 374px) {
    
    .menubar {
        height: 32px !important;
        font-size: 12px !important;
    }
    
    .menu-items {
        gap: 6px !important;
    }
    
    .menu-item {
        padding: 6px 8px !important;
        font-size: 11px !important;
    }
    
    .desktop-icons {
        gap: 15px !important;
        padding: 50px 15px 30px 15px !important;
    }
    
    .desktop-icon {
        min-width: 70px !important;
        min-height: 80px !important;
    }
    
    .desktop-icon .icon-label {
        font-size: 11px !important;
    }
    
    .gallery-item {
        min-height: 120px !important;
    }
    
    .gallery-info h4 {
        font-size: 11px !important;
    }
    
    .gallery-info p {
        font-size: 9px !important;
    }
}


@media screen and (max-width: 767px) and (orientation: landscape) {
    
    .desktop-icons {
        grid-template-columns: repeat(4, 1fr) !important;
        padding: 50px 20px 30px 20px !important;
    }
    
    .window {
        max-height: calc(100vh - 40px) !important;
        top: 40px !important;
    }
}


@media (hover: none) and (pointer: coarse) {
    
    
    .desktop-icon:hover,
    .gallery-item:hover,
    .menu-item:hover {
        transform: none !important;
    }
    
    
    .desktop-icon:active {
        transform: scale(0.95) !important;
        opacity: 0.8 !important;
    }
    
    .gallery-item:active {
        opacity: 0.9 !important;
    }
    
    button:active,
    .menu-item:active {
        opacity: 0.7 !important;
    }
}
