@media (max-width: 760px) {
    #file-distro-hub .hub-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    #file-distro-hub .file-pane {
        min-height: clamp(360px, calc(100dvh - 116px), 640px);
    }

    #file-distro-hub .file-titlebar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 8px;
        padding: 10px;
    }

    #file-distro-hub .file-title {
        width: 100%;
        min-height: 40px;
    }

    #file-distro-hub .file-title .count {
        margin-left: auto;
    }

    #file-distro-hub .new-folder-button,
    #file-distro-hub .view-button {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    #file-distro-hub .file-search {
        width: 100%;
        min-width: 0;
        max-width: none;
        min-height: 42px;
        flex: none;
    }

    #file-distro-hub .file-search input {
        height: 40px;
    }

    #file-distro-hub .file-search-clear {
        width: 32px;
        min-width: 32px;
        min-height: 32px;
    }

    #file-distro-hub .git-branch-selector {
        width: 100%;
        min-width: 0;
        flex: none;
    }

    #file-distro-hub .git-branch-selector select {
        min-height: 42px;
    }

    #file-distro-hub .file-actions {
        display: grid;
        grid-template-columns: auto 40px repeat(2, minmax(0, 1fr));
        width: 100%;
        justify-content: stretch;
        gap: 8px;
        margin: 0;
    }

    #file-distro-hub .view-switch {
        gap: 2px;
    }

    #file-distro-hub .toolbar-text-button {
        min-width: 0;
        min-height: 40px;
        justify-content: center;
        padding: 0 8px;
    }

    #file-distro-hub .project-file-row {
        grid-template-columns:
            calc(var(--depth) * 14px)
            36px
            20px
            minmax(0, 1fr);
        min-height: 44px;
        gap: 6px;
    }

    #file-distro-hub .project-file-row .virus-scan-column,
    #file-distro-hub .project-file-row .file-size {
        display: none;
    }

    #file-distro-hub .tree-expander,
    #file-distro-hub .tree-expander-placeholder {
        width: 36px;
        min-width: 36px;
    }

    #file-distro-hub .tree-expander {
        min-height: 36px;
    }

    #file-distro-hub .explorer-header,
    #file-distro-hub .explorer-row {
        --explorer-grid-columns: minmax(0, 1fr) !important;
        grid-template-columns: minmax(0, 1fr) !important;
        min-height: 44px;
        gap: 8px;
        padding: 0 10px;
    }

    #file-distro-hub .explorer-header {
        min-height: 40px;
    }

    #file-distro-hub .explorer-col-scan,
    #file-distro-hub .explorer-col-size,
    #file-distro-hub .explorer-col-type {
        display: none;
    }

    #file-distro-hub .explorer-col-name {
        grid-column: span 1;
    }

    #file-distro-hub .details-pane {
        gap: 10px;
        padding: 10px 10px max(10px, env(safe-area-inset-bottom));
    }

    #file-distro-hub .details-pane button,
    #file-distro-hub .details-pane input,
    #file-distro-hub .details-pane select {
        min-height: 44px;
    }

    #file-distro-hub .upload-progress {
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        width: calc(100vw - 20px);
    }

    #file-distro-hub .undo-toast {
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        left: 10px;
        width: auto;
    }
}

@media (max-width: 480px) {
    #file-distro-hub .file-details header {
        flex-direction: column;
    }

    #file-distro-hub .file-details dl {
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
    }

    #file-distro-hub .file-details dd + dt {
        margin-top: 6px;
    }

    #file-distro-hub .user-share-form {
        grid-template-columns: minmax(0, 1fr);
    }
}
